There's a lot of hate on here for blockchain gaming/rare digital art so I'd like to clarify two points.
1. Blockchain games are best when only the necessary work is done on chain, such as transfer of ownership or enforcement of critical rules at run time. This tutorial may not show that so as to demonstrate the power of the blockchain, but most people in the space are building only the components players want to not be controlled by a central entity into the blockchain. It works fine.
2. The lack of digital scarcity is a real problem for artists. Blockchain art is a real solution. Artists I talk to are extremely excited about the ability to issue limited/special editions of their art on the blockchain that can owned and traded by their biggest fans. It's not about hiding the source art (image, music, etc) from the public, it's about having "signed" and "authentic" editions folks can collect and trade. They've lost that ability in the digital art world and this gives it back to them.
fans like to give one time tokens of appreciation to artists. and then maybe hang it on a wall and forget.
collectors and tax avoiders like to invest in scarce art (hence why they only assign big made-up values to the work of dead artists) and so they will be the only ones really interested in maintaining a block chain to authenticate their investment.
Fan collector culture runs much deeper than you're giving it credit for. The fine art market is dominated by hoarders, but other markets are dominated by fans. Mixtape culture is just one example.
One of the CryptoZombies creators here. This comment is spot-on.
In the realm of gaming, digital ownership of in-game assets is one area we're really excited about. Economies have already sprung up in many online games around selling items for real-world cash. With something like ERC721 tokens on Ethereum, you would truly own your items outside of the company's web server. No one could take them away from you, the items could be provably scarce, and you would have full control over selling or trading them on decentralized marketplaces (in a secure way).
Or take collectible card games like Magic the Gathering — these types of games are an ideal fit for the blockchain for the same reasons as above — rare, collectible, and tradable assets with a real-world value.
You could even have multiple games or apps that read the same crypto assets. This means you could build a new game, but use the assets of an existing game with a large user-base. You would be able to tap into a large community of players who could instantly jump into your game world with their existing characters. This lends itself to some really interesting new possibilities — imagine a World of Warcraft type game, where players were playing in the towns and worlds created by players of a totally different MineCraft or Sim-City-like game. Two sets of players playing entirely different games, but they could be playing in the same game-world where their actions have real effects on the other game through decentralized shared data.
As you mentioned, there are currently serious limitations for how much can be done on-chain. Our solution to this scalability problem is have DApps run on their own sidechains. So the in-game tradable assets would be hosted on Ethereum, while the heavy game logic and the rest of the client would live on a sidechain. This way the entire game would be running on a blockchain instead of only a small part on chain and the rest on a centralized server.
One of the huge benefits of a game running on its own blockchain is forkability. There have been plenty of examples in games where the developers released a change that nerfs a favorite character or spell, or the creators shut down the server entirely and stop supporting it.
If the game were running on its own blockchain, the users running nodes could reject the software update and hard fork. They could continue running on a legacy version of the client indefinitely, so long as there were still nodes running it. Basically the entirety of the game data is stored on the sidechain, so both sets of nodes could go their separate ways and play the version of the game they prefer. And no one could shut down the game server as long as there were nodes willing to support it.
CryptoZombies is just intended as an intro to building apps on Ethereum to get more developers in the space. Up until now the focus on blockchains has been on financial apps, but we think the potential is much bigger than that. We're betting on games being one of the first areas to bring blockchain tech to the mainstream, and we hope CryptoZombies inspires developers to get onboard!
The hackers still have their assets as Ethereum Classic. The fact that ETC lives on is a testament to how nobody could 'take away' what is listed as theirs on the blockchain.
But I don't buy this argument for video games. Most of the game code ought to live outside of the blockchain and that non-blockchain code/art would be difficult to reproduce let alone subject to copyright claims or closed source.
Another random video game thought: Would item storage on blockchain mean that every player could see the inventory of every other player?
The "no secrets on the blockchain" aspect has already played out in subtly interesting ways in Cryptokitties. I have a tool that lets me see in a moment whether a given account has gained or lost money, and how much, and how much they were willing to spend. The marketplace is a completely open book, with real time sales data and a full history. You can't breed kitties in secret in pursuit of a particular breed. You can't (easily) buy out all of a given trait on the marketplace to create a false sense of high demand. And yes, you can see the entire kitty inventory of any other CK player.
That's based on one current implementation of a gaming DApp.
It's worth noting that you can achieve semi-privacy through either on-chain/off-chain hybrids, as well as some other emerging efforts.
One example I've been playing around with is to use the multi-address approach:
In your database each "player" consists of multiple addresses each which are OR-multi-sig wallets, for various inventory elements and stats.
When they log in via a system like metamask, their main wallet (PlayerID) is unlocking an account which in your games database (off-chain) ties together another set of "master wallets" together with you've given the player private keys for - for each item, or each set of X items, in the players inventory you are setting up a new smart contract that is a OR-multi-sig wallet.
For this wallet, which holds the item, there are two possible signatories the first being the game's main contract, so that the game can add/remove items from players based on game events, and then one of the players private keys.
While you'd likely need a custom fork of metamask to handle the multi-key environment, you've made a system where:
* Player's inventory cannot be know from one private address.
* Player's retain full control over the items.
* Player's have private key access to the items in case the service goes down.
* You store player data off-chain, but in a way that your service is not crucial to the game.
* Player assets can be traded off-game without updating the game service.
* Data about individual items is still public, and does not need to be obscured, oraclized or stored off chain.
The current blocker isn't any specific blockchain technology, but just having a good multi-key management UI for users.
Brilliant. Definitely interested to see how this space evolves! Metamask is a great first step to helping bring wallets to the masses in the web browser, and it continues to improve, but it certainly isn't what a mainstream web wallet extension will look like in a couple years.
The DAO fork happened in what was effectively Ethereum's early beta phase, when the community was very small, and there was next to no activity on the blockchain. A hard fork right now would be far more disruptive due to the amount of activity taking place on it, and would face from more opposition to a much large community.
Every participant has the choice to stick to the old protocol or use the new one. Or use both.
If I create a Bitcoin fork tonight and somebody buys 0.1 Bitcoin from me in the forked chain, what's wrong about that? The price of Bitcoin my forked chain would obviously be another matter.
Just took a look at your app for the first time. While I already know Solidity, I just wanted to say good job on making the subject approachable. It's hard to break concepts down and you guys did a really good job of it. You should be proud of your accomplishments.
You guys did such a good job on this - I wish you would launch CryptoZombies as an actual game. There needs to be a consumptive use for CryptoKitties to help with the over-supply.
I'm having a hard time how digital scarcity a la blockchain will benefit 'artists'. It's not like you can't make a copy of the asset once one person makes the purchase.
The scarcity is in the platforms, not the digital assets.
You can not make a copy of the asset. Perhaps the underlying file, not the asset. You can take a picture of a painting or own a print of a photograph, that doesn't mean you own the original asset.
Blockchains do not provide digital scarcity. This a myth promulgated by the early days when “there are only 21 million” was a fact. Now, it is trivial to fork, copy or derive tokens to instantly bring millions of new “assets” into existence.
Just because you can fork, copy, and derive tokens doesn't mean that scarcity doesn't exist in that particular market. I think the point was never about true scarcity, but that as long as the market has consensus over which blockchain is the source of truth, the internal scarcity is achievable without a central authority.
For 10 years of “blockchain”, the market has had more and more blockchains. So in absence of the consensus you’re hoping for, who decides which blockchain is the source of truth?
You can fork the blockchain, but you can't make the game use your new fork. The blockchain allows the developers, players, and everyone else to agree on how many of thing X there are in the world and who owns each of them without requiring trust.
If the game is open source, you can copy the game on your fork. If the game is closed source, you are trusting it to not mess with the scarcity and thus the blockchain isn’t providing scarcity, the game providers are.
You can fork the game, but the rest of the population will be using the main game on the real blockchain and it won't recognize your character as having the item.
That’s historically untrue. Bitcoin forks and Ethereum forks have users. I don’t think there is such a thing as this “real blockchain“... care to define what “real” means?
If you say it’s the one with the greatest market cap, then you’re agreeing with me that blockchains don’t provide scarcity and assets can be copied, albeit on blockchains with less liquidity.
Furthermore, the subjectivity of what is the “real” blockchain means an artist can believe she owns an asset on ChainA, only to see ChainB become the market leader but her asset is now owned by another individual.
We have failed to solve the problem the parent poster supposes blockchain can solve...
I'm talking about the game that has all the users that are all pointing to the real blockchain. Sure, you may get a handful of players on your version of the game you forked on github so you could use it with your forked blockchain so you could own the sword of a thousand hypotheticals. But you won't be able to play with everyone playing the actual game that you wanted the sword in.
On the off chance you weren't thinking of the same type of game I am, I'm thinking of a massively multiplayer online game, not a single player game.
1. Blockchain games are best when only the necessary work is done on chain, such as transfer of ownership or enforcement of critical rules at run time. This tutorial may not show that so as to demonstrate the power of the blockchain, but most people in the space are building only the components players want to not be controlled by a central entity into the blockchain. It works fine.
2. The lack of digital scarcity is a real problem for artists. Blockchain art is a real solution. Artists I talk to are extremely excited about the ability to issue limited/special editions of their art on the blockchain that can owned and traded by their biggest fans. It's not about hiding the source art (image, music, etc) from the public, it's about having "signed" and "authentic" editions folks can collect and trade. They've lost that ability in the digital art world and this gives it back to them.