CUBE256 - How It Came Along

Shortly after the appearance of Bitcoin in 2009, some considerations stuck to my mind and I developed answers to following questions:

While the blockchain and its emanating applications were in everybodys mouth, only few people took the time to read the Satoshi-paper describing Bitcoin in detail to stumble over the obvious: how expensive can a transaction get, once all transactions run on Bitcoin. The answer is left to the reader, of course.

Fair Distribution

Fortunately, I was able to see the obvious one day: given the cryptographic digest of each item, a redundant distribution can be computed by running a fairly simple algorithm:

The node-selection process works with the contents of the urn, by deriving a routing-vector from all keys in the urn. The routing-vector multiplied with the key to be inserted or retrieved gives a score-value and the best-scoring nodes are deemed to store the key.

Now, this is a statistical approach: since the routing-vector is a function of the urn contents, it can change and so can score values. But the rate of change is slow and slows down, as the system grows. At the same time, the consensus protocol distributes routing-vector updates among nodes during its operation.

Rapid Consensus

To understand the consensus protocol, note that a key can be made into a routing-vector by creating an urn containing only that key. We already used the product of the corresponding vector with node routing-vectors to compute the scores. Now derive from the key-vector two other vectors, which are orthogonal to the key-vector and orthogonal to each other. Subsequently we can compute, in addition to the score, an angle for each node and construct a map that takes (key, routing-vector)-pairs to (score, angle)-pairs.

The consensus protocol is straight-forward now: given the request for consensus on some key arrives at some node in the contingent, that node shall select a small number of best-scorers. If the node is among the best-scorers, it shall initiate consensus, otherwise it shall forward the request to the top-scorer.

A node initiating consensus has selected a list of (score, angle)-pairs representing the candidates for that consensus cycle and is itself a candidate on that list. It then computes, based on the angle, its left and right neighbours and sends a congregation message is sent to each of them. Nodes receiving a congregation message forward the message to the next message in the cycle, either in left or right direction, depending where the message came from.

During congregation, each node adds its proposal together with its actual routing-vector into the cycle, so that each node in the cycle can collect proposals of all nodes in the cycle during a round. The winner of the congregation is the node with the best score and subsequently becomes the master of a redundant chain, composed of the master and secondaries according the the score list.

The length of the redundancy chain is a parameter with reasonable values between two and five. Once a master and a list of secondaries is established for some consensus-key, transactions on the associations relation can be performed, simulating a generalized blockchain.

Security

The CUBE algorithms operates on a set of computing resources called contingent. A contingent is not a randomly composed set of computers however: Admission and membership control on contingent nodes is part of the configuration procedures and may be centralized and administered.

Nodes within a contingent can authenticate each other using strong credentials. Releavant information elements contain signatures of the originating node, and the consensus protocol journals may include signatures as well. Signatures are computationally expensive however, an incentive to minimize their use.

Realtime Performance

Based on its construction, the CUBE algorithm can achieve much higher consensus rates than systems based on proof-of-work. The number of messages needed to be exchanged to run the consensus protocol depends on the level of redundancy, but not on the number of nodes in the contingent.

Just Software

The CUBE256 implementation of the CUBE algorithm does not aim to realize a mysterious anonymous blockchain-universe running somewhere on the internet. It targets individuals and organizations who want to leverage the internet on a new scale to achieve more reliability at reasonable cost to run private and business communication and transactions.

CUBE256 is not a content sharing or storage platform, it is just software. Software that can operate simple or distributed storage contingents as desribed before.