Let's say I want to build a game where you can destroy your EVE Online spaceships to get bonuses in my game. How would that work? That's what happened with CryptoKitties and HyperDragons.
Just to clarify: someone who owns a CryptoKitty decides to send it to the HyperDragons smart contract that handles the absorption. It's not about stealing anything. You use your assets in CryptoKitties to boost your dragon in HyperDragons.
This is not inherently made possible by the blockchain itself though.
The mechanisms to transfer a Kitty to the HyperDragons lie within the CryptoKitty Smart Contract. This is not particularly different than a regular API, where the available operations have been chosen, specified, and made available to the public at large by the developers.
The only real difference with a public-facing documented traditional API is that said API will outlive the original product. But that doesn't make CryptoKitties a better game, since Cripto Kitties won't be a thing anymore when that comes into play.
1) The reason it can't be done with EVE is not because EVE is not on the blockchain. It just happens to not be possible because the devs didn't make it so. They could have, but they chose not to.
2) Something being on the blockchain does not make it automatically permission-less. It depends on how the smart contracts involved are coded.
I think point 2) is something that a lot of people don't realise wrt/ NFTs. The NFTs are transferable without the author being involved because the Smart Contract that drives them has a function (aka an API endpoint) that provides that feature. It is not a property of the blockchain itself. It is a property of an arbitrary piece of code that happens to reside on the blockchain. A property that any web service is capable of providing without the blockchain having to be involved.
So, let's see. To emulate the ERC-721 smart contract you would need:
1. An API to transfer ownership, updating the owner_id field in the database for the spaceship.
2. Legal obligations preventing EVE from reversing the transaction or tampering with your "wallet".
3. Legal documents making you the owner of said spaceship where you and only you can administer it in the future, forever.
4. A full and open audit log of every API call to said API endpoint.
5. Legal assurance 1 and 4 are true and transparent.
6. Measures taken to assure that the API and database will stay online and legal obligations enforced forever.
Even with all these fulfilled a rogue actor could wreck havoc since it would still be centralized, while in a smart contract these things are enforced in code. For me, that difference alone is so big that I can't even compare them.
In all honesty, it feels the only reason we don't just say "wow, it's cool that we have a technology that intrinsically supports this" is because it's a cryptocurrency.
> It just happens to not be possible because the devs didn't make it so. They could have, but they chose not to.
And then they could change it at any time, as they would be the central authority. There would be not way to stop them from changing it.
Well, thats not true technically. I guess one way that they could implement it, such that they cannot change their mind in the future, would be if the game was run on some sort of decentralized public ledger, with a consensus mechanism.... oh wait, what does that sound like? Oh yeah, we have a word for that. Its called a blockchain.
> Something being on the blockchain does not make it automatically permission-less.
If I read the code, and the code makes it permissionless, the author can't change it later, if the code was written in a way that I can verify that.
Thats the point. Yes, someone can always say "yep, I totally pretty please promise that I won't change anything! Just trust me!"
And it is quite another thing for it to be a smart contract, that verifiably cannot be changed by the original author. Thats the difference.
> (aka an API endpoint) that provides that feature.
> A property that any web service is capable of providing
Oh? A feature, such as a public, immutable ledger, that is decentralized in such a way, using a consensus algorithm (such as PoW or PoS), such that there is no central authority that can change it unilaterally?
That feature? The feature that is, by definition, a blockchain?
Yes, it is true that if you add all the features that a blockchain has, to your software, then by definition it has all the features of the blockchain.
But that makes it a blockchain. You just re-invented the blockchain.
Blockchains are not the only way of achieving what you describe. It's just one mechanism. You seem to be conflating the "result" achieved with the "mechanism".
If a game company wanted to provide the same properties without a blockchain they could do so in other ways. A more extreme example is they could provide you with an actual legal certificate of ownership and transfer all rights to the digital property in that certificate. A deed of sorts. It could include a full description of the item and the available operations on it. You could host your own API to allow interactions. You could even host it on the blockchain if you wanted.
In the case of many of these digital game assets out there you have a record of ownership but the actual asset itself is hosted by the company of origin. Which means that if they go down you have proof of ownership but no still have no recourse when the asset in practice goes poof. The more required it is for the game company to provide api's for the asset the less actual gameplay is possible. smart contracts are pretty limited and the more operations they allow the more expensive it is to actually play the game which creates a market pressure for the game to trivial as regards the gameplay on the chain itself. Because of this market pressure what happens is a boom/bust cycle for the game.
The only way out is to host more of the gameplay elements off chain which defeats the purpose.
Does the blockchain make interoperability easier? yes but so does any interoperability standard. Do the cryptographic guarantees of the ledger make it easier to prove ownership? yes but that doesn't address the issues with gameplay being both trivial and expensive because of the market forces you inserted into the game.
> Blockchains are not the only way of achieving what you describe. It's just one mechanism
But you agree that there is some set of features that are only available on a Blockchain, right?
Well whatever that set of features is, that is the features that I am attempting to refer to.
So yes, if you agree that there are features that are only possible on a Blockchain, then I am correct that this set of features is only possible on a Blockchain and that is what I am talking about.
> If a game company wanted to provide the same properties
Not if I am talking about a feature that is only possible on the blockchain. So whatever featureset that you agree is only available on a blockchain that is what I am talking about.
You are speaking in extreme hypotheticals. I am unaware of any set of features that require a blockchain to satisfy them. Is there an as of yet unknown set of features that require a blockchain? I don't know but I'm unaware of any such set right now and your reluctance to specify such a set suggests that you don't know of them either.
Really? You are going to claim that there is literally zero features that a blockchain provides, that are not solved elsewhere?
Like, you think there are equally good ways to solve the double spend problem, on a public ledger, in a decentralized manner, with no central authority, without a blockchain, and the various consensus algorithms involved in that?
Ok, if you have a magic, better than blockchain solution that solves the Byzantine generals problem, and allows you to run a global, public, decentralized ledger, with no central authorities, that solves the double spending problem, then I would encourage you to release it and make billions and billions of dollars from that.
If you've got this magic solution, you could make so much money doing the same thing that blockchains and consensus algorithms do, in a better way.
The money is yours for the taking! Or maybe you could win a turning award! Go for it!
Go release a research paper, with your better than blockchain solution, and get a PhD from it, or computer science award, or billions of dollars in funding.
I look forward to you releasing your groundbreaking research paper, and upending the entire industry.
Just to clarify: someone who owns a CryptoKitty decides to send it to the HyperDragons smart contract that handles the absorption. It's not about stealing anything. You use your assets in CryptoKitties to boost your dragon in HyperDragons.