Stefan Heinz, WS 07/08
Byzantine Fault Tolerant Systems
Stefan Heinz Advanced Topics in Distributed Computing
- Ph. D. Petr Kuznetsov
Byzantine Fault Tolerant Systems Stefan Heinz Advanced Topics in - - PowerPoint PPT Presentation
Byzantine Fault Tolerant Systems Stefan Heinz Advanced Topics in Distributed Computing Ph. D. Petr Kuznetsov WS 07/08 Stefan Heinz, WS 07/08 Farsite Federated, Available and Reliable Storage for an Incompletely Trusted Environment Adya et
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Motivation / Introduction System Overview System Architecture File System Features Summary / Conclusion
Stefan Heinz, WS 07/08
Motivation / Introduction System Overview System Architecture File System Features Summary / Conclusion
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Motivation / Introduction System Overview System Architecture File System Features Summary / Conclusion
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
rootA rootB SubDirA SubDirB
Stefan Heinz, WS 07/08
Certification Authority namespace certificate user certificate machine certificate
Stefan Heinz, WS 07/08
Motivation / Introduction System Overview System Architecture File System Features Summary / Conclusion
Stefan Heinz, WS 07/08
client member of a directory group file host
Stefan Heinz, WS 07/08
directory group metadata filedata clients
Stefan Heinz, WS 07/08
directory group metadata hashes filedata file hosts & clients BFT replication raw replication
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Motivation / Introduction System Overview System Architecture File System Features Summary / Conclusion
Stefan Heinz, WS 07/08
generate one-way hash of each block encrypt the blocks using the hashes as keys use a randomly generated file key to encrypt the hashes and encrypt this key with the public keys of authorized readers block encyryption allows for:
the need to load the entire file Benefits: encryptions are comparable, e.g. to identify duplicated files
Stefan Heinz, WS 07/08
Clients register for a notification when a user lists a directory The directory group packages the information, signs it and
Stefan Heinz, WS 07/08
Motivation / Introduction System Overview System Architecture File System Features Summary / Conclusion
Stefan Heinz, WS 07/08
convergent encryption timed byzantine operations
directory group metadata hashes filedata file hosts BFT replication raw replication
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Motivation / Introduction Protocol Agreement Protocol View Changes Correctness Summary / Conclusion
Stefan Heinz, WS 07/08
Motivation / Introduction Protocol Agreement Protocol View Changes Correctness Summary / Conclusion
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
BFT? Zyzzyva Yes
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Client Primary Replica 1 Replica 2 Replica 3 request reply Agreement Execution
Stefan Heinz, WS 07/08
Client Primary Replica 1 Replica 2 Replica 3 request reply Speculative execution
Stefan Heinz, WS 07/08
Motivation / Introduction Protocol Agreement Protocol View Changes Correctness Summary / Conclusion
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
client primary
Stefan Heinz, WS 07/08
client primary
Stefan Heinz, WS 07/08
client primary
Stefan Heinz, WS 07/08
client primary
What cases can occur?
Stefan Heinz, WS 07/08
Client receives 3f+1 matching responses and completes the
client primary
Stefan Heinz, WS 07/08
Client receives between 2f+1 and 3f matching responses,
client primary
Stefan Heinz, WS 07/08
Client sends commit certificate Replicas acknowledge with a LOCAL-COMMIT message Client receives 2f+1 LOCAL-COMMIT messages and
client primary
Stefan Heinz, WS 07/08
Client doesn't gather 2f+1 matching SPEC-RESPONSE or
client primary
Stefan Heinz, WS 07/08
Client receives responses indicating inconsistent ordering by
Replicas initiate a view change to oust the faulty primary and
client primary
Stefan Heinz, WS 07/08
client primary f faulty replicas, one
< I−HATE−THE−PRIMARY ,v > i
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Motivation / Introduction Protocol Agreement Protocol View Changes Correctness Summary / Conclusion
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
send only SPEC-RESPONSE messages for a given
send only one LOCAL-COMMIT after seeing 2f+1 matching
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Client receives at least 2f+1, since at most f of the 3f+1
Client sends a COMMIT to all replicas, all correct replicas
Client gets at least 2f+1 LOCAL-COMMITs, therefore the
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Therefore the client receives at least 2f+1 SPEC-RESP.s The client receives fewer then 2f+1 matching responses
Then the client can form a POM and send it to the replicas to
Stefan Heinz, WS 07/08
Motivation / Introduction Protocol Agreement Protocol View Changes Correctness Summary / Conclusion
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08
Stefan Heinz, WS 07/08