-
Consensus Algorithm in Bitcoin Part 1
Distributed Network Systems and the Byzantine Generals Problem In distributed network systems, achieving consensus involves addressing the Byzantine Generals Problem. It has been shown in the context of Decentralized Consensus Formation and the Byzantine Generals Problem that if more than one-third of the nodes are malicious, reaching consensus is impossible. Even when the Byzantine Generals…
-
Decentralized Consensus Formation and the Byzantine Generals Problem
Overview of the Byzantine Generals Problem A well-known issue in decentralized network systems is the Byzantine Generals Problem (Byzantine Fault). This problem addresses consensus formation in decentralized network systems and was formalized in 1982 by Leslie Lamport and his colleagues: Leslie Lamport, Robert Shostak, and Marshall Pease, The Byzantine Generals Problem, SRI International, 1982. Leslie…
-
Implementation of Scrooge Coin Transactions
Here, we will implement the theory of Scrooge Coin transactions, which we have explored in previous sections, using Java. This is one of the programming assignments from Princeton University’s course, “Bitcoin and Cryptocurrency Technologies.” The table below summarizes the list of classes used and their descriptions. File Description Crypto.java A Crypto class containing the verifySignature()…
-
Validating Scrooge Coin Transactions
Data Structure of Transactions This section explains the data structure of Scrooge Coin transactions. Every transaction consists of multiple inputs and outputs. The outputs of a transaction include the amount and the recipient’s address (public key). The inputs of a transaction consist of the hash value of the previous transaction that contains the corresponding output,…
-
Transaction Types of Scrooge Coin
This document explains the transaction types of Scrooge Coin. There are two types of transactions in Scrooge Coin: 1. CreateCoins Transaction This transaction allows multiple coins to be created in a single transaction. Each coin has information including its serial number, amount, and recipient (the public key of the initial owner). In other words, this…