周迅:智能合约数据存储的三种解决方案
2018 年 7 月 14 日,标准共识成功举办了首期线上技术分享会,主讲人周迅就「智能合约的数据存储」与标准共识技术评审团成员及 20 位嘉宾成员分享了技术经验。 周迅是一家区块链公司的 CEO,对以太坊有着深刻的理解。目前团队核心目标是做一个工程师易上手的实用版以太坊。以下整理自周迅的分享内容。 只发 Token 无意义 我之前在一家媒体分享过我认为 DApp 开发平台的共识机制应该是什么样子。我说我们核心解决的问题是:如何让开发者把业务也放到链上,而不只是发个 Token,把「积分」上链了。 今天我们就先不讨论逻辑上链的必要性,我们从技术上考虑怎么让逻辑上链。 既然是区块链的数据存储,默克尔证明就必不可少。默克尔证明保证了数据的可验证性和永久保存性。可验证就是提供一个根,就可以得到一个 key 对应的 value,永久保存性就是每次对默克尔树进行更新的时候,旧的树根都是可以读取所有的数据的。 虽然默克尔的功能非常强大,但是默克尔证明有个很大的问题:只能存储 Key-Value 类型的数据,虽然可以在数据序列化和反序列化的时候做一些扩展,但是功能非常有限。 数据储存的三种解决方案 我们团队就在想:是否可以让 DApp 的开发者可以使用 SQL、Mongo 这样的数据库进行 DApp 的开发呢? 然后调研了三个方案: 1、类似于 EOS 的 MySQL 插件和 Mongo 插件,这种实现起来是最简单的,所有的工作都是交给开发者去做,自己这边只需要做一个连接管理就可以了。 2、对默克尔字典树进行更新,叶子节点可以存储多列数据(List |
2018-06-24
2018-11-20
2019-01-10
2019-01-10
2019-01-10
2019-11-14
2019-11-14
2019-11-14
2019-11-13