社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  区块链

麻将算什么? 纽约时报竟然暗藏着世界上最早的区块链

区块链大本营 • 7 年前 • 432 次点击  



图片来自Ittai Abraham / Twitter


树大招风易,人红是非多。区块链的火爆带来了层出不穷的段子,就比如,有一种观点“认为”区块链起源于中国:比特币算什么,麻将才是最早的区块链,每一局麻将中四个矿工一组,先碰撞出 13 个数字正确哈希值的矿工可以获得记账权并得到奖励。而且这个奖励不可篡改,因为说服其他三个人需要消耗太多算力和体力。乍一听似乎还真是那么一回事儿。


与此同时,大洋彼岸的外国人也不甘示弱,专栏作家Daniel Oberhaus指出其实世界上最早的区块链一直隐藏在《纽约时报》中,只是你们没有发现罢了,难道说《纽约时报》隐藏着加密货币世界的达芬奇密码?


中国队的麻将和美国队的报纸到底谁才是最早的“区块链”?让我们跟随作者的脚步来一探究竟。


作者 | Daniel Oberhaus

译者 | Guoxi



随着加密货币的火热,区块链自去年以来一直充斥着人们的茶余饭后,甚至连街边的大妈说起区块链都头头是道,不知道大家是通过什么途径听说区块链的。


对于我来说,我第一次听说区块链是在一个派对上,我的一个朋友整个晚上都在谈论这个叫做比特币的东西以及为什么我应该买入一些比特币。我怀疑这也是大多数人初识比特币的场景。比特币的巨大成功归功于它底层的区块链——一个去中心化的数字账本,但是,比特币并不是区块链这项关键技术的先驱。


事实上,世界上最古老区块链的出现较比特币而言早了13年,只不过它一直躲藏在人们的视线中,每周都出现在世界上流传最广的报纸之一——《纽约时报》的分类广告栏中。



世界上第一个区块链


简单来说,区块链的核心只是一个由用户网络维护并通过加密技术保障安全性的数据库。当新信息需要添加到数据库时,它被分配到一个“区块”中,区块可以简单地理解为存储这些数据的容器。


在区块链中,新产生的区块会链接到先前区块链的最后一个区块上,从而维持一个链式的结构。每个区块都有一个密码学上的哈希值作为唯一的ID,它由前一个区块的ID和当前区块中存储的数据经哈希函数计算得出。



由于哈希函数具有防碰撞特性,也就是说不同数据的哈希值不同,所以这个机制确保了存储在区块链上所有数据的完整性,因为对区块中数据的任何改变都会改变该区块的哈希值,从而影响该区块之后的链式结构。


今天,“区块链”被视为大多数加密货币和数字通证系统(如比特币和以太坊)底层技术的代名词。当下区块链主要被用来存储金融交易的防篡改记录,但这远远不是区块链的唯一用途。实际上,任何类型的信息都可以被存储到区块链中,据不完全统计,区块链这个去中心化账本中存储过植株的性状、虚拟的以太猫、寿司原材料来源以及珍贵艺术品信息。


从计算机科学的角度来说,区块链是一个以哈希值为索引的按时间顺序排列的数据结构,它最初是由密码学家 Stuart Haber 和 Scott Stornetta 在1991年发明的,遗憾的是,受限于当时计算机的发展以及其他各种因素,他们设计的使用场景并没有达到当下比特币的高度。


Haber和Stornetta将这种技术设想为一种给电子文档加时间戳以验证其真实性的方法。正如他们在《密码学杂志》上发表的一篇学术论文中所描述的愿景,验证文件创建时间或最后修改时间的能力对于解决知识产权等问题至关重要。


在现实世界(meatspace,针对计算机迷,主要用于区分网络的虚拟世界)中,有各种各样的方法来为文档加时间戳,例如将文档用密封的信封寄给自己或在笔记本中按时间顺序排列。


在这些情况下,任何篡改例如打开信封或试图在笔记本中增加单页,都很容易被发现。但是当涉及到网络世界中验证电子文档的真实性时,确定文档是否被篡改十分困难。


正如Haber和Stornetta所指出的,对电子文档加时间戳需要解决两个核心问题。首先,电子文档自身的全部内容都必须加上时间戳,这样杜绝了仅仅改变数据的一小部分让它看起来像是没有改变的可能性。其次,电子文档不能改变自己的时间戳。


怎么来解决这两个问题呢?类比在现实世界中用密封的信封将文档寄给自己,一个显而易见的解决方案就是将电子文档发送到“时间戳服务”中,由该服务将电子文档保留在“数字保险箱”中,这个方案完美地解决了上述两个问题。但它存在两个严重的短板,首先发送电子文档可能会损害用户的隐私,其次文档在发送或存储时可能会被篡改。


而Haber和Stornetta所提出的解决方案是通过密码学中的哈希函数来处理电子文档,这个操作为电子文档生成了哈希值作为唯一的ID。假如更改了电子文档中的数据,经哈希函数计算就会得到一个完全不同的ID。这个想法与数字签名的概念相结合,还可以用来唯一地标识签名者。


因此,用户使用时间戳服务时,只需要发送哈希值就可以起到发送整个文档的作用,该哈希值可以由时间戳服务签名以确保它在某个时间被接收并且没有被篡改,这个过程有点像现实世界中对文档做公证。


听了这么多你可能会问,那这和《纽约时报》有什么关系呢?在加密货币世界中,用户把数据的哈希值发布到称为区块链的公共账本中,任何人都可以看到并验证数据的完整性。在那个时代Haber和Stornetta意识到,全国发行的报纸可以起到类似的作用。



鼓舞中本聪


Haber和Stornetta在其1991年的学术论文中提出的模型就是当今在加密货币世界功不可没的区块链的原型,事实上,中本聪在2008年发表的《比特币白皮书》中,引用的八篇论文中有三篇是由Haber和Stornetta撰写的。为此华尔街日报专门对Stornetta进行了采访,当谈到自己的设想给比特币带来灵感时,Stornetta这样描述自己的心情:感觉“非常酷”。




中本聪在《比特币白皮书》所引用的三篇论文


在比特币发明的13年前,Haber和Stornetta将他们的理论模型付于诸行动,创建了时间戳服务公司Surety





2009年时,《纽约时报》中Surety哈希值的一个例子。

其中写道:通知&寻物启事

通用登记条目:

区块2-dS8492……

区块3-JnFCg+……

这些base64编码值代表在2009年6月3日到2009年6月9日之间Surety公证的所有电子文档的组合指纹(即哈希值,译者注)。

图片来源:Surety


Surety的主打产品叫做“AbsoluteProof(绝对证明)”,功能是作为电子文档的密码学安全电子印章,其基本工作机制与Haber和Stornetta在学术论文中的描述相同。客户使用Surety的AbsoluteProof软件产生电子文档的哈希值,然后将其发送到Surety的服务器中,在服务器中加盖时间戳以创建电子印章,该电子印章是电子文档密码学安全的唯一标识符,最后被返回到软件程序以便为客户存储。


与此同时,所有的Surety客户创建的电子印章都被发送到AbsoluteProof“通用登记数据库”中,这是一个完全由Surety客户电子印章组成的“哈希链”,其中包括了有史以来所有Surety客户电子印章的不可篡改的记录,链式结构使得任何公司或恶意黑客都无法篡改被记录的电子印章。但与当下的区块链相比,它遗漏了区块链生态的一个重要部分:信任。怎么能保证Surety的内部记录是完全正确的呢?


与当下区块链相比,Surety并没有将客户数据的哈希值发布到公共数字账本中,而是每周将数据库中添加的所有新电子印章汇总产生一个唯一的哈希值,并在《纽约时报》中发布此哈希值。正如上图所示,这个哈希值被放置在“通知与失物招领”标题下,分类广告栏的小广告中,自1995年以来每周刊登一次。


据Surety公司称,“这使得包括Surety在内的任何人都不可能对篡改过的电子文档进行回溯时间戳或伪造记录。”或者更准确地说,是几乎不可能。


正如以太坊的联合创始人Vitalik Buterin在Twitter上开玩笑说,如果有人想要攻击Surety的区块链,他们只需要“制作具有不同哈希链的山寨《纽约时报》并更广泛地传播。”鉴于《纽约时报》平均每日印刷发行量约为570,000份,山寨《纽约时报》可能是本世纪以来最大的一个玩笑。


Haber和Stornetta都在十多年前离开Surety公司并重新开始科学研究,今天他们在各自的区块链项目中担任密码学专家。尽管Haber和Stornetta并没有在他们帮助创建的加密货币世界中一夜暴富,但他们提出的这种用报纸为载体的区块链成为加密货币世界的一段佳话。



写在最后


本篇文章在推特上引起了广泛的讨论,Surety乍一看还真是一个区块链系统,而且它最早使用的哈希链、区块等机制已沿用至今,所以有人认为Surety是最早的区块链系统,它的数据库《纽约时报》是最早的区块链;但也有人不这么认为,因为从技术层面上来说,Surety是一个中心化的系统,而当下区块链技术的核心则是去中心化带来的信任解决方案。可到底Surety和比特币谁才是最早区块链?业界还没有一个公认的看法。


这个问题可谓是仁者见仁,智者见智。作为区块链的从业者,我们要透过当下的争议看其中的本质,区块链是一系列技术的绝佳组合,它的成功离不开前人的努力。中本聪在《比特币白皮书》中引用了Haber和Stornetta的文章,可以说明的是,比特币区块链的灵感受到了Surety的影响。所以我们不能否认Surety在一定程度上造就了当下加密货币的辉煌。


Surety从1995年开始运行,而中本聪在2008年才完成比特币的构想,这13年的时间里分布式系统,计算机硬件,计算机理论等各个领域的突破性进展都促进了区块链从量变到质的飞跃。正如《云图》中的剧情:律师的岳父对于他要为黑奴争取权利的行为不屑一顾,说道:

No matter what you do, it will never amount to anything more than a single drop in the limitless ocean!无论你做什么,一滴水是无法撼动海洋的!)” 律师义正言辞地回答道:"What is an ocean, but multiple of drops?没有一滴滴水,哪来的海洋呢?) "我们所做的一些创新,在人类宏大的历史和空间的范围里可能是微不足道的,但正是这些小的创新,不断启发新的思路,引发新的创新,从而在未来的某个时间绽放出最耀眼的光芒。


区块链的研究如此,其它学科的基础研究也不例外。牛顿曾经说过:“如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。”也许此时的你正在为自己的科学研究感到苦恼,但请记住,你在做研究时的想法和创新,都将启发后人,让你成为牛顿口中的巨人,帮助后人站在你的肩膀上去探索并改变这个世界。



最新热文:



大力戳↑↑↑  加入区块链大本营读者⑦号群

(群满加微信 qk15732632926 入群)

(内容转载请联系微信:qk15732632926)

(商务合作请联系微信:fengyan-1101)



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