区块链1.0 比特币白皮书细读(上)

          由于放假了没事,最近(2018)币圈崩的很厉害,但是本人对区块链未来发展还是很看好的,尤其是3.0是否能够实现落地。于是兴趣初步学习下它的基础知识,也做分享,自己不是做这个方向的课外工作可能说的不对。

                                                                                     区块链1.0比特币白皮书阅读

比特币系统要解决的两个主要问题,一个是去中心化的p2p系统,一个是支付要解决的双花问题,所以整个白皮书提到的技术方案都是围绕这两个问题展开的。使用随机散列,最长工作证明链条为解决突破点。

记账且不可更改是一个比特币的副产品,首先区块链记账不可更改是有前提的,这经常被称为51%攻击,根据原文摘要的这句话“除非重新完成全部的工作量证明,形成的交易记录将不可更改”,由于采用了复杂的POW工作量证明计算,更改交易记录将非常的耗时和需要大量运算,从客观上实现了“不可更改”的目的,但是从业务设计的角度,这是一个缺陷,如果更改是交易双方认同的而且合法的,或者说被绝大多数节点认同的呢?由于技术的限制比特币系统进行了取舍,所以不得不保留了这个缺陷

可以发现作者明确的知道比特币不可更改的优势与缺陷,不可更改的优势是对卖家有利的,不用去担心恶意敲诈和预防的资源消耗,可是对买家而言是不利的,买家当受到欺骗时没有任何保护。一个去中心化中介,主要是保护卖家的系统,如果你需要保护买家,你任然需要一个第三方担保机制,"而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快" 如何轻松愉快啦?我还没理解到,卖家自然是不愿意额外退款的你又不方便使用系统回退。

原文中“我们定义,一枚电子货币(an electronic coin)是这样的一串数字签名”,很容易让人误解的是这里的电子货币是个具体数字,其实它是一条加密的记录(数据),也就是说你拥有的交易记录才是你的数字资产,这里面你需要注意的是,这条记录里面没有你的姓名、身份证号等这些中心化系统中常见的识别所有者的字段,唯一表示你身份的是你的公钥(钱包),证明你所有权的是你的私钥(密码)。比特币的交易记录方式,是一个基于时间序列的链式结构。一个交易由上一次交易信息和接受方的公钥进行随机散列,再由所有者的私钥对其签名。图中随机数列下的所有者_的公钥是翻译错误,应该是所有者_的签名。这样其他人可以根据你公开的公钥来检查是不是你发出的。

公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

可以发现这段的重点是提出关于双重支付的问题,提出了以前造币厂结构是不支持去中心化的。中本聪创造了交易公布模型,即人人都可以参与验证是否双花的过程,在比特币系统中存在功能不同的节点,如果你参与到交易的验证过程中那么你也就是一名“矿工”了,通过矿工模型你不但可以挖到新的比特币,也可以参与验证计算获得奖励,这就是为什么比特币交易过程中你需要花费手续费的原因了。

文中提出“从逻辑上看,为了达到目的,实际上我们需要关注的只是于本交易之前发生的交易。收款人需要确保在交易期间绝大多数的节点都认同该交易是首次出现。” 那么我们只需要证明其中一条是有效的即可,那么其他的交易就是无效的了。

这里的服务器是虚拟的因为这是一个去中心化的系统如果存在一个服务器那不就是中心化了嘛。其实方法利用“多数人的正义”,时间来自于连接的其他节点(node)时间的中位数(mean,是个数学概念,比平均值更不受极端数字影响),要求连接的节点(node)数量至少为5,中位数和本地系统时间差别不超过70分钟,否则会提醒你更新本机的时间。

为什么要给得到的随机散列加上时间戳啦?因为这个时间戳是由时间戳服务器加盖的,它不受任何第三方节点的控制。一旦有节点试图篡改该交易,那么篡改交易上的时间与先前时间戳服务器所加盖的时间戳不一致。而且每个区块上还包含了上一笔交易的时间戮。整个区块链是一条记录了每笔交易所发生的时间链条,这样篡改交易记录非常困难

发布了46 篇原创文章 · 获赞 43 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/wangxiaai/article/details/86091492