Chapter 8

Examining the EOS Blockchain

IN THIS CHAPTER

Bullet Getting to know EOS

Bullet Starting to mine on EOS

Bullet Gaming and using EOS decentralized apps

EOS is a newer blockchain, and its developers are hoping to scale the efforts pioneered by Ethereum. EOS is one of the most popular cryptocurrencies trading in markets. Block.one, the development company behind EOS, raised $4 billion during its year-long initial coin offering (ICO) in 2017. Like Ethereum, EOS allows its users to program smart contracts that can perform a wide range of functions.

The defining difference between EOS and Ethereum — and why you may want to learn more about the EOS system — is EOS’s consensus algorithm. EOS has pioneered a new system called delegated proof-of-stake (DPOS). Token holders on the EOS blockchain may select block producers through voting. Anyone can potentially be a block producer as long as they can persuade token holders. If you’ve read Chapter 7 on Factom’s consensus algorithm, this may sound familiar.

This chapter dives into the practical applications and future of the EOS blockchain and explains uses for its technology. Because EOS is a relatively newer blockchain, Block.one has yet to produce a user-friendly application, but it has a tremendous amount of resources for developers and may at some point have better resources for everyday users. Given its significant funding, you’d be wise to keep an eye on the project — it will most likely grow beyond any other project in the blockchain space.

Getting Familiar with EOS

The Cayman Island–based crypto company Block.one raised approximately 7.12 million Ether valued at the time at $4 billion via its ICO. Investors traded their Ether for the EOS token. Like most ICOs, in its ICO EOS used the Ethereum ERC20 as the mechanism for raising capital. You may find it funny to know that EOS has been called the “Ethereum killer,” even though it needed Ethereum to get off the ground.

The promise of the EOS project was to provide its users with an experience similar to those currently offered by centralized services — the security and redundancy of blockchain technology at the cost and speed of the Amazon cloud. Most blockchain developers want to find ways to push down the prices that tend to go up with the number of users that their platforms attract, while increasing their transaction speed and capacity. For proof-of-work blockchains, the more users they have, the more it costs to use the blockchain as a service, and the slower the system.

In the first version of blockchain technology, the purpose was straightforward: Bitcoin enabled users to send cryptocurrency from one user to another, and the Bitcoin blockchain was used to keep track of ownership. Ethereum pioneered blockchain 2.0; it coupled the digital permanence and trustless architecture of Bitcoin with the ability to write code within a blockchain, enabling the creation of smart contracts. The developers behind the EOS software created a new blockchain architecture; it’s blockchain 3.0, and it enables the vertical scaling of the number of transactions per second and horizontal scaling of the number of decentralized applications it can handle.

EOS takes both the transparent nature of blockchain technology and the ability to create smart contracts and adds account functionality, authentication, databases, asynchronous communication, and the scheduling of applications across many central processing unit (CPU) cores. The architecture of EOS may scale to millions of transactions per second, reduces user fees, and allow for easier deployment of decentralized applications (Dapps).

EOS directly confronts several of the core arguments that developers have had with previous blockchain systems:

  • Blockchain technology must be able to support tens of millions of active daily users, just like Google, Facebook, Twitter, and Amazon do every day, without increased cost or crashed systems.
  • Blockchain technology must be able to come down significantly in cost to host all the types of applications that could benefit from trustless systems. A blockchain platform that is free to use will likely gain more widespread adoption.
  • Blockchain software must allow for nonpolitical upgrades and bug recovery. Bitcoin and Ethereum have both been stalled in development due to infighting form the core developers and financial pressure from miners.
  • Blockchain developers that are building applications need the versatility to enhance their applications with new features while still allowing the security of blockchain software.
  • Blockchain software also needs to be fast and provide a good user experience. Long delays discourage user retention and make applications built on a blockchain less competitive.

The team at Block.one hopes to solve all these core issues that make blockchain software unattractive for commercial development through their decentralized consensus algorithm called DPOS. The DPOS algorithm empowers token holders to select block producers through a voting system.

