它是一个为快捷、隐私和安全应用发展而设计的领域特定语言(DSL)。经过多年对后量子零知识密码的深入研究,我们为开发者创造了Keelung,帮助他们在没有专业密码学技能的背景下也能创建安全、可信的后量子零知识证明。Keelung以及它的编译器被安装在Haskell上,有了Haskell的保护,开发者可以编写高级的零知识证明,同时运用到haskell成熟的生态环境和工具作业。
和其他ZKDSL相比,Keelung具备几项显著的特点:首先,它支持移动证明和零知识证明的创建,允许zkApps在资源受限的设备上运行。其次,Keelung同时拥有前量子和后量子密码原语和验证系统的资源库,为开发者提供了长期安全性和灵活性的保障。第三,Keelung被设计为开发者友好,即使非专家也能掌握,这得益于它更高等级的抽象和Haskell的嵌入式支持。最后,Keelung将于近期提供紧耦合硬件加速,这将为开发者带来更快速,更有效的零知识证明创建体验。零知识程序发展遇到的问题零知识程序还处在发展初期,工具生态不够成熟。以下是我们对于发展生态的一些观察。
缺乏表达性
开发者要克服多数语言的低级抽象性,这需要他们有足够的经验来避免常见的错误。在低级语言中,开发者需要将他们的商业逻辑变成电平逻辑电路-这并不容易。推动开发者转为新的思考模式使得零知识程序发展变得困难和触不可及。我们想改变这一点。
前量子验证系统
许多团队了解零知识但是少数思考过它的验证系统的长远安全性。大多数其他语言针对的是前量子验证系统,他们的零知识证明容易受到量子计算机的攻击。这无异于将“零”从零知识移除。在向后量子加密的迁移过程中零知识程序不应该被忽略。
没有效率的编译程序
一旦商业逻辑从经典程序转换到零知识友好的模式,你需要编译电路直至必要的源语来的产生证明。这个过程并非无关紧要但是需要大量的向量计算。
Keelung是如何解决这些问题的?更高级的抽象
Keelung通过内置Haskell来避免速度和抽象之间的博弈。有了Haskell的保护,开发者可以编写高级的零知识证明,同时运用到了Haskell成熟的生态环境和工具作业。
灵活的零知识证明
Keelung的模块化设计允许开发者很容易得将零知识证明从前量子升级到后量子。几个模块证明系统(前-和后量子)同时运用以便你的电路可以即插即用。
跨链的相容性
Keelung赋予你灵活得改变证明验证的目标环境。你可以使用Keelung来部署在任何区块链环境下能运行零知识证明验证的程序。
快速的编译
Keelung能够超级快速的产生零知识证明。我们利用Haskell的抽象能力来加速后量子加密的编译源语。这是通过减少每个电路相关的限制数量实现的,这大幅减少了编译时间需要的多量计算。
评论