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

[复制链接]
8858 |0
发表于 2019-6-14 15:01:00 | 显示全部楼层 |阅读模式
以太坊是一个成熟的区块链,使开发人员能够创建智能合约,在区块链上执行的程序可以由交易触发。人们经常将区块链称为数据库,但使用区块链作为数据存储非常昂贵。


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是可以的,但对于更大的数据块,大多数项目的成本可能太高。

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



我将在这篇文章中使用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,将成为区块链世界的底层基础设施。


原文链接:https://www.chainnode.com/post/336641

ejjvvojaocc.png

ejjvvojaocc.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表