Py学习  »  区块链

必读:比特币背后的区块链技术来源(七)

微墨紫 • 6 年前 • 252 次点击  

没有喧嚣,没有问候的“沉默”,请安静听完这段征途故事!


 源


“荣誉,总属于最后一个成功者”


长期以来,媒体或个人误解把“比特币”当成“区块链”的代名词,其实,早在比特币诞生之初,密码朋克们为了便于对比特币背后的技术研究讨论,把两者分别不同命名加以区分。


密码朋克们用 Bitcoin 和 bitcoin 分别来代币比特币和背后的技术。大写 B 开头的 Bitcoin 代表的是比特币背后技术的网络系统或网络协议(可以简单理解为去中心化的公共记账系统),小写 b 开头的 bitcoin 代表的是比特币网络上运行的数字货币(建立在比特币支付系统中的交易记帐单位)


如此区分的原因,是密码朋克们对比特币背后的技术原理更感兴趣,而非数字货币应用的比特币本身。除此外,还有另一个主要原因,比特币的去中心化挑战主权货币的影响力在全球范围不断扩大,出于利益和风险的考虑,世界不少国家出台针对比特币不友好的政策,一时间比特币成为在人们口中的妖魔化怪物。


为了避免人们对比特币和背后的底层技术的混淆误区,于是密码朋克们想出使用新的词来代替比特币背后的底层技术,把底层技术的工作量证明、时间戳、UTXO、非对称加密等技术综合在一起,使用英文单词 BLOCK (区块)和CHAIN (链) 拼成组合,英文称为 “Blockchain” 中文叫做“区块链” 。


说到这,微友们都知道了 “Blockchain” 区块链 名词的由来,并且知道区块链不是单指一个技术,而是涵盖了工作量证明、时间戳、UTXO、非对称加密、智能合约等等一系列技术的综合。


那么,我们今天要讨论分享的是比特币背后的区块链技术来源,这些技术是如何诞生的,由谁提出创立,又如何从概念演变到实际应用等等,都值得我们去了解,才能对现今的区块链技术有更为轮廓的认识。




源于密码朋克

2008年,中本聪的《比特币:一种点对点的电子现金系统》白皮书最早发布于密码朋克圈子,谈起区块链技术来源,就得有必要先从 “密码朋克” 这神秘组织聊起。


上世纪,加密技术一直被美国政府和军方列为绝密的重要武器,密码科学家们要么为政府和军方效力,要么一不小心就面临进牢笼,迫于强权的黑暗,有思想,有才华,追求自由的人们从未停止对抗强权。直到1992年,曾经的 Intel 高级科学家蒂姆·梅 Tim May ,发起了“密码朋克(cypherpunk)邮件列表组织。


又在1993年,埃里克·休斯(Eric Hughes) 正式提出密码朋克的概念,他宣扬个体保持安全的私人性隐私加密,反对任何政府规则的密码系统,同时他还写了《密码朋克宣言》一书。



密码朋克组织成员大约1400人,讨论话题主要是密码学、政治和经济、数学和计算机技术等问题。其中不乏我们耳熟能详的IT精英,例如令美国政府咬牙切齿的“维基解密”创始人阿桑奇(Julian Assange)、BT下载创建者布莱姆•科恩(我们迅雷下载的那个BT种子)、万维网发明者蒂姆伯纳斯-李爵士、Facebook的创始人之一肖恩·帕克,同时,也包括后来大名鼎鼎的比特币之父——中本聪。


中本聪发明的比特币灵感和技术就是来源于密码朋克组织,早在比特币诞生之前,密码朋克圈子里已经尝试失败过数十种数字货币或支付系统,前人的这些失败的实验,给中本聪成功发明比特币带来很多灵感和技术上的铺垫。




区块链技术诞生

区块链不是单一技术,背后综合了工作量证明、时间戳、UTXO、非对称加密、哈希(Hash)等众多技术的集合,是中本聪在借鉴和综合前人技术的基础上加以改进,才发明出比特币。下面微墨紫就比特币背后的区块链技术来源逐一介绍。



1
 RSA公钥系统


1976年,Sun公司前首席安全官Whitfield Diffie 与斯坦福大学教授 Martin Hell ,在开创性论文《密码学的新方向》首次提出公开钥匙密码学的概念。


1978年省理工学院的伦纳德·阿德曼(Leonard Adleman)、罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)三名研究人员,共同发明了公开钥匙系统 “RSA”  可用于数据加密和签名。



2
 椭圆曲线算法


1985年,Neal Koblitz 和 Victor Miller俩人,首次提出将椭圆曲线算法应用于密码学,并建立公钥加密的算法,公钥密码算法的原理是利用信息的不对称性,公钥对应的是私钥,私钥是解开所有信息的钥匙,公钥可以由私钥反推算出。比特币使用的就是椭圆曲线算法,公钥用于接收比特币(加密哈希函数生成比特币地址,就是一串27~34位地址), 而私钥则是比特币支付时的交易签名。


ECC椭圆曲线算法为后边比特币的诞生,奠定了重要基础。中本聪在比特币发明中没有使用RSA公钥系统,除了ECC 能够提供比 RSA 更高级别的安全性能外, RSA之前被斯诺登曝光,美国安全部门在RSA留有技术后门


微友大概理解公钥和私钥建立在椭圆曲线算法,是比特币技术的一部分就行,后边会单独写篇文章详细介绍。


3
 网络支付系统


1982年,美国的大卫乔姆(David Chaum)提出不可追踪的密码学网络支付系统,发明了“盲签名”,1990年他创建密码学匿名现金系统Ecash,付款方匿名的,收款方非匿名。作为密码货币始祖的现金系统Ecash当时风头正劲,获得德意志银行、日本住友银行牌照支持,包括微软,维萨Visa等大公司都宣称要对其进行收购。



4
 拜占庭将军问题


1982年,莱斯利·兰伯特 (Leslie Lamport) 提出的拜占庭将军共识问题 (Byzantine Generals Problem),以拜占庭帝国与周边10个邻邦的战争故事作为背景,研究如何让各邦将军相互达成进攻与撤退的共识,解决叛徒的容错性问题,保证信息传递一致性,解决运算领域的节点相互达成共识的问题。


中本聪成功发明比特币的一个很重要的关键,就是解决困扰莱斯利·兰伯特等学者专家们20多年的拜占庭将军问题,采用POW工作量证明和时间戳,解决将军们的共识和信息一致性问题。


关于拜占庭将军问题的原理比较烧脑复杂,微墨紫后边会单独写一篇文章来介绍,微友们知道拜占庭将军问题,是10个邻邦在互不信任情况下约定一起攻打瓜分拜占庭帝国,需要一半以上邻邦出军才能成功,否则就会被拜占庭帝国反消灭掉,但又相互防止被其它邦吃掉,各邦出现异心传递假进攻消息,最终中本聪使用时间戳和POW工作量证明解决了这难题。



5
 工作量证明(pow)


工作量证明对比特币至关重要,矿机哈希解题运算就是用来验证工作量证明的。这个概念由Cynthia Dwork 和 Moni Naor 1993年在学术论文中首次提出,直到1999年 Markus Jakobsson 和Ari Juels的文章把这概念命名为 “工作量证明(POW) 。


工作量证明从概念实现技术应用,是亚当·贝克(Adam Back)在1997年发明的“哈希现金”就是应用到工作量证明机制,被用来过滤垃圾邮件。后来2005年哈希现金被哈尔.芬尼(Hal Finney) 设计成工作量证明机制(PoW)的前身“可复用的工作量证明(RPOW)” 用于实验比特币诞生之前的其它加密货币。



6
 时间戳证明


1997年,哈伯和斯托尼塔(Haber and Stornetta)提出使用时间戳的方法保证数字文件安全的协议。拿比特币每10分钟产生1个区块来说,假设有100个矿工同时参加挖矿,10分钟内有10个矿工算出正确解题答案,但奖励只能最先最快算出准确答案的那个人拿,所以就得从时间上来证明顺序,时间戳就是给每个完成解题的矿工盖上时间多少,这样排序就不会乱,更无法被篡改。

7
 p2p点对点技术


点对点技术是1999 年,由 Napster 的肖恩·范宁(Shawn Fanning)与肖恩·帕克(Shaun Parker) 两人创立的。 比特币的去中心化点对点交易就是基于这个P2P协议,节点之间交互链接、协同,每个节点即是服务端又是客户端,形成分布式账本。



除了上边讲到的ECC椭圆曲线算法、网络支付系统、拜占庭将军问题、工作量证明(pow)、时间戳证明、p2p点对点技术外,中本聪还借鉴有戴伟(Wei Dai)的匿名、分布式电子加密货币系统和历史上经历失败的电子货币。戴维在密码朋克地位极高,是早期与中本聪互动交流较多的其中之一,中本聪发明的比特币很多灵感、技术借鉴就来自戴维的帮助。




比特币创新发明

中本聪深入研究先驱者们的技术或产品,发现发行的数字货币或支付系统失败的主要原因有:

  1. 严重依赖中心化机构信用,来发行虚拟货币,本质与传统网银并无区别;

  2. 没能解决拜占庭将军问题,就是共识问题和证明问题;

  3. 数据存储和系统运行完全依赖中心化的公司,中央数据存储被黑风险;

  4. 虚拟货币依赖中心化公司背书,导致用户参与性不强;

  5. UTXO双重花费和非对称加密未解决;

  6. 最重要的是,没有可行性的经济模型去激励参与者,让系统持续运转。


吸取前人实验失败的问题所在,综合先驱们的技术并加以改进,对大卫·乔姆的现金系统Ecash进行了优化,综合了时间戳、工作量证明机制、非对称加密技术以及UTXO双花等技术,引入经济模型等创新,最终在2009年发明了比特币。



不难看出,中本聪的成功是建立在前人实验失败的技术基础之上,综合了亚当.贝克的哈希现金工作量证明、哈伯和斯托尼塔的时间戳、肖恩·范宁点对点等众多技术,先驱者们都是为比特币的诞生提供灵感和技术的铺垫。


如今,谈到区块链技术人们必然联想到比特币,把中本聪当做区块链技术的发明者(当然,中本聪当之无愧),却不知比特币的技术来源是综合先驱者们的智慧,甚至误解区块链是单一的技术。


当然,这些都不重要,让微墨紫想起吴军的谷歌方法论提到的 “发明的荣誉,总是给予最后一个发明家”。就跟互联网的诞生,使用的人不需要去了解它背后的技术,也不需要刻意了解发明它的人,懂得使用淘宝购物,微信聊天,就是一场革命的价值见证。



PS:这篇文章写的有点费时,涉及到技术的痛点很难一两句话让微友完全理解透,需要长篇展开才能了解个彻底,所以有关区块链背后的一些技术知识,微墨紫会在《31小时,读懂区块链》学习成长计划 完成后,会单篇文章编写并分享。



声明:欢迎原文转载 篡改原文法律追责


将您被坑经历发至 | 曝光邮箱(fcxlmbg@sina.com)

将会根据微友线索爆料|   ©微墨紫


扫码关注「微墨紫」爆料


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/a5OxgnYzyw
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/6465
 
252 次点击