走向区块链之路1——密码学朋克运动
萌芽于1970年,1992年,英特尔的高级科学家蒂姆·梅(Tim May)发起了密码朋克邮件列表组织。
1993年,埃里克·休斯(Eric Hughes)写了一本书,叫《密码朋克宣言》,正式提出“密码朋克”(cypherpunk)的概念。“密码朋克”用户大约1400人,讨论的话题包括数学、加密技术、计算机技术、政治和哲学,也包括私人问题。
正式发起于1993年,认为保护个人隐私是*社会的重要基石,反对*和公司对个人隐私的侵害,以代码和密码学为武器,与当局进行长期的周旋,与黑客不同,关注保护隐私而不是获取秘密,但在某些问题上两个社区存在一定程度的合作关系。对于密码学技术的扩散和民用发挥了至关重要的作用。加密数字货币是密码学朋克长期努力的目标。
走向区块链之路2——CDR
1992年Eric Hughes开发并运行Crypto匿名邮件列表服务器,成为整个密码学朋克社群的核心通信方式,第一版邮件列表服务器只是简单的隐藏发件人地址,无法防范单点失败和管理员恶意*。
1997年升级为Cypherpunk's Distributed Remailer(CDR),采用多节点邮件列表服务器,新邮件到达时,各节点彼此之间相互复制,确保不可能由于个别节点的失败或恶意行为而导致邮件丢失,整个体系与比特币相似。
走向区块链之路3——哈伯和斯托尼塔(Haber and Stornetta)
下面要说的2个人是,哈伯和斯托尼塔(Haber and Stornetta)在1997年提出了一个用时间戳的方法保证数字文件安全的协议。简单来说就是,用时间戳的方式表达文件创建的先后顺序,协议要求在文件创建后时间戳不能改动,这就使文件被篡改的可能性降到零。这个协议也成为比特币区块链协议的原型之一。
走向区块链之路4——David Chaum
1981年发表论文Untraceable Electronic Mail, Return Address, and Digital Pseudonyms, 开创匿名通信技术方向,1982年发表论文,提出盲签名技术,可令电子支票支付行为不可追踪,
1883年提出ecash构想,1988年与Amos Fiat, Moni Naor共同提出离线交易盲签名算法,1990年成立DigCash公司,并获得了eCash商标独家使用权,1992年推出eCash, 但易用性欠佳,未获得市场认可,1998年,DigCash破产,1999年,离开DigCash公司,回归学术研究。
David Chaum
走向区块链之路5——B-money
戴伟伟美籍华人,其父为微软早期华人高管戴习为,密码学神级隐士,C++密码学库Cryto++作者,1998年在密码学邮件列表中提出B-money构想,提出多节点各自保留一份总账拷贝的设计,但未实现,中本聪在阅读过B-money原文后曾说比特币只是B-money构想的具体实现。
B-money强调点对点的交易和不可更改的交易记录,网络中的每一个交易者都保持对交易的追踪。但是在B-money体系中,戴伟并没有解决账本的同步问题。
走向区块链之路6——Hashcash
1992年Cynthia Dwork及Moni Naor发表论文Princing via processing or combatting junk Mail, 提出以工作量证明的方式防范垃圾邮件,这种工作量证明机制后来成为比特币的核心要素之一。Adam Back为英国计算机科学家、密码学家、密码学朋克和密码黑客,现任Blockstream公司的CTO,比特币社区领袖人物,1997年Adam Back在密码学邮件列表中提出Hashcash,整体设计方案与比特币极其相似,但仅用于邮件系统内的支付,由于Hashcash与bitcoin的极其相似性,很多人相信Adam Back就是中本聪本人。
走向区块链之路7——Nick Szabo
Nick Szabo在华盛顿大学获得计算机科学学位,在乔治华盛顿大学获得法学学位,1998年设计出Bit Gold, 提出用hash指针形成的链式数据结构作为基础账本数据结构,在此之前,1994年,Nick Szabo提出“智能合约”构想,在被怀疑是中本聪本尊的长名单里,Nick Szabo长期排名第一
Nick Szabo
区块链的早期成员有非常多IT精英,比如我们耳熟能详的“维基解密”的创始人阿桑奇(Julian Assange)、BT下载的作者布莱姆•科恩(Bram Cohen)、万维网发明者蒂姆伯纳斯-李(Tim Berners Lee)爵士、提出了智能合约概念的尼克萨博(Nick Szabo)、Facebook的创始人之一肖恩·帕克(Sean Parker),当然,还包括比特币的发明人中本聪。据统计,比特币诞生之前,失败的数字货币或支付系统多达数十个,其中不少“密码朋克”的活跃用户就有参与其中。这些失败的实验,也给了中本聪很多灵感和技术上的铺垫。
走向区块链之路8——哈尔·芬尼(Hal Finney)
下面说的这个人,是一位大名顶顶的开发者。叫哈尔·芬尼(Hal Finney)是PGP(Pretty Good Privacy)公司的一位*开发人员,也是密码朋克运动早期和重要的成员之一。2004年,芬尼推出了电子货币“加密现金”,在其中采用了可重复使用的工作量证明机制(RPOW)。很多人认为这是中本聪发明比特币的创意来源。
另外介绍下,哈尔·芬尼是第一笔比特币转账的接受者,也是除了中本聪以外的第一个比特币矿工,在比特币发展的早期与中本聪有大量互动与交流,主要是哈尔·芬尼向中本聪报告故障然后把他们搞定。由于身患“渐冻人症”,哈尔·芬尼已于2014年去世,并接受人体冷冻。
哈尔·芬尼
走向区块链之路9——中本聪之谜
虚拟货币先驱尝试的失败主要是因为他们大都是中心化的组织结构,跟*发行的货币体系没有什么两样,一旦为虚拟货币背书的公司倒闭,或保管总账的*服务器被黑客攻破,这个虚拟货币就会面临崩溃的风险。中本聪对大卫·乔姆的Ecash进行了优化,综合了时间戳、工作量证明机制、非对称加密技术以及UTXO等技术,最终发明了比特币。
比特币刚开始诞生的时候,人们用大写的B开头的Bitcoin指比特币这个网络系统或者网络协议,用小写的b开头的bitcoin指在这个网络上运行的数字货币。由这个大写和小写的不同,我们可以看到,在早期的密码学圈子对于比特币的底层技术还是非常重视的,这种重视程度是远远大于比特币这种代币本身。
后来,随着比特币在全球的发展,比特币在不同的国家受到不同的政策对待。一谈起比特币人们就色变。于是人们就想用另外的词语来代替比特币底层技术。把我们刚才讲到的时间戳、工作量证明机制等等技术综合起来,从中提出了“区块”,英文叫做BLOCK,和“链”的英文为CHAIN,2个单词合并起来,叫“区块链”Blockchain,来指代这所有的底层技术的集合。说到这里,你应该理解了,区块链不是一个单一的技术,而是一系列技术的集合。
比特币诞生之后,出现了大量对比特币的挑战者和改进者。既包括对比特币这种用于支付的虚拟货币的挑战,也包括对比特币底层的区块链技术改进的挑战。
一位叫Charlie Lee的亚裔美国人,认为比特币的SHA256算法不太好,SHA256算法是一种安全哈希算法,对算法感兴趣的朋友可以主动搜索一下。所以,查理提出,现在比特币专业矿机挖矿导致算力太集中,提高了记账的门槛;而且他也认为比特币的确认太慢,十分钟才能确认一次,不能满足现有的支付需求。于是他在2011年10月7日发明了莱特币(Litecoin),意思是一种轻量级的数字货币,同时他也意图通过算法的改变来防止专业矿机的产生。出乎查理·李Charlie Lee意料之外的是,聪明的中国人很快就发明了专门针对莱特币算法的矿机。现在,莱特币的挖矿跟比特币一样,也是专业化、规模化了。后来,又有很多开发者模仿比特币,诞生于世,于是大家就会给这些新产生的货币一个新的名字,叫做“山寨币”或者“竞争币”。
我们再来谈谈比特币的区块链。比特币的区块链作为一种要应用到其他领域的技术设施来说,有很多很多的问题的。
首先,比特币的脚本语言对于大多数开发人员来说很难理解并上手。
其次,基于上一点,比特币区块链的生态系统基础比较差。它既没有完善的开发工具,也没有丰富的文档和教程。以此来类比安卓iOS开发生态,全球有大量的开发者、运营商、芯片厂商等活跃在整个生态中,并且有科技巨头谷歌联合诸多科技领先企业一起来进行推动,形成了系统的开发工具,有丰富的开发文档和教程遍布全球,而比特币都还暂时做不到这些。
第三点,最后,比特币的脚本语言并非图灵完备。图灵完备是指一切可计算的问题都能计算,它是一个虚拟机或者编程语言,通常通过看该语言能否模拟出图灵机,来简单判定是否图灵完备。学计算机的同学知道,一个图灵完备的编程语言可以用于解决图灵机运行的任何计算问题。由于没有图灵完备,所以比特币脚本限制了它的用途。因此,比特币脚本的开发者社区难以形成。
比特币协议的扩展性不足,也是应用过程中令人头疼的一点。例如比特币网络里只有一种符号——比特币,用户无法自定义另外的符号,这些符号可以是代表公司的股票,或者是债务债券等,这就损失了比特币在其他领域的应用可能性。另外,比特币协议里使用了一套基于堆栈的脚本语言,这语言虽然具有一定灵活性,比如使得像多重签名这样的功能得以实现,然而却不足以构建更高级的应用,例如去中心化交易所等。
区块链2.0——Vitalik Buterin
于是,2013年年末,一位叫Vitalik Buterin的俄罗斯少年发表了以太坊出版白皮书《以太坊:下一代智能合约和去中心化应用平台》,它解决比特币区块链扩展性不足,只能记录交易不能记录其他东西的问题。并且,它通过其丰富的编程语言和完善的开发工具,解决了对开发者不友好的问题。对于用户端,它可以让任何人都能轻松的在以太坊之上建立新的协议和智能合约。
再后来,就有更多的区块链项目开始出现了。区块链在其他领域的应用也得到了尝试。所以说,因为有局限,所以有突破,才有了今天的发展,这用来形容区块链的诞生及发展再合适不过了。