很多人虽然了解了区块链,也可能参与了一些项目,但是可能没有见过比特币白皮书,也没有读过。我接下来就要和大家聊一聊,什么是白皮书,尤其是来给大家精读一下比特币的白皮书。
前言
通过比特币白皮书,你能够了解到真正的白皮书应该是什么样形式的。因为很多人可能看了很多项目的白皮书,各种华丽的辞藻,各种天花乱坠的技术。其实读完比特币白皮书之后,你会发现原来白皮书是如此朴实无华,而且是如此的技术含量之高,都是干货,因为它只有几页,字数也不多。因此,文章不必要长,关键是要有内涵,尤其是要有干货。
原文摘要部分
Abstract:
A purely peer-to-peer version of electronic cash would allow online
payments to be sent directly from one party to another without going through a
financial institution. Digital signatures provide part of the solution, but the main
benefits are lost if a trusted third party is still required to prevent double-spending.
We propose a solution to the double-spending problem using a peer-to-peer network.
The network timestamps transactions by hashing them into an ongoing chain of
hash-based proof-of-work, forming a record that cannot be changed without redoing
the proof-of-work. The longest chain not only serves as proof of the sequence of
events witnessed, but proof that it came from the largest pool of CPU power. As
long as a majority of CPU power is controlled by nodes that are not cooperating to
attack the network, they’ll generate the longest chain and outpace attackers. The
network itself requires minimal structure. Messages are broadcast on a best effort
basis, and nodes can leave and rejoin the network at will, accepting the longest
proof-of-work chain as proof of what happened while they were gone.
形式
其实白皮书,和论文有点儿相似,论文也是有摘要的。但是,论文不一样,论文必须要有详细的论证,就是你提出一个观点,或者是提出一个系统的话,后面就要围绕这个观点,展开层层论证。就是说,任何一个事,都要有论证。但是白皮书不一样,白皮书完全可以没有论证,可以只是一个设想,或者概况,然后把这技术,和各个环节说出来,把创新点说出来就行了。
点对点
摘要的第一句话是这样的:“本文提出了一种完全通过点对点技术实现的电子现金系统”。这句话非常典型,开门见山地说了它干什么的。这句话很关键,它要做一个电子现金系统,那么这个电子现金系统有什么特点?它是一个完全通过点对点技术实现,所以点对点,成了这里面非常关键的一个关键词。
我们这时候可能会问:什么是点对点?来看后面一句话,“它使得在线支付,能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构”。这两句话非常典型。前面那句话,完全解释了什么叫点对点的电子现金系统,就是它不需要一个中间,它不需要有第三方。直接在网上就可以有一方发起并支付给另外一方,中间不需要任何金融机构。开门见山地点出它做什么,以及这是什么。
然后紧接着说了,“虽然数字签名部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付的话,那么这种系统也就失去了存在的价值”。他说数字签名虽然解决了这个系统的部分问题,例如解决了别人知道这个信息是我发的,但是如果仍然需要第三方的支持,才能防止双花,那么中心化还是存在的,它还是依赖于第三方。那么这种系统,就失去了价值。所以,后面他说了,“我们在此提出一种解决方案,是现金系统在点对点的环境下运行,并且能够防止双重支付问题”。这句话就点明了,如果要实现点对点的现金系统的话,需要解决的这个重要问题是什么?是防止双花问题。
双花问题
有很多人比特币、区块链说的天花乱坠。但是他根本不知道到底区块链的主事业,比特币它解决的到底是一个什么样的问题。其实它解决的就是一个双花问题。因为在点对点的情况下,也就是在中间没有中心系统的,没有银行,没有第三方的情况下。如何保证一点能够到另外一点,保证双花问题不存在?这是很关键。
时间戳
那么,紧接着他说了,“该网络通过哈希函数对全部交易加上时间戳”,这句话就说明了如何加上时间戳。它是通过哈希函数。哈希函数,大家都知道它相当于一个数据摘要。所以,通过哈希函数,就能够对全部交易加上时间戳。因为所有交易通过有时间的序列之后,我们才能够保证避免双花,这是基础。当然,要和其他技术联合起来用,才能解决双花问题。所以他说,哈希函数对全部交易加上时间戳了,将他们合并入一个不断延伸的、基于哈希函数的、工作量证明的、链条作为交易记录。除非重新完成全部的工作量证明,否则形成的交易记录将不可更改。
区块链
这就说明了整个区块链是如何形成的。通过哈希函数把全部交易加上时间戳之后,把他们加入到一个基于哈希函数工作量证明的链条当中,作为一个交易记录,就有块了。除非重新完成全部的工作量,否则的话形成交易记录将不可更改。那这里说明,工作量证明这个机制是共识的,非常重要的。另外紧接着说了,最长的链条,不仅将作为被观察到的事件序列的证明,而且被看做是来自CPU计算能力最大的值。所以说,这就是最长链条,被认为是花费代价最大的。这个链条是否安全呢?他作了一个假设,只要大多数的CPU计算能力都没有打算合作起来对全网进行攻击(什么叫大多数?超过50%以上就是大多数)那么诚实节点就会生成最长的超过攻击者的链条。这个系统本身需要的基础设施,非常少,信息尽最大努力在全网传播即可。节点(Note)可以随时离开和重新加入网络(因为它是一个P2P网络),并将最长的工作量链条作为在该节点离线期间发生的交易的证明。
总结
这个摘要写的是非常清楚的。他告诉读者,他发现了什么问题,并且通过什么办法解决这些问题,而且说明了解决这个问题的主要方式和优势。这很重要,和论文是一个套路。其实,你只要仔细看了比特币白皮书的摘要,就知道中本聪抛出的问题是:一个需要第三方支持的点对点的电子现金支付系统是没有价值的。他要构造一个去中心化的点对点的电子现金系统。但是,如果要构造有去中心化的点对点的电子现金支付系统,虽然目前像这个数字签名,保证了某些机制,但双花问题并不能解决。那么如何解决双花?就成为这样一个系统的非常关键的地方。
通过摘要我们知道了,**比特币系统解决两个主要问题,一个是去中心化的点对点的支付系统,一个就是支出要解决双花问题。**其实它是一个所属的。所以整个白皮书提到技术方案都是围绕这两个问题展开的。前一个问题是最终目标,只有解决了双花之后,才能过渡到最终目标。那么,中本聪在写这篇白皮书的时候,有关去中心化的点对点的系统,已经有比较完善的解决方案了。因为在密码学界,80年代就有些论文,到了90年代,到了2000年的时候,形成了很完善的一些系统,但是他们都是有中心的。
所以说,关于去中心化的点对点的电子现金系统。白皮书的重点,就放在如何通过P2P,就是点对点的系统来解决双花问题。那么要解决双花问题,就必须记账核对。如何在一个没有中心的点对点的系统中,记账又受到认同?谁记的账能够被大家认可?如何认可?如何达成共识?比特币,就引入了基于时间戳的哈希函数,并且让其形成前后文相关的序列,这就是为什么称之为区块链的原因。就是它有很多交易,然后,打包成一个包,然后记录到一个块儿里面。好,第一块儿,然后后面第二块儿第三块儿。每个块儿,就形成了一个先后的顺序。
顺序非常重要。因为只有有了先后顺序,我们才能够知道哪笔交易在前,哪笔交易在后。现在因为银行帮我们管账,银行的记录很清楚,几点几分几秒发生了哪一笔,几点几分几秒又发生哪一笔,它都有先后顺序的。那么在这里呢,记账其不可更改,是比特币的一个副产品。在这里我们要说一下,首先,区块链记账,不可更改是有前提的。就经常地被称为51%的攻击,也就是根据原文摘要的这句话,“除非重新完成全部的工作量,形成的交易记录将不可更改”。由于采用了复杂的这个POW(工作量证明计算),更改交易记录,将是非常耗时,需要大量的运算。从客观上实现了不可更改的目的。但从业务设计的角度,这有的时候,是一个缺陷。如果更改是交易双方认同的,并且合法的话,或者说被绝大多数节点认同的?在这里,就存在一种情况,大部分节点都认同,那么可以分叉,这是后话了。另外,比特币后来的一些事实证明,比特币的滥用,也是因为这个缺陷。比如基于暗网的非法交易,网络勒索,包括黑客盗用比特币等。都是利用了这个缺陷就不可更改。
其实根据多数人正义这点来说,这些交易,都应该被撤销的,也就是需要回滚。但在比特币里面,它不允许篡改。所以,这使得它在某些场景下是有它的一个非常独特的一面。但在从另外一个角度上来说一个,溯源,这恰好是需要的。在资料中,还透露了一个比特币系统的重要的一个特点,就这个系统本身,需要的基础设施非常少,因为没有了中心化的服务器存在,相关的维护、备份、容灾、管理等成本会大大的降低,这都是在比特币白皮书中说明的。那么至于具体的基础解决方案,就是白皮书的开始,白皮书开始第一部分,就是简介。