Cryptocurrencies and blockchain are increasing in popularity and gaining public awareness, but there’s a risk the technology will be unable to keep up with demand. We all have heard of blockchains where, in a network (like Bitcoin) all the transactions are grouped into blocks chronologically with a cryptographic proof and chained. The world currently is in a place where billions of transactions happen every second and all these cannot be integrated into a single branch of chained blocks. At a maximum, Bitcoin can handle about three to seven transactions per second. But if crypto is to go mainstream, it would need to process hundreds of thousands of transactions per second to ensure the economy could keep moving without massive delays for consumers and businesses.
Among the many problems in blockchain's adoption, scalability is the most important. Uniris has solved the problem of scalability by providing a step-by-step solution. This 4 part article is dedicated to address this issue.
- Part 1: Transactions Chains
- Part 2: ARCH Consensus
- Part 3: Geolocation Sharding
- Part 4: Facts and conclusion
Transactions Chains are introduced by Uniris, where each block contains only one transaction and these transactions are chained to form a transaction chain. Every identity (person, device, node, etc) has it’s own transaction chain independent of each other. This potentially means that an identity will have it’s own blockchain and there can be billions of Transactions Chains inside Uniris network.
Let us take an example of a transaction and see how it is integrated in Bitcoin vs Transaction Chain
Transaction in Bitcoin: Alice sends Bob 10 Bitcoins
As you can see Alice's transactions is inside a block with many transactions put together in the same block.
Transaction in Uniris: Alice sends Bob 10 Uniris Coins (UCO)
Here Alice's transaction is in her own Transaction Chain and is validated instantly. Her transaction chain does not interfere with that of other identities as they have their own transactions chains. This exponentially increases the scalability.
Do you want to know whats inside a Transaction?
When a transaction is generated in the network it is called a Pending Transaction as it does not have proof of network validation. The transaction is then validated by ARCH Consensus and becomes a Validated Transaction.
Validation Stamp is the stamp generated by the elected coordinator node and containing
- @addr : An unused address that corresponds to the hash of the public key of the transaction that will succeed it in the chain.
- type : A type defining the functional role of the pending transaction.
- timestamp: The date and time of the transaction generation.
- DATA : Data zone containing all the operations to be performed (operation on one of the registers, programmed tasks, smart-contracts, operations on an identity, etc.)
- Prev-PubKey : The public key associated with the previous transaction (the address of the previous transaction being the hash of this public key)
- PrevKey Sig : Signature from the private key associated with the mentioned public key to prove the possession of the private key, the chaining of transactions and the content of the transaction (address, type, timestamp and data area “DATA”).
- OriginKey Sig : Signature from the private key associated with the device or software from which the pending transaction was generated. This signature is used for the proof of work of the nodes.
- Proof of integrity: proving the linkage of the previous transactions
- PoW: result of the Proof of Work
- Ledgers Operations: contains all the ledger operations that will be taken into account by the network:
– the ledger movements mentioned in the pending transaction DATA/Ledgers along with the issuer’s signature.
– the list of unspent transaction outputs (UTXO) of the sender’s chain on the address of the new transaction.
– the ledger movements to the nodes that participated in the validation and retrieval of the data (effective payment of the welcome, coordinator, cross-validation nodes and nodes from which the data were downloaded) DATA/Ledgers/Fee – the fees can be mentioned explicitly or not mentioned (if not, the costs will be calculated by the coordinator node).
- Cryptographic signature of the Validation Stamp of the coordinating node, the public key being already mentioned in the list of beneficiaries of the fees.
- Cross Validation Stamps To be considered as valid, the Validation Stamp must be joined by as many Cross Validation Stamps as required by the Heuristics Algorithms. Cross Validation Stamps are the signatures of the Validation Stamp by each of the cross-validation nodes (in case of inconsistency or disagreement it will contain the list of inconsistencies noted, all signed by the cross validation node).
Each transaction also has an additional signature (Figure above - OriginKey Sig) corresponding to the signature of the device that generated the transaction. This signature is used inside the Proof of Work mechanism and can be integrated as a necessary condition for the validation of a transaction (for example, in the context of an electronic vote, this will ensure that a person’s biometric identity is generated only through a recognized device).
Other features of Transactions Chains:
Transactions Chains not only contain the transactions generated by any identity but also contain Beacons Chains, Networks Chains and Oracles Chains
Beacons Chains: Since no node has the physical ability to know the status of each transaction in an unlimited network, the Uniris network uses a set of specific transaction chains called Beacons Chains which at all times provide the entire status of the network using a pure decentralized way.
Network Chains: Identical to other transactions chains but use different validation and replication algorithms. Network transactions chains are replicated on all nodes. There are also the set of algorithms, software and configuration files stored in the form of chains. This includes, but not limited to, election of validation and storage nodes, updating of node keys, Shared Secrets, Interpreters, Prediction Module, Beacon Chain management, etc.
Oracles Chains: The "World State" Oracle behaves in the same way as the Beacons Chains. For example when a new weather report is published - all information will also be aggregated at the end of the day by a last transaction on the chain. The information listed within this chain is of several kinds: climatic, financial (stock market prices, crypto-currencies prices – including the Uniris Coin), societal (number of occurrences of keywords on information sites or even when possible the last words most used on search engines). All references (URLs, etc.) are listed in a specific smart-contracts chain
A consensus algorithm is a procedure through which all the peers in the network reach a common agreement about the present state of the distributed ledger. In this way, consensus algorithms achieve reliability in the P2P network and establish trust between unknown peers in a distributed computing environment.
"Consensus is defined by a generally accepted opinion or decision among a group of people" - Cambridge Dictionary
Today, there are many consensus mechanisms in distributed computing and blockchains, but most of them solve few aspects and sacrifice other.
For example: In Bitcoin (where the consensus mechanism used is Proof of Work) the main focus is on decentralization and security but the other aspects like scalability, energy consumption, are completely busted.
Uniris on the other hand focuses on all the pillars of the blockchain giving an overall balanced high performing solution called ARCH Consensus. So, how does an "Uniris's ARCH Consensus" looks like?
- It is fast (i.e scalability), linearly scalable.
The scalability (TPS) = number of nodes in Uniris network (N) * 100
- It is secure and is resistant to all threats and is capable of resisting until <= 90% attack. This means that, even until 90% malicious nodes in the network, Uniris is still secure.
- It is decentralized and a public and permission-less blockchain, it allows anyone to join and participate in the network. It ensures that no single actor or a group of actors can hijack the chain, censor it, or introduce changes in governance through backroom deals and is free of bugs.
ARCH Consensus in non-tech terms:
Consider a village of 100,000 people where every person in the village, keeps the all payments records of all the people in the village. Alice and Bob are citizens of the village.
Traditional Consensus: When Alice sends Bob 10 units (of some currency) you normally expect all the 100,000 people approve this transaction, this takes a lot of time and the village will not be able to process a lot of these transactions.
ARCH Consensus: When Alice sends Bob 10 units (of some currency), the transaction is validated by randomly selecting 200 people out of 100000 people, where all the 200 selected will have the same answer. This takes very less time to validate and the village is able to process any number of transactions.
Traditional Consensus (100000 approvals) == ARCH Consensus (200 approvals)
ARCH Consensus in Uniris Network:
ARCH Consensus in blockchain is a new mechanism, where only a small subset of nodes verifies each transaction. ARCH Consensus is based on Hypergeometric Distribution Laws which, from an unpredictable election and a formal consensus of nodes, makes it possible to obtain with certainty (99.9999999%) the same answer by querying 200 nodes as would be obtained by querying 100,000. In other words, this mathematical law makes it possible to obtain an universal consensus from a small part of the nodes.
The 200 nodes should then have an Atomic Commitment for the transaction validation i.e have the same responses for the transaction validation. This property thus enters into the Heuristics concept widely used on the whole network.
Note: Atomic Commitment is the form of "absolute" consensus that implies 100% concordant responses for the acceptance or refusal of the transaction validation.
When a transaction is sent to the P2P Network of 100,000 nodes (even at 90% malicious nodes and 10% good nodes), instead of asking all the 100,000 nodes to validate the transaction, ask 200 nodes that are unpredictable and randomly selected and all the 200 nodes should have the same responses for the acceptance or refusal of the transaction validation.
The 200 nodes that are elected, are from different geographical area (read about geographical area below). Ensuring that nodes are not from the same region. (In Bitcoin, 70% miners are in China. This indirectly centralizes the network)
Hypergeometric Laws ensures that at least 1 out of the 200 nodes elected/selected will be a good node (even at 90% malicious nodes and 10% good nodes).
OR (on the contrary)
Even if at least 1 node has a different response, then the transaction is further investigated.
In the above, you have now studied about how a transaction is validated and whats inside a transaction. Now this Transactions Chains need to stored right?
Currently, many blockchains store all the transactions in all the nodes. With billions of transactions generated every second, all billions cannot be stored in all the nodes. Hence, inevitably a sharded blockchain is needed and Uniris takes this a step further by sharding the storage nodes of a Transaction Chain throughout the globe . i.e having the storage nodes of a Transaction Chain throughout the globe.
The storage nodes are equally distributed throughout the globe so that no group of nodes from a single geographic area (patches) could obstruct the P2P network’s data availability (Geolocation Sharding).
Hence, Uniris network is prone to geo-political, natural disasters. No matter what happens to the network due to external/internal factors the data availability is 100%.
Transactions Chains => divide blockchain into tiny blockchains
ARCH Consensus => to validate a transaction, randomly selected 200 nodes out of 100000 nodes to validate the transaction instead of all the nodes in the network.
Storage => store the Transaction Chain in a very few nodes, where the nodes selected are equally distributed throughout the globe (this is still a random selection of storage nodes ensuring every storage node to store transaction chain)
One Million Transactions Per Second (PROOF) => Consider 10 nodes are dedicated for 10 seconds to validate and replicate a transaction (even though the current figures for validation of a transaction are less than 1 second for a single node and around 100 ms for the replication)
A laptop/pc with 4 cores, can handle approximately 1000 transactions parallelly. That is to say a transaction validation is so lite that only 0.1% of the computational power is consumed.
Hence 10,000 nodes for 10 seconds can validate 10,000,000 transactions
Then the Transactions Per Second (TPS) => 1 Million
“Randomness brings order in the P2P network and hence ensures constant Entropy”
Uniris is not only a pioneer in scalability, but also in
Traceability => Zero knowledge proof
Decentralized => Randomness ensures complete decentralization
Sustainable and Green Solution => Energy consumption is 3.6 billion times less energy consumption than Bitcoin
Physical and Cyber Access Management => Uniris blockchain is coupled with 'Public Biometric Identification' (Patented)
DApps Compatibility => Market Place, Identity Management, etc.