作者:中本聪
时间:2008年11月1日
英文名:Bitcoin: A Peer-to-Peer Electronic Cash System
链接地址: https://bitcoin.org/bitcoin.pdf
中文名:比特币:一种点对点的电子现金系统
链接地址:http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system
源代码:https://github.com/bitcoin/bitcoin
摘要:
- 目的:实现一个完全点对点的,不需要第三方的支付系统;
- 当前问题:现有的数字签名电子支付系统还没有解决双重支付的问题;
- 解决方案:通过随机散列对全部交易加上时间戳,将它们合并入一个不断延伸的基于随机散列的工作量证明的链条作为交易记录,除非重新完成全部的工作量证明,形成的交易记录将不可更改。(这是区块链概念的雏形,当时还没有区块链blockchain的概念)
简介:
- 阐述为什么需要这样的支付系统:
存在第三方支付的情况:
- 交易可逆,存在协调争端;
- 金融中介的存在,增加了交易成本;
- 小额交易收到了限制;
- 如果缺乏不可逆的支付手段,互联网的贸易就大大受限;
关于不可逆这个观点,存在很大的争议,有人说这原本就是比特币的一个缺陷(如方便了暗网交易,网络勒索,黑客盗用等),而中本聪却将其视为一个优点
比特币支付系统优势:
- 基于密码学,不需要第三方中介;
- 支付不可逆,卖家免于欺诈,买家也更轻松得到担保;
(杜绝回滚支付交易的可能,这就可以保护特定的卖家免于欺诈;而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快。)
比特币系统替代了传统的金融机构,这里你在拥有了对财产的完全控制权后,也失去了金融中介提供的信用担保服务,例如:你转账给某人,而某人失信,因为不可逆你的币也无法再拿回来。当然我认为比特币本身不是解决这样的场景,同时也看出未来信用对于每个人将会越发重要
交易(Transactions):
Transactions
- 拥有的比特币财产实际上是用公钥私钥不对称加密的一串数据记录;
- 公钥是钱包地址,私钥为打开钱包的密码;
- 排除第三方的同时解决双花问题的方法即:公布所有信息;
实际上我们需要关注的只是于本交易之前发生的交易,而不需要关注这笔交易发生之后是否会有双重支付的尝试。
如果想要在电子系统中排除第三方中介机构,那么交易信息就应当被公开宣布(publicly announced),我们需要整个系统内的所有参与者,都有唯一公认的历史交易序列。
时间戳服务器(Timestamp server):
Timestamp server
本解决方案首先提出一个“时间戳服务器”。时间戳服务器通过对以区块(block)形式存在的一组数据实施随机散列而加上时间戳,并将该随机散列进行广播,就像在新闻或世界性新闻组网络(Usenet)的发帖一样。显然,该时间戳能够证实特定数据必然于某特定时间是的确存在的,因为只有在该时刻存在了才能获取相应的随机散列值。每个时间戳应当将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成了一个链条(Chain)。
- 重点理解此服务器非中心化服务器,时间取自其他至少5个节点时间的中位数,而且与本地时间相差不能超过70分钟;
工作量证明(Proof-of-Work):
- 简称POW机制,需要算力和电力成本;
- 确保时间戳服务器的安全正常运行,除非攻击者掌握全网51%的算力;
“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将在后文证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。
- 为什么不用IP地址投票:ip服务器中心化问题;
- 这里存在一个悖论,如果51%攻击成功,那么整个系统的价值也没有了;
网络:
- 交易被广播->纳入区块->工作量证明->广播过程,节点始终都将最长的链条视为正确的链条,并持续工作和延长它;
比特币使用了类似DHT网络的P2P网络协议进行无中心化的网络连接,这种协议在比特币出现前已经被广泛使用,Kad,eMule、BT等都使用了类似的协议; 比特节点通常采用TCP协议、使用8333端口。
激励:
- 比特币总量上限2100万个,在2140年前不断打包新的区块的同时产生新的比特币,以奖励矿工;
- 交易费,每笔交易如果输入值大于输出值,差额也会当作奖励给矿工;
- 争议:如果比特币到达上限后,“交易费”无法满足,将导致非常严重的问题。
只要既定数量的电子货币已经进入流通,那么激励机制就可以逐渐转换为完全依靠交易费,那么本货币系统就能够免于通货膨胀。
回收硬盘空间与简化的支付确认:
- 使用Merkel Hash Tree方式存储被消费过的交易信息
- 不含交易信息的区块头(Block header)大小仅有80字节。如果我们设定区块生成的速率为每10分钟一个,那么每一年产生的数据位4.2MB。
- 简化支付确认可以通过追溯到链条的某个位置,从而确认是否真实有效。
组合和分割价值:
一般而言是某次价值较大的前次交易构成的单一输入,或者由某几个价值较小的前次交易共同构成的并行输入,但是输出最多只有两个:一个用于支付,另一个用于找零(如有)。
隐私:
- 传统交易,通过第三方系统可能获取交易方身份信息;
- 比特币系统,由于身份信息与钱包地址没有绑定,公众无法得知交易方身份信息,但如果获知钱包地址对应的身份信息,那么可以追溯他所有的交易信息。
计算:
- 用数学计算了攻击者不仅需要算力及电力成本,而且成功的概率随着时间而呈指数下降,即该系统方法的是可靠的。
结论- 略
后记:
比特币白皮书,原文总共9页内容,简洁明了的阐述了这样一个创世纪的支付系统。大道至简,也契合中本聪在结论里写的:“我们提出了一种采用工作量证明机制的点对点网络来记录交易的公开信息,只要诚实的节点能够控制绝大多数的CPU计算能力,就能使得攻击者事实上难以改变交易记录。该网络的强健之处在于它结构上的简洁性。”
网友评论