区块广播:

没有IPFS的以太坊,是不完美的!

畅赛信息船员发布在 技术交流
 1553  0

以太坊是一个成熟的区块链,使开发人员能够创建智能合约,在区块链上执行的程序可以由交易触发。人们经常将区块链称为数据库,但使用区块链作为数据存储非常昂贵。


1、以太坊GAS成本问题



Gas是什么?

Gas的中文名叫瓦斯,有时也会称呼为燃料,它是用于支付给在电脑上记录交易及其他行为的以太币,相当于比特币中的交易费用。


在以太坊平台上运行的大多数分布式应用程序,需要存储/检索数据,就像使用PostgreSQL,MongoDB,Redis等传统或“集中”应用程序一样。EVM(以太坊虚拟机)确实允许我们保存变量/状态永久存储。


但存储交易费用,是非常高昂的。


例如,总计两个数字需要3个gas。乘以它们需要5个gas。将256位字存储到区块链中需要20000个gas,这意味着存储1kb的数据需要640000个gas。


就像美元有美分一样,以太也有自己的基本单位:wei。 如果我们将wei作为以太的基本单位,我们得到下面的定义表:


比如,去年11月23日的交易价格(530美元,4gwei),在以太坊上存储250GB将花费你106,000,000美元。一般来说,我们可以忍受高成本因为我们:


  • 不会在以太坊区块链上保存那么多数据

  • 区块链的审查制度,透明度和稳健性是值得的


以太坊是如何解决存储交易的高昂成本问题?



2、以太坊底层存储方案——IPFS(星际文件系统)


对于以太坊来说,将几个字节保存到EVM是可以的,但对于更大的数据块,大多数项目的成本可能太高。


一种解决方案是修改我们的数据存储策略,并将数据保存在链外。有多种脱链存储选项:IPFSSwarm是两种流行的存储选项。



我将在这篇文章中使用IPFS。


IPFS(行星际文件系统)是一种旨在创建存储和共享文件的永久和分散方法的协议


IPFS允许p2p存储,我们可以将其用作分布式文件系统来存储数据。


3、以太坊为何选择IPFS作为存储解决方案?



  • 低成本数据存储战略


在IPFS上保存数据,可提供唯一的哈希值。以太坊只会在合同上存储哈希,而不是将数据存储在合同上,然后我们可以使用哈希来检索数据。


在应用中,你需要创建自己的IPFS节点,但INFURA为开发人员提供了一个我们可以免费使用的节点。


用户可以将数据保存到IPFS:

ipfs网络将为你返回一串哈希值,如下:

“Qmaj3ZhZtHynXc1tpnTnSBNsq8tZihMuV34wAvpURPZZMs”,我们可以使用它来查询我们的数据。


IPFS网络系统根据搜索的哈希值,返回数据:

“8803cf48b8805198dbf85b2e0d514320”


散列字符串大小与数据大小无关,这意味着以太坊可以在IPFS上存储大数据块或文件,而不会增加交易成本!


目前,在Filecoin主网未上线的状态下,使用IPFS存储文件,成本不会比传统的磁盘空间花费更多。例如:使用EBS 250GB存储运行EC2 t2.micro实例,将花费你大约15美元/月。


  • 去中心化存储


IPFS(星际文件系统)对区块链存储有一些保证,即去中心化和防篡改。

IPFS的一个独特功能是它处理文件的方式。它不使用基于位置的寻址(如域名,IP地址,文件路径等),而是使用基于内容的寻址。将文件(或目录)添加到IPFS存储库后,可以通过其加密哈希来引用它。


然后,你可以使用IPFS客户端或任何公共网关访问文件。你还可以创建非公共网关,默认情况下使其成为可写(只读),并实现授权方案,以便以编程方式访问IPFS网络。



  • 强壮的存储系统


重要的是要了解IPFS不是一种服务,其他节点将存储你的内容。


如果你的内容不受欢迎,IPFS网络上一些节点,不想在出租存储空间,垃圾收集器会将其从其他节点中删除。只要网络上至少有一个节点,存储着你的文件,并且有兴趣存储它们,网络上的其他节点就可以轻松获取该文件。


即使你的文件从网络中消失,也可以在以后再次添加,除非其内容发生更改,否则其地址(哈希)将相同。


IPFS是一种分布式文件系统,与以太坊的分布式计算机,有着天然的共同点,是最默契的搭档。不仅是以太坊,还有数百个项目选择ipfs,作为他们底层的存储设施,尤其是区块链项目,因此,IPFS&Filecoin,将成为区块链世界的底层基础设施。


本主题由 Linkea 于 2019-06-10 16:46:45 移动
  • 正序
  • 最新
帖子暂无回复,回帖抢沙发
登录 账号发表你的看法,还没有账号?立即免费 注册