引子
智慧人的心,在遭丧之家;愚昧人的心,在快乐之家。
-- 圣经·旧约·传道书第七章4节
“密码朋克邮件名单”和《密码朋克宣言》
2008年的11月1日。那一天,秘密讨论群“密码朋克邮件名单”里出现了一个新帖子:“我正在开发一种新的电子货币系统,采用完全点对点的形式,而且无需第三方信托机构。”该帖的署名,就是Satoshi Nakamoto。(satoshi是日文「聡」的罗马音,Nakamoto则是「中本」)。从此,比特币开始初露头角。
这个秘密讨论群是什么?密码朋克又是什么?
TimMay是美国的一位科技和政治的作家。早请曾在英特尔担任电子工程师和资深科学家,于2003年退休。在公司的成就主要是解决了英特尔集成芯片上的α-粒子问题。"密码朋克邮件名单"则是1992年在他加州的家里发起的密码朋克邮件列表组织。共同发起人包括EricHughes与 John Gilmore。
“密码朋克邮件名单”到1994年已有700名订户。在高峰时期,这是一个非常活跃的论坛,讨论的内容涉及数学,密码学,计算机科学,政治和哲学讨论,个人论证和攻击等方面的技术讨论,并引发了一些垃圾邮件。John Gilmore的一封电子邮件报道从1996年12月1日到1999年3月1日,每天平均30封电子邮件,并且表明这个数字可能较早。1997年的用户数量估计已达2000个。[1]
在 Tim 和 Eric 创建了“密码朋克邮件名单”后的1993年,Eric Hughes 在《ACypherpunk's Manifesto》中正式提出密码朋克的概念。它宣扬电脑化空间下的个体精神,使用强加密(密文)保护个人隐私。密码朋克提倡使用强加密算法,宣扬个体保持安全的私人性,他们反对任何政府规则的密码系统。他们宁愿容许罪犯和恐怖分子来开发和使用强加密系统,他们认为这是为个人隐私付出风险,必须接受。
“密码朋克致力于建立匿名系统……电子时代,隐私是开放的社会不可或缺的……我们不能期望政府,企业或其他大型的,匿名组织来保障我们的隐私……如果期望拥有隐私,那么我们必须亲自捍卫之。我们使用密码学,匿名邮件转发系统,数字签名,以及电子货币来保障我们的隐私”
以上内容节选自《A Cypherpunk's Manifesto》。[2]
当然,近些年来国家也提出了“穿透式监管”的新需求,ok区块链工程院也会保证以后所开发出的产品会满足各个地区当地的法律法规。
从哈希现金到可用工作量证明
比特币使用的工作量证明(Proof-of-Work,PoW)实际上并不是中本聪发明的。他的技术前身哈希现金(Hashcash)是Adam Back在1997年发明的。最初的目的是为了实现电子邮件的可信。发送电子邮件之前,客户端需要运算一个数学题,这样发送大量垃圾邮件的成本就会变得巨大。这个思路,后来被Hal Finney(比特币的第一笔交易也是由中本聪发送给他的)借鉴,在2004年创建了第一个“可重复的工作量证明机制”。最后,才被中本聪用到比特币中,完美的解决了拜占庭问题。
简单的来说,工作量证明是一种对应服务与资源滥用、或是阻断服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。
ok区块链工程院一开始也是从POW机制入手去构建自己的共识模型。
优点
• 算法简单,容易实现
• 客观验证:信息可以在共识协议之内被验证,节点间无须交换其他额外信息
• 容错率达50%,安全性有严格的数学论证
• 算力成本给主链币赋予价值
缺点
• 效率低
• 区块确认时间难以缩短
• 容易分叉,需要等待多个确认
• 永远没有最终性,需要检查点机制弥补最终性
• 能源消耗大
摸索
草履虫和共识机制
![](http://mmbiz.qpic.cn/mmbiz_png/6poiatQXTwiac1FI60KxBO9avLrt8eAvUWHGo6lS7XFvnEU7loYErpkfX2ejUbp6XJlLDXIe2s5dNtjPxV5exmLw/640?wx_fmt=png)
图为草履虫分裂
什么是去中心化?
判断一个协议是不是去中心化的,是看这个协议能不能在全部节点都永久性删除后,仅依靠一个节点仍然能够恢复过来正常运作。这一项定义是深受生物学所启发的。
比特币,以太坊和EOS是目前业内承认度较高的区块链项目。从去中心化的角度来看,虽然比特币和以太坊都采用的POW,但因为以太坊采用了ethash算法,所以相对的更加去中心化。而EOS采用的委托权益证明机制(Delegated-proof-of-stake,DPoS)则被认为诟病过于中心化。笔者所在的ok区块链工程院认为,当我们描述中心化这个词的时候,我们实际上是在考虑2个问题:
• 网络开放性
• 系统角色多样性
网络开放性
我们把像比特币这种,节点和账户可以随便加入和退出的区块链网络,称之为公链。像IBM的hyperledger这样,节点和账户的加入和退出需要满足某种条件(如CA中心审核,退出批准等)的区块链网络,称之为联盟链。实际上,这里所描述的问题则是网络开放性问题。
系统角色多样性
比特币的网络中只有普通节点和挖矿节点,拥有全量账本数据的普通节点转为挖矿节点并不需要额外的条件。
以太坊即将上线的Casper共识中,除了上述的普通节点和挖矿节点,还包括了验证人节点(validator)[4]。验证人技术是通过智能合约实现的。
EOS所采用的石墨烯架构中,则包含普通节点和出块节点(BlockProducer)。普通节点想转为出块节点则需要一些额外的步骤才可以。
与比特币相比,后两者实际上是通过降低网络的开放性,增加网络的角色多样性去提升效率。
效率
效率因素是每个区块链项目都必须考量的,一个很常见的例子是,将区块链项目与VISA进行比较。VISA信用卡备受用户青睐,每秒处理的交易量,远不是比特币和以太坊当前每秒的交易量能比拟的。
Vitalik在推特上曾表表过关于以太坊的扩容策略。
1 许多单独的链
2 超级大区块
3 不用改变安全模型的增量改进(例如,用压缩的delta+STARKs替换txs+sigs)
4 二层(Layer 2)(通道channels和plasma)
5 分片(sharding)
![](http://mmbiz.qpic.cn/mmbiz_png/6poiatQXTwiac1FI60KxBO9avLrt8eAvUWJ9DBag7jwYdwGhsQrBRicUdxiad4qrRDJvGcVMFgqNBOqRmvPvqBIdqw/640?wx_fmt=png)
Vitalik说
“1(单独链)和2(大区块)在某种程度上显然是有用的,但最终是不够的,有点蹩脚(对于扩容来说,显然我们需要许多独立的链来进行实验和生态系统的多样性)。3方案可以说是被低估的。4和5能够带来最大的收益。”
为什么要有角色多样性
笔者所在的ok区块链工程院认为,每一个共识机制都需要回答但不限于下面的问题(以后简称3WEI问题):
• What 下一个区块应包含哪些交易?
• Who 下一个区块应该由谁来生成?
• When 下一个区块应该何时产生?
• Evolution 如何升级共识协议?
• Immunity 如何解决交易历史的竞争问题?
共识机制的目标是找到这些问题的答案,并确保其健壮性以抵制攻击者试图获得网络的控制权。 实际上,获得控制就意味着获得了单方面审查交易的能力。共识机制也应当能健壮地抵御攻击者利用在不同计算机上的数据库状态中的临时不一致性获取好处。
在生物学中,Evolution(进化)指的是生物的可遗传性状在世代间的改变,进而引起生物各个层次的多样性。Immunity(免疫力)是多细胞生物的平衡状态,具有足够的生物防御能力来抵抗感染,疾病或其他有害的生物入侵,同时具有足够的耐受性以避免过敏和自身免疫性疾病。
如同系统角色多样性所描绘的问题。我们已经知道,只从基础链的角度去看比特币时,他的效率远不如我们所期望的,虽然他的去中心化程度很高。但当我们把区块链项目和现行生物进行对比时,我们可以推断出一个结论:
现行高级生命体的放弃了强大的再生能力(去中心化),进化出了各种不同种类的细胞(角色多样性),换取在食物链中获得更高位置的机会(提升效率)。
从POW到POS
如同我们在为什么要有角色多样性中讨论的3WEI问题,以比特币的POW为代表的中本聪共识非常巧妙的同时解答了所有问题:
中本聪共识:
通过引入经济激励改造了共识投票的过程,将每次账本数据变化都安排一轮投票变为滚动的无限期投票:任何人都可以生成一个包含交易的区块(增加账本数据)并广播,其他人如果同意该区块纳入账本,则将该区块的哈希作为自己构造的区块数据的一部分,以对该区块进行“确认”;对某个区块的“确认”也包含了对该区块前序所有区块的“确认”;以工作量大小决定投票权重,投票附加的工作量大的区块胜出。这类共识机制的安全依赖于特别设计的经济激励,比如工作量证明(PoW)或者权益证明(PoS)等。[5]
2011年一个名为Quantum Mechanic的数字货币爱好者在Bitcointalk论坛提出Proof-of-Stake(POS)证明机制。如果说POW主要比拼算力,算力越大,挖到一个块的概率越大,POS则是比拼余额,通俗说就是自己的手里的币越多,挖到一个块的概率越大。但是到目前为止,关于POS的研究和讨论还在进行,因为POS对其经济设计的特殊要求,还没有出现公认的可以直接替代POW算法的方案。
区别
POW和POS的主要区别在于是否引入外部稀缺资源。
算力,作为POW的外部稀缺资源,确实巧妙了解决了3WEI问题,但是也引起了人们对其能源浪费的指责。除此之外,Vitalik还指出其有一点设计上的问题:它并没有实现密码朋克的精神--它的攻击成本和防守成本是1:1的,并没有防守优势。(更多请参见长程攻击问题)[6]
密码学在21世纪是极其特殊的,因为密码学是为数不多的在对抗冲突中都持续地大大偏向防守者一方的领域之一。摧毁一座城堡远远比建造更容易,岛屿都是可防卫的,但仍会受到攻击,但一个普通人的椭圆曲线密码学(ECC)秘钥是足够安全的,它甚至可以抵御国家级入侵。密码朋克哲学基本上就是利用这种珍贵的不对称性,来创造一个可以更好的保持个体的自主性的世界,而加密经济学保护的是具有一致性和协作性的复合系统的安全与活力,而非仅仅保护私人信息的完整和保密,在某种程度上可以说是该哲学的延伸。自诩为密码朋克精神继承者的系统都应保持这种基本属性,使毁灭或破坏它的成本比利用和维护它的成本要大得多。
简单POS
2012年上线的Peercoin项目一般被视为第一个引入POS机制的项目。虽然他是POW/POS混合机制。随后还有众多POS的项目上线,如NXT(未来币),Blackcoin(黑币),Tendermint等。