From 2da66cf2064ee0d135703cf9d1701b08fe066054 Mon Sep 17 00:00:00 2001 From: Jet Hughes Date: Tue, 13 Dec 2022 15:47:31 +1300 Subject: [PATCH] vault backup: 2022-12-13 15:47:31 --- .../YAC — BFT Consensus Algorithm for Blockchain.md | 6 ++++++ content/notes/YAC.md | 13 +++++++++++++ content/notes/blockchain-terms.md | 2 ++ content/notes/consensus.md | 10 ++++++++-- 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 content/notes/YAC.md diff --git a/content/notes/YAC — BFT Consensus Algorithm for Blockchain.md b/content/notes/YAC — BFT Consensus Algorithm for Blockchain.md index ad28f6dda..ed7b5a621 100644 --- a/content/notes/YAC — BFT Consensus Algorithm for Blockchain.md +++ b/content/notes/YAC — BFT Consensus Algorithm for Blockchain.md @@ -12,6 +12,12 @@ This is the algorthm used in Hyperledger Iroha. # Extracts +1. A client forms a transaction with commands and signs it with their private key. +2. The client sends the transaction to a peer. The peer receives the transaction, performs stateless validation (i.e., verifies that it is not malformed), and relays it to the OS. +3. The OS generates a proposal and sends it to the peers. The proposal contains an ordered list of transactions that will be potentially added to the blockchain in this round. +4. The proposal is sent to the voting peers. Peers enter the collaboration phase, during which they exchange votes across the network and decide on a block. More details on the collaboration phase are provided in Section V. +5. The peer commits the block to their local block store. + # Notes Consensus [7] should guarantee liveness of the system, security, and convergence (consistency) of data stored in the ledger diff --git a/content/notes/YAC.md b/content/notes/YAC.md new file mode 100644 index 000000000..30f2fb70b --- /dev/null +++ b/content/notes/YAC.md @@ -0,0 +1,13 @@ +--- +title: YAC" +tags: +- algorithm +--- + +paper: [[YAC — BFT Consensus Algorithm for Blockchain]] + +1. A client forms a transaction with commands and signs it with their private key. +2. The client sends the transaction to a peer. The peer receives the transaction, performs stateless validation (i.e., verifies that it is not malformed), and relays it to the OS. +3. The OS generates a proposal and sends it to the peers. The proposal contains an ordered list of transactions that will be potentially added to the blockchain in this round. +4. The proposal is sent to the voting peers. Peers enter the collaboration phase, during which they exchange votes across the network and decide on a block. More details on the collaboration phase are provided in Section V. +5. The peer commits the block to their local block store. diff --git a/content/notes/blockchain-terms.md b/content/notes/blockchain-terms.md index 21c64fa55..7a3868017 100644 --- a/content/notes/blockchain-terms.md +++ b/content/notes/blockchain-terms.md @@ -21,6 +21,8 @@ tags: **Decision problem:** In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. +**Stateless Validation**: Verifying that a transaction is not malformed + **:** **:** diff --git a/content/notes/consensus.md b/content/notes/consensus.md index d191d9c12..90629a58f 100644 --- a/content/notes/consensus.md +++ b/content/notes/consensus.md @@ -19,7 +19,13 @@ BFT/CFT Algorithms - PoW: Bitcoin - PoS: [[ethereum]] -- YAC: [[hyperledger#Iroha]] +- [[YAC]]: [[hyperledger#Iroha]] -[^7]: L. Lamport, “Generalized consensus and paxos,” Technical Report MSR-TR-2005-33, Microsoft Research, Tech. Rep., 2005. [Online]. Available: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2005-33.pdf \ No newline at end of file +[^7]: L. Lamport, “Generalized consensus and paxos,” Technical Report MSR-TR-2005-33, Microsoft Research, Tech. Rep., 2005. [Online]. Available: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2005-33.pdf + + +# Components +- Peer +- Ordering service +- Client \ No newline at end of file