Storecoin is a zero-fee, p2p protocol with a governance of checks and balances. Our aim is for STORE to become the internet's reserve, zero-fee cryptocurrency.
It's a common belief that public blockchains can't be both scalable and decentralized — they suffer from
scalability trilemma. The Storecoin team has invented a leaderless, asynchronous, Byzantine fault-tolerant consensus algorithm called
BlockFin that solves for this.
We’ll be publishing the BlockFin whitepaper in the coming months.
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fstorecoin.com%2Fmedia%2FHow%2520Storecoin%2520solves%2520for%2520scalability%2520and%2520decentralization%2520without%2520sharding%2C%2520etc.png%3Fv%3D1&t=665&c=b_m5sB1DWuLZ9w)
Fig. 1 — Storecoin’s two-tier network of Validators and Messagenodes
BlockFin is a Proof-of-Stake (PoS) based consensus algorithm and it addresses scalability in layer-1 in contrast to layer-2 approaches like, sharding, off-chain transactions, etc. Our goal to achieve both scalability and decentralization requires us to build the blockchain differently from how the chain is constructed traditionally — one block at a time, aided by either a Proof-of-Work or randomized leader election.
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fstorecoin.com%2Fmedia%2FBlockFin%2520processes%2520blocks%2520in%2520a%2520parallel%2520and%2520pipelined%2520process.png%3Fv%3D1&t=665&c=nUz1ClSGEHrODw)
Fig. 2 — BlockFin block assembly and validation process
One side effect of the “one block at a time” construct is the possibility of chain forks, which can happen at every block height. This possibility prevents blocks from finalizing instantly — a certain number of future blocks must be built on top of the current block to improve the probability of irreversibility of the current block. Moreover, all the nodes must run the expensive logic to determine the longest chain for every block added to the blockchain. BlockFin addresses this waste in order to achieve high scalability.
BlockFin divides block creation into a multi-step process and pipelines the steps so they can run in parallel. To facilitate parallel processing, BlockFin uses a two-tier network of nodes as shown in fig. 1, where each tier manages a specific responsibility during the block creation process.
The inner tier of Messagenode network is responsible of building the blocks while the outer tier of Validator network validates, secures, and finalizes the blocks.
The Messagenodes create a chain of empty blocks at genesis time and when required in the future. This ensures that there is a single chain, whose authenticity and integrity can be verified with the Merkle root of signatures of the Messagenodes in the empty blocks. When transactions are submitted to the Validators, they don’t broadcast them to other Validators, but instead, send them to the Messagenode network. To improve the efficiency of block assembly process, Validators batch incoming transactions by waiting for a finite amount of time. The Messagenodes assemble transaction batches into pre-existing empty blocks using Storecoin’s agreement protocol — Asynchronous Reliable Broadcast, ARB. ARB ensures that at least (⅔ + 1) Messagenodes agree on which transaction batches are included in the next empty block. Once an agreement is reached, the Messagenodes notify the connected Validators that the assembled block is ready for validation.
The Validators validate the transactions in the assembled block and sign the block at the end of the validation process. The block is finalized when at least (⅔ + 1) Validators sign the block.
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fstorecoin.com%2Fmedia%2FThe%2520blocks%2520in%2520Storecoin%2520blockchain%2520are%2520secured%2520by%2520two%2520block%2520hashes.png%3Fv%3D1&t=665&c=Oxk5MeZC7Vbk7Q)
Fig. 3 — Two block hashes — block creation hash and block validation hash — secure Storecoin blockchain
The blocks in Storecoin blockchain are secured by two block hashes as shown above. A hash created at block creation time links all the block and a second hash links all the finalized blocks.
The block assembly and validation steps are pipelined, so they can run in parallel by respective tiers as shown in the following diagram, resulting in improved scalability.
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fstorecoin.com%2Fmedia%2FThe%2520block%2520assembly%2520and%2520validation%2520steps%2520are%2520pipelined.png%3Fv%3D1&t=665&c=wqfWCxluCuLT8A)
Fig. 4 — Pipelined block assembly process
Notice that all the nodes participated in the block assembly and validation process. There is no leader election, no overhead associated with running “longest chain” logic, and no economic advantage to defeating the protocol. All the nodes share the block rewards for every block they help assemble and validate. This guarantees true decentralization and censorship resistance because every node participates in the consensus process and censorship requires ⅓ nodes colluding.
We refer the above approach to creating the blocks as “building the blockchain in public”. Every step of the block assembly and validation process can be watched by anyone on the network as it happens.
In the next few weeks we will provide additional details on the ARB protocol discussed above. Specifically, we will discuss how the block assembly works in a leaderless way. If you are interested in participating in a public peer review of the technical whitepaper, please let us know at
https://storeco.in/blockfin.