The EOS DPOS produces blocks of transactions every 0.5 second. The blocks are produced in rounds of 126, with 21 elected producers creating six blocks each. All block producers can sign all blocks but not more than one with the same timestamp or the same block height. When 15 block producers have signed, the block is deemed unchangeable. This structure allows a transaction to be confirmed within an average of 0.25 second. This is extremely fast for a blockchain technology.

If a block producer has committed to produce a block but fails to do so, then that producer is skipped, creating at least a 0.5-second gap in the EOS blockchain. If a block producer misses its block and has not produced any blocks within 24 hours, the producer is removed.

The nodes on the DPOS don’t often fork their blockchain records because they aren’t competing in the same sense as the nodes on proof-of-work blockchains such as Bitcoin. On EOS, they cooperate to produce blocks. When there is a fork, the DPOS consensus automatically switches to the longest chain. Block producers can do screwy stuff like producing blocks on two versions of the EOS blockchain (forks) at the same time. However, the theory behind EOS is that if a block producer is caught taking nonbeneficial action, it will be voted out. The EOS blockchain keeps cryptographic evidence of such double production to make it easy to see who’s cheating.

Warning The scalability of EOS has drawbacks. Fewer nodes, only 21, maintaining the DPOS blockchain means that it’s very centralized and has security risks.

New mining versus old mining

When Bitcoin began, a desktop computer could be used to mine. However, the increase in the hash rate for the Bitcoin blockchain soon consumed all the system resources of ordinary computers to keep up.

Blockchains that have reached the hash difficulty of gigahashes are beyond the capacity of your average computer. Even this rate can be prohibitive for many miners. It requires a lot of energy, time, and resources to be profitable. Because of the EOS DPOS algorithm, you can still use a standard computer to earn tokens.

Bitcoin miners discovered that they could adapt the graphical processing unit (GPU) in computer graphics cards to do mining. The GPU often gave miners over 50 times the speed advantage, and the GPU also consumed less electricity, so it was cheaper to run.

In 2011, mining farms started popping up. They used specialized equipment called field-programmable gate array (FPGA) processors. These devices attached to miners’ computers using a USB port and used less power than CPU or GPU mining.

The best mining hardware now utilizes application-specific integrated circuit (ASIC). ASIC machines mine at extreme hashing speeds and, from my personal experience, they can be quite noisy. If you choose to buy one, take your time and read the reviews. Also, make sure it will have a reasonable payback time and be compatible with what you want to mine.

As blockchain software moves beyond proof-of-concept and into the mainstream, the idea of mining will have to change, too. EOS doesn’t mine in the same sense that other blockchains do. It produces blocks, and the nodes that make the blocks are rewarded.

Technically, anyone can sign up, but given that there are only ever 21 elected block producers, it’s difficult to win one of the coveted slots. You may be able to stake some of your EOS tokens with a prominent block producer and be rewarded for doing so. This works similarly to how you stake some tokens on the Waves platform (see Chapter 6).

The 21 block producers

Unlike Bitcoin, in which anyone can verify transactions and produce blocks, a select set of nodes maintains the EOS DPOS blockchain. As a participant and EOS token holder, you can vote on these nodes like a political election.

Elected nodes, called EOS delegates, are the only ones clearing transactions on EOS. There are just 21 delegates at any time and many backup delegates waiting in case one of the elected nodes goes down. The nodes with the most votes win the right to produce blocks. Some of the delegates will share their block rewards with the users who voted for them.

As a token holder, you can change your vote at any time. The theory is that this will discourage block producers from acting against the best interests of the community. Currently, voting or switching your vote isn’t very intuitive. Nor is there yet a clear way for the average person to know if she should change her vote.

Tip Greymass, an EOS block producer, has created a voting tool. This tool was designed by a third party so it isn’t as secure as voting through your command-line interface. But Greymass’s voting system is open source and supported by several competitive block producers.

The EOS system rewards block producers with new tokens. The EOS system creates 5 percent more tokens each year, increasing the overall supply. Of these new tokens, 0.25 percent go to block producers and 0.75 percent go to standby block producers; this is about 100 EOS for a day for qualified standby block producers. Four percent of the new global supply goes back into a pool used for EOS development and research. Worker proposals are presented to the community, and token holders vote on what improvements they want.

Setting Up EOS Voting for Block Producers

EOS tokens are available on most exchanges. You can trade some Bitcoin or Ethereum for EOS tokens on the Poloniex exchange at the time of writing this book. After you’ve purchased or exchanged some of your Bitcoin or Ethereum for EOS tokens, you’ll qualify to vote. You’ll need to set up a new EOS wallet now, too. Follow these steps:

  1. On your phone navigate to your app store.
  2. Search for EOS Lynx.

    The company webpage for EOS Lynx is at https://eoslynx.com.

  3. Download the wallet.

    At the time of writing, there was a $0.99 charge for the EOS Lynx wallet.

  4. Choose an account name.

    Your account name also is your wallet address. It must contain exactly 12 characters (numbers and letters only).

    Tip Pick something easy to remember — you may use your account name in the future much like an email address.

  5. Write down your private key.

    Make sure to write down your private key and keep it in a secure place.

  6. Load your wallet with EOS tokens.

    This is the wallet name and not an address like other blockchains

    You can buy or traded for them on exchanges such as Poloniex (www.poloniex.com) or Bitrex (www.bittrex.com).

Now that you have an EOS account and some EOS tokens, you’re set to connect to Greymass for voting.

Setting up the Greymass voting tool

The Greymass app does a few very cool things. It lets you vote for block producers, transfer EOS to other accounts, and stake EOS tokens for CPU bandwidth. This gives you the right to resource usage on the network as a developer and conveys the weight of your votes.

Follow these steps to vote for a block producer on EOS:

  1. Navigate to Greymass’s GitHub at https://github.com/greymass/eos-voter.
  2. Download and install Greymass’s voting tool for your operating system.
  3. Click Connect to an API Node.
  4. Enter your EOS wallet name.

    This is the name of the wallet that you created in the previous section.

  5. Enter your EOS private key.

    You can find your private key for your EOS wallet on the document you wrote it down on. Or you can look for it in the EOS Lynx wallet. It will be under Export Private Key and the icon on the left of your account name in the wallet.

  6. Enter a secure password.

    Don’t forget to write down the password and keep it in a safe and separately place from your private key.

Voting for a block producer

Now that you have Greymass set up, you can start voting. But before you get going, it’s worth digging deeper into who to vote for to secure your records and applications. This is important on EOS because it doesn’t use a proof-of-work model and instead relies on voting to keep the system honest. The block producers are the backbone of the infrastructure of EOS, and if they fail, then the system is vulnerable.

Inside the Greymass application, under Voting, you can see a list of all the block producer candidates. From this list, you can explore the candidate’s websites and social media accounts. Look for a few key things that will help narrow your choice:

  • Do they have a website?
  • Do they have a positive track record in the community?
  • Do they share block rewards?
  • Do they have social media?
  • What is their contribution to the community?
  • Do they have a road map for development?
  • Do they have an email, Telegram.org channel, or another social channel for communication available?
  • What is their technical experience?
  • Do they have a positive track record in the community?

When you’re ready to vote, follow these steps:

  1. Navigate to the Greymass application on your computer.

    This is the application that you installed in the previous section.

  2. Click Producer Voting.

    On the left side of the screen (Mac) or right side of the screen (PC), you see the list of block producer candidates.

  3. Browse through the candidates and take some time to read about them.
  4. When you know who you want to vote for, click the icon to the right of the block producer’s name.

    The icon looks like a small box with a negative sign within it. You can select up to 30 block producers at a time, but you don’t have to.

  5. Click Submit Votes for Selected Producers.

Congratulations! You’ve voted and participated in the EOS blockchain!

Introducing the EOS Decentralized Application Collection

EOS has begun to spawn one of the largest Dapps collections on the Internet. Dapps are applications that are built on blockchains and take advantage of things like digital permanence, distribution, censorship resentence, and native cryptocurrencies. Many entrepreneurs have chosen to build their apps on EOS because it offers low latency and reduced cost over other blockchains.

Ethereum is still the most popular platform for building Dapps, but EOS may catch up soon as it continues to attract smart contract developers from other platforms. Another reason developers are migrating to EOS is that it uses a common programming languages such as WebAssembly (WASM; a web standard with support from Google, Microsoft, and Apple) and C++. With the significant capital that EOS has raised, it has been able to provide amazing developer tools and libraries.

You can have a look at all the newest applications being built on EOS by going to DappRadar at https://dappradar.com/rankings/protocol/eos.

Everipedia: The next-generation encyclopedia

Everipedia is an EOS blockchain version of the popular website Wikipedia. It’s a wiki-based online encyclopedia that is censorship resistant and keeps a history of all edits to its pages. It uses its own native token called IQ to support content generation. Everipedia’s creation predates EOS by a few years — it was founded all the way back in 2014 but migrated to EOS in 2018.

With a goal of creating the most accessible online encyclopedia, Everipedia is much easier to create content with than Wikipedia is. The Everipedia founder also took elements from traditional social media sites and has allowed celebrities to communicate with fans.

You can create pages on any topic. The pages must be cited and neutral because generating new pages is easy and doesn’t have the same oversite as Wikipedia. You can imagine that, with the censorship resistance of blockchain, Everipedia could be abused and some content could be blatantly false. Everipedia offers a service that allows users to tailor pages and monitor them for updates and to prevent vandalism. Keep that in mind as you browse the site.

Follow these steps to create your very own page that is secured with the EOS blockchain:

  1. Navigate to Everipedia at https://everipedia.org.
  2. Click Menu.
  3. Click Log In/Register.

    When you get to the registration page, pick your favorite social media site to log in with. As of this writing, Facebook, Twitter, and Scatter are available.

  4. Create a four-digit PIN.

    Write down this PIN and keep it someplace safe.

  5. Click the plus sign (+)in the upper-left corner (Mac) or upper-right corner (PC).
  6. Enter the name of the page you would like to create

    As a suggestion, I created an author page for my technical editor, Scott Robinson: https://everipedia.org/wiki/lang_en/the-scott-rob/.

  7. Enter your content.

    Don’t forget to add an image and cite your work.

  8. Click Submit.

Decentralized EOS games

Games stretch blockchain technology to its fullest. They create things like sovereign identities (an identity that the holder of the ID or document controls and proves validity through a blockchain entry). Blockchain games often also use things like self-replicating digital assets (digital goods that when combined in some way during gameplay can create a new asset); the crypto game Cryptokitties is an example of this type of asset. Games also often use tiny payments often called microtransactions. Games open up blockchain technology to the average user and all the potential that that holds.

The EOS blockchain is now powering many new games. EOS is an attractive option because it has built-in functionality that allows for new types of games. Blockchains, by nature, are censorship resistant. Not only can anyone play but it’s difficult to prevent a game from operating globally. Some types of games may not be legal in your region (for example, gambling is often prohibited or heavily regulated).

Blockchains also allow for digital ownership that moves beyond the standards of centralized game corporations. Instead of a corporation owning and controlling your in-game assets like skins for your avatar, the assets are controlled by you. Blockchains also have native money or, rather, a cryptocurrency that makes it easy to facilitate payments and reduce chargebacks from users. This feature is attractive for developers. Also, the fee structure for processing transaction on blockchains can be cheaper than using credit card processors.

EOS has started to become the blockchain of choice for game development because of its high speed and low transaction cost. This means that the smart contracts (also known as chain code) can run faster and cheaper on EOS — a very important consideration for game development.

Tip DappRadar is a great place to check out the latest games on EOS: https://dappradar.com/rankings/protocol/eos/category/games.

Warning Blockchain technology doesn’t have some of the benefits of centralized services. If a game breaks, there is no customer support. If you lose your assets, they’re gone forever. Plus, if another player is behaving unfairly, there isn’t much that can be done. Blockchain technology is still the Wild West, and games bring out the competition, ego, and greed.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset