High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
OmniLedger
1. OmniLedger
A Secure, Scale-Out, Decentralized Ledger
via Sharding
Eleftherios Kokoris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gailly, Ewa Syta, Bryan Ford
Ecole Polytechnique Federale de Lausanne, Switzerland
Trinity college, USA
Presented by Sydney Ma
02/21/2018
3. High failure probability
e.g. 100 validator per shard yields 2.76% failure probability per shard
For 16 shards, the failure probability is 97% over only 6 epochs
Shard selection may not be bias-resistant
Miners can selectively discard PoWs to bias results
Does not ensure transaction atomicity across shards
Funds could be locked forever
Large storage
Validators constantly switch shards resulting each validator to store the global state
Transaction confirmation delay
Any transaction takes around10 mins until being confirmed
Drawbacks of Elastico
4. Terms
Validators
Entity that validates transactions
Shard
Composite of validators that cooperate with each other
Epoch
Fixed time between reconfiguration events
Identity blockchain
Distributed ledger that stores validators’ identities
5. Assumptions
System
Network
fault-tolerance Validators are evenly distributed across shards
Each validator i has a key pair (pki ,ski)
The network graph of honest validators is well connected
The communication channels between honest validators are synchronous
Byzantine fault tolerance model (n=4f)
The adversary is computationally bounded
6. SimpleLedger
A strawman distributed ledger system that we use to outline OmniLedger
1. Register new validators in Identity blockchain
2. Assign validators to shards
3. Start processing transactions within a shard
7. SimpleLedger
1. Register new validators in Identity blockchain
new
validator
Identity + proof
Validator
LEADER
Validator
Validator
Shard
Validator
Identity blockchain
8. SimpleLedger
1. Register new validators in Identity blockchain
new
validator
Identity + proof Validator
LEADER
Validator
Validator
Validator
Send identity to shard
Identity blockchain Shard
9. SimpleLedger
1. Register new validators in Identity blockchain
new
validator
Validator
LEADER
Validator
Validator
Validator
Identity blockchain Shard
10. SimpleLedger
1. Register new validators in Identity blockchain
new
validator
Validator
LEADER
Validator
Validator
Validator
ID
approved
Identity blockchain Shard
11. SimpleLedger
1. Register new validators in Identity blockchain
new
validator
Validator
LEADER
Validator
Validator
Validator
Identity blockchain
ID
approved
Append to identity
blockchain
Shard
12. SimpleLedger
2. Assign validators to shards (Randomness Beacon)
Validator1
Validator2
Validator3
Shard1 Shard2 Shard 3
Trusted Random Beacon
13. SimpleLedger
2. Assign validators to shards (Randomness Beacon)
Validator1
Validator2
Validator3
Shard1 Shard2 Shard 3
Trusted Random Beacon
14. SimpleLedger
2. Assign validators to shards (Randomness Beacon)
Validator1Validator2 Validator3
Shard1 Shard2 Shard 3
Trusted Random Beacon
15. SimpleLedger
3. Start processing transactions within a shard
Validator
Validator
Validator
16. Drawbacks
Security Restrictions
1. Randomness beacon is a trusted third party
2. The system stops processing transactions during the global reconfiguration at
the beginning of each epoch until enough validators have bootstrapped their
internal states
3. There is no support for cross-shard transactions
17. Drawbacks continued…
Performance Restrictions
1. Its performance deteriorates when nodes start failing (due to ByzCoin’s failure
handling mechanism)
2. Validators face high storage and bootstrapping overheads
3. Cannot provide concurrently real-time transaction latencies and high
transaction throughput
19. What is OmniLedger
“The first scale-out distributed ledger that can
preserve long-term security under permissionless
operation.”
Permissionless blockchain: Anybody can create an address
and begin interacting with the network.
20. Design Goals of OmniLedger
1. Full decentralization: No trusted third parties or single points of failure.
2. Shard robustness: Shards process TXs correctly and continuously.
3. Secure transactions: TXs commit atomically or abort eventually.
4. Scale-out performance: Throughput increases linearly in the number of
participating validators.
5. Low storage overhead: Validators do not need to store the full
transaction history.
6. Low latency: Transactions are confirmed quickly
Security goals
Performance goals
21. How to securely divide validators into
shards
Solution: RandHound
A scalable secure multi-party computation protocol
providing unbiased decentralized randomness in a
Byzantine setting
28. How to ensure security and reliability
of transactions within a shard
Solution: Omnicon
A consensus protocol that combines
A tree communication pattern based on groups
blockDAG
30. How to handle cross-shard transactions
Solution: Atomix
A two-phase client-driven “lock/unlock” protocol ensuring clients can
either fully commit a transaction across all shards
Or abort eventually
36. Refinement - Trade-offs between security and
Latency
Solution: Trust-but-Verify Validation
Terms:
Optimistic validators : follow usual procedures but form much smaller groups (as
smaller as one validator per group)
Core validators: Verify all provisional commitments, detecting any inconsistencies
and their culprits
42. Evaluation
Experiments setup
60 physical machines
Intel E5-2420 v2 CPU, 24 GB of RAM
A 10 Gbps network link
restrict the bandwidth of all connections between nodes to 20 Mbps
Impose a latency of 100 ms on all communication links
The dataset consists of the first 10,000 blocks of the Bitcoin blockchain
Validators have to register in epoch e-1 to participate in epoch e
Validators are divided into shards, and shards are valid in a period of time, which we call it epoch.
Validators need to be registered in the Identity blockchain to prevent sybily attack.
i.e. If an honest validator broadcasts a message, then all the honest validators will receive the message within a known maximum delay ∆
adversary might refuse to participate or collude to attack the system
Random seed, the same function
For each validator, it knows where to go
Permissionless blockchain: decentralised, anonymous and equally accessible to anyone with a computer
Permissioned Blockchain: is a closed and monitored ecosystem where the access of each participant is well defined and differentiated based on role.
2. (OmniLedger partitions state into multiple shards processing in parallel) — each shard must correctly and continuously process transactions assigned to it.
Since we don’t want to use the trusted third party to generate randomness, We introduce RandHound to solve the sharding problem.
Use generated randomness to assign validators to shards and evenly to groups
The number of groups g is specified in the shard policy file
Protocols
1. The protocol leader randomly selects one of the validators in each group to be the group leader
Group leaders are responsible for communications between protocol leader and group members
2. If the group leader does not reply before a predefined timeout, the protocol leader randomly chooses another group member to replace the failed leader
3. If receiving more than 2/3 of the validators’ acceptances, the protocol leader proceeds to the next phase of the protocol
4. If the protocol leader fails, all validators initiate a PBFT-like view-change procedure
To prevent double spending
To prevent unspent funds from being locked forever
The solution that we use to deal with cross shard transactions is Atomix protocol.
The client wants to create a transaction, and he would spend some funds of input shards and generate some funds in some output shards.
Each Input shard leader validates the transaction within its shard
Each Input shard leader validates the transaction within its shard
Each Input shard leader validates the transaction within its shard
Optimistic validators : follow usual procedures but form much smaller groups (as smaller as one validator per group)
Core validators: Verify all provisional commitments, detecting any inconsistencies and their culprits
Dependencies
Acyclic
The throughput of the trust-but-verify validation is higher than the regular ones
The client-perceived latency is almost double the value of the consensus latency as there are already other blocks waiting to be processed in the common case.
The latency increas slightly further when multiple shards validate a transaction