当前位置:首页 > 知识 >

宋鸿兵对比特币的评价|IPFS官方删除对SECIO的支持

我们正在删除IPFS和libp2p中对SECIO安全传输的支持。您可以通过更新到最新版本来减轻对节点的影响。删除支持后,较新的节点不应发生任何重大变化,但是较旧的节点将开始出现性能下降。请阅读本文以获得更多详情。

什么是安全传输?

安全传输是libp2p的组件,可在通过网络发送数据时对数据进行加密。Libp2p提供建立连接后协商安全传输的能力,从而使节点能够支持多种安全传输。一旦协商了安全传输,就对所有发送和接收的数据进行加密,只有目标对等方可以解密它。

一个简短的回顾

SECIO是一种类似于TLS的安全性传输,于2014年为IPFS和libp2p开发,以减轻与要求证书颁发机构的TLS1.2的差距。SECIO已成为所有libp2p实现的主要安全传输方式,因为其基础算法得到了广泛支持。在2019年5月,go-ipfs0.4.21添加了对TLS1.3的支持,并在2020年4月的go-ipfs0.5中成为默认的安全传输。但是,TLS1.3仍在libp2p实现中获得支持,并且无法在浏览器上下文中访问,因此并非所有libp2p实现都可以使其成为默认的安全传输。尽管Web浏览器引入了对TLS1.3的支持,但我们无法为libp2p附加必要的身份信息。Go-ipfs0.6还增加了对QUIC传输的支持,该传输在内部使用TLS1.3。QUIC尚未得到广泛支持,因此我们本身仍然存在与TLS1.3相同的问题。因此,如果我们不能在任何地方都支持TLS1.3或QUIC,那么如何才能成功弃用SECIO并继续使用更现代和更广泛使用的安全性传输?答案是Noise安全传输,它是根据Noise协议框架创建的。Noise提供了一组模式,用于构成广泛支持的密码原语,这使我们能够更轻松地在各种libp2p实现中添加支持。在go-ipfs0.6,js-ipfs0.47中增加了对Noise的支持,并已在主要IPFS网络基础结构中进行了更新。

SECIO从未被视为永久性的安全传输工具。现在我们有了Noise可以广泛支持,而TLS1.3可以支持它的实现,现在该弃用SECIO了。

什么时候开始?

在0.7发行版中,SECIO将从go-ipfs中删除,您可以在Github问题中进行跟踪。该版本暂定于8月25日发布。我们还将在大约同一时间协调js-ipfs的发行,以在那里也删除SECIO。

有什么影响?

0.7之后,仅支持SECIO的网络上的较旧节点将不再能够与IPFS节点进行通信。如果您运行的Go-ipfs版本早于0.5,强烈建议您尽快升级。虽然go-ipfs节点0.4.21及更高版本支持TLS1.3,但如果您的IPFS至少不是0.5,则连接时会遇到延迟问题。这是由于协议协商默认为SECIO(将无法连接到最近的节点),并且需要使用TLS1.3重做。如果运行的IPFS早于0.4.21,则将完全无法连接到较新的节点,其中包括DHT引导程序节点和IPFS公共网络基础结构的其他关键部分。

我们正在考虑将Noise反向移植到js-ipfs0.46.x。

Noise已添加到js-ipfs0.47中,但是它与js-ipfs0.41.0+(异步/等待重构)兼容,但需要手动配置。如果运行的JavaScript-ipfs早于0.41,则将无法连接到不支持SECIO的节点。您仍然可以暂时使用websocket-star服务器。

更新IPFS

从IPFS分发页面下载最新的go-ipfs:https://dist.ipfs.io/#go-ipfs

为Node.js或浏览器安装最新的js-ipfs:https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#install

注:本文不投资有风险,入市需谨慎。

来源:全球币码翁区块链研究院

本期编辑:Alice

猜你喜欢

微信二维码

微信