查看原文
其他

Filecoin的四种“实现”都是什么?为什么需要多个实现?

Filecoin的四种“实现”都是什么?为什么需要多个实现?


目前,Filecoin有4个实现协议实现正在运行中——分别为lotus、venus、forest、fuhon。你可能经常在Filecoin的博客、文档中看到这些,这四种协议都代表着什么呢?
 
Filecoin的目标是协议的多种实现(Implementation),以保证Filecoin网络的安全性和弹性。对于非技术从业者来说,可能难以理解,让我们从最基础的说起。
 

#协议
 
首先,什么是协议?简单来说,它是互联网的一种规则,计算机如果要成为网络的一部分,就要遵守一定规则和流程的集合,如果一台计算机不遵守规则,那其他计算机可以忽略它们。这个集合就是协议。
 
你可能听过HTTP,一般它是这样的格式:
http://xxx.com
 
HTTP是计算机需要遵循的一组规则,以便它们共享网站。如果计算机不知道HTTP是什么,它就无法上网。
 

#实现
 
那么实现又是什么呢?简单来说,实现是完成某事所使用的方式。
 

用更通俗的例子来说——上图是一张桌子,我们可以称其为A。世界上有许多桌子,A是其中之一。A有着桌子的基本功能——四条腿,平稳支撑起的一个平面,可以在上面放置物品。我们可以说,A是对桌子想法的一种实现。

将这个概念引申,即Filecoin协议是为了让一台计算机能处理Filecoin的一种实现。
 

#节点
 
节点是可以与网络上的其他计算机通信的计算机。在家庭网络中,可能有一台计算机、一台电视,也许还有一台打印机,它们都算一个节点,组合起来构成了网络。
 
在家庭网络上的每个节点上,都有程序告诉它如何与网络上的其他节点通信。如果没有这些程序,节点之间无法相互理解,每个节点对于网络也毫无用处。
 
拿Lotus举例,Lotus节点是网络上运行Lotus应用程序的计算机。
 
总结下来,Lotus、venus、forest、fuhon是Filecoin网络的参考节点实现协议(也可以叫做“节点软件”),即它们是一个应用程序,可以告诉计算机如何与其它计算机交流、并遵循同一套规则,还允许用户在计算机上存储任何数据。
 




为什么要用几种不同的实现?构建一个区块链,就像构建一个软件形式的火箭,需要尽可能地保证安全,比如内部需要协议安全团队,外部需要审计安全团队等。但对于任何独立的团队而言,这方面都无法做到尽善尽美,想达到绝对安全,几乎难以实现。
 
拥有在同一网络上互操作的多个软件实现就可以显著降低这种风险。每个实现都可能会有些许缺陷,但所有实现都不太可能有完全相同的安全缺陷。因此,启动具有多种实现的加密货币网络,可以大幅降低对整个Filecoin网络产生不利影响,甚至能减少发生灾难性错误的概率。
 
除此之外还有很多其它好处——这样可以提升不同开发人员社区的参与度,有更多探索不同实现架构的机会等。
 
目前每个组件的实施进展

再来看一下它们四个分别有什么作用。
 

Lotus

 

Lotus使用Go(一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言)编写的,它被设计成模块化的并且可以与Filecoin的其他实现互操作。此实现最接近功能完整,因此是推荐的 Filecoin 协议实现。
 
它由几个组件构成,包括用于验证网络交易,管理 FIL 钱包,可以执行存储和检索交易的lotus节点、负责存储、提供内容和发布新区块的lotus矿工和协助矿工执行挖矿相关任务的lotus工作者。
 

Venus
 

Venus是Filecoi分布式存储网络的实现,目前在 Filecoin 网络上运行数十个节点。它以前称为go-filecoin,是Filecoin在Go中的第一个实现,目前由IPFS Force社区维护。

go-filecoin在重命名为Venus并被IPFS Force 接管之前,该实施已经接近功能完整,已经可以与Lotus节点互操作。它与lotus都是由协议实验室支持的实现。
 

Forest

 

Forest是用 Rust(支持函数式和命令式以及泛型等编程范式的多范式语言,旨在提供比C++更好的内存安全)编写的Filecoin实现。
 
该实现采用模块化方法分两部分构建完整的Filecoin节点:一是根据Filecoin协议规范在Rust中构建Filecoin的安全关键系统,特别是虚拟机、区块链和节点系统;二是集成功能用于存储挖掘和存储和检索市场的组件,以组成一个功能齐全的Filecoin节点实现。Filecoin的Forest实现由专业构建Web3基础设施ChainSafe团队支持。
 
Fuhon
 
Fuhon是Filecoin的C++实现。该实现使用了用于BLS的 Rust 库,因此需要Rust才能成功构建。Filecoin的Fuhon实现由日本专业创建区块链基础设施、支付系统等业务的Soramitsu支持。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存