状态数据如何存储在以太坊区块链中?

时间:2018-01-29 08:50:16

标签: blockchain ethereum

正在考虑以太坊的存储成本,并试图理解在链上存储全球标准化信用评分(如Bloom)的含义。

在最简单的情况下,您将为每个用户存储三个256位字的数据,并按用户地址编制索引,这意味着4个字的存储空间。

在您达到100M用户的情况下,您正在查看400M字的存储空间。以太坊区块链上的每个存储字都需要20K的燃气费,所以即使在目前的1147美元/ ETH的价格下还有1 gwei,你需要大约940万美元来存储用户群的所有信用评分。

所以,我的问题是:

如果您通过更新一个用户的分数来更改上述合同的状态,是否需要再次存储整个400M字数据(并产生$ 9.4M的费用),或者只是存储在某些元数据中的状态的增量层

3 个答案:

答案 0 :(得分:1)

除非您更改记录的顺序(例如,通过删除其中一个记录),否则您不必覆盖整个数组。您只需为添加或更新的数据支付气体费用。

答案 1 :(得分:0)

简而言之,您不会将这些信息直接存储在以太坊区块链中。你会使用IPFS。

基本上,您将任何文件存储到IPFS中,然后存储IPFS     以太坊合约中的哈希。具有IPFS节点的任何用户都将继续     能够使用该哈希访问该文件。     您可以随意存储数据,图像,前端等。

这里有一个例子:https://github.com/AdrianClv/ethereum-ipfs

答案 2 :(得分:0)

  

最后,我应该在哪里存储我的数据?

     

嗯,也许不在以太坊区块链上。那里存储的数据,   使用智能合约,安全且易于访问。但是成本和   商店的结构使其与元数据相关的用途相关。

     

以引言中的示例为例:用户帖子,文件和   消息框可能位于IPFS等其他平台上。在里面   以太坊区块链,我们将存储关键数据。数据像   加密密钥,存储树和授权的根。

来源:https://www.lsenta.io/posts/storage-and-dapps-on-ethereum-blockchain/