Bitcoin: A Peer-to-Peer Electronic Cash System
1- 去中心化数字货币银行系统
所有账目公开可查询
货币发行方式公平
共识机制 - POW工作量证明
2. 分布式P2P网络系统
P2P网络3. 基于非对称密码学的交易
公钥锁定比特币地址,私钥解锁
4. 区块链作为银行账本
比特币特性BTC的产生
比特币由挖矿而产生-通过计算出一个随机数字nonce
生成的BTC被记录在矿工的名下(矿工还会获得该区块的所有手续费)
通过矿工公钥的哈希值锁定
交易的输出被称为“未花费交易” UTXO Unspent Transaction Output
比特币的钱包余额就是根据众多的UTXO计算出来的, 转账会销毁UTXO, 增加新的UTXO
比特币就是UTXO, UTXO + 区块链 = 比特币系统
拜占庭将军问题
leslie Lamport 一个关于分布式系统容错问题的故事
故事背景:
拜占庭帝国派出10支军队,去包围进攻一个城池
至少6支军队同时进攻才能攻下城池
难点:一些将军可能是叛徒,会发布假的进攻意向
目的:让忠将门找到一种共识机制,远程协商,共同进退(目的是达成一致)
方法:
每个将军给所有其他将军发送消息
每个将军根据接受到的消息来决定是否进攻(执行收获指令多的)
当将军总数 n >= 3m + 1 的时候才有正解(m为叛将)进攻,当n <=3m+1的时候也会达成一致,就是不进攻, 还是达成了一致
缺点:每个节点向全网节点发送大量消息,当有千万节点的时候绝对会堵塞, 比特币不用这种方法, 中本聪使用的是POW
比特币共识机制 - POW
怎么证明我是个好人?
POW (proof of work)
通过付出大量的工作代价来证明自己是非恶意节点(让你付出工作代价来证明自己)
计算出一个难题的随机数答案(nonce)
x获取记账权利
x获取打包交易并通知其他节点义务
x获取奖励(挖矿奖励和交易费奖励)
理性人都是逐利的,POW抑制了节点的恶意动机
共识机制是什么
如果说共识是区块链的基础,那共识机制就是区块链的灵魂。
我们在解释什么是区块链时,可以用一句简洁明了的去中心化分布式分类账来概括,但是在这个账本中,是如何对在几乎相同时间内的产生的事物前后排序的,就涉及到区块链网络的共识机制。
所以共识机制,就是在一个时间段内对事物的前后顺序达成共识的一种算法。
共识机制有什么用
它就像一个国家的法律,维系着区块链世界的正常运转。
在区块链上,每个人都会有一份记录链上所有交易的账本,链上产生一笔新的交易时,每个人接收到这个信息的时间是不一样的,有些想要干坏事的人就有可能在这时发布一些错误的信息,这时就需要一个人把所有人接收到的信息进行验证,最后公布最正确的信息。
目前常用的几种共识机制
1、工作量证明机制(Proof of Work - PoW)是我们最熟知的一种共识机制。就如字面的解释,PoW就是工作越多,收益越大。这里的工作就是猜数字,谁能最快的猜出这个唯一的数字,谁就能做信息公示人。
2、权益证明机制(Proof of Stake-PoS)也属于一种共识证明,它类似股权凭证和投票系统,因此也叫“股权证明算法”。由持有最多(token)的人来公示最终信息。
3、拜占庭共识算法(Practical Byzantine Fault Tolerance- PBFT)也是一种常见的共识证明。它与之前两种都不相同,PBFT以计算为基础,也没有代币奖励。由链上所有人参与投票,少于(N-1)/3个节点反对时就获得公示信息的权利。
现有各种共识机制的问题
A、计算能力浪费
在工作量证明机制POW中,猜数字最快的通常是电脑计算能力强的。超强的计算能级仅用来猜数字,实在是浪费。
B、权益向顶层集中
在权益证明机制POS中,token的余额越多的人获得公示信息的概率越高,公示人会得到一定的token作为奖励,如此持有token多的人会越来越多,少的人越来越少。
C、作恶成本低下
在靠算力与权益的的多少来获得公示信息的权利的模式当中,当算力和权益向少数人集中之后,这些少数人如果想要做一些违反规则的事情是轻而易举的;在PBFT中,由所有人投票,如果一个没有任何token余额的人想要捣乱,那他几乎是完全没有利益损失。
D、对于真正的去中心化构成威胁
在工作量证明机制中,计算能力越强,获得记录权利的概率就越高。如果有人把很多人集中在一起来猜数字,把好多电脑的算力加在一起来用,那这些抱团的人就会更容易获得公示信息的权利,发展到最后可能公示权就直接掌握在这些人手里。
在权益证明机制POS中,权益越大的人获得记录权利的概率越高,而记录的人就会有奖励token ,这样一来这些人就会越来越富有,贫富差距就会越来越大。持有token少的人几乎都没有话语权了。
权利掌握在少数人手中,这有违区块链去中心化理念。
目前现有的共识机制都不算完美,在一些实际应用场景弊端很多。本能实验室一直在探索更完美的共识机制。
通过对现有多种共识机制的对比研究,设计出了基于参与度的共识机制DPOP。
基于参与度的DPOP机制,参与投票的节点不仅要提供权益证明,同时还需要提供参与度证明。每个人在链上的任何活动都是一种参与度的体现,权益小的人可以通过增加参与度,来提高获得公示信息权利的概率。同时token的余额也是其中一个重要评判标准。
目前主要有四大类共识机制:Pow、Pos、DPos、Pool
1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;
优点:完全去中心化,节点自由进出;
缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用
2、Pos权益证明,Pow的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点
3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的
4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证;
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式
比特币网络简介
网友评论