In this article you’ll learn more about the architecture of the Universa Blockchain. In case if you missed the introduction, feel free to read it here.
Universa as a fast blockchain
The speed of a blockchain is one of the pillars of the blockchain trilemma. You have to find the right balance between scalability, decentralization and security.
For the Universa Blockchain, speed is not an issue. As you’ve read in the introduction post, the Universa blockchain is based on the principles of verifying instead of executing, this is one of the main reasons why speed isn’t an issue.
At the moment, the Universa Blockchain can process 25.000 transactions per second. Actually, this is just a number and not the main selling point. But with having this as a base, a lot of use cases can be built upon it. You could check out the live benchmark of the network at the mainnet.
But what makes Universa this fast compared to Bitcoin and Ethereum?
First of all, the architecture of Bitcoin is completely different. Bitcoin is designed to be a currency, that is, mostly to provide the “value transfer” feature. BTC is meant as hard money which has to replace fiat currencies. Hard money needs hard efforts spent for obtaining them (that is, mining). Historically, the fiat currencies were gold related, which is also hard-obtainable and hard-produceable. With the Proof-of-Work (PoW) protocol, Bitcoin serves a different purpose than the Universa Blockchain.
Bitcoin is the settlement layer for the BTC currency, hence these “hard efforts”, in form of mining, are necessary for the currency to have value. But the network with thousands of the nodes will require some time for any new block to spread over it. During this time, most of the nodes will try to mine the block even though it is already non actual. To find a sweet spot between the currency having a value, and nodes mining conflicting blocks, the Bitcoin algorithm intentionally slows down the block generation to 1 block per 10 minutes. That’s why the main chain of Bitcoin can process ~7 tps, having off-chain second layer solutions to improve the speed. With the Proof-of-Work mechanism, the network needs both wasting hashrate and slowed-down (to the block time of 10 minutes, in case of Bitcoin) to be able to generate blocks.
The Universa Blockchain is a distributed infrastructure, for a completely different use case. For this use case, practical efficiency is more important than ‘hard efforts’. Proof-of-Work is not necessary for this. The UTN token does not have to be mined, so it does not need any artificial difficulty to produce it. That’s why Universa has the Proof-of-Authority mechanism.
Proof of Authority (PoA)
Not needing Proof-of-Work does not mean you can just delete this aspect out of the network. The transactions still have to be processed by the nodes, which need to reach a consensus about each transaction. But in Universa, reaching this consensus is not based on hashing power.
If more than 90% of all nodes verify the newest state of the transaction as ‘valid’, the revision of the contract is added to the DAG. A DAG is a Directed Acyclic Graph which is a non-linear blockchain structure. And remember: It’s not an addition of blocks in a linear structure.
To become a node you have to apply for a license, hence the ‘Authority’ aspect. For businesses and governments this is important. It guarantees a stable environment in which the nodes are regulated to keep them doing their ‘work’. It also makes sure that there is a possibility to reach consensus in a shorter timeframe. This results in a higher speed network.
With the licensing, based on a KYC procedure, no one wants to mess up the system. It prevents the network against Sybil attacks for example. Some people may think of this as a violation of decentralization. But there’s a difference the between “practically efficient” approach from Universa and the “theoretically perfect” attitude inspired by Bitcoin.
Bitcoin architecture strives to be academically sound, but the reality shows that even Bitcoin network has to do with centralization. Think about large mining pools; various ‘Bitcoin forks’ which use the same architecture facing 51% attacks. It’s proving the architecture itself is not a “decentralization proof”. While Universa “seemingly central” institution controlling the licensing, actually does the real-world checks of the node owners, effectively preventing the centralization in practice.
In Universa sources and Knowledge Base, you can sometimes see “Proof-of-State” term. Interestingly, it should not be confused with the consensus method (which is Proof-of-Authority as you already know), it is not even related to the consensus. It applies to the core purpose of the Universa network: the network verifies the state of contracts, even though their bodies are usually (by default) not kept or stored on the blockchain.
Where in Bitcoin and Bitcoin-alike architectures the transactions are processed in blocks, in Universa a transaction causes a new revision of the smart contract to be created. This causes two things:
- the network (distributed ledger) does not store information of every (previous) block;
- it does not store the data about the non-final blocks at all.
On its turn, this increases the performance of the blockchain. It’s saving speed and increasing anonymity.
PoA instead of PoW also helps maintaining the security and the performance. There’s no need to ‘waste’ time for useless mining. It helps with data finality, since transactions have to be verified by every node in a short and limited time. WIth PoA the node owners try to support the node uptime, avoiding risks of losing the benefit and, in worst violation, even the node license. This makes makes the network more stable and the network connection structure (so-called “network topology”) to be more less frequently modified. All nodes can just know all their peers, and finish the transaction whole-network registration in limited time.
And it is Proof-of-Authority that makes this all possible.
No Virtual Machine
So we compared Universa with Bitcoin. But what makes it much faster than Ethereum?
First it is important to understand the purpose of each Ethereum node. It’s a Virtual Machine (VM) in which data is executed. In order to do this, you have to load data into the blockchain.
Ethereum is also Turing complete. This term means each kind of ‘data processing’ or calculations can be done within the ‘program’ or blockchain. All in all: everything happens within the Ethereum blockchain. Turing-completeness is a nice feature that lets you make a program that does anything. But it is also a liability, because some user, carelessly or intentionally, can make a program that hangs or freezes, and locks up the whole node. That’s why the Turing-complete systems are doomed to have the Virtual Machines, which save the node from being locked up but work slower than the native code.
Do you remember the Universa Blockchain does NOT store the bodies of the contracts? Actually, nothing ‘happens’ within the blockchain. It only verifies the state of a contract. Verifying can easily be done by checking if the hash of the contract is valid, and the rules written in the contract are satisfied. At no point this involves anything Turing-complete – and thus prone to hanging/locking; therefore at no point it needs a slow VM. This improves the speed drastically.
A hash is a encoded piece of text which represents the original document/contract. It’s a 128 long symbol string, which is easy to verify in very high speed. You’ll be able to read more about the hashes (HashID) in the article about security, or visiting the appropriate KB article.
To sum things up: In Ethereum a smart contract is executed in a distributed environment. In Universa, you just write a structured document and let the network verify the state of it. The verification of the contract is as fast as it can be, involving no code that needs slow VMs. .
Let’s conclude with the six main aspects that makes the Universa Blockchain fast enough to process (or: verify) thousands of transactions:
- No mining or ‘hard efforts’;
- Revisions instead of additions;
- A stable network environment because of PoA;
- Storing the state, instead of the bodies of a contract;
- Non Turing complete, all slow calculations happen outside of the blockchain;
- No Virtual Machine, not even a single dApp will be executed by the network itself.
Or even shorter: thin protocol, fat client. The amount of data in the Universa Blockchain should remain as little as possible, while the possibilities for applications (outside the blockchain) should stay immense. Universa makes this possible by verify, not execute.