April 29, 2019 . 5 min read
Blockchain Simulation to prove correctness in the presence of adversaries
The simulation was designed to demonstrate messagenodes coming to leaderless agreement on the same set of transactions for the same block. The simulation incorporated adversaries who exhibit malicious behaviors such as dropping (not delivering) messages, delaying messages arbitrarily, and corrupting messages during consensus rounds. Importantly, we demonstrated that honest nodes reach agreement even in the presence of these malicious actors. Finally, the simulation modeled network latency by introducing arbitrary delays for every message delivered in consensus rounds; a demonstration of the asynchronous nature of the underlying communication channel. Together, these simulations were captured in a video demonstrating the correctness of the core consensus algorithm. In Q2, we will extend this simulation to demonstration the behavior of validators, showcasing end-to-end block construction and validation flow. Additionally, we will incorporate secure communications through encrypted p2p channels between the nodes, as well as incorporate signature schemes demonstrating how nodes authenticate each other before accepting messages from peers.
Developed proof-of-concept for secure p2p communication between nodes
We prototyped encrypted messaging between peers using the Noise protocol. Additionally, we prototyped peer discover so that messagenodes and validators can find peers and connect to them securely. In Q2, we’ll be integrating these concepts into the BlockFin simulation.
Created the spec for the Storecoin address format
We developed the first specification for the wallet address format for Storecoin transactions, with our address following Bitcoin’s address format with some minor changes.
Created the spec for how Rate limiting and DDoS prevention works in Storecoin
The Storecoin blockchain consists of a two-tier network of Validators and Messagenodes, each of which is vulnerable to DDoS. The document argues that DDoS attacks can never be fully avoided and that the strategy must be to leverage multiple strategies to mitigate those types of attacks. We talk about the strengths and weaknesses of various strategies in the Storecoin context.
Created draft spec for Storecoin’s database schema
We developed a draft specification for the database schema of the Storecoin blockchain. A relational database is assumed for strict schema enforcement. Since blockchain is immutable, we use append-only design pattern for database tables also. Almost all the tables in the database are immutable — the records once inserted can never be modified or deleted. The immutability ensures simple design, both at the database and application layers.
Created draft spec for Storecoin Platform
We’ve started to publicly discuss how we transform Storecoin from a zero fee p2p payments platform to a truly peer-to-peer compute platform. This spec represents the first draft explaining the technical architecture of that platform.
Nothing herein is intended to be an offer to sell or solicitation of offer to buy, Storecoin tokens or rights to receive Storecoin tokens in the future. In the event that Storecoin conducts an offering of Storecoin tokens (or rights to receive Storecoin tokens in the future), Storecoin will do so in compliance with all applicable laws which may include the Securities Act of 1933 and the rules and regulations promulgated thereunder, as well as applicable state and foreign law. Any offering for sale to US Persons in a regulated transaction will be pursuant to a registration statement qualified by the Securities and Exchange Commission, or an applicable exemption from the registration requirements.