The latest release of the Edge Wallet supports EOS, one of the more high profile and well funded projects in the cryptocurrency landscape.
EOS is the brainchild of Dan Larimer, a well known technologist in the cryptocurrency space. Larimer was an early adopter of Bitcoin and had some interesting public discussions with Satoshi Nakamato and others early in the life of the Bitcoin project. He went on to launch BitShares in 2013, a blockchain based financial platform, and then Steem, a blockchain based social network shortly after. Both projects are based on Larimer’s open source blockchain toolkit known as Graphene that other blockchains have leveraged to build their own unique offerings.
Over the years, Larimer has sought to expand and experiment with the capabilities, performance, and architecture of blockchains. His first two projects, Bitshares and Steem, have unique architectures and have more functionality than pure value transfer that characterize many other blockchains. Despite increased functionality, Larimer wasn’t done extending the concept of a blockchain and its capabilities. The EOS project leans on the same Graphene architecture used to build BitShares and Steem, learns from their development, and aims for a more ambitious and general purpose. Depending on your perspective this experience can be positive or negative. Critics tend to focus on Larimer’s jumping around and not finishing what he started. Supporters think Larimer is learning and innovating rapidly and part of the appeal of these new networks in general is there lack of need of a central party or leader.
EOS intends to be a general computing platform for decentralized applications to be built and operated on. Conceivably, a Bitshares-like application, a Steem-like application, and many more decentralized applications could be built and run on EOS simultaneously.
The concept of a neutral computing platform for Dapps isn’t new. This is a very competitive space with many ambitious projects working on the same idea. The EOS project thinks it’s solved some of the issues other projects have had with scalability and usability for users and developers alike. We’ll briefly examine what makes EOS unique and able to tackle these issues.
Continuing what Larimer started with BitShares and Steem, EOS employs the same consensus algorithm used in those previous projects, Delegated Proof of Stake (DPoS). In a pure Proof of Stake (PoS) system, holders of coins can stake their holdings as collateral for the right to create and validate blocks of transactions on their network. I cover some of the perceived advantages and criticisms of PoS in a previous post. Delegated Proof of Stake gives coin holders the right to vote on who the block producers and validators will be. Block producers in DPoS can but don’t have to own any coins.
DPoS consensus happens in two stages: voting and then traditional transaction processing with a validation threshold. EOS coin holders vote on or “delegate” block production, validation, consensus, and other operations to 21 dedicated organizations known as block producers. Entities can compete to become one of the 21 block producers and coin holders vote on who those 21 will be. The group of 21 is voted on a continuous basis (roughly every 2 minutes), making it easy to remove producers that are incompetent or malicious fairly quickly.
After the group of 21 have been determined they can begin processing and validating network activity. One producer will be authorized to produce a block of transactions at any given point in time. Once a delegated producer has constructed a block, they will broadcast it to the other 20 producers for validation. The block needs to meet a threshold of 15 producers who sign off on the block and add it to the EOS ledger. Once the 15 threshold has been met the block of transactions has been finalized.
Since the block producers are known, limited and there are no other requirements to construct a block other than standard data processing, producing blocks quickly and propagating those blocks throughout the network becomes a lot easier. In this way EOS can handle a lot of throughput and thus can scale to handle a lot of activity.
Most blockchains have very little if any formal governance by design. For many this is a feature but has its drawbacks when hard decisions need to be made at the social level which can devolve into nasty informal political battles within a blockchain community. EOS recognizes the inevitability of technical and non-technical issues arising and formalizes an explicit process of tackling those issues.
The EOS software allows for participants to construct a constitution whose content lays out the rights and obligations of those in the system and facilitates rules for dispute resolution. EOS also specifies how the constitution and the protocol itself can be upgraded, which is laid out below:
- Block producers propose a change to the constitution and obtain 15/21 approval.
- Block producers maintain 15/21 approval of the new constitution for 30 consecutive days.
- All users are required to indicate acceptance of the new constitution as a condition of future transactions being processed.
- Block producers adopt changes to the source code to reflect the change in the constitution and propose it to the blockchain using the hash of the new constitution.
- Block producers maintain 15/21 approval of the new code for 30 consecutive days.
- Changes to the code take effect 7 days later, giving all non-producing full nodes 1 week to upgrade after ratification of the source code.
- All nodes that do not upgrade to the new code shut down automatically.
The idea of an EOS constitution and the general formalism of EOS upgrades is anathema to many in the blockchain space where informalism reigns supreme. The developers and backers of EOS maintain that not every distributed network should work like Bitcoin which has its own functions, use-cases, and tradeoffs.
The EOS Token & Computing Resources
The EOS token is unique in a few respects. Unlike many other tokens or coins which are usually used for pure value transfer, the EOS token gives the holder pro rata claims on network resources and voting rights. As a general computing platform and operating system for decentralized applications EOS needs a way to distribute the platform’s resources and decision making capabilities economically and judiciously. The three resources available to users and developers are RAM, CPU, and NET. To gain access to resources like RAM, CPU, or NET on the EOS network, developers and end-users will lock up or transfer their tokens for access to that resource.
RAM(random access memory) is used to store data on the EOS ledger. Users will need RAM to set up new EOS accounts, add information to their account (like the ownership of other EOS tokens) and dApps will use RAM to store state information of their application so it is quickly available when needed. In both cases, RAM is used to store records on EOS.
CPU is the processing power one can use on the EOS network, and NET is the network bandwidth one is allowed to use. Both resources are measured as the mean usage in the past 3 days. The more EOS you stake, the more resources you are allowed to use.
Blockchains have historically gone with an inflation plus transaction fee model to compensate operators who help secure the network and facilitate its operations. Some platforms similar to EOS charge transaction fees for the use of each resource or operation users want to take advantage of. The EOS development team thinks the transaction fee model creates a terrible user experience for end users and developers alike. They’ve opted for a purely inflationary model to compensate block producers for the resources they dedicate to the network.
For example, if a developer is paying for processing power(CPU) they will lock up some of their EOS tokens, paying for the resource indirectly through inflation. Instead of paying each time for use of a resource which could potentially lead to thousands of transactions in a fee based model on other platforms, EOS allows for just one transaction or operation to open up continued access to a resource. This inflation based model aids the usability and scalability of the EOS platform.
Many blockchains and dapp platforms use an address based model which make use of public and private key pairs to manage funds on the network. EOS employs an account based model which is user friendly and offers more functionality.
Accounts on EOS look similar to user profiles and human readable handles on social networks. For example, @EOSnewuser1 could be someone’s EOS account that another user could send funds to instead of a long, random string of numbers and letters common to address based networks like Bitcoin. EOS accounts handle funds on the EOS network and can handle multiple public and private key pairs.
In addition, there is a hierarchy within the account system between two account types: active and owner. Active accounts can be used to transfer funds, vote for procedures, stake funds, buy access to resources, vote for block producers, and possibly other operations on the network that haven’t been built yet. Owner accounts can do everything active accounts can do plus they can change the owner of the account. This structure of multiple account types and multiple key pairs allows entities, developers, or users to set up varying levels of access, capabilities, and permission for other accounts, entities, developers, etc. Accounts can act on behalf of other accounts, with permission, and their actions could be limited to a subset of potential actions. This allows for creative account set ups between a diversity of users and entities using the EOS platform.
Users should keep in mind, setting up an account on EOS requires users to stake a minimum amount of the EOS token to activate and maintain the account. This minimum reserves the RAM necessary to maintain the account on the EOS platform and imposes a cost on the use of the network’s RAM that we discussed earlier.
EOS moves away from the traditional architecture of other blockchains leading some to characterize EOS as closer to a traditional client-server architecture pioneered by companies like IBM and Oracle. EOS is explicitly not a peer to peer network, its consensus mechanism is not algorithmic, block producers can censor activity and accounts on the network, and the integrity of the platform is heavily dependent on the voting process. As a result, critics call into question EOS’s “blockchainness” when compared to more traditional blockchains.
However, its relative lack of certain qualities doesn’t mean complete absence nor does it mean EOS can’t accomplish what it intends to accomplish: being a neutral operating platform for decentralized applications to be built and run on. Only time will tell.
EOS is still in its infancy and has a lot of maturing to do even in a relatively immature market. There have been multiple issues related to governance over the past couple of months and EOS has also been under scrutiny from researchers about its ability to perform at the level its backers say it can. Those that hold EOS are betting that dapps are a huge potential market and that the EOS team has architected a better platform than others and can overcome many of its current and future obstacles.
We are happy to support this developing platform and look forward to the continued development of EOS. We will play our role by making EOS as secure and easy to use as possible for users and developers all around the world.
[edge_button url=https://itunes.apple.com/us/app/edge-bitcoin-wallet/id1344400091 text=”Download Edge for iOS”]
[edge_button url=https://play.google.com/store/apps/details?id=co.edgesecure.app text=”Download Edge from the Play Store”]
[edge_button url=https://edge.app/app text=”Android APK Direct Download”]