2. Overview
⢠What is EOS Blockchain?
⢠Why EOS?
⢠Features Of EOS.
⢠EOS Architecture.
⢠Delegated Proof of Stake.
⢠Updating the Protocol & Constitution.
⢠Life cycle of a transaction.
⢠Deterministic parallel execution of
Applications.
⢠Inter Blockchain Communication.
⢠Three broad classes of resources.
⢠Challenges in EOS.
⢠References.
2
3. What Is EOS
Blockchain
?
A decentralized operating system which can
support industrial-scale decentralized
applications.
Like most blockchains, EOS has its own native
cryptocurrency, simply called EOS.
Claims three things:
Completely remove transaction fees.
Conduct millions of transactions per second.
Good governance to resolve disputes, bug fixes.
3
4. Ethereum is clearly the most
obvious choice in the market. It
has amazing smart contract
abilities, Why EOS ?
What was the
Problem ?
5. ⢠Both Ethereum and EOS are capable of hosting
Dapps, which are supported by smart contracts.
⢠But the low transaction speed is a major issue. Plus,
the gas price (transaction fee) is problematic as well
for ethereum.
⢠Proof of work makes miners to waste vast
computational power and electricity only to
compute whose block to add to the Blockchain.
⢠DAO attack.
Bitcoins - 7 transactions per second
Ethereum â 15 transactions per second
EOS â Millions of transactions per second (claims)
5
7. EOS
Architecture
(Governance)
A blockchain based on EOS.IO
software assumes that all who use
the blockchain are members under a
short Constitution and by agreeing
to which, all members form a
Community subject to the
Constitution.
7
12. Updating the
Protocol &
Constitution
⢠Block producers propose a change to the
constitution and obtains 15/21 approval.
⢠Block producers maintain 15/21 approval
of the new constitution for 30
consecutive days.
⢠Community has to accept the proposal.
⢠Changes are made.
⢠Block producers maintain 15/21 approval
of the new code for 30 consecutive days.
⢠Changes to the code take effect within 7
days.
⢠Nodes who donât upgrade, shut downs
automatically.
⢠Typically, updating the Blockchain takes 2
to 3 months and bug fixes takes 1 to 2
months
12
14. Deterministic
parallel execution
of Applications
⢠Minimizing communication
latency(actions within a block)
⢠Read only action handlers(for a
successful action to happen)
⢠Atomic transactions with multiple
accounts
⢠Partial evaluation of Blockchain
state(only needful)
⢠Subjective best effort scheduling (a
txn. using more resources are
removed)
⢠Deferred transactions(parallel
execution)
⢠Context free actions(signature
verification â runs parallel)
14
15. Three
broad
classes of
Resources:
Bandwidth and Log Storage (Disk) â
⢠Log of actions(messages) is useful to restore the
states.
⢠A state is the block of unspent transactions and
nature of chain at a particular instance of time.
Computation and Computational Backlog
(CPU) â
⢠Computational Dept(calculations performed to
regenerate the action log) is to be minimized and
maintained properly.
State Storage (RAM) â
⢠Information that is accessible from applications logic
⢠Ex.: Account balances.
If anyone have 1% tokens of EOS then they
have potential to use 1% of resources.
15
16. Inter Blockchain
Communication
⢠Merkle proofs for light
client validation
⢠Latency of interchange
communication
⢠Proof of completeness
⢠Actions
⢠Sequence numbers
⢠Segregated Witness
⢠Signatures are not
relevant after a txn. Is
immutably included
in Blockchain.
⢠Merkle hash SegWit
16
17. Challenges in EOS
Profitability is low
for all other nodes
except Block
producers
EOS and its 4TB
Blockchain
Problem.
Block producers
may not show
interest to produce
blocks
Vote buying and
Voting issues
Unsolved issues â
solving thousands
of issues takes
time
17
20. Delegated Proof of Stake in EOS.IO
⢠Block producers are elected by community. Community is those who holds EOS tokens.
⢠EOS Token holders must stake tokens for a period of 3 days in order to vote.
⢠The person who is having 1 EOS token can vote 30 Block producers.
⢠The token holders can vote to delegates by using command line tool â âcleosâ.
⢠If you vote a delegate, they will get voter power proportional to the tokens you have
staked.
⢠Suppose, if you have staked 100 tokens, then for the delegates you vote each of them
will get 100 tokens as vote power.
⢠Proxy voting is also supported. A proxy is someone to whom you delegate the authority
to vote on your behalf.
⢠Once a user has registered as a proxy, another user can delegate their voting power to
that proxy.
⢠This effectively causes your votes to mirror that of the proxy you have named.
20
21. ⢠Unlike Proof-of-stake, instead of choosing block producers at random,
they are chosen by voting process by the community.
⢠Instead of purely staking EOS tokens, block producers stake their
investment in the network in the form of infrastructure, community
support, development etc.,
⢠Every token holder can vote to anyone as block producer at any time
without any reason.
⢠Top 21 delegates who are voted by community can produce Blocks. Each
block is having certain number of transactions happen in EOS Blockchain.
⢠Transaction may be transferring amount from one account to other
account or it may be sending message from one account to other
account formerly known as actions.
Delegated Proof of Stake in EOS.IO
21
22. ⢠Remaining delegates who get fewer votes than 21 block producers can
get chance to produce blocks when any of the 21 block producers are
voted out by community at any time. These delegates are known as
standby producers.
⢠There may be any number of standby producers who get chance if any of
21 block producers are voted out.
⢠In theory, every token holder can vote any one as block producer.
⢠But in general community vote for those who prove that they have
enough resources to supply the infra structure required to facilitate the
proper functioning and continual growth of the EOS ecosystem.
⢠The producers order to produce blocks is decided by 21 block producers
among themselves but somehow that order is followed only when it is
approved by 15 or more block producers out of 21.
Delegated Proof of Stake in EOS.IO
22
23. ⢠Each block is produced exactly by 0.5 seconds. If producers donât
produce blocks at that 0.5 seconds, then no other producer shouldnât
produce at that time slot.
⢠It is invalid for a block producer to produce a block at any other time slot
than one they are scheduled for.
⢠When one or more blocks are skipped, there is a 0.5 or more second gap
in the blockchain.
⢠If a producer misses a block and has not produced any block within the
last 24 hours or miss leaded the blockchain based on cryptographic
evidence, then they are removed.
⢠DPOS doesnât experience a fork because instead of competing to find
blocks, the producers will have to co-operate instead. In the event of a
fork, the consensus switches automatically to the longest chain.
Delegated Proof of Stake in EOS.IO
23
24. ⢠Like all other consensus algorithms, longest chain is considered as the valid chain
of transactions.
⢠As 15 out of 21 block producers must agree for a block producer to produce a
block, i.e., 2/3rd of 21 block producers should agree which means 1/3rd of the block
producers can get chance produce bad blocks.
⢠However, the blocks produced by 1/3rd of block producers grow slower compared
to 2/3rd block producers and consensus make long chain into consideration.
⢠As we know community elects block producers for every round. The block
producers which produces bad blocks can be voted out by community. In this way,
ânothing at stake problemâ is resolved.
⢠A blockchain that adopts the EOS.IO software will award new tokens to a block
producer every time a block is produced.
⢠In these circumstances, the number of tokens created is determined by the
median of the desired pay published by all block producers.
⢠The EOS.IO software may be configured to enforce a cap on producer awards such
that the total annual increase in token supply does not exceed 5%.
Delegated Proof of Stake in EOS.IO
24
25. ⢠In these 5% of rewards, block producers benefit only 1% and other 4% is
spent in the network in the form of infrastructure, community support,
development.
⢠This 1% block rewards are again distributed as 0.25% per block rewards and
0.75% per vote rewards.
⢠The top 21 divide up the 0.25% per-block rewards proportional to the number
of blocks each one producers.
⢠All block producer candidates (including the top 21) also divide up the .75%
per-vote rewards budget proportional to the total number of votes they
receive.
⢠They can claim their share of the per-vote rewards at most once-per-day
⢠In order to claim their share they must qualify for at least 100 tokens/day.
⢠Producers candidates who do not qualify for at least 100 tokens/day on a per-
vote basis will receive nothing.
Delegated Proof of Stake in EOS.IO
25
26. Comparison of Developing Dapps in
Ethereum and EOS.
Dapps in Ethereum
⢠For every transaction, you need to
pay some transaction fee.
⢠For the developers , they have to
rent the computational power
(CPU, RAM) and resources in terms
of GAS.
Dapps in EOS
⢠There will be no transaction fee for
users to use Dapps.
⢠Once you buy the tokens, you own
that percentage of computational
power by putting that token as
stake.
⢠Resources you used are
proportional to the tokens you
spent.
26
27. Usability
Tools:
⢠Web based toolkits
provides framework
for Accounts,
Naming, Permission,
Recovery, Database
storage, Scheduling,
Authentication, and
Inter-app
asynchronous
communication.
Language:
⢠Wren(Intermediate
scripting language) â
1000 TPS,
⢠WASM(Web
assembly) â 50,000
TPS,
⢠WASM with C, C++
Environment:
⢠Governance with
Constitution
⢠Arbitration,
Producers and
Referenda
27
28. Transactions
and
Accounts
Typical DPOS have 100% block producers
participation.
A transaction is confirmed within 0.25 seconds
from time of broadcast.
Every transaction is a part
of recent block header
which is used to
Prevent a replay of
transaction
Signals network that a
transaction happened on a
specific fork.
All accounts referred by a unique 12 characters,
can be created by user.
The account creator must reserve the RAM to
store new account until they stake tokens to
reserve its own RAM
For a new user to take an account, nominal fee
has to be paid
28
30. Role Based
Permission
Managem
ent
⢠Permission management determines
whether or not an action is properly
authorized or not.
⢠EOS.IO provides a declarative permission
management i.e., it controls who can do
what and when.(standard and separate
from business logic)
⢠It provides performance optimization.
⢠Multi-user control
⢠Named permission levels
⢠Ex.: Steem have permission levels as
Owner, Active and Posting
⢠Permission Mapping (Ex.: Friend)
⢠Evaluating Permissions (hierarchy is
followed)
⢠Parallel Execution of Permissions (read
only)(regeneration of states)
⢠Actions with Mandatory delay
⢠Recovery from stolen keys
30