创始人兼首席科学家Dominic Williams是一名密码学家及企业家,也是String Lab的联创兼CTO,曾做过基于自建分布式系统的MMO游戏。 5. Ceramic:数据库存储领域中间件 Ceramic是一个专注于存储高频更新数据的去中心化网络,基于IPFS的存储网络,搭建了一个新的便于数据更新的模型,功能类似一个去中心化的数据库。21年1月测试网上线,21年6月主网上线,已有多个产品使用Ceramic作为中间件,但Ceramic还没有发布基于代币的商业模式。 5.1 核心机制 Ceramic主攻的市场是数据库存储,虽然和Filecoin/Arweave都属于云存储范畴,但是使用场景不同。 Filecoin通过为每个文件生成唯一哈希值来实现内容寻址,一旦内容发生更改就会改变哈希值,相当于生成了一份新的文件;Arweave主打永久存储,内容上链后无法改变,除非上传另一份新的内容。这样的模式对于存储音乐、图片、视频等静态文件来说没有问题,但是对于需要不断更新的数据并不合适,如用户交易订单、用户关注关系等,一旦更新就需要生成新的快照文档,大量的快照会造成数据冗余。 在Web2的成熟解决方案中,大型静态文件的存储和数据库存储也分别对应着不同的存储设计和相应产品,如在AWS的产品套件中,Amazon S3专注于大型文件存储或长期存储等场景,Amazon RDS/Dynamo DB则专注于数据库场景。在Web3中,Filecoin对标Amazon S3,Ceramic则对标Amazon的非关系型数据库Dynamo DB。 Ceramic的存储设计中有一些自己的定义,乍看之下不是很好理解,但是用数据库的逻辑就很容易明白。下图中灰色的方块组合是一个「Stream」,类似于一个对象的所有历史数据,最初的状态(Genesis Commit)和其后的每一个变化(Commit)都是IPFS上的记录,这些记录组合起来就成了Stream。由于Stream记录的是「变化」、而非结果状态的「快照」,因此需要处理这个Stream上所有的事件,来获取对象的最新记录。 以数据库为例,Ceramic记录模式为:最初,ALICE和Bob分别有10元;第二天,Alice给Bob转账5元;第三天,Bob给Alice转账3元。这也非常像区块链账本,账本不会写明每个用户的余额,需要计算所有中间过程来获得最终的用户余额。 相对地,IPFS的传统记录模式为:文件a,Alice和Bob分别有10元;文件b,Alice有5元,Bob有15元;文件c,Alice有8元,Bob有12元。在这里,每一次的记录都是一个结果状态的快照,一旦有变化就需要生成新的快照。 Ceramic通过这样的设计保证每个对象都有唯一一个Stream ID,有了全局统一的命名,不会因为内容的改变而改变名称。每一次写入,需要用户授权,整个过程近似区块链的记账,只不过写入的并非交易数据,而是其他数据,比如用户账户信息。 (责任编辑:admin) |