Decentralized digital currency is finally making inroads into the mainstream. However, a big missing piece is scalability.
Proposed solution #1: Segwit (Bitcoin only) - Segregated witness (also commonly known as Segwit) is solution to separate transaction signatures from the rest of the transaction data. - With SegWit, the witnesses are moved to a new “witness” field in the transaction data, which allows for us to change the way block sizes are calculated. Proposed solution #2: 2MB Block Size (Bitcoin only) - The other side of the community (the miners) prefers a hard fork that would change the 1 MB block size limit to 2 MB - By increasing block size, more transactions fit in each block, allowing the network to handle more transactions per second. Proposed solution #3: Off-chain State Channels - State channels are mechanisms by which blockchain interactions that would normally occur on the blockchain instead get conducted off of the blockchain. - The blockchain is used purely as a settlement layer to process the final transaction of a series of interactions for the final settlement, which helps lifts the burden from the underlying blockchain. Proposed solution #4: Sharding - With blockchain sharding, the overall state of the blockchain is separated into different shards, and each part of the state would be stored by different nodes in the network. - Each shard only processes a small part of the state and does so in parallel. Proposed solution #5: Plasma - Plasma is essentially a series of contracts that run on top of a root blockchain. The root blockchain enforces the validity of the state in the Plasma chains using something called “fraud proofs”. - Blockchains are composed into a tree hierarchy, and each branch is treated as a blockchain that has its own blockchain history and computations that are map-reducable. Proposed solution #6: Off-Chain Computations (e.g. Truebit) - Truebit uses off-chain computations to enable scalable transactions among Ethereum smart contracts. It executes computations off-chain that would be otherwise prohibitively expensive to execute on-chain. - Instead of every node participating, specific participants in the network perform the computations made by smart contracts and submit a solution to the problem, along with a deposit.
Proof of stake - The blockchain keeps track of certain validating nodes, called “validators”, who must place a security deposit in order to take part in validating the blocks. Blockchain rent - Blockchain rent proposes to set the cost of storage to be `bytes x time`. This way, there’s an incentive built into the protocol to keep the network lighter. Decentralized Storage - Instead of nodes storing everything on the blockchain, they only store data that is more frequently requested locally and leave other data on the “cloud” via Swarm.