Research on Bitcoin design and explore Bitcoin mining techniques
Ang, Zheng Jie
Date of Issue2015
School of Computer Engineering
The basic principle of a digital currency system such as the Bitcoin, allows secured monetary transaction through an insecure public network without going through a financial institution. Despite the inherent weakness of the public network, this self-governing financial system remains operational through its strong security design. This project will examine the Bitcoin design and incorporate its security component into the NtuCoin system, which caters to the environment of an educational institute. The components examined are namely, Wallets, Transactions, Block-chain, Mining, Network. The wallet is the foundation of NtuCoin system, which stores the mandatory digital keys that locks or unlocks funds in the block-chain. Digital keys stored within a client wallet, specifically public and private key pairs, were generated using the Elliptic Curve Cryptography algorithm. The secp256k1 curve was chosen for its special property of non-randomness, which allows more efficient computation as compared to curves with random structure . According to Satoshi (2009), transactions within the NtuCoin system can be visualized as a chain of digital signatures. These Signatures were implemented to ensure the integrity of legitimate transactions. In NtuCoin, signatures were obtained through multiple cryptography algorithms such as SHA256, RIPEMD-160, and ECDSA. Every newly generated transaction within the network will be checked against a list of criteria for their integrity, and invalid transactions that violates the criteria will be discarded by all nodes. The mining component periodically aggregates transactions into a block (container), and then timestamp it as a form of proof that these transactions exist within the network at a particular time. Satoshi (2009) suggested a proof-of-work system similar to Adam Back’s Hashcash, which states that a denial of service counter measure can be achieved through increasing the difficulty for block creation and then chaining these blocks in a timing sequential fashion. Therefore, the block-chain is well known as the main security feature in a digital currency network. Any malicious intent on changing a particular block record in the chain would require a complete computation of the entire blocks, which is computationally infeasible. It is evident from the research that NtuCoin satisfies the fundamental requirements of most security models that ensure the Confidentiality, Integrity and Availability. Confidentiality of the data within a node’s client is attained by encrypting the wallets with a user defined secret key. In addition, the Integrity of transactions flowing within the network is ensured through the usage of intensives digital signature algorithms. Furthermore, high availability is enabled through the highly distributed nature of a peer to peer environment.
DRNTU::Engineering::Computer science and engineering
Final Year Project (FYP)
Nanyang Technological University