状态数据如何存储在以太坊区块链上?
How is state data stored on Ethereum blockchain?
正在考虑以太坊上的存储成本,并试图理解在链上存储全球标准化信用评分(如 Bloom)的含义。
在最简单的情况下,您将为每个用户存储三个 256 位字的数据,按用户地址索引,这意味着存储 4 个字。
在您达到 1 亿用户的情况下,您正在查看总共 4 亿字的存储空间。以太坊区块链上的每个存储词都需要 20K 的 gas 费用,因此即使以当前 1147 美元/ETH 的价格计算 1 gwei,您也需要约 940 万美元来存储用户群的所有信用评分。
所以,我的问题是:
如果您通过更新一个用户的分数来更改上述合约的状态,是否需要再次存储整个 400M 字的数据(并产生 940 万美元的费用),或者只是存储在其中的状态的增量一些元数据层?
除非您要更改记录的顺序(例如,通过删除其中一条记录),否则您不必覆盖整个数组。您只需为添加或更新的数据支付 gas。
简而言之,您不会将该信息直接存储在以太坊区块链上。你会使用 IPFS。
基本上,您将任何文件存储到 IPFS 中,然后存储 IPFS
以太坊合约中的哈希值。任何拥有 IPFS 节点的用户都会去
能够使用该哈希访问文件。
数据、图片、前端等,随心所欲。
Finally, where should I store my data?
Well, maybe not on the Ethereum Blockchain. The data stored there,
with Smart Contracts, is safe and easy to access. But the cost and the
structure of the store makes it relevant for metadata-related uses.
Taking the examples from the introduction: Users Posts, Files and
Message Boxes will probably be on another platform like IPFS. In the
Ethereum Blockchain, we would store critical data. Data like
encryption keys, roots to storage trees & authorizations.
来源:https://www.lsenta.io/posts/storage-and-dapps-on-ethereum-blockchain/
正在考虑以太坊上的存储成本,并试图理解在链上存储全球标准化信用评分(如 Bloom)的含义。
在最简单的情况下,您将为每个用户存储三个 256 位字的数据,按用户地址索引,这意味着存储 4 个字。
在您达到 1 亿用户的情况下,您正在查看总共 4 亿字的存储空间。以太坊区块链上的每个存储词都需要 20K 的 gas 费用,因此即使以当前 1147 美元/ETH 的价格计算 1 gwei,您也需要约 940 万美元来存储用户群的所有信用评分。
所以,我的问题是:
如果您通过更新一个用户的分数来更改上述合约的状态,是否需要再次存储整个 400M 字的数据(并产生 940 万美元的费用),或者只是存储在其中的状态的增量一些元数据层?
除非您要更改记录的顺序(例如,通过删除其中一条记录),否则您不必覆盖整个数组。您只需为添加或更新的数据支付 gas。
简而言之,您不会将该信息直接存储在以太坊区块链上。你会使用 IPFS。
基本上,您将任何文件存储到 IPFS 中,然后存储 IPFS 以太坊合约中的哈希值。任何拥有 IPFS 节点的用户都会去 能够使用该哈希访问文件。 数据、图片、前端等,随心所欲。
Finally, where should I store my data?
Well, maybe not on the Ethereum Blockchain. The data stored there, with Smart Contracts, is safe and easy to access. But the cost and the structure of the store makes it relevant for metadata-related uses.
Taking the examples from the introduction: Users Posts, Files and Message Boxes will probably be on another platform like IPFS. In the Ethereum Blockchain, we would store critical data. Data like encryption keys, roots to storage trees & authorizations.
来源:https://www.lsenta.io/posts/storage-and-dapps-on-ethereum-blockchain/