Pub Date : 2020-09-10DOI: 10.1093/oso/9780198862840.003.0007
Andreas Bolfing
Bitcoin was proposed by Nakamoto (2008) as the first electronic payment system, which fully relies on cryptographic primitives in order to work over a purely peer-to-peer system, where everyone can participate in spending funds to other users without the need for a trusted third party. This chapter first introduces the basic ideas of Satoshi Nakamoto, who defined an electronic coin as a chain of digital signatures. It explains how the addresses in Bitcoin are derived, and how the elliptic curve cryptography (ECC) key pair is used in order to transact funds from one user to another. For this, it shows how the transactions are constructed in Bitcoin, based on the most common transaction, which is the Pay-to-Public-Key-Hash transaction. The last section then shows how the transactions are permanently stored in the public ledger, the blockchain, and how the miners solve the Proof-of-Work in order to safeguard the records.
{"title":"Bitcoin","authors":"Andreas Bolfing","doi":"10.1093/oso/9780198862840.003.0007","DOIUrl":"https://doi.org/10.1093/oso/9780198862840.003.0007","url":null,"abstract":"Bitcoin was proposed by Nakamoto (2008) as the first electronic payment system, which fully relies on cryptographic primitives in order to work over a purely peer-to-peer system, where everyone can participate in spending funds to other users without the need for a trusted third party. This chapter first introduces the basic ideas of Satoshi Nakamoto, who defined an electronic coin as a chain of digital signatures. It explains how the addresses in Bitcoin are derived, and how the elliptic curve cryptography (ECC) key pair is used in order to transact funds from one user to another. For this, it shows how the transactions are constructed in Bitcoin, based on the most common transaction, which is the Pay-to-Public-Key-Hash transaction. The last section then shows how the transactions are permanently stored in the public ledger, the blockchain, and how the miners solve the Proof-of-Work in order to safeguard the records.","PeriodicalId":202275,"journal":{"name":"Cryptographic Primitives in Blockchain Technology","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124458850","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-09-10DOI: 10.1093/oso/9780198862840.003.0005
Andreas Bolfing
Chapter 5 considers distributed systems by their properties. The first section studies the classification of software systems, which is usually distinguished in centralized, decentralized and distributed systems. It studies the differences between these three major approaches, showing there is a rather multidimensional classification instead of a linear one. The most important case are distributed systems that enable spreading of computational tasks across several autonomous, independently acting computational entities. A very important result of this case is the CAP theorem that considers the trade-off between consistency, availability and partition tolerance. The last section deals with the possibility to reach consensus in distributed systems, discussing how fault tolerant consensus mechanisms enable mutual agreement among the individual entities in presence of failures. One very special case are so-called Byzantine failures that are discussed in great detail. The main result is the so-called FLP Impossibility Result which states that there is no deterministic algorithm that guarantees solution to the consensus problem in the asynchronous case. The chapter concludes by considering practical solutions that circumvent the impossibility result in order to reach consensus.
{"title":"Distributed Systems","authors":"Andreas Bolfing","doi":"10.1093/oso/9780198862840.003.0005","DOIUrl":"https://doi.org/10.1093/oso/9780198862840.003.0005","url":null,"abstract":"Chapter 5 considers distributed systems by their properties. The first section studies the classification of software systems, which is usually distinguished in centralized, decentralized and distributed systems. It studies the differences between these three major approaches, showing there is a rather multidimensional classification instead of a linear one. The most important case are distributed systems that enable spreading of computational tasks across several autonomous, independently acting computational entities. A very important result of this case is the CAP theorem that considers the trade-off between consistency, availability and partition tolerance. The last section deals with the possibility to reach consensus in distributed systems, discussing how fault tolerant consensus mechanisms enable mutual agreement among the individual entities in presence of failures. One very special case are so-called Byzantine failures that are discussed in great detail. The main result is the so-called FLP Impossibility Result which states that there is no deterministic algorithm that guarantees solution to the consensus problem in the asynchronous case. The chapter concludes by considering practical solutions that circumvent the impossibility result in order to reach consensus.","PeriodicalId":202275,"journal":{"name":"Cryptographic Primitives in Blockchain Technology","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134336939","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-09-10DOI: 10.1093/oso/9780198862840.003.0002
Andreas Bolfing
Blockchains are heavily based on mathematical concepts, in particular on algebraic structures. This chapter starts with an introduction to the main aspects in number theory, such as the divisibility of integers, prime numbers and Euler’s totient function. Based on these basics, it follows a very detailed introduction to modern algebra, including group theory, ring theory and field theory. The algebraic main results are then applied to describe the structure of cyclic groups and finite fields, which are needed to construct cryptographic primitives. The chapter closes with an introduction to complexity theory, examining the efficiency of algorithms.
{"title":"Preliminaries","authors":"Andreas Bolfing","doi":"10.1093/oso/9780198862840.003.0002","DOIUrl":"https://doi.org/10.1093/oso/9780198862840.003.0002","url":null,"abstract":"Blockchains are heavily based on mathematical concepts, in particular on algebraic structures. This chapter starts with an introduction to the main aspects in number theory, such as the divisibility of integers, prime numbers and Euler’s totient function. Based on these basics, it follows a very detailed introduction to modern algebra, including group theory, ring theory and field theory. The algebraic main results are then applied to describe the structure of cyclic groups and finite fields, which are needed to construct cryptographic primitives. The chapter closes with an introduction to complexity theory, examining the efficiency of algorithms.","PeriodicalId":202275,"journal":{"name":"Cryptographic Primitives in Blockchain Technology","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127636533","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-09-10DOI: 10.1093/oso/9780198862840.003.0006
Andreas Bolfing
This chapter gives an introduction to blockchain technology which was proposed by the pseudonymous Nakamoto (2008) with his well-known Bitcoin paper to enable online payments in a decentralized digital cash system, solving the double-spending problem where someone can make two payments with the same coin. The chapter starts with an informal outline of the application of a blockchain and a brief explanation of how a blockchain network is able to reach consensus about the common state of a transaction history. Furthermore, it introduces the Proof-of-Work (PoW) algorithmwhich needs to be donein order to extend the blockchain with new blocks. Since the PoW is a very costly computational algorithm, the transaction data is stored in previous blocks resistant to modification, and thus the PoW safeguards the order of blocks, forming a tamper-proof history of transactions. As a last step, it examines the double-spending attack, which is a fundamental attack to the integrity of a blockchain based system.
{"title":"Introduction to Blockchain Technology","authors":"Andreas Bolfing","doi":"10.1093/oso/9780198862840.003.0006","DOIUrl":"https://doi.org/10.1093/oso/9780198862840.003.0006","url":null,"abstract":"This chapter gives an introduction to blockchain technology which was proposed by the pseudonymous Nakamoto (2008) with his well-known Bitcoin paper to enable online payments in a decentralized digital cash system, solving the double-spending problem where someone can make two payments with the same coin. The chapter starts with an informal outline of the application of a blockchain and a brief explanation of how a blockchain network is able to reach consensus about the common state of a transaction history. Furthermore, it introduces the Proof-of-Work (PoW) algorithmwhich needs to be donein order to extend the blockchain with new blocks. Since the PoW is a very costly computational algorithm, the transaction data is stored in previous blocks resistant to modification, and thus the PoW safeguards the order of blocks, forming a tamper-proof history of transactions. As a last step, it examines the double-spending attack, which is a fundamental attack to the integrity of a blockchain based system.","PeriodicalId":202275,"journal":{"name":"Cryptographic Primitives in Blockchain Technology","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116785993","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-09-10DOI: 10.1093/oso/9780198862840.003.0011
Andreas Bolfing
This final chapter gives a short summary of the contents of the book and represents some important lessons about the security considerations of the cryptography used in blockchain systems.
最后一章简要总结了本书的内容,并代表了关于区块链系统中使用的加密技术的安全考虑的一些重要教训。
{"title":"Conclusions","authors":"Andreas Bolfing","doi":"10.1093/oso/9780198862840.003.0011","DOIUrl":"https://doi.org/10.1093/oso/9780198862840.003.0011","url":null,"abstract":"This final chapter gives a short summary of the contents of the book and represents some important lessons about the security considerations of the cryptography used in blockchain systems.","PeriodicalId":202275,"journal":{"name":"Cryptographic Primitives in Blockchain Technology","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122330685","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-09-10DOI: 10.1093/oso/9780198862840.003.0003
Andreas Bolfing
This chapter provides a very detailed introduction to cryptography. It first explains the cryptographic basics and introduces the concept of public-key encryption which is based on one-way and trapdoor functions, considering the three major public-key encryption families like integer factorization, discrete logarithm and elliptic curve schemes. This is followed by an introduction to hash functions which are applied to construct Merkle trees and digital signature schemes. As modern cryptoschemes are commonly based on elliptic curves, the chapter then introduces elliptic curve cryptography which is based on the Elliptic Curve Discrete Logarithm Problem (ECDLP). It considers the hardness of the ECDLP and the possible attacks against it, showing how to find suitable domain parameters to construct cryptographically strong elliptic curves. This is followed by the discussion of elliptic curve domain parameters which are recommended by current standards. Finally, it introduces the Elliptic Curve Digital Signature Algorithm (ECDSA), the elliptic curve digital signature scheme.
{"title":"Cryptographic Primitives","authors":"Andreas Bolfing","doi":"10.1093/oso/9780198862840.003.0003","DOIUrl":"https://doi.org/10.1093/oso/9780198862840.003.0003","url":null,"abstract":"This chapter provides a very detailed introduction to cryptography. It first explains the cryptographic basics and introduces the concept of public-key encryption which is based on one-way and trapdoor functions, considering the three major public-key encryption families like integer factorization, discrete logarithm and elliptic curve schemes. This is followed by an introduction to hash functions which are applied to construct Merkle trees and digital signature schemes. As modern cryptoschemes are commonly based on elliptic curves, the chapter then introduces elliptic curve cryptography which is based on the Elliptic Curve Discrete Logarithm Problem (ECDLP). It considers the hardness of the ECDLP and the possible attacks against it, showing how to find suitable domain parameters to construct cryptographically strong elliptic curves. This is followed by the discussion of elliptic curve domain parameters which are recommended by current standards. Finally, it introduces the Elliptic Curve Digital Signature Algorithm (ECDSA), the elliptic curve digital signature scheme.","PeriodicalId":202275,"journal":{"name":"Cryptographic Primitives in Blockchain Technology","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114867853","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}