CS765 Exam: Cryptocurrencies & Blockchain
CS765 Exam: Cryptocurrencies & Blockchain
Byzantine Fault Tolerance (BFT) approaches, like PBFT, achieve consensus through mechanisms ensuring that all honest nodes agree on the same value, a decision is eventually made, and the value agreed upon was proposed by an honest node. Agreement, Validity, and Termination are essential requirements for strong consensus. The FLP Impossibility theorem states that no deterministic algorithm can achieve consensus in an asynchronous network with even one faulty node. It is relevant as it outlines theoretical constraints that BFT protocols must work within, often necessitating assumptions like partial synchrony for progress .
Zyzzyva's speculative response serves as an optimistic execution mechanism where replicas acknowledge client requests without requiring immediate consensus. A response contains fields indicating the requested operation, its sequence number, and a signature by the replica for verification. In scenarios where 2f + 1 matching responses are collected quickly, the client can consider the operation successful without further coordination, enhancing performance. However, under unreliable network conditions with incongruent responses, a more explicit coordination phase might be necessary, potentially degrading performance. This flexibility allows Zyzzyva to optimize for common-case efficiency while managing Byzantine faults .
Algorand's VRF usage ensures unpredictable and unbiased committee selection, mitigating the impact of network partition attacks by distributing verification responsibilities randomly. Additionally, the reduction steps involve any honest node broadcasting observed selection outcomes, providing collective agreement despite partitions. Effective communication among participants through these steps fosters consensus even when adversaries attempt to isolate portions of the network. By allowing nodes to verify system-wide states without total network visibility, Algorand reduces the attack surface, maintaining robust overall consistency and security .
A Verifiable Random Function (VRF) in Algorand functions by taking an input, often a private key and a message, and producing a pseudorandom output that can be publicly verified. The outputs have cryptographic proofs demonstrating the correctness of the mapping from input to output. In Algorand, VRFs are used for sortition, where nodes are randomly selected to propose and validate new blocks. The VRF ensures unpredictability in selection while providing proof of proper selection, which helps prevent adversary targeting and manipulation, thereby contributing to the system's security .
To identify the public keys of 'A', one can apply heuristics such as the use of 'change addresses'. A common heuristic is that new public keys are often used as change addresses in Bitcoin transactions. Since the detective knows that P8, P12, P14, P17, and P18 are new public keys in the blockchain, and A is making a purchase, it is likely that 'A' might use one of these new keys to prevent linking to their previous transactions. Additionally, consider the transaction outputs: if 'A' is likely to control a significant portion of the outputs due to receiving change or conducting another transaction, key patterns may suggest ownership. The outputs which seem more isolated or unique based on usage pattern might hint at 'A's public keys .
In the Lightning Network, commitment transactions employ RSMC to secure against premature spending by allowing funds to be claimed safely only after a sequence maturity period or under agreed conditions. For instance, in C1a, the RSMC (A|B) is spent by signing a transaction that requires both PKA3 and PKB4, validating both parties' agreement. This ensures that the transaction is only processed under mutually agreed conditions, and with a maturity period set to 1000 blocks, any attempts to spend prematurely without consensus will fail, thus protecting both parties .
Sortition in Algorand involves randomly selecting committee members using a VRF, making it difficult for adversaries to predict which nodes will participate in the next round of validation and reporting. This unpredictable selection reduces the risk of denial-of-service (DoS) attacks targeting a pre-defined set of nodes. By ensuring that only nodes with the necessary cryptographic proof can substantiate their selection, sortition offers both security and efficiency, deterring potential adversaries from attempting to disrupt the network through targeted attacks .
In PBFT, an honest replica might receive a P-certificate for a different sequence number if there has been view change due to a primary failure or Byzantine faults affecting message transmission. If an honest replica receives conflicting pre-prepare messages from different views or messages (indicating different digests), it suggests a Byzantine fault has occurred, such as a primary sending inconsistent messages to disrupt consensus. Protocol-specific rules, such as waiting for a new view before processing the conflicting message, can resolve these conflicts and prevent replicas from erroneously accepting such P-certificates .
To deter malicious actions by a recipient node D in an HTLC setup and protect nodes A, B, and C, contracts can be modified to include penalties for non-completion. Specifically, an additional condition can be incorporated into HTLC contracts to ensure that if the receiving node does not reveal the secret R within the deadline, they lose a small, predefined collateral. This makes it financially disadvantageous for them to fail the contract. Furthermore, implement compensation mechanisms where nodes A, B, and C receive compensation if D fails to act in good faith, thus incentivizing D to cooperate .
In the 2-for-1 mining scheme of the modified Bitcoin-NG, where microblocks require proof-of-work (PoW), this dynamic affects transaction throughput significantly. If a large portion of the network's hashing power is concentrated in a few miners, these miners will primarily focus on creating key-blocks due to their higher reward. Consequently, with fewer miners focusing on microblocks, which pair transactions with PoW, the overall transaction throughput could be lower. Moreover, if the distribution further prevents frequent microblock creation, actual transaction processing is slowed, potentially reducing throughput below that of Bitcoin .