区块链笔记

来源:互联网 发布:三维动画演示软件 编辑:程序博客网 时间:2024/05/17 12:47

区块链解决的两个问题:双花问题和拜占庭将军问题。

1、双花问题:

“双花”问题是指:加密数字货币和其他数字资产一样,如同可以将一个文件以附件形式保存并发送多次,具有无限可复制的缺陷。如果没有一个中心化的机构,我们无法确认一笔数字现金或资产是否已经被花掉或提取。为了解决这个“双花”问题,可以信赖的第三方需要保留交易总账从而保证每笔现金或资产只被花费或提取过一次。

在区块链中是如何解决这个问题的呢?是通过在每一个区块上都包含了上一个区块的哈希值,从创始区块开始连接到当前区块从而形成区块链。每一个区块都要确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的。同时由于区块链中所有的交易都要进行对外广播,所以只有当包含在最新区块中的所有交易都是独一无二且之前从未发生过,其他节点才会认可该区块。因此在区块链中,就非常难出现“双花”问题。


2、拜占庭将军问题:

内容:拜占庭帝国国土辽阔,当攻打敌人的时候,每个军队都分隔很远,将军之间只能靠信使传消息。
在战争的时候,拜占庭军队内所有将军必须达成一致的共识,决定是否去攻打敌人的阵营。但是,军队可能有叛徒和敌军间谍,左右将军们的决定,扰乱军队的秩序,使达成的共识并不代表大多数人的意见。这时,在已知有间谍的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,就是拜占庭将军问题。

数学的解决方法可以看此文:拜占庭将军问题深入探讨 (有些地方还没理解,以后再看看)

区块链对于这个问题的解决方案:

区块链的基本结构也是用数字签名的形式解决拜占庭将军问题。

区块链采用了PoW(工作量证明)的方法来确认,提交一个所有人都必须经过大量尝试计算才能得出,却十分容易证明正确的计算结果。例如,只有一个前13个字符是0的哈希值结果可以被系统接受成为“工作量证明”,这就需要全网花费一定时间算出大量的无效值。这就是减慢信息传递速率,但使得整个系统可用的“工作量证明”。



原创粉丝点击