3 ms·
You don't, actually, though. You only put what little stuff that people might distrust if any one party had centralized control over — like ownership — into sma
by derefr 4y ago
You don't, actually, though. You only put what little stuff that people might distrust if any one party had centralized control over — like ownership — into smart-contract state. Everything else is fine to be stuffed into a database or centralized web backend somewhere; or just left to everyone individually to derive + implement themselves however they like.
For example: CryptoKitties. The only things in the on-chain state of CryptoKitties' contracts, are the kitties' ownerships, and their "genes" (an entropy blob, a bit like Pokemon https://bulbapedia.bulbagarden.net/wiki/Individual_values https://bulbapedia.bulbagarden.net/wiki/Individual_values.) Because these are the two things that, if they were entirely in the hands of CryptoKitties themselves, you'd be suspicious that they might "cheat" on, by e.g. making their friends special kitties with genes nobody else can have; or deciding one day that kitties that aren't "cared for" should be forcibly transferred back to an "adoption agency." If either of these things were found to be possible, the value of kitties would quickly drop to zero.
Meanwhile, what exactly a kitty's genes translate to in terms of actual kitty features, is dictated by some arbitrary centralized Javascript on the CryptoKitties website. Nobody distrusts CryptoKitties on this aspect, because it doesn't really impact the value of their investment relative to other people's. If the same gene makes kitties render with wings one day and vampire fangs the next, that might upset people, but it won't make them do a mass sell-off of their kitties. After all, CryptoKitties could always change it back, so why would you sell "early" rather than wait to see if they do?
Or, in short: you put data in a smart contract if a game-theoretic prerequisite of your system working out is for certain data to be only updated in an openly-audited, multilaterally-agreed-upon way. (Good non-crypto example: the dealer's shuffle between hands at a card game at a casino. Done right in front of all the players, because otherwise they wouldn't trust it.)