Development History of Block Chain


Block chain technology is not a magic technology born out of nothing, but a technology based on the research of predecessors for hundreds of years, which integrates and develops many disciplines. In order to let you understand the block chain technology, which traditional technology is the integration and development, Miao Science and Technology Block Chain Small Classroom has brought you a second easy-to-understand article, telling you about the development process of block chain.

Secret Ape Science and Technology Block Chain Lesson 2
Click on the Technological Community to Focus on Mystery Ape Technologies

Development History of Block Chain

Cypherpunk Development and Achievements

As we all know, block chain originates from bitcoin project, or bitcoin is the first application of block chain. But before the birth of Bitcoin, there were a lot of things in the pipeline, including two key technologies that block chains depend on, one is distributed systems, the other is cryptography.(So some people say that block chains are distributed databases, more precisely distributed databases encrypted by cryptography)

Cryptography is a very old knowledge. Some qualitative changes occurred in the 1970s, including civil symmetric encryption algorithm, asymmetric signature algorithm and key exchange algorithm. This creates conditions for the encryption of privacy transmission on the Internet. One of the most important changes is the possibility of asymmetric confrontation. This led directly to the birth of Cypherpunk.

In 1997, Adam Beck (Adam Back) created the “Hashcash” anonymous trading system. Essentially, it’s an anti-spam mechanism that increases the cost of sending spam by increasing the time and computing power of sending e-mail: senders must prove that they’ve spent their time creating “stamps” in the headlines of e-mail (which is the prototype of a work-load proof PoW in Bitcoin).

In 1998, Wei Dai issued the B-Money proposal and introduced two methods to maintain transaction data. In the proposal, users who supervise recorded data are encouraged to be honest. For this reason, they not only need to deposit their money in a special account, but also lose it if they act dishonestly. This method is called “Proof of stake”. If a user-specific group (or primary node) tries to deal with any fraudulent transaction, it will lose all its funds.

In 2004, Hal Fanny (Hal Finney), drawing on Adam Beck’s Hashcash principles, created reusable Proof of Work. In 2005, Nick Szabo released the Bitgold proposal, which was based on Hal Finney and other encryption projects.

Development and Achievements of Distributed Systems

In the 1980s, the research of distributed system has been carried out for a period of time. Among these people, there are two kinds of people. One is more practical. They are studying the technology of database. At that time, there were already distributed databases. They are studying how to make this distributed database more stable and reliable. The other kind of people lay particular emphasis on theory. They will study issues that are hardly encountered in practice, such as the Byzantine general question raised by Leslie Lamport in 1982.

Since 2000, there have been many achievements in these two fields. It is in this context that block chain technology emerges. In October 2008, Zhongbencong published the paper Bitcoin: P2P E-cash System to the “password punk” mailing list of This paper directly refers to Dai Wei’s B-Money and Adam Beck Hashcash, but also solves many problems faced by early developers, such as double payment. So far, Bitcoin has stepped onto the historical stage of encrypted currency, and block chain technology has emerged as the times require.

Recommended Today

Mongoose error: getaddrinfo ENOTFOUND localhost localhost:27017

{ Error: getaddrinfo ENOTFOUND localhost localhost:27017 at errnoException (dns.js:50:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26) code: ‘ENOTFOUND’, errno: ‘ENOTFOUND’, syscall: ‘getaddrinfo’, hostname: ‘localhost’, host: ‘localhost’, port: 27017 } mongoose.connect(‘mongodb://localhost:27017/db1’,{ poolSize:5, useNewUrlParser: true },err=>{ if(err){ console.error(err) }else { Console.log (‘mongodb successfully connected ‘) } }) Try changing localhost to mongoose.connect(‘mongodb://’,{ poolSize:5, useNewUrlParser: true },err=>{ if(err){ console.error(err) […]