Philosophy on what goes into the blockchain and what doesn't

A snippet from one of @weiwu.zhang's documents (later extrapolated into a medium article) has gotten me thinking:

"People are blaming Ethereum blockchain congestion at the same time as they write smart contracts that forwards chat-chat messages." - Weiwu ZHANG

  1. The implementation of CryptoKitties makes it not possible to retrieve the balance (when defined as the kitties that an Ethereum address holds) easily. You have to walk through history or go to a 3rd party for it.

  2. ERC 1155 defines how a non-fungible token offloads metadata offchain hosted, accessible via a URL returned by a smart contract function. And it doesn't seem to describe any mechanism to ensure the authenticity of the data.

  3. Also side-chains and payment channels

Where do we draw the line of what goes on-chain, and what doesn't?

1 Like

Attestations helps exemplify some scenarios. Alice attesting to something of Bob, can be carried off-chain by Bob and presented when required. Alice can optionally store a hash of the attestation on-chain. But to revoke an attestation, that would have to be stored on chain (or at least a hash of it), and those checking Bob's attestation would have to check on-chain if it was revoked by Alice.

Gaming and advertising examples help explain use cases of payment-channels/side-chains. Eg, Raiden for broadcast-like subscription/payments, or micro-Raiden for game-sessions between participants.