主页 > imtoken钱包官网客服 > 比特币白皮书的个人解读

比特币白皮书的个人解读

imtoken钱包官网客服 2023-01-17 12:30:40

概括

首先,中本聪在摘要中指出,他要构建一个去中心化的p2p支付系统,并且不引入第三方来解决双花问题。并提出了解决方案,提到了时间戳和工作证明等技术点。

接下来看正文内容...

介绍

目前,互联网上的金融交易依赖于受信任的第三方,如国家强制性机构(银行)、超级企业(支付宝、微信)等,是一种“基于信任的模式”。不是现在的模式不好用,而是既然是基于信用的,就需要不断的维护信用,成本非常巨大。

于是比特币出现了,它不再基于信用,而是基于密码学原理,使得虚拟交易可以由双方约定,直接支付,无需第三方参与。

由于直接付款,确认后无法更改,所以是对卖家的一种保护,而对于买家的保护,中本聪提出“在这种环境下,建立第三方担保机制通常很容易,过瘾。” 其实说白了就是比特币系统被设计成对交易双方不均等,余额更偏向卖家,就像在淘宝上买东西一样,防止买家拒绝支付差评后购买。但同时,由于比特币交易确认后无法更改,也导致了买家付款,卖家不发货的漏洞。

这是比特币给我们的另一个关注点。比特币网络实际上是另类的中心化信用机构,不能保证双方的信用。如前所述,买方拒绝付款,卖方拒绝发货,均属于交易双方的信用问题。由于此时不涉及第三方信用体系(淘宝、京东等),交易无法撤销。,亏就是亏,这是比特币的优势,也是它的痛点。

交易成功后无法更改,其实是有条件的,也就是俗称的51%攻击。原文中写着“除非重新完成所有工作量证明,否则形成的记录不会改变”。比特币使用复杂的工作量证明机制。要改变一个交易块,需要从这个块开始,以及所有后续的块。它需要大量的计算,非常耗时,所以客观上是一个不可改变的目的。

但是试想一下,如果买卖双方同意,或者按照“多数即正义”的原则,有压倒性多数同意修改呢?这是一个真正的比特币缺陷,并且为滥用留下了空间。记忆犹新的全球勒索病毒爆发,勒索大量比特币,这在全球绝大多数人眼中是不公平的,可以公然利用比特币规则下的漏洞,但我们没有办法返回 Roll 它的交易,因为比特币交易在客观上是不可改变的。

贸易

Transaction 的内容是中本聪设计的核心,也是最精妙的部分,令人惊叹。首先呈现原图。注意是英文原版白皮书的原图,不是网上流行的中文翻译版。中文图不对,误导了我好久。

tx

首先了解一下白皮书中对硬币的定义:“电子硬币就是这样一系列的数字签名”。首先,比特币的概念非常混乱,即它与真实货币不一样,也不同于Q Coin之类的东西。Q币可以理解为一种在网上流通的实物货币的代币,还记录了拥有者的姓名、数量等信息。事实上,比特币并没有记录谁是谁,谁拥有多少币,也没有账户的概念。这些都是通过交易记录推断出来的。

比如Q币的记账方式是A有100个Q币,B有50个Q币,A转10个Q币给B,那么A账户有-10Q币,B账户有+10Q币,这是集中式的工作方式,包括银行。比特币的记录可能是一条“A给B 10比特币”。无数这样的交易记录形成了一条交易链,形成了一个去中心化、公开透明的公共账本。如果 A 想知道他拥有多少比特币,他可以通过引用他参与的所有交易来推断数量。

知道了这个原理,让我们看看如何将比特币从一个人发送给另一个人。

比如一条交易记录:张三给李斯发了5个比特币。

发送方(张三)要做的是:用这个交易信息和目标地址(李四的公钥)做一个HSAH,然后用他的私钥进行数字签名(也就是用张三的私钥) key).key 加密这个 hash 值),同时把这个数字签名附加到这个 Tx(transaction) 上,然后通过 p2p 技术发送给 Li Si。

李斯收到这个消息后应该怎么做:拿张三在交易中公布的公钥对数据进行验证(解密公钥)得到哈希值x,同时用他的公钥和交易信息如果要获取hash(data),然后比较x=hash(data),就可以判断出这笔交易来自张三。因为公钥验证的哈希值只能由私钥生成,而张三的公钥验证的必须是张三的私钥。这里使用非对称加密、私钥数字签名和公钥验证数据。公钥决定钱包地址,私钥决定所有权。

知识点1:非对称加密

公钥可以加密数据或验证数据,私钥可以解密数据或对数据签名。
公钥加密数据,只能用私钥解密。
私钥加密数据(这个过程叫数据签名),只能用公钥解密(验证数据)。
区块链在设计交易(Transaction)的时候,就是用不对称加密算法(SHA-256)。

既然是支付系统,就无法避免双花问题。

知识点2:双花问题

如果同样的钱被支付了两次,这就是一个双花问题。

在现实世界中,如果你锻造一块黄金并进行交易,很容易被伪造,但虚拟世界中的物品却太容易被复制。用同样的钱,一笔接着一笔,两笔交易似乎没有问题。存在双花问题。

中心化支付系统(支付宝、银行等)并非没有双花问题,它只是一个更好的解决方案。比如银行转账,A账户向B账户转账100元,银行会开通交易,A账户-100,B账户+100。这个过程类似于造币厂,银行会先将A账户中的100作废,然后重新发行新的100到B账户。由于A账户中的100元作废,双花问题解决。

那么,比特币是如何解决双花问题的呢?像往常一样,多数就是正义。首先是要求所有的交易都向全网公开,每个人都能追踪到每一笔交易的来龙去脉,不能造假。其次,每笔交易都有时间戳,这样就可以确定顺序,形成时序交易链。三是绝大多数节点承认交易是第一次。这就引出了下一章的概念:时间戳服务器。

时间戳服务器

时间戳服务器可以通过给区块打时间戳来证明某些数据在某个时间确实存在。每个时间戳都会有前一个时间戳的信息,这样时间戳也形成了一条链,而后一个时间戳是对前一个时间戳的增强。这样比特币的算力都用来干什么了,即使有人想要篡改一个时间戳,它之后的所有时间戳都需要更改。这个过程是工作量证明,需要花费大量的时间和计算能力来确保它不能被篡改。

现在再想想,比特币不是说去中心化的吗,为什么会有时间戳服务器,如果有服务器,又会变得去中心化。事实上,情况并非如此。此服务器不是其他服务器。还是那句话。多数是正义。时间取自至少5个其他节点时间的中位数,中位数与本地时间之差不能超过70分钟。

知识点3:中位数

一个数学概念,统计学中的专有名词,表示样本、总体或概率分布中的一个值,将一组值分成相等的上下部分。

中值是所有单位标志值的代表值,由其在所有标志值中的位置决定,不受分布序列的最大值或最小值的影响,从而在一定程度上提高了中值。序列的表示。

因此,中位数比均值受极值影响小,更能代表分布序列的中间值。

时间戳的运行机制是对两个区块之间的区间内的所有交易进行哈希处理并打上时间戳,我们得到一个按时间序列生成的交易记录,这就是区块链。

工作证明

工作量证明通常被称为“挖矿”。一个是浪费电,一个是浪费算力,而比特币又不是靠挖矿挖出来的货币,那为什么还要挖矿呢?

试想一下,一个交易被生成并广播到整个网络。现在 A、B、C 都收到了交易信息,他们可以给交易打上时间戳,然后将区块打包到链上。但是每个人收到的交易信息不同,接受的时间也不同,所以生成的区块哈希差异很大。因此,此时需要一个共识机制。要在全网达成共识,需要引入竞争机制。就像长跑一样,谁先出线,谁就有权记账(时间戳、打包块)。那么如何打造一个人人都参与长跑的场景,Proof-of-Work 机制就来了。

白皮书定义了如何证明工作量,即借用 CPU 的计算能力执行穷举法,并概率性地与所需的值发生碰撞,例如一串以 N 个零开头的哈希值。这个过程需要计算能力并且是耗时的。根据 CPU 的计算能力,A、B、C 会有一个顺序。第一个满足要求的人有权预订下一个区块。达成共识。

现在再想一想,如果甲、乙、丙三人通过工作量证明脱颖而出,获得记账权,如果他篡改交易记录或恶意构造交易实现双花怎么办?

由于 POW 机制的存在,B 获得了记账权。同时,他付出了电费和CPU算力的成本,篡改了比特币的某笔交易,需要修改后的所有交易,带来了更大的成本。. 当作恶的成本远大于篡改记录的收益时,就像花100块钱赚1块钱,他还会选择作恶吗?

工作量证明机制简单来说就是增加作恶的成本,使得作恶的投入产出比低于做诚实节点的投入产出比。这是中本聪使用博弈论的点睛之笔。

还有一点,工作量证明的难度会随着时间而变化。如果出块速度过快,难度会增加。从最初的CPU到GPU再到矿池,挖矿成本一直在增加,难度也越来越大。因此,一个日益突出的问题是,越来越多的普通CPU用户成为吃瓜群众,超大算力的CPU被矿池占用,让人担心纯POW共识机制能否继续完美保障比特币系统的运行下降。所以后来出现了新的共识机制,比如权益证明(POS),以避免计算能力的集中。

互联网

前几章依次描述了比特币系统的交易、时间戳和工作证明。在这里,我们将描述比特币系统网络是如何运作的,以及交易如何在网络中流动并被打包成块并形成链。.

前面的步骤其实很容易理解。继续遵循工作证明并继续。打包成块后,向全网广播。“正义”验证,当且仅当区块中包含的所有交易均有效且之前不存在时,其他节点才会认可该区块的有效性。“所有交易都有效”和“之前不存在”是指全网所有节点都验证交易并验证时间戳。绝大多数都经过验证后,就可以识别区块了。

全网接受区块后比特币的算力都用来干什么了,接受的方法是在区块的末尾创建一个新的区块来扩展区块。这个设计也别出心裁,目的是推动生成最长链,最诚实公平,因为只有接受度最高的区块链才会延伸。

励磁

之前一直在讲工作量证明,但是直到这里才真正解释了工作量证明的刺激点。因为有激励机制,只有去中心化系统提供激励机制,才能保证长期运行。这就是所谓的“以激情开始,以兴趣维持”。

比特币系统中有两种激励措施。一是“专门化每个区块的第一笔交易,生成区块创建者拥有的新电子货币”,用于补贴工作量证明的成本;二是交易手续费。“如果一笔交易的输出值小于输入值,那么差额就是交易手续费,交易手续费会加入到区块的激励中”,用于补贴产生的交易确认。成本。

回收硬盘空间

这解决了存储问题。由于比特币网络中的每个节点都会同步所有的交易记录,所以这个交易量在不断扩大。白皮书中提出的解决方案是使用默克尔哈希树的方法来存储消费的交易信息,并且只将这棵树的根节点保存到区块中。Merkel Hash Tree由一些IPFS、公共节点、高信任节点保存。同时,如果要回溯交易,只需要下载对应Tree中的所有交易记录即可。

简化支付认证

这其实是硬盘空间回收带来的问题。当链上的节点不再保存完整的交易链信息时,必须采取简化的支付认证,这是一种折中的解决方案。

当存储默克尔哈希树的节点受到攻击或发现异常时,系统会提示用户下载该节点存储的数据,以确保整个链上的交易数据不被篡改。同时,一些对所有交易数据敏感的金融机构或节点会始终保留所有交易记录,而不会在回收硬盘空间方面做出妥协。

合并和拆分值

这段内容是对交易的补充。同时,它灌输了一个概念,即比特币与真实货币完全不同。没有单位换算,只有差值。值的组合和除法可以通过加减法来实现。.

最重要的一点是要明确交易(Tx)包含多个输入和多个输出。

由于比特币系统不记账,只记录交易信息,所以每个人持有的货币数量都会被交易倒转。同样,在进行交易时,需要引用一条甚至多条交易记录来算出你的电子货币,所以有多个输入(Input)。

比特币系统交易的另一个特点是每一笔交易都花光了所有的钱,也就是说Inputs=Outputs,所以一个输出是目标钱包的交易次数,另一个是找零,把找零全部返还给付款人.

隐私

这实际上是公众非常关心的问题。一方面,据说比特币网络是去中心化的,交易是完全透明的。另一方面,据说比特币是一种没有相互信任的匿名交易。到底是怎么回事?

事实上,这很简单。比特币网络中没有账户概念,只有钱包地址。钱包地址是通过对公钥进行散列得到的。在这个链接中,钱包是公开的,公钥是匿名的。公众可以看到有一个钱包地址向另一个钱包地址发送了一笔款项,但没有将钱包地址与某个人联系起来的信息,从而保证了用户隐私。这只是看到交易发生,但不知道是谁在做。

附录:

中本聪“比特币:点对点电子现金系统”

大生2017《(大鱼)精读比特币白皮书系列(1-6))

godsex “解密比特币白皮书 (3) — 当你发送比特币时,你在发送什么?”

金晓《比特币白皮书个人翻译+注解》

姜宏伟,“比特币交易——数字签名(一)”)

艾森《什么是“双花”问题,如何解决?》

百度百科“中位数”