Introduction to EOS for non-technical people
What is EOS?
EOS is a smart contract platform, I will not go into depth about what smart contracts are other than to say that they are like programmable bank accounts. Some people think that smart contract technology has the ability to change the world, others think it is just hype. Whatever you think, the fact is that it is a totally new way of programming and it seems to have a lot of promise but it is still early days.
There are other smart contract platforms, Ethereum is probably the most well known.
So what is different about EOS?
Fast transactions
Each payment, or interaction with a contract requires a computer (or many computers) to be trusted to sign the transaction to prove that it was not forged. Each technology uses a slightly different way to do this but the problem is the same. How can we trust these people not to cheat?
Bitcoin makes them prove that they are not cheating by proving that they have done a lot of computational work. This is why we see huge mining farms in countries where electricity is cheap.
Ethereum uses a different method which uses less electricity and requires cheaper machines but the principle is the same.
To earn trust, many different (independent) computers will agree on the status of the blockchain. This is why you have to wait for a certain number of confirmations before you can trust that a transaction has been processed.
All of this takes time. In the case of Bitcoin, around 30 minutes. Ethereum can take over 10 minutes. Both of these networks are experiencing high load and therefore transactions can sometimes take much longer.
EOS approaches the problem from a different perspective. 21 block producers will be voted by token holders. They will process each transaction in 500ms (half a second) and various other people will check the results. If the block producers cheat then they will be voted out and their cheating block will be rewritten. Block producers stand to earn money by being honest so they are incentivised not to cheat.
Receiver pays model
One of the major differences is how we will pay for this computing power. It costs money and skill to run these machines so they have to be paid - there is no way around that.
Bitcoin and Ethereum both use a sender pays model where the person sending the money or calling a smart contract function have to pay the gas. Ethereum will charge the fee depending on how much computing work was required to process a transaction. This can be very confusing for new users especially if they are buying a fixed amount of ETH for a single transaction.
If you have ever sent any sort of complicated Ethereum transaction you will have seen “out of gas” errors. Even if the transaction fails, you still pay the transaction fee so a lot of errors can be expensive. The more complicated the transaction, the more it will cost and the higher the chance of you wasting money.
EOS pays the block producers by generating new tokens which they give to them. This is essentially the same as quantitive easing which is a technique that Governments use all the time. This is what it is, debate about if this will work or the pros / cons are not for this article.
The amount that is created to pay the producers is a maximum of 5% of the existing supply. This is a maximum and as the price of the EOS token rises, the percentage they need to pay for the server costs will drop. I am not clear exactly how it will work but block producers will be able to specify how much they want to receive.
In real terms what this means is that an application developer can create a service using a smart contract and their users will not have to buy virtual currency in order to use it.
File storage
Smart contracts are a great technology but they are similar to a database which can be programmed. They can only store data and do some basic calculations or talk to other smart contracts.
In addition to the database and computation we also need a user interface so that people can work with the data.
Normally this is basically a web site, we can talk to a smart contract using javascript and make it look nice with buttons and colours. This is no problem, we can set up and run a small website very easily, there are hundreds of cheap hosts where we can put our files.
The problem comes when we get a bit bigger. Then we have to start creating multiple machines and make them look like one website, we have to worry about security. Unless you are a very large site, you will be running on a single machine (or more likely part of a single machine). This means that we have to resort to desperate calls to VC’s when we need to buy huge server farms and pay to staff them to prop up our business models which don’t quite make any sense yet (Think Facebook or Twitter).
With EOS, we can also host our websites using the infrastructure provided by the block producers, they will all keep a copy of our file and serve it up however we like. This can be HTML files which make up a website, images or videos.
The great part is that once we upload a file we can guarantee that nobody has tampered with it. This means that when we load a file over EOS we can be sure it is exactly what we intended.
What are the tokens?
The EOS tokens are a virtual currency on the EOS chain, they can be traded and used to reserve storage or computing power.
The EOS chain hasn’t been built yet but block.one want to make sure that when the chain does launch there will be a wide distribution of token holders in the genesis block (this is just a file detailing the initial allocation of tokens).
To do this they needed to use Ethereum to create an ERC-20 token, this is the token that is being sold in the token distribution.
When the token distribution is over (June 2018), the ERC-20 token will be frozen forever. This means that you will not be able to trade the token any more. Nothing can stop this, it is coded into the Ethereum contract.
Each ERC-20 token will then be converted into an EOS token when the EOS chain is launched. You will always keep the ERC-20 token in your Ethereum wallet but you will not be able to do anything with it.
Buy not rent
Once application developers reserve computing power and storage for their application they do not have to pay a monthly cost other than the cost of depreciation of the tokens. Advances in technology and storage capacity means that the extra capacity they receive over time will likely outstrip token inflation.
Because we have “buy not rent” we can fund a service which will not be profit making using tokens given by the block producers to community projects. It will not be a constant drain on the system and if it is successful then it will get votes which will mean it gets more tokens. Think of it as like the Government providing community services like a library or park.
But I am a normal person, what does it mean for me?
One of the main problems that we are trying to solve with blockchain is how can we create a trusted system when people are untrusted (techies call it byzantine fault tolerance) and how can we stop people trying to game any system we create. We design great systems in our heads like email but then in the real world people abuse them with spam.
Blockchain technologies solve the trust problem as part of the package (thats why we love it). Tokens are a tool built on top of the blockchain which we can use to create sophisticated new business models where we can sculpt motivation within our systems so that we can reward people for behaviour which helps the system as a whole.
Sounds great but what can I see now?
You are looking at it!
Steemit is based on a blockchain technology which is also written by Daniel Larimer. I am by no means an expert in Steemit but a lot of the concepts in EOS are derived from it.
In this particular business model, they need to motivate people to produce quality content. They do this by generating STEEM tokens and then give you some voting power by lending you some of their STEEM. You can register on this site and you will be lent a small number of STEEM tokens. You now have voting power in this blockchain.
You can now cast your vote for articles and the author of the article will receive some STEEM tokens. This is a fully tradable token and it can be exchanged for real money or other virtual currencies.
Think about it. You can give me money for writing this article without paying anything. Steem will not take your user data and make you a data point in their analytics. On the current web the saying is “If the product is free then you are the product” but this is not the case any more. We can have our cake and eat it.
Seriously, I will only continue to write these articles if enough people vote for them. I plan to write more in-depth articles including explaining the Ethereum smart contracts relating to EOS, as well as regular updates on the status of the EOS.IO software, if you have any questions please add a comment and I will try to answer.
If you prefer to donate with ETH or ERC-20 tokens because you make so much money based on my explanation them please send anything you like to this address.
0xcb49aEa3B18e1BEd93Ea38c65E88310C6BecA3c1
DISCLAIMER : I am not an expert on EOS nor am I an employee of block.one or associated with them in any way. I do own EOS tokens. Anything here is just my interpretation based on my reading of white papers, the source code for eos, the Solidity token sale contract and conversations in public chat rooms. I have been a developer for >20 years but I do not focus on C++ or blockchain in my day job. Some of the things that I say may not be technically accurate but I think that the general ideas are correct, if there are any material errors please comment and I will fix them
"Smart contracts are a great technology but they are similar to a database which can be programmed. They can only store data and do some basic calculations or talk to other smart contracts."
I totally disagree with your assessment of smart contracts:
Ethereum uses Solidity and EOS uses C++ for smart contract development. Both are Turing complete languages, so take away from that what you like...
Great read! Thanks for your effort and contribution. Upvoted
Hi m-i-k-e, nice read, do you think there will be just the one EOS chain after June 2018 or will we see multiple split variants of the same genesis block? In your post you refer to "the EOS chain" I think there could be more than one EOS public chain and wrote about this earlier see my post split testing different variants of the same idea.
To keep things simple I have ignored the possibility for this post. I think I might cover it in another post but its a fairly theoretical problem. Personally I think that there may be more than one EOS compatible chain but there will only be one community supported chain (the official EOS).
It would be hard to see how 2 or more identical chains can be sustainable. There might be a case where the chains disagree on politics and have a different constitution but I think that is unlikely too, a fork of the eos software with different goals (ie speed vs privacy) is also possible but very unlikely.
Of course there is a chance of bad things happening, but this is something people say about open source software all the time and it does not happen very often.
Plus, look on the bright side. If there are multiple chains with the same genesis block then you will get coins on every chain!
Indeed, I find the prospect of multiple EOS chains more interesting than SMTs, although I recognize use cases for SMTs I also see the potential of enterprise scale community blockchains.
Nobody can be sure how it will turn out - but it will be a fun ride!
Congratulations @m-i-k-e! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Good explanation Mike, I am also invested in EOS, not too much but enough that I have like a million questions about the platform and mass adoption. Look forward to reading more stuff about EOS in the future
Thanks M-I-K-E , this will go into my personal bookmarks and also looks like it is crying out to be turned into an infographic.
@originalworks
The @OriginalWorks bot has determined this post by @m-i-k-e to be original material and upvoted it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
To enter this post into the daily RESTEEM contest, upvote this comment! The user with the most upvotes on their @OriginalWorks comment will win!
For more information, Click Here!
Special thanks to @reggaemuffin for being a supporter! Vote him as a witness to help make Steemit a better place!
Hi @OriginalWorks, Is it possible to have a one on one discussion with you? I need to further understand EOS. I am willing to donate in your account. If so, I can give you a call. Please let me know. thanks
This wonderful post has received a bellyrub 0.69 % upvote from @bellyrub thanks to this cool cat: @kid4life. My pops @zeartul is one of your top steemit witness, if you like my bellyrubs please go vote for him, if you love what he is doing vote for this comment as well.
Great piece Mike, thanks for sharing.
Definitely look forward to reading more of your high level analysis.
Thanks for the write-up on the many potentially confusing facets of EOS to the everyday non-techies folks like me. Many things that was quite confusing for me was explained away by your post. Thanks!
Your post deserves more eyeballs.