Protokit 是什么?

  • King
  • 更新于 2024-12-14 11:13
  • 阅读 236

什么是Protokit?Protokit是一个用于构建启用隐私的应用程序链(又名zk-roll-apps/zk-rollups)的框架。使开发人员能够以最小的学习曲线构建零知识隐私保护应用程序。该框架本身由O1JS,用于构建zkApps的SDK。得益于O1JS,所有使用Pro

什么是Protokit? 

Protokit 是一个用于构建启用隐私的应用程序链(又名 zk-roll-apps / zk-rollups)的框架。使开发人员能够以最小的学习曲线构建零知识隐私保护应用程序。

该框架本身由O1JS,用于构建 zkApps 的 SDK。得益于 O1JS,所有使用 Protokit 构建的应用程序在设计上都与 Mina 区块链兼容 - 并且可以使用 Mina L1 进行结算。因此利用Layer-1共识的共享安全性。

此外,所有用 Protokit 编写的代码都是可证明的,这意味着事务执行和区块生成会产生可由 L1(或任何人)验证的 zk 证明。

什么是 rollup?

Rollup 是一种形式L2扩展解决方案,源自以太坊等流行网络。 L2 解决方案旨在通过将交易转移到链下来解决 L1 网络的可扩展性问题,同时仍然保持 L1 网络的安全保证。

Optimistic 与 zk-rollups

Rollup 主要有两种类型,Optimistic Rollup 和 ZK Rollup。Optimistic Rollup 是最流行的Rollup形式,被诸如Optimism。Optimistic Rollup 依靠欺诈证明来确保交易的有效性。欺诈证明是一种允许用户质疑无效交易的机制。

另一方面,Zk-rollups 依靠零知识证明来确保交易的有效性。零知识证明是一种密码学机制,允许用户在不泄露交易本身任何信息的情况下证明交易的有效性。

使用 Protokit 构建的应用程序是 zk-rollups,这要归功于底层的 O1JS SDK。

什么是应用链?

应用程序链是一种特定于应用程序的 Rollup 形式,与通用 Rollup 不同 zkSync or  或者 Scroll。应用程序特定的 Rollup 允许开发人员优化其 Rollup 实现以满足其应用程序的需求,提供更好的用户体验(例如更快的块时间)并且可能比通用 Rollup 更低的费用。

MINA 上的应用

智能合约

Mina 区块链 L1 的设计考虑到了可扩展性,将智能合约交易执行移至链下。智能合约 使用 O1JS 构建为零知识电路,并在客户端(例如在浏览器中)执行。当在 Mina 区块链上产生区块时,区块生产者不必执行智能合约代码,而只需验证智能合约执行的零知识证明的有效性。

这种方法可以降低节点运营商的硬件要求,理论上可以提高交易吞吐量/可扩展性。这种方法确实给开发人员带来了一些新的挑战,其中并行交易的客户端彼此不了解,从而遇到潜在的竞争条件场景。

Rollups

Rollups 通过将执行从客户端移动到服务器/定序器端来缓解潜在的竞争条件场景。 Protokit 提供了一种混合执行模型,借助递归零知识证明,代码可以在链上和链下运行。这种方法使我们能够保留智能合约的功能,同时通过顺序执行的功能来扩展它们。

Mina 的智能合约提供了某些内置原语,用于实现 Rollup 和解决固有的竞争条件,例如 Actions & Reducers。然而,使用普通 O1JS 减速器实现和操作 zk-rollup 的工作量随着应用程序的复杂性呈指数级增长。 Protokit 旨在抽象化构建 zk-rollup 的复杂性,并允许开发人员专注于构建他们的应用程序。

得益于 Protokit 的模块化架构,您很快就能够使用操作和底层序列状态作为使用 Protokit 构建的应用程序的内存池。

问题是,我们如何在智能合约和 Rollup 之间划清界限? Protokit 之于 Rollups,就像 O1JS 之于智能合约 —— 一个 SDK。

广告分界线

Mina Protocol 与 OpenBuild 携手推出免费的 Web3 开发课程,旨在助力开发者从零开始学习如何在 Mina Protocol 上构建 Web3 应用。即便你之前没有接触过 Web3 技术,只要拥有一定的前端基础,就能顺利掌握开发 Web3 应用的核心技能。该课程不仅能有效提升你的开发能力,还有丰厚的奖学金等你来拿。通过这门课程,你将深入了解 Web3 生态,开启全新的职业发展之路。更多课程信息请点击这里报名学习。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
King
King
0x56af...a0dd
擅长Rust/Solidity/FunC/Move开发