Uncategorized

Mangrove – Bitcoin node distributed system architecture

Posted on

This document is part-3 of the series of articles on scaling Bitcoin, I recommend reading part-2 on block propagation before continuing with this paper. Preface This paper takes a simple yet practical approach to building scalable software; puts to use the Fundamental Theorem of Software Engineering i.e. “We can solve any problem by introducing an extra level of indirection” & other often used software design paradigms. It is an attempt to derive a robust & scalable distributed system architecture which devolves crucial responsibilities to appropriate components. Although the new distributed node architecture is a departure from the legacy monolithic one, it ensures there is no impact to any of the consensus rules of the original Bitcoin protocol (Bitcoin SV). The design that follows attempts to solve a number of issues; Parallel Transaction Verification & mempool acceptance, Parallel Block processing, UTxO set sharding, Parallel Merkle root validation among many other crucial items. In part-2 a novel high-compression low-latency block propagation protocol was introduced and it forms an essential component to the below architecture. Besides this paper introduces a couple of new concepts (perspectives) as well. Performing well at scale typically involves multiple aspects i.e. horizontally scalable system, high availability, load balancers, […]

Uncategorized

Bitcoin Block Propagation – Ultra Compression

Posted on

This solution paper is a sequel to my earlier post on reddit Bitcoin-SV: are terabyte blocks feasible?, I recommend reading that article first as it deals with requirements scoping & feasibility before continuing this paper. Abstract: A node, alongside its mempool, now maintains a ‘stateful’ index of unconfirmed transactions exchanged with each of its peers. So each node maintains a map of seqNo<->transactionIDs for every active peer connection. Currently when a miner succeeds in the mining attempt, i.e. the nonce that produces the hash less than the network difficulty it transmits the entire contents of the block (legacy or Compact blocks BIP-152) to its peers. In this proposal the miner can efficiently (in space & time) transmit a packed block containing the sequence of indices to its peer. The peer unpacks the block, effectively reconstructing the ordered set of transactions contained in the block. A node can relay the received block to another downstream peer by repacking the block (individually per peer) and transmitting the same. In Depth: Since peers are in an asynchronous network, and transactions (inbound & outbound) are disseminated highly concurrently through the network, it is necessary to ensure there are no index collisions, to avoid ambiguity […]

Uncategorized

How Bitcoin will disrupt digital communication

Posted on

In the not so distant future, when Bitcoin is ubiquitous, the digital communication ecosystem would be completely reinvented. It is possible that Bitcoin economic model will breathe new life into decades old comm. technologies and protocols that never really took off or were stagnating. At the same time it will open up avenues for a plethora of new services and features that will streamline and simplify things for everyone involved. Before we dive into the future of digital communications, lets review the current state of the blockchain ecosystem and weed out some possible misconceptions. In the last decade (half actually) we had a Cambrian-explosion of public blockchains/ consensus protocols/ crypto-currencies (coins/ tokens) how many of these will survive & thrive in the coming years? we have arguments at both extremes of the spectrum, some say (maximalists) eventually there will be a single winning blockchain “winner takes all” by comparing blockchains to TCP/IP or Internet. And on the other end, many envision there will be hundreds if not thousands of Blockchains (and tokens) substantiated by – a single blockchain cannot possibly meet the needs of all the different entities (biz./govts./indiv.) & use cases, some even include scaling limitations as a factor, […]

Uncategorized

Introduction to Blockchain: Consensus Algorithms – Part 1

Posted on

Why use blockchains? This question can be best answered by taking a look at the history of government. A lot of the same principles that apply to democracy, also apply to blockchains. Democracy was founded on the basis that power belongs to the people, and blockchains achieve a similar decentralization. The pillars of democracy that many of us experience every day, has not yet transferred over to technology. What is DLT? DLT stands for Distributed Ledger Technology and is one of the largest technological advancements of our time. A distributed ledger is just a database that is spread over multiple sites. This allows for more consistent uptime and the elimination for a centralized power. A blockchain is a type of distributed ledger. How does a blockchain work? The word blockchain is pretty self-explanatory. In the most literal sense, blocks are added to a chain. The addition of every following block, makes it harder to alter the original block (in order to get back to the original, every block after it would need to be removed). Each block is composed of a group of transactions that is bundled together by a node. The way that the node does this, is by […]

Uncategorized

History of Cryptocurrencies

Posted on

Even though cryptocurrencies are just now gaining media attention, the concepts have been around for decades. These concepts have evolved during this time period and have given rise to many cryptocurrencies, each hoping to achieve the most scalable and decentralized system. 1. DLT (Distributed Ledger Technology) DLT’s have existed for a long time and are already in use by most of the world’s largest companies. Any cloud- based system is a distributed ledger. Over time, technology has evolved from being able to store data on the cloud, to being able to have logic on the cloud. This provided countless benefits to applications such as more uptime and faster communications. 2. Consensus Algorithms While the blockchain scene was just starting out, consensus algorithms focused on PoW. But as users grew, this became more and more unscalable. The algorithms that are being used today are much more complex and incorporate other factors to find consensus. 3. BFT (Byzantine Fault Tolerance) BFT has been practice for decades and applies to any distributed system. Even space crafts such as SpaceX Dragon needed to have BFT in the design. 4. Smart Contracts Smart contracts are the future of the blockchain/cryptocurrency space. Since they were first […]

Uncategorized

Introduction to Blockchain: Consensus Algorithms – Part 2

Posted on

Delegated Proof-of-stake (DPOS) DPOS is the best consensus model that is currently available. It offers the fastest transaction speeds and is the most flexible and decentralized. It allows for all specifications of the network to be adjusted by “elected delegates”. There are a specified number of these “elected delegates” (also referred to as witnesses). Witnesses verify transactions by adding them to the block. Stakeholders vote on witnesses through a process that incorporates multiple rounds. If a witness were to stop doing its job properly, the stakeholders could withdraw votes and the witness would be kicked out. Stakeholders with more stake, have a larger vote. As the number of stakeholders grow, there will be more competition to be a witness. This results in a scenario where the number of witnesses are low and fixed, which increases transaction speeds. Delegated Proof-of-stake Projects 1. Ethereum (Casper): Even though Ethereum is currently POW, an extremely anticipated update is coming that will transition it to POS. BFT style proof of stake Random validators can propose blocks. Agreeing on which block to use is done through a voting process. Every validator votes on a specific block for multiple rounds. Validators agree on whether a block is […]

Uncategorized

Self-Sovereign Identity

Posted on

We live in a world where data is everything. While advances in technology have made the management of data easier, they have also created a need for people to have digitized identities. Like a key to a person’s life, control of an identity may grant the user unfiltered access to private information. Identity fraud and theft are some of the most frequent crimes today, and it is due to the fact that we are still not entirely in control of our own identities. We are at the mercy of the centralized powers that control our information. HISTORY To understand why self-sovereign identity is necessary, we must understand how Identity has developed in recent history. We can separate it into 3 sections: Centralized Identity: In the 1900’s, certain organizations assigned identities. Even governments needed a way to assign identities to individuals for various reasons. Ex. Social security numbers were created as a way for the government to track lifetime earnings. The validation of IP Addresses and the distribution of domain names was also forms of centralized identities. Federated Identity: A single identity allows access to multiple sites. This type of identity faces the same problem of being controlled by an organization. […]