Filecoin 网络发起的一场革命在网络体系结构中,在该体系结构中,依赖于受信任方的脆弱的集中式服务已被基于可验证计算的弹性分散式解决方案所取代,互联网服务正从效率低下的中央整体设备转移到点对点市场的网络。
Filecoin 代表了协议和服务的发展,以适应互联网架构革命的需求:一个开源的分散存储网络,内置经济激励机制,以确保文件存储的可靠性。Filecoin 和其他区块链网络,如比特币和以太坊,是开放服务的先驱例子:去中心化平台,商业服务提供商——从公司到个人——可以在开放的市场上竞争。
Filecoin 是一个有生命的项目,在这里我们将追溯革命性技术的进化轨迹分为两部分:
第一部分,我们将描述导致第一个基于分布式账本技术的现代网络创建的技术和概念上的进步。第二部分中,我们关注 Filecoin 的开发,从开始到实现。第一部分:站在巨人的肩膀上
要捕获密码学、分布式系统、密码学以及相关领域的所有进展是不可能的,这些进展对 Filecoin 的发展做出了贡献。尽管如此,技术领域还是有一些突出的高峰:
随着 James Ellis 在 1970 年开发的公钥密码术,以及 Clifford Cocks 在 1973 年引入的 rsa 等效结构中的保理问题,现代密码学的时代可能已经在英国信号情报机构秘密地开始了。
然而,导致区块链实现的公共血统,如比特币、以太坊和 Filecoin,开始于加州大学伯克利分校的本科生计算机科学课上,与 Ralph Merkle 的 1974 CS 244 项目提案,在不安全的通信渠道上建立安全通信,最终发表在 1978 年的 ACM。
Merkle 的论文描述了一个基于解谜的密码系统,在这个系统中,谜题以带有未知密钥的加密消息的形式出现——这是公开密钥加密的早期结构。Merkle 的谜题,正如这篇广为人知的论文一样,甚至包含了工作证明的早期概念——比特币、以太坊和今天大多数其他无许可区块链的基础结构。
Merkle 的公钥密码系统基于二次复杂度的计算,对于大多数实际实现来说不够安全。1976 年,随着密码学新方向的出版,Whitfield Diffie 和 Martin Hellman 在 Merkle 的思想基础上设计了著名的算法 Diffie-Hellman 密钥交换,该算法基于一个更复杂的数学问题(离散对数)。
他们的开创性论文还非正式地提出了加密哈希函数的概念:一种不可逆算法,该算法将任何大小的数据映射到固定大小的位字符串。
此后不久,在 1977 年,麻省理工学院的 Ronald L Rivest、Adi Shamir 和 Leonard Adleman 开发了 RSA 密码系统,这是一种基于大质数因式分解的非对称密码算法。RSA 成为第一个广泛使用的公开密钥加密方案之一,现在仍被用于 VPN 服务器和客户端之间的 TLS 握手,以建立安全的通信通道。
1979 年,Ralph Merkle斯坦福博士论文提交了一份非正式的草图 collision-resistance 的想法——一个哈希函数的属性描述是多么困难,找到两个输入散列到相同的输出,和一个“配方”建立一个使用对称加密哈希函数。密码学哈希函数的发明,以及度量这些单向函数安全性的碰撞阻力概念的发展,为在不侵犯隐私的情况下认证数据提供了一种安全的手段。
到 20 世纪 80 年代早期,密码学家和密码朋克在可信方之间的安全通信问题上取得了重大进展。但在多党沟通中达成共识的问题,包括有潜在缺陷或腐败的政党,仍未得到解决。
Leslie Lamport,Robert Shostak 和 Marshall Pease 在 1982 年的论文“存在错误的情况下达成协议”中,正式描述了Byzantine General问题,这是自上古以来困扰分布式账本实施的难题:如何创建一种不信任机制来实现协调包含不可靠或不可信组件的系统?
David Chaum 1982 年在加州大学伯克利分校的论文《相互怀疑的组织建立、维护和信任的计算机系统》中介绍了第一个已知的对区块链协议的描述,包括比特币区块链的每个元素(除了工作证明),以及实现所需的代码。
这篇有先见之明但未发表的作品的影响尚不清楚。虽然它缺乏对现代区块链实现至关重要的健壮的共识机制(即让分布式系统中的用户无需中央仲裁者就能达成协议的算法),但它预期了当前分布式账本技术的许多重要特性。
1980 年见证了密码学哈希的进一步发展:哈希函数的抗碰撞标准由 Ivan Damgard 在他 1987 年的 EUROCRYPT’87 论文中正式提出。几年后,在 1989 年,Damgard 开发了一种几乎与 Merkle 相同的加密哈希函数“配方”,并在 89 年的一篇加密论文中证明了它满足了他之前指定的抗碰撞标准。
这个想法被称为 Merkle-Damgard 构造,是重要哈希函数设计的一部分,如 MD5(由Ronald Rivest在1991年设计)、SHA-1(1995年作为美国联邦标准发布)和 SHA-2。哈希函数的 SHA-2 家族是 2002 年发布的 NIST 标准,用于安全协议,如 TSL、SSL、SSH 和 PGP。
更接近我们故事的核心,SHA-2 家族的 SHA-256 成员被比特币和其他区块链协议用于验证交易、计算工作证明和权益证明。
防碰撞散列函数是 Stuart Haber 和 W.Scott Stornetta 在 1991 年提出的在保持用户隐私的同时认证数字文档创建和修改的方法所不可或缺的一部分,该方法发表在《如何为数字文档加时间戳》中,后来又在1993年的出版物和1997年的ACM论文中与D.Bayer进行了扩展;
这三篇论文构成了比特币白皮书中八条引文中的三条。这种相对时间戳的方法-在分散的系统中建立事件顺序-对于在区块链上建立交易优先级的关键任务至关重要。
H.Massias、X.S.Avila 和 J.-J.Quisquater 在他们 1999 年的论文《设计具有最小信任要求的安全时间戳服务》中提出了对时间戳的改进,这些改进被直接纳入比特币提案中。
1992 年,Cynthia Dwork 和 Moni Naor 发布了一个基于困难计算的定价函数,作为控制对共享资源访问的方案,在许多现代分布式账本技术中,工作证明的概念是一致机制的基础;该发布描述了一种对抗垃圾邮件的实现。
Dwork Naor 的论文并没有使用术语“proof-of-work”——这是发明并正式在 1999 年的一篇论文中,由Markus Jakobssen 和 Ari Juels 撰写,但本文建立了不对称昂贵的防御机制,服务请求者必须执行工作,服务提供者可以很容易地检查。
这种要求可验证和计算成本高的工作作为共识基础的原则,后来成为比特币安全保障的关键组成部分。1997 年,Adam Back 的 hashcash 建议使用部分 SHA-1 冲突作为对抗垃圾邮件的工作证明(在他2002年的论文中详细描述),继续维护和规范未计量互联网资源的使用。
我们会追溯现代 cryptocurrency 时代到 1998 年的根源,当 Wei Dai 发表“b-money、匿名、分布式电子现金系统”cypherpunks 邮件列表,它描述一个协议在许多现代 cryptocurrency 系统共享的特性,包括事务广播和 proof-of-work。同年,Nick Szabo 提出了一种基于区块链的去中心化货币“比特黄金”,这种货币基于公开密钥链接的工作证明链和带有时间戳的区块元素。
2004 年,Hal Finney(后来成为第一个比特币接受者)创建了第一个可重复使用的工作证明系统,他建议使用工作证明令牌作为比特金的一种形式。
互联网的发展促使人们进一步加强网络以防止节点的错误行为。1999 年,MIT 的 Miguel Castro 和 Barbara Liskov 发布了一个拜占庭容错分布式文件系统的实现,该实现能够满足实际异步 internet 系统的性能要求。
在 90 年代后期,有关分布式系统的问题规范的工作也产生了有趣的结果。1999 年,Henning Pagnia 和 Felix Gartner 正式定义了“强公平交换”问题,他们认为,如果没有可信的第三方,双方不可能保证完全公平地交换数字商品。这一发现后来对 Filecoin 的检索市场结构有重要的启示,促使市场参与者通过增加交易绩效来引导信任。
几年后,在 21 世纪初,我们可以看到与 Filecoin 设计直接相关的想法的出现。2002 年,David Mazieres 和 Dennis Shasha 在“从拜占庭式存储中构建安全的文件系统”中描述了多用户网络文件系统的特性,证明了一个可信的网络文件系统可以在不可信的服务器上实现。
同样在 2002 年,贝尔实验室的 Sean Quinlan 和 Sean Dorward 开发了内容可寻址存储的数据模型——一种通过内容而不是位置来引用数据的方法——开发了一种称为Venti的Plan 9服务,使用 SHA-1 哈希函数。这种使用 SHA-1 的内容寻址数据模型是由 Linus Torvalds 于 2005 年在版本控制系统 Git 中采用的,用来避免集中式存储库,而 BitTorrent 的 Bram Cohen 则独立地采用了它来避免中央“跟踪器”服务器。
2008 年,中本聪发布了比特币,它使用 SHA-256 进行内容寻址的交易存储,并将其作为工作证明共识方案的一部分,以克服在互联网上构建分布式账本的主要障碍——Byzantine General 问题。
比特币的发布是一个关键时刻:比特币证明了分布式分类账技术可以在现代计算环境中大规模运行。敬请关注本系列的下一期,我们将看看第一个比特币发布带来的新颖的开发环境!
End
非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。
FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用:filcloud
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。