A Gentle Overview of a Genetic Approach to Blockchain Design

Page 1


By accessing and reading this document you are bound not to disclose or distribute this presentation by any physical or electronic means to any third party not explicitly authorised in writing by its author. The author reserves the right to initiate legal proceedings or seek specific remedial measures if the recipient is found in breach of these covenants. A recipient is understood to be any person in possession of this document, whether received by physical or electronic means, including access using any links provided by the author to an online version of this document, or of documents containing information derived from it. The contents of this document are Š of GENS and Eduardo Salazar.


The blockchain is simply a type of database. Nothing more, and nothing else.

What for? It’s used to keep records of historical transactions between parties. Those transactions could be anything. Accountants already had a name for it : Ledger.

So why call it “blockchain”? The name reflects how the records are stored. (In containers, or blocks, that are ordered in a chronological sequence, forming a chain.* In addition, that chain is unique because it’s “fingerprinted.”) * Strictly speaking, it’s not quite a chain but a tree-like data structure. There are different ways to choose the valid branch; in Bitcoin, it’s the branch that has the greatest proof-of-work invested in it. Ethereum, by contrast, uses the GHOST rule (Sompolinsky and Zohar, 2013).


In itself, there is nothing disruptive about a blockchain. The interesting bit are the implementation options Permissioned

Permissionless

‒ ‒

‒ ‒ ‒

‒ ‒ ‒

‒ ‒ ”


You mean? Bitcoin uses a blockchain protocol for achieving consensus on a public ledger that records bitcoin transactions.

Buy and exchange bitcoins, use them for purchases or save them as investment

Help the processing of transactions, mining blocks for bitcoins (received as incentive)

Improve (add functionality or features) to bitcoin, build new services that use bitcoin

The places where bitcoin holders can exchange them for other currencies


 Permissionless blockchains are the ones the community considers truly disruptive and game-changing (because the man in the middle “giving trust” is gone; trust is de-facto decentralized).

 Like pretty much everything in life, such “disruption” typically comes at a cost (you cannot avoid trade-offs).  To understand why, a detour :

 Nakamoto [2008] attempted to overcome the above limitation by introducing computational puzzles into the mix (or proofs of work) first described by Dwork and Naor [1992].


 Why? Because it’s become another fact of life, or let’s say connectivity, that people in a computer network cannot all be updated at exactly the same time.

” “

”.

” “

 Corollary? Nakamoto’s protocol does not ensure consistency (common knowledge) in an asynchronous system, other than with high probability.

 Does this matter?


Adapted from M Conti, S Kumar, Chhagan Lal and S Ruj (2017). A Survey on Security and Privacy Issues of Bitcoin (online version downloadable from https://arxiv.org/abs/1706.00916v2)


Or a variation of this theme: “Whether we like it ot not, the mere act being alive is inherently risky.” So why bother too much? As long as you can reasonably mitigate that risk, you’ll be fine. The big promise of permissionless networks

The “costs” of operating this model

The questions that have to be answered ‒

‒ ‒

‒ ‒

‒ ‒ ‒

‒ ‒


Argentina, 2001 Freeze of bank accounts, known as Corralito

United Kingdom, 2007 The demise of Northern Rock

Greece, 2015 Greek debt crisis and imposition of capital controls


Greece, 2017 A. Vinnik arrested, accused of links to BTC-e and money laundering

New York, 2016 M. Swanepoel (CEO, BITX) talking about the Bitfinex hack, second biggest breach in history of a bitcoin exchange

Japan, 2014 MtGox collapses into bankrupcy


“What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party.” (Nakamoto [2009], pp. 1) “We have proposed a system for electronic transactions without relying on trust.” (Nakamoto. Ibid., pp. 8)


It’s interesting to note that trustless consensus is an oxymoron, because trust is unavoidable. Let’s try to explain. ‒

‒ ‒

For this to hold, the system or protocol has to provide a guarantee that one can confirm things by oneself. Data from bockchain.info captured on 08/21/2017 reflecting previous four days of activity in the BTC marketplace

‒ “


2/3 of hashing power

Data from bockchain.info captured on 08/21/2017 reflecting previous four days of activity in the BTC marketplace

On one hand, the core idea behind DLTs is that simply by virtue of their design, challenges (inprotocol games), incentives and punishments, they should help people replace their trust in individual actors or institutions with trust in the system itself. In reality, when 66% of the hashing power in the Bitcoin network (biggest by MarCap) ends up in the hands of just 6 parties, or roughly 50% in the hands of 4 players, the idea of a trustless system just gets thrown out of the window.


Russia

Of course, the possibility of making yourself available to the network is still wide open.

China

However, the mere thought that you could spend a few clock cycles to mine a block is nowadays a delusion. Nakamoto knew quite well that an “arms race� was a probable outcome. https://bitcointalk.org/index.php?topic=12.msg54#msg54


There is an established “gentlemen’s” agreement for no single pool to ever exceed 50% of the Bitcoin network hashing power

BUT there are no barriers to entry into the mining pool, other than cost,

AND collusion between the 6 largest players (or even the 4 dominant ones) is still possible.




“...to be sure, any confusion between the ideas suggested by science and science itself must be carefully avoided; but it is just as necessary that scientifically warranted conclusions be resolutely pursued to the point where their full meaning becomes clear.�



It builds a Blockchain protocol with some desirable characteristics.    

This is a new protocol hence not forked from existing implementations (Bitcoin, Ethereum).


“Sorry to be a wet blanket. Writing a description for this thing for general audiences is bloody hard. There's nothing to relate it to.”

“If you don't believe me or don't get it, I don't have time to try to convince you, sorry.”



To illustrate things, we need to introduce another actor in this play: proteins. In essence, all of the biological functions of DNA are mediated by proteins that interact with specific DNA sequences. (e.g. Ptashne and Gann [2001]) The DNA strand has, along its surface, specific nucleotide sequences (see https://en.wikipedia.org/wiki/Nucleotide) that proteins target for binding to and, by doing so, many key biological functions take place (as a precursor to DNA replication, for example). Those target sites are quite small indeed, lurking amongst a huge pool of non-specific (chromosomal) DNA, yet binding occurs at great speed. [The discussion around how this happens, and the mathematical models used to rationalize the process, are outside the scope of this presentation.]

The familiar DNA double helix and it’s salient macro structures


In essence, the DNA helix is nothing else but two chains linked together

Note the sequence labeled in the blockchain fuses the sugar-phosphate backbone and bases (that make the real DNA nucleotide) into the backbone itself. So, to be clear, this is not a 1-to-1 mapping of biological DNA.


If a Token is able to “recognize” a target site in the blockchain strand, it “bonds” to it and hence, to the network. Bonding is a key cryptographic step. The Tokens are designed to provide a store of value and, perhaps at some point, become a medium of exchange. That value can be transferred, in whole or in part, to other Tokens binded to the blockchain (1-to-1 or 1-to-X). Of course, if through adoption they become fungible it would be possible to exchange them for other cryptos.

The nucleotides (blocks) display a pattern of structural features on the surface of the DNA (blockchain). Proteins (Tokens) bind to the DNA because their surface is extensively complementary to the surface features of the DNA strand in a specific region.



Please note this is a preliminary outline subject to revision



Each Token contains the same # of motifs, the infomation needed to bond to the blockchain, but arranged differently in each one.

Tokens are encrypted digital certificates (akin to the plastic in everyone’s wallet) that store GenS. Transactions between Tokens can happen only when they are bonded simultaneously to the blockchain.

Tokens are like molecules having the same size (bit length) but a different internal structure. However, every Token contains the necessary information to enable them to recognize a target site on the blockchain strand and bind to it.


Each Token owner has a Private Ledger to help them keep a check on transactions. Like the Token, this ledger is obviously encrypted and resides in the owner’s PC or other hardware. Tokens are fingerprinted and can be linked to at most 2 storage devices chosen by the user.


Every transaction is appended to a Shared Ledger (“public� because it resides in the cloud, for example) fingerprinting them on a first come, first served basis. This ledger is read before any new transaction is processed, to ensure consistency. The sequence of transactions read from the public ledger must match the sequence registered in the user’s private ledgers; in other words, at both ends in any transaction. In case of disagreement, every UID registered in the (potentially malformed) private ledger(s) from the break-point onwards is queried, comparing the sequences and operations to those registered in the public ledger from the same breakpoint. The Token value is subsequently recalculated and the private ledger(s) is(are) updated as necessary.


The concatenation of planar (or 1-sided) blockchain strands through the transcription motifs is expected to be of low cost when connected through a sparse overlay network. In such scenario, each strand is run through a separate node. The transcription motif provides the glue ensuring the network of nodes “holds� together.


When the blockchain is composed of strands that run in a node forest (5 in the diagram to the left) each node handles a specific set of Tokens. The question is how to ensure all the nodes have visibility of the information stored in the shared ledgers. One way is to push that information in sequence. The transactions compiled locally at each node (shared ledger “bricks”) are updated in a daisy-wheel fashion. If a node cannot be updated for whatever reason (node is down) its position in the stack for the corresponding brick is 0’ed. The cycle ends when every node receives a copy of the bricks corresponding to all of the nodes in the network (the last known “shared knowledge” of the node states). Alternatively, the nodes can be queried in a random fashion, if there is an expectation that an attack might try to intercept the sequence and prevent the update process to proceed. There are two possible ways to randomize this process: ‒ Randomly select the starting node, then proceed as above; or ‒ Randomly querying all of the nodes. This is actually a very simple case (just 5 nodes) for illustration. Nesting, for example, is a possibility that makes updating the global ledger (containing all transactions) more complex. In reality, this is not of the essence other than to provide redundancy (in case of failure or attack) because all operations are performed locally. The move from one node to the next is based on algorithmic consensus (a handshake) taking place between the intervening nodes.

In any case, because at the moment a transaction is pushed the shared local ledger (the “bricks” each node generates) is updated, there is a 0 risk of double spend attacks.


Node forest

Blockchain on a node


Transactions between Tokens that map the same asset class is possible. In the first development iteration, asset classes to be supported would be predefined (hard-coded) allowing users only to choose those that meet their needs.


In our implementation, the actual blockchain “capacity� (determined by the number of sites available for docking, one per Token issued) is also determined algorithmically, balancing supply to market demand.


Inspired by two approaches: onion-peeling (and source of the Matryoshka name) and the verifiable shuffle algorithm. Still in development, we hope it will deliver strong, provable security guarantees whilst achieving reasonable efficiency.


Who runs the nodes?

What will the node operators receive as compensation? “

A transaction fee between users?

How will be the Token supply managed?

How will it be launched?

�


Why there is no mining?

But if nodes are rewarded by their processing power (e.g. in terms of volume of transactions handled) wouldn’t that lead to a similar outcome?

What is so “special” in here that I should trust it above everything else on offer?

Will you welcome investors and other help?

Would you welcome feedback?



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.