比特币从何而来?一文详解比特币白皮书
2008 年 10 月,以中本聪 (Satoshi Nakamoto) 为名的个人或团体发布了比特币白皮书,为全球支付执行方式的根本性变革以及整个行业的数据管理转型奠定了基础。
- 比特币作为一种数字货币在一篇名为《比特币:一种点对点电子现金系统》的论文中被介绍给世界
- 比特币白皮书只有九页,是一项关于无信任电子交易系统的提案
- 比特币网络创建了一种无需可信第三方作为中介的支付结构
- 比特币白皮书试图用简单的语言将复杂的技术概念翻译成易于理解的术语
在本文中,我们将对比特币白皮书中概述的技术基础进行简单的解释。
比特币白皮书最初于2008年10月31日由一位或一群自称中本聪的人在一个名为Metzdowd的平台的密码学邮件列表中发布。围绕比特币创始人的真实身份,存在着各种各样荒诞的理论和传闻——许多加密货币界知名人士都声称自己是中本聪,或者认识中本聪。
比特币背后的概念基于密码学、安全通信技术的研究以及防止公众或第三方阅读私人信息的协议的开发。
摘要
比特币白皮书第一页的开头是出版物的摘要,其中包含描述白皮书内容和目的的摘要。
从根本上讲,比特币的目的是开发一种计算机技术,使多方能够直接在线相互支付(“点对点现金系统”),而无需银行等金融机构的介入。首先,毋庸置疑,此类交易的底层系统需要满足一系列安全要求。
由于拟议的交易将以非现金形式在线执行,因此需要解决双重支付问题。双重支付是数字现金系统的一个潜在弱点——如果有人复制或伪造代币,同一价值单位(代币)可能会被重复使用。
这种去中心化现金系统运作的先决条件是
- 系统运行各方的合作(网络结构)
- 确保以前的记录永远不会被改变(不变性)
- 根据一定的规则对交易的有效性达成一致(共识)
换句话说:各方需要就规则达成一致,并按照这些规则进行合作,同时确保记录根据这些商定的规则有效且不可更改。
简介——比特币从何而来?
比特币白皮书的引言部分概述了比特币创始人为何认为需要一个无需信任的现金系统。其主要原因是,在商业环境中通过银行等金融机构运作的传统支付系统存在诸多缺陷。
首先,传统支付通常涉及高昂的交易和调解成本,如果交易出现争议(例如需要撤销交易),则可能产生这些成本。
其次,传统支付系统容易出现欺诈;第三,它们始终需要可信的第三方。比特币白皮书提出了一种系统,该系统中,第三方(如有)例如为主要交易方提供的托管服务,可以轻松实现,但仅在需要时通过触发某种编码操作来实现。
交易
电子货币本质上是由数字签名组成的链条。电子货币实际上是一行行受保护的计算机代码,它们与前一行代码存在关联。电子货币不像传统货币那样握在手中,它们只存在于线上。
假设一位比特币持有者想要进行一笔交易。如果该持有者激活交易,将比特币转移给下一位持有者,那么这笔比特币的价值就会被广播到网络中。
所有者通过对上一笔交易的哈希值(即唯一的数字指纹)进行数字签名来加密,从而激活将比特币转移给下一位所有者的流程。比特币背后的加密机制使用两个数学上相关的密钥——公钥和私钥。它们相互关联,但并不完全相同。
公钥用于加密交易,私钥则用于创建数字签名——它类似于银行账号,而私钥类似于银行账户的访问代码。因此,公钥也是比特币所有者想要发送比特币的接收者的地址。
需要公钥来加密交易,并使用所有者的私钥来创建数字签名。
此信息被添加到硬币的“末端”。
当然,下一个所有者——接收者——希望确保发送给他们的金额未在先前的交易中被使用过。唯一的方法是让网络按照交易发生的顺序对所有之前进行的交易进行确认。
网络中所有交易的有效顺序必须公开宣布,以便每个人都知道什么是有效的,为此,网络需要就什么是有效的规则达成一致。
每个交易接收者都希望得到证明,即在他们收到交易时,网络的大多数人都同意该接收者是第一个收到此交易的接收者,并且之前没有其他接收者收到过相同的交易。
网络中所有交易的有效顺序必须公开宣布,以便每个人都知道什么是有效的,为此,网络需要就什么是有效的规则达成一致。
时间戳服务器
比特币白皮书的这一部分描述了中本聪提出的比特币网络如何使用“分布式时间戳服务器”来证明交易的生成顺序。这是什么意思?
比特币网络运行在一个分布式计算机系统上。网络中的所有计算机进程都在分布于世界各地不同国家的成百上千台计算机(即节点)上同时运行。所有这些计算机都相互连接,任何拥有合适设备的人都可以设置一台计算机加入。
网络中的计算机越多,记录的副本就越多,系统就越安全。显然,同时从数千台计算机上窃取或销毁记录几乎是不可能的。因此,只要操作计算机的大多数参与者共同同意最长的数据记录“链”——“有效”区块链,系统就是安全的。
交易被打包成块,每个块包含多笔交易以及前一个块的信息。时间戳服务器(一种软件)会同时在网络中成千上万台计算机上将时间戳添加到区块的哈希值中。
时间戳提供了数据在此时显然存在的证据,并且每个时间戳的哈希值都包含前一个时间戳。这样,就形成了一个链条,每个新增的时间戳都强化了它之前的时间戳。想象一下俄罗斯套娃的比喻——一个小娃娃套着一个大娃娃,大娃娃又套着另一个大娃娃,以此类推——这就是比特币交易的样子。
时间戳服务器(一种软件)会同时在网络中成百上千台计算机上将时间戳添加到区块的哈希值中。
有效区块
工作量证明
事实上,中本聪在最初的比特币白皮书中建议的通用时间戳网络是作为点对点计算机网络实现的,该网络在称为比特币挖矿的过程中使用工作量证明算法来创建几乎不可更改的交易历史记录。
广义上,“工作量证明”是指计算机用户在其计算机上解决一项中等难度的任务。该任务满足某些设定的要求,并且本质上很难执行。最初,工作量证明作为一种方法被发明出来是为了遏制垃圾邮件的发送。通过要求电子邮件发送者在发送电子邮件之前执行一些小任务(“工作”),这样做是为了确保不会发送大量垃圾邮件。
在比特币网络中,这项中等难度的任务演变成了解决一个密码难题。多笔交易被打包成一个区块。每个区块包含数据——索引、时间戳、交易列表、证明、前一个区块的哈希值以及其他信息。一个称为随机数(nonce,一个“一次性使用的数字”)的数字被添加到这个区块中,用于对其进行哈希运算。
比特币网络中的节点(计算机)——“矿工”——现在开始每秒扫描、测试和丢弃数百万个随机数,以找到一个符合网络在区块生成(交易分组)时设定的目标随机数。他们不断重复这项“工作”,直到找到一个值,使区块哈希达到所需的难度级别:一个以多个零位开头的随机数。
一旦矿工找到这样的值,它就会被广播到网络中的其他节点,经过验证后,一个有效的新区块就被创建并添加到区块链中。除非需要重做,否则无法对区块进行任何更改。
一个区块包含数据——索引、时间戳、交易列表、证明、前一个区块的哈希值以及其他信息。
新区块的生成速度取决于网络中参与验证的参与者数量,或者所使用的计算能力。如果一小时内生成的区块过多,则会增加任务的复杂性——“难度”,以故意延迟新区块的生成。
有效的区块链是诚实的网络参与者在该链上投入的计算能力最长的链。
网络
比特币白皮书的下一部分概述了交易过程。
发送者发送一笔交易,该交易会被广播给网络中的所有参与者(尽管并非所有交易都需要到达所有节点)。每个参与节点将新交易收集到一个区块中,并尝试为其找到工作量证明。
一旦找到并确认该交易之前未被花费(即双重支付),新的区块将再次广播到比特币网络,并被其他计算机接受为有效(或拒绝),这些计算机将使用最后一个有效区块的哈希值创建新的区块。区块链中最长的链被视为正确的链。
可能会发生两个节点同时向比特币网络广播下一个区块的不同版本的情况。因此,其他节点要么先收到一个版本,要么先收到另一个版本。在这种情况下,节点将切换到最长链。如果一个节点没有收到某个区块,它会在意识到丢失该区块后立即请求该区块。
激励
为了鼓励计算机节点参与网络,中本聪提出,如果提供计算能力的节点是第一个创建区块的节点,就应该获得奖励。比特币网络的用户将支付交易费,当流通中的比特币达到一定数量时,这笔费用将成为唯一的奖励。
由于欺骗网络需要大量的算力,因此节点保持诚实的可能性比欺骗网络的可能性更大。原因在于,投入算力进行挖矿和生成新币比投入资金控制网络更有利可图。请记住,没有任何一家公司或个人负责运营比特币网络。它是由一个庞大的独立计算机社区运营和验证的。
回收磁盘空间
由于比特币区块链不可篡改,因此其规模必然会不断增长,最终需要大量内存进行存储。比特币白皮书中假设,一个不包含任何交易的区块头大小约为 80 字节。
为了解决所需内存的问题,中本聪提出,一旦交易被“埋”在足够数量的区块下,就可以“丢弃”之前使用的交易,以节省磁盘空间。
为了确保加密结构(哈希值)不会被破解,白皮书建议将所有交易减少为单个哈希值(根哈希值),这可以通过使用 Merkle 树有效地完成。
Merkle 树或哈希树,以科学家 Ralph Merkle 的名字命名,是密码学和计算机科学中一种基于哈希的数据结构。该结构将数据分配给密钥。一个简单的例子就是电话上的快速拨号——每个电话号码都通过基于哈希的结构分配给每个密钥。在比特币网络中,Merkle 树用于数据验证,由于使用哈希值而不是完整的信息文件,因此效率更高。
Merkle 树或哈希树以科学家 Ralph Merkle 的名字命名,是密码学和计算机科学中基于哈希的数据结构。
Merkle 树通常采用二叉树结构,这意味着每个节点最多有两个子节点,但也可以使用更高级别的输出。根哈希是基于哈希的数据结构中最顶层的哈希,也是区块头的一部分。它用于确定哪些交易是存在的。
2008年比特币白皮书发布时,估计每年至少需要4.2MB(兆字节)的内存存储空间。这是基于每十分钟生成一个区块,每个区块等于80字节的假设。每小时,这相当于80乘以6,然后乘以每天的成本,再乘以每年的成本,即相当于800亿乘以(6X24)乘以365。
2008 年,典型的计算机系统配备 2GB(千兆字节)的 RAM,当时摩尔定律预测每年的增长速度为 1.2GB,而比特币白皮书则认为,即使将区块头保存在内存中,存储也不会成为问题。
简化付款验证
通过构建依赖于连接到可信完整节点并仅下载区块头的比特币实现,无需用户在网络上运行完整节点,即可验证比特币网络中的付款。
下载完成后,客户端计算机将验证链头的连接是否正确,以及是否具备足够的难度,以确保其为正确的区块链。最后,将提供交易副本以及将其链接到各自正确区块的 Merkle 分支,作为包含证明。
只要诚实节点控制着网络,并且您连接到已知可靠的节点,这种验证就是可靠的。然而,为了确保交易不会被攻击者在无效链上伪造,中本聪建议使用比特币进行频繁支付的企业应该运行自己的节点,以提高速度和安全性。
简单来说,这意味着你不需要整个链的记录来验证交易是否正确。你只需要下载默克尔树的一个分支,并检查它是否具有相同的根哈希值。
合并和拆分值
比特币背后的经验教训也适用于包含多个输入和输出的交易——例如,如果你需要花费 35 美分,你需要将 20 美分、10 美分和 5 美分合并起来。在比特币网络中,交易可以包含多个输入和输出,从而允许价值的拆分和合并。
隐私
传统银行通过将交易信息限制在交易各方(包括第三方中介)的范围内来确保交易的隐私性。而比特币网络则公开所有交易。每个人都可以看到有人在发送交易,但交易无法与任何人关联,因为没有人知道交易的执行方是谁。
用户使用公钥向网络验证身份,但需要私钥才能访问交易。因此,比特币白皮书建议每笔交易都使用新的密钥对,以确保交易无法被追溯或关联到同一所有者。
计算
最后,中本聪想要说明比特币网络不太可能被欺诈者成功攻击。白皮书的这一部分包含一些计算,以表明攻击者创建一条与有效链竞争的新链是多么复杂。由于诚实节点不会接受匹配的交易,欺诈者需要与有效链竞争,并利用大量的计算能力来追赶,而他们最终实现盈亏平衡的可能性微乎其微。
结论
比特币是一个点对点的、无需信任的电子现金转账系统,它使用工作量证明(PoW)来记录交易的公开历史。只要诚实节点控制大部分算力,它就具有极高的安全性,能够抵御攻击。该网络由几乎不需要协调的节点组成,这些节点可以随意加入和离开,并且基于共识机制只接受有效区块,拒绝无效区块。
到此这篇关于比特币从何而来?一文详解比特币白皮书的文章就介绍到这了,更多相关比特币白皮书详细介绍内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。