List of articles
- brief introduction
- *** Bitcoin network
- Empty block problem
- Capacity expansion
- The expansion of blockchain
- Opposing communities
- The evolutionary mechanism of failure
- solve the problem
Bitcoin network is proposed and operated by Nakamoto as an experimental network . What I didn't expect was this experimental network , It has become the leader of the virtual currency world . It is estimated that Nakamoto himself had never thought of this ending .
Since it's an experimental network , What pain points are hidden in the bitcoin network ？ Come and see .
Bitcoin network is based on P2P Architecturally . There may be thousands of nodes in the whole bitcoin network .
So here comes the question , A network of so many nodes , You're going to get *** Do you ？ What kind of *** Well ？
Here are three *** Ways and means ：
Consensus ***(51％***): If a person's mining ability , More than the computing power of the whole network 51%, You can decide the content of the virtual currency network block at will , Such as canceling transactions or creating virtual transactions , It means , The whole network of virtual currencies collapsed , All virtual currency assets will be held in this hold 51% In the hands of the calculators .
Selfish mining ***: The so-called selfish mining , It means to be a ” Selfish mines ” Dig into new blocks , Before it has to be submitted to a network node , They kept it in private . The theory is based on ” Selfish mines “ Keep the privacy of the block , Let the rest of the network computing power waste resources to mining , such ” Selfish mines ” Get the first chance when you dig the next block .
“ Selfish mines ” You have to watch other mines , Predict when they will discover new blocks . When ” Honest mines ” When the radio found a new block ,” Selfish mines ” And you have to start a Sybil Attack（ witch ***) In order to get the recognition of the network for the blocks they steal . The block header, of course, has a timestamp ,” Selfish mines ” There must also be enough Sybil The node reports that it is ” Selfish mines ” Find blocks first , So the network will accept reports and reward ” Selfish mines ”.
Denial of service ***: Send out a lot of small transactions , Congested networks . We need to know that the processing power of bitcoin network is very, very weak . Every time 10 Every minute comes a block , The size of a block is 1M（ Of course , Now we have an isolated witness. It seems that the capacity has increased ）, The size of the block is limited , Eventually, the transaction in the block is limited . This limits the transaction processing speed of bitcoin network .
If this time the network receives a large number of small transactions , Then the real big deals will be blocked .
An empty block means that the block does not contain any transactions .
So how does the empty block come into being ？ If we had two A,B Ore pool .
A After the ore pool produces blocks , It's going to take time to get new pieces across the network .
B Mine pool received A After the basic data of the new block of the ore pool , In order to make full use of computing power , Before the transaction data in the new block is transmitted , We'll start to count the next block .
During the transmission of transaction data ,B The pool has a certain probability of finding the next block , Now B The pool does not know which unconfirmed transactions have been A The pool is packed into the previous block , To avoid packing up the same deal , Lead to trade conflicts , Block rejected ,B The pool doesn't package any deals .
That's where the Nuggets come from .
If you go to the history of blockchain , You can find （ From the block 364188 To 345469） altogether 18720 Block , Only one 1 A deal （ namely coinbase transaction ） There are 422 individual .
- Clearing system
Bitcoin blockchain is global 、 A distributed 、 Of limited capacity 、 Expensive systems . The value content of each transaction is different , When the block capacity is not enough , We should protect high-value transactions into the block . High value transactions are willing to be able to pay high enough Internet fees , In order to get enough priority into the block .
With the boom of bitcoin , There will be more and more transactions , Limited block capacity makes low value transactions （ For example, send 1 Cents ） Never get into the block , Because it's impossible for low value transactions to pay high network fees .
Then the network degenerates into a clearing system , Low value trading is being driven out , These transactions are carried out by a third party bookkeeping system instead .
Before the lightning network , Third party accounting systems are mainly out of Chain Wallet providers . Users trust a third-party wallet platform , Put bitcoin in it , Transfer between users on the same platform only brings changes to account balance , It doesn't result in bitcoin transactions .
- The cash system
The cash system means that all transactions should go into the block , So when the block capacity is not enough , The block volume limit should be raised in time , Expand the system . In a short period of time, transaction blocking may occur , But in the long run, all transactions should be able to enter the block . Everyone enjoys the great convenience and advantages of bitcoin system .
In order to solve the problem of blockchain capacity , Bitcoin in 2017 year 8 month 24 Isolation witness was introduced in Japan .
- What is isolation witness ？
Let's review the structure of transactions in the blockchain of bitcoin in the figure above .
Of every deal input There's a ScriptSig, This ScriptSig It is mainly used for transaction verification , It only makes sense for miners who need to verify the transaction , For ordinary users, this ScriptSig It's totally unnecessary .
And isolation witness is to put this ScriptSig Out of the deal . This expands the number of transactions that can be accommodated .
At the same time ScriptSig One of the advantages of excluding transactions is to avoid transaction malleability ***（Transaction Malleability）.
- What is ductility *** Well ？
Malleability means that something is deformed , But its essence is unchangeable . For transactions ,ScriptSig Signature contained in , In fact, it can change . This leads to a change in the whole deal , Finally lead to Transaction ID The change of .
because Transaction ID It's a whole deal Hash.
Why can signatures be changed ？
Because for a certain signature algorithm , There may be several ways to sign , Therefore, many signature methods are correct and valid . But eventually it leads to a deal id The change of .
Suppose there's a situation like this . Xiaoming launched a cash withdrawal transaction on fire currency website . When the deal was broadcast to the Internet , And before it's packaged into blocks .
Xiao Ming is monitoring the deal , And fine tuned the signature of the deal , So a new deal was created , Send it to the bitcoin network .
Finally, the bitcoin network received Xiaoming's modified transaction .
however , At this time, Xiaoming can complain to the fire currency net that he has not received the transaction . The customer service of fire currency net will be based on the previous transaction id To check this record , Of course, it can't be found . Finally, fire money net will compensate Xiao Ming for a sum of expenses . therefore , Xiao Mingjiu *** succeed .
The blockchain size of bitcoin has been increasing , It's not just bitcoin , All blockchain networks have this problem , Because every node in the blockchain needs to save all the information on the chain .
Let's look at the size of the blockchain ,2020 year , The size of an entire node will exceed 250G！
For bitcoin , Mining itself is a vote , The original idea was to use CPU Vote for units to ensure the security of the system . But as the “ smart ” Our technicians will CPU Switch to GPU, And then to FPGA, Until then ASIC mill , This road has gone away from the original intention .
Anyone in the bitcoin community will find , Bitcoin owners and miners are very different people . Bitcoin's group of miners seems to have been completely separated from the community , Many miners may not understand the ecology of bitcoin at all , They don't even care about the future of bitcoin .
So every year you can see some strange things , The community that holds bitcoin has to go through condemnation and appeal , Some mines are required to reduce their computing power , So as not to seriously affect the development of bitcoin .
And these mines will also show that they reduce their share based on morality and consciousness . Anyone who owns bitcoin , Don't you think it's weird , The fate of bitcoin is actually in the hands of people who do not necessarily care about the fate of bitcoin .
This seems to be a little bit similar , The fate of a company is not determined by the shareholders who hold shares in the company , It's those who may not own shares at all , And as long as the rich decide , Those in the financial world “ Barbarian at the door ”. Those who own bitcoin can't make their own decisions about the future of bitcoin . We seem to have set one from Nakamoto CPU One vote civilization , All of a sudden, it's just brute force , To see who is more powerful in primitive society .
At the early stage of its development, bitcoin mainly relied on the technical team with Nakamoto as the core to formulate relevant technical standards and develop bitcoin wallet . But with Nakamoto's exit from bitcoin , The task is gradually shifting to the bitcoin Foundation .
The bitcoin foundation is a nonprofit organization responsible for coordinating the development of bitcoin . In addition to developing bitcoin wallets , Also involved in promoting bitcoin concepts and Applications 、 Education market and communication with the government . Because the foundation itself is a non-profit organization , It can only be run on donations . But bitcoin, a lot of money in the world goes into mining machines , And it's hard for developers to profit from the development of bitcoin .
Developers often face a dilemma , Because bitcoin has gained some recognition all over the world , Its client is used by millions of people around the world , But its early core developers have disappeared , Let follow-up developers dare not change the core code , You can only do some repairs on the outside . Because once you change the core code , Any small problem can cause the global bitcoin network to be paralyzed （ This has happened in the development of bitcoin ）, And not many developers are willing to take such risks . But if the changes are successful and stable , In addition to the applause of the community , There's no real benefit .
And it's up to bitcoin miners to decide whether to use the new version of the client , So any changes that are not good for the miners can't be passed , Even the bitcoin foundation can't help , So the developers don't have enough enthusiasm to modify . under these circumstances , Bitcoin client is still in a very primitive state after years of development , Not only is it not suitable for ordinary people , And it's not like the software of the Internet age . Many developers in Nakamoto's original community are constantly modifying the system , It's like Linux equally , There is no such thing as promoting the system to adapt to the development of the times through the joint efforts of the community .
So, for the problem of block expansion , In fact, there are already two better solutions .
The first is the lightning network ：
The lightning network can be seen as a temporary billing system , for instance A and B There are a lot of deals directly , So they can build a channel in the blockchain first .
All the subsequent transactions are made in this channel （ It can be in the form of a smart contract ）, Only when the channel is closed , The transaction between the two will be officially updated into the bitcoin network .
That's why A and B Save a lot of transaction costs .
And there's a side chain technology
Side chain technology actually builds a chain outside the bitcoin network . Bitcoin network is only used for clearing .
Of course , To solve the bitcoin problem , The second and even the third generation of blockchain technology platforms have appeared . Interested friends can continue to follow my follow-up updates .
This paper introduces the dilemma of blockchain network and some solutions , I hope you like it .
The author of this article ：flydean Program those things
Link to this article ：http://www.flydean.com/bitcoin-in-trouble/
In this paper, the source ：flydean The blog of
Welcome to my official account. : Program those things , More wonderful waiting for you ！