以太坊网络可以用作数据库吗
Can the Ethereum network be used as a database
我们能否像使用数据库一样使用以太坊网络来存储数据。如果用作数据库可能会出现哪些问题。
是的,这是可能的。只需编写一个智能合约来存储和检索您的数据。
Google 术语 "Solidity CRUD" 用于在以太坊上存储数据的文章和教程。
缺点是:
速度 - 区块链写入速度慢,读取速度不快。以太坊永远无法与 SQLite 等低性能数据库竞争,更不用说与 Postgres、Oracle 或 MongoDB.
竞争了
成本 - 从以太坊读取是免费的,但写入需要以太币。确切的成本取决于您要存储的数据的大小。对于少量数据,这无关紧要。对于服务,您甚至可以将 API 的这一部分写入您的用户将支付的费用(例如从您那里购买机票),这样您就不会花费任何费用。但是,如果您有千兆字节的遗留数据,将其迁移到区块链可能会非常昂贵。
最重要的是,将大量数据传输到区块链将会看到交易需求激增,这将增加每笔交易的成本。这不仅仅是理论上的,它以前发生过——当 cryptokitties 智能合约推出时,游戏突然变得如此受欢迎,以至于交易从每笔交易不到一美分到每笔交易数十美元 (USD)。
一般来说,您只想在以太坊上存储您需要保护的核心数据,然后 link 将其存储到其他数据源(例如存储 URL link 和对象的哈希值,但将对象本身存储在 Amazon S3 或 Azure 存储中)
我们能否像使用数据库一样使用以太坊网络来存储数据。如果用作数据库可能会出现哪些问题。
是的,这是可能的。只需编写一个智能合约来存储和检索您的数据。
Google 术语 "Solidity CRUD" 用于在以太坊上存储数据的文章和教程。
缺点是:
速度 - 区块链写入速度慢,读取速度不快。以太坊永远无法与 SQLite 等低性能数据库竞争,更不用说与 Postgres、Oracle 或 MongoDB.
竞争了
成本 - 从以太坊读取是免费的,但写入需要以太币。确切的成本取决于您要存储的数据的大小。对于少量数据,这无关紧要。对于服务,您甚至可以将 API 的这一部分写入您的用户将支付的费用(例如从您那里购买机票),这样您就不会花费任何费用。但是,如果您有千兆字节的遗留数据,将其迁移到区块链可能会非常昂贵。
最重要的是,将大量数据传输到区块链将会看到交易需求激增,这将增加每笔交易的成本。这不仅仅是理论上的,它以前发生过——当 cryptokitties 智能合约推出时,游戏突然变得如此受欢迎,以至于交易从每笔交易不到一美分到每笔交易数十美元 (USD)。
一般来说,您只想在以太坊上存储您需要保护的核心数据,然后 link 将其存储到其他数据源(例如存储 URL link 和对象的哈希值,但将对象本身存储在 Amazon S3 或 Azure 存储中)