Ethereum 以太坊网络可以用作数据库吗

Ethereum 以太坊网络可以用作数据库吗,ethereum,web3,Ethereum,Web3,我们可以像使用数据库一样使用以太坊网络来存储数据吗。如果将其用作数据库,可能会出现哪些问题。是的,这是可能的。只需编写一份智能合约来存储和检索数据 谷歌将“Solidity CRUD”一词用于在以太坊上存储数据的文章和教程 缺点是: 速度-区块链写入速度慢,读取速度不快。以太坊永远无法与SQLite这样的低性能数据库竞争,更不用说与Postgres、Oracle或MongoDB竞争了 成本-从以太坊读取是免费的,但从以太坊写入是成本。确切的成本取决于要存储的数据的大小。对于少量数据,这并不重要。

我们可以像使用数据库一样使用以太坊网络来存储数据吗。如果将其用作数据库,可能会出现哪些问题。

是的,这是可能的。只需编写一份智能合约来存储和检索数据

谷歌将“Solidity CRUD”一词用于在以太坊上存储数据的文章和教程

缺点是:

  • 速度-区块链写入速度慢,读取速度不快。以太坊永远无法与SQLite这样的低性能数据库竞争,更不用说与Postgres、Oracle或MongoDB竞争了

  • 成本-从以太坊读取是免费的,但从以太坊写入是成本。确切的成本取决于要存储的数据的大小。对于少量数据,这并不重要。对于服务,您甚至可以将此部分作为API的一部分,由您的用户支付写入费用(例如从您处购买票证),这样就不会花费任何费用。但是,如果您有千兆字节的遗留数据,将其迁移到区块链可能非常昂贵

    除此之外,向区块链传输大量数据将导致交易需求激增,从而增加每笔交易的成本。这不仅仅是理论上的,以前也发生过——当cryptokitties智能合约推出时,游戏突然变得如此流行,交易从每笔交易不到1美分增加到每笔交易数十美元(USD)

  • 通常,您只希望在以太坊上存储需要安全的核心数据,并将其链接到其他数据源(例如,存储URL链接和对象哈希,但将对象本身存储在Amazon S3或Azure存储上)