I liked the fact that 0.5 seconds is the timeframe of block production, which is so way slower than 12 seconds in . Blocks are produced in rounds of 126(16 blocks each, times 21 procedures). The block procedures are chosen by the preference of votes cast by holders. Additionally, if a fork with more producers on it will grow in length faster than with fewer producers, because the for with more producers will experience fewer missed blocks, solving the forking problem as in .
CONCEPTS OF ACTIONS
Smart contracts as in , are Actions in .
aims for Parallel execution of Actions(Smart Contracts), which run in Accounts(such as EOA External Owner Accounts in ). Parallel Execution means that when a script generates a new “Action”, it is not delivered immediately but is scheduled to be delivered in the next cycle. I find the terminology of “Actions” more appealing than Smart Contracts when we consider Proof of Stake and Role Based Permissions implications.
ROLE-BASED PERMISSIONS
This is a concept I learned with Hyperledger Composer, a framework that works on top of Hyperledger Fabric. The NodeJs SDK gives the environment to develop different “roles” by accessing instructions over different applications.
In the role-based permission management involves determining whether or not an Action is authorized. Each account(hash) is controlled by a combination of other accounts and private keys. In my experience, this concept although very simple was not that intuitively in Hyperledger Composer since the abstraction fades the underlying principles of decentralization. Maybe Hyperledger Fabric is deeper but the learning curve is slower. Hyperledger Composer lacks more customization in role-based management.
Ultimately, defines what combination of keys or accounts can send a particular Action. Validation of permissions is possible without using costly application logic since its a read-only nature. The security increases when other accounts demand identification in the case in an attack.
MODULARITY
In , Actions defined to other applications are safely ignored if the application never depends upon the state of another contract. I experienced this feature with the Business Network Definition(.BNA file) in Hyperledger Composer. Ther .BNA file initiates with an identifier for the application, which is used to communicate with other applications with the right permissions. For example, some transactions could be readable and editable for some applications but not for others. In my experience, Hyperledger Composer offers an easy way for developers to connect different applications since it works as a URL of applications. might have a feature like this but yet I don’t have broader experience on it.
CALCULATION OF COMPUTATIONAL RESOURCES
This feature is a wall of security. If the blocks detect an account or transaction is using an unusual amount of resources, the block producers can reject the transaction. This is very similar to the Gas Limit threshold in Ehtereym to prevent DDoS attacks. The calculation of the computational resources is done subjectively by the block producers. Therefore is not necessary a deterministic measure and then some optimization is improved.
There are three main classes of resources that are consumed by applications and those resources create the tokenized environment.
- Bandwidth and Log Storage(Disk)
- Computation and Computational Backlog(CPU)
- State Storage(RAM)(Information that is accessible from application logic)
SEPARATION BETWEEN TRANSACTION COST AND VALUE
This is a key feature that really solves a problem of . , Ehtereum and other are affected by the price since the users slow or speed up the efficiency by participating more or less in the transaction throughput. The price of doesn’t affect the performance of the . For example, if an application owner holds a relevant number of on an software, the application can run smoothly within a fixed state and bandwidth usage. Therefore, bandwidth, computer, and storage increase independently from the value.
GOVERNANCE
Prior blockchains based in ad-hoc, informal and controversial governance processes often result in unpredictable outcomes. Governance is crucial in future projects. Therefore, holders can vote upon handling suspicious block procedures. Additionally, if Actions(Smart Contracts)behave in suspicious behavior, the accounts are frozen and subjected to a 15/21 vote from producers.
Another interesting concept is the Constitution. enables the establishment of peer to peer terms of service agreement or binding contracts to the user accounts. The terms and conditions can be forced by code. The example of the implementation is the inclusion of a hash as part of the signature of the user accounts.
That is everything for this post. I hope you guys liked it and if any of these reviews make no sense, please let me know, everyone is trying to understand the design of the next Internet.
Published at Sun, 24 Mar 2019 02:39:26 +0000