Tezos 是一个开源去中心化区块链网络 , 为智能合约和数字资产提供平台 。 Tezos 的一个关键功能是自我修正:网络参与者可以自己动态升级网络协议 。 当参与者提出提案并随后进行表决时 , 将启动此修订过程 。 在 Tezos 存储堆栈上工作了几年之后 , 这是我们对提案的第一个贡献 。 我们希望它将成为许多中的第一个!
正如 Nomadic Labs 在今天的公告中所详述的那样 , 佛罗伦萨提案包含了几个重要的变化 , 从引入烘焙帐户到为智能合约开发人员提供重大的生活质量改善 。 在所有这些更改中 , 我们对将“子树”(sub-trees)引入区块链“上下文”(context) API 感到特别兴奋 。 在本文中 , 我们将简要介绍这些子树将为 Tezos 的未来带来什么 。 但是首先 , 它们是什么?
Merkle 子树
Tezos 协议在被称为“上下文”的版本化的树的上面运行 , 该树保持链的状态(余额 , 合同等) 。 自从前 Alpha 时代以来 , 就已经使用 Irmin (一个开源 Merkle 树数据库 , 最初是由 MirageOS unikernels 为使用而编写的)执行 Tezos “上下文”了 。
对于 MirageOS ,Irmin 的主要优势在于灵活性:它可以在任意后端上运行 。 这对于必须灵活且可广泛部署的 Tezos 非常适合 。 实际上 , 从使用 Git 后端的初始原型到如今使用的优化的 irmin-pack 实施 , Tezos 的前端已经多次利用了这种敏捷性 。
但是 Irmin 不仅可以交换后端 , 还可以做更多的事情!它还允许用户使用高级 API 来操纵存储的基础 Merkle 树结构 。 从可合并数据类型( MRDTs )到零知识证明 , “树” API 启用了很多有趣的 Irmin 用例 。Tezos 尚未直接使用这些更强大的功能 。 这就是 Merkle 证明的来源!
证明以及轻量级 Tezos 客户
由于 Tezos “上下文”跟踪记录了区块链的当前“状态” , 因此每个参与者都需要自己的树副本来进行交易 。 该“上下文”可能会变得非常大 , 因此 , 尽可能紧凑地存储它很重要:此目标塑造了我们最新的 Irmin 后端 irmin-pack 的设计 。
但是 , 可以通过 Merkle 树的魔力来进一步降低存储需求:个人只需要存储根树的一个片段 , 前提是他们可以通过向其他参与者发送其成员的“证明”来证明该片段是有效的 。
该属性可用于支持超轻量的 Tezos 客户端 ,TweagIO 当前正在开发此功能 。 为了使之成为现实 ,Tezos 协议需要对“上下文”子树进行细粒度访问 , 以便从中构建 Merkle 证明 。 幸运的是 ,Irmin 已经支持了!我们扩展了协议以了解子树 , 从而为用户提升了 Merkle 树的能力 。
我们很高兴与 TweagIO 和 Nomadic Labs 合作 , 降低进入 Tezos 生态系统的门槛 , 并期待看到它们通过子树实现的成就!
高效的 Merkle 证明表达
仅在 Tezos “上下文” API 中公开子树是不够的:轻量级客户端还需要有效地对其进行序列化 , 因为必须通过网络交换证明以在协作节点之间建立信任 。 进入 Plebeia。
Plebeia 是由 DaiLambda 开发的 Tezos 替代存储层 , 具有与 Irmin 互补的优势 。 特别是 ,Plebeia 能够生成非常紧凑的 Merkle 证明 。 这在一方面是由于其专门的存储结构 , 一方面是由于巧妙的优化 , 例如路径压缩和内联 。
我们正在与 DaiLambda 团队合作 , 以结合 Irmin 和 Plebeia 的优势 , 这将为 Tezos 存储堆栈带来内置的 Merkle 证明支持 。 Tezos 的 Merkle 证明的前途一片光明!
烘焙帐户迁移
【Nomadic|“佛罗伦萨”升级与未来:Tezos存储前瞻】树不仅可以启用新功能;它们对性能也有很大的影响!当前 , 对“上下文”的索引总是从其根开始的 , 这在访问树中深处的相邻值时会重复工作 。 幸运的是 , 新的子树为”上下文”中的“光标”提供了自然的表达 , 从而使协议可以优化其与存储层的交互 。
仅举一例 ,DaiLambda 最近利用此功能将把烘焙帐户引入网络所需的迁移时间减少了 15 倍!我们将与 Nomadic Labs 和 DaiLambda 合作 , 以确保 Tezos 从其存储中提取每一个性能 。
获得闪电般快速的存储迁移特别令人兴奋 , 因为这使 Tezos 甚至在生态系统扩展时也能快速发展 。
其他语言存储
当然 ,Tezos 不仅是 OCaml 项目:存储层还具有高性能的 Rust 实施 , 作为 TezEdge 的一部分 。 我们正在与 Simple Staking 合作 , 通过 FFI 工具链将 Irmin 带入 Rust 社区 , 从而使不同的 Tezos 前端实施之间的联系更加紧密 。
作者:Tezos中文;来自链得得内容开放平台“得得号” , 本文仅代表作者观点 , 不代表链得得官方立场凡“得得号”文章 , 原创性和内容的真实性由投稿人保证 , 如果稿件因抄袭、作假等行为导致的法律后果 , 由投稿人本人负责得得号平台发布文章 , 如有侵权、违规及其他不当言论内容 , 请广大读者监督 , 一经证实 , 平台会立即下线 。 如遇文章内容问题 , 请发送至邮箱:linggeqi@chaindd.com
推荐阅读
- 快报|“他,是能成就导师的学生”
- 技术|“2”类医械有重大进展:神经介入产品井喷、基因测序弯道超车
- bug|这款小工具让你的Win10用上“Win11亚克力半透明菜单”
- 重大进展|“2”类医械有重大进展:神经介入产品井喷、基因测序弯道超车
- 历史|科普:詹姆斯·韦布空间望远镜——探索宇宙历史的“深空巨镜”
- 空间|(科技)科普:詹姆斯·韦布空间望远镜——探索宇宙历史的“深空巨镜”
- 精度|将建模速率提升10倍,消费级3D扫描仪Magic Swift在2021高交会大显“身手”
- 四平|智慧城市“奥斯卡”揭晓!祝贺柯桥客户荣获2021世界智慧城市治理大奖
- |南安市司法局“加减乘除” 打造最优法治营商环境
- ASUS|华硕预热ROG Flow Z13:称其是“全球最强悍的游戏平板”