Aleo系列,前序博客有:
- 欢迎关注Aleo
- 使用Zexe构建Aleo隐私应用——How Zero Knowledge is Rebalancing the Scales of the Internet
- Aleo系列博客——透明的代价
- Aleo系列博客——零知识密码学技术的未来
Aleo为Web3生态系统中的任意隐私、可编程应用提供了核心组件。
2. 零知识技术 zero knowledge technology在日常的网上的活动中,如使用搜索引擎或社交网络,目前的情况是,我们以不可逆转的方式交出了大量不必要的数据,而且没有获得任何回报。
而零知识提供了潜在的解决方案。
零知识技术可:
- prove knowledge without revealing it;
- 且可give precise answers to precise questions
这将有助于加强隐私、增强安全、同时提升效率。
零知识技术可:
- 让消费者为特定应用自主选择所想暴露的信息;
- 可使公司在不泄露商业秘密的情况下签订合作协议;
- 可确保遵守法律法规,而无需繁重的监督。
总之,ZK为我们如何互动和协调打开了一个全新的世界。
Aleo的使命就是帮助开发者来构建真正的隐私应用。 Aleo的基石就是零知识密码学或简称ZK——允许分布式网络的参与方 prove knowledge of some information without revealing the underlying facts that make it true。
3. ZK应用举例ZK实际应用的一个简单例子可为:
- 调酒师验证客人的年龄。
传统的解决方案为:调酒师要求客人出示身份证来验证出生日期,同时验证身份特征与站在他们面前的人是否相匹配。
传统解决方案的问题是:调酒师可看到客人身份证上的其它身份信息,如家庭住址等。 尽管顾客只需要证明他们已达到可饮酒年龄,但实际上他们无意中透露了更多。
借助零知识密码学,客人可证明其已符合饮酒年龄的同时,不泄露任何其他信息。而调酒师可验证其声称已符合饮酒年龄是否正确,甚至不需要知道顾客的具体年龄。
在酒吧的客人在等酒期间,仅需对问题“您是否已到喝酒年龄”回答“yes”即可,而不需要任何无关的个人信息。
零知识密码学技术将创造出以前不可能的商业模式。这些模式及其应用将利用该地层技术提供的新功能——零知识密码学技术所提供的独特的primitives(或基石)。
4. zero knowledge primitives“primitive”是一种编程语言的基本构造块,是一种不可分割成更小组件的原子单元。如果应用到更高的系统级别,primitive也可以被认为是配料,可以通过多种方式组合成不同的配方。它们是新兴技术的首要原则方法,代表了任何解决方案的核心组件,可以组合和迭代以创建新的解决方案。
对于以太坊上的分布式金融(DeFi),一个示例primitve是:a bonding curve,它为Uniswap这样的去中心化交易所提供动力。在新生的Web3隐私空间中,识别有用且唯一的primitives是开发隐私应用过程中关键的第一步。
迄今为止,区块链面临的一大挑战就是协调可编程性和隐私性。 现有的解决要么无法确定优先级,要么为用户提供了一个不平衡的比率。 在以太坊和其它高度可编程的区块链上,交易是公开的,地址/身份都是假名。 而Aleo的零知识primitives提供了一组核心的技术期望——用户和开发人员可为每个隐私、可编程的应用实现相应的期望。
零知识应用的primitives主要有:
- Shielded identities。即身份隐私。就像防火墙一样来保护特定个人或实体的隐私信息。Shielded identities就像基于密码的驾照,可对提问者隐藏所有不想管的信息。Shielded identities允许个人、智能合约、DAOs和企业之间进行交互,而无需透露任何超出确切需要知道的信息。 一个简单的例子为交易所或暗池的KYC流程。与以太坊不同的是,在以太坊中,用户必须以假名透露其整个账户和完整的资产持有情况,而shielded identities 使用户既可以对应用程序进行身份验证,又可以保持完全匿名。
- Shielded transactions。即隐私交易。其首次由Zcash提供。但是,在Aleo中的shielded transactions不仅仅支持资产交易。Aleo中的shielded transactions支持与另一个体或程序的任何形式的交互——除了简单的支付之外,还包括流动性供应(liquidity provisioning)、治理投票、身份验证、分布式通知等等。因为只有交互方知道交易的细节,所以恶意第三方无法了解交互的细节或以任何方式利用。
- shielded identities描述的是个体;
- shielded transactions描述的是个体之间的交互方式;
- 而在Aleo中,所有的off-chain链下操作都是在名为zkCloud的环境中进行的。
zkCloud是Aleo栈中的一个组件,它构成了应用程序更安全、更隐私和更个性化的基础。
5.1 Aleo的zkCloudzkCloud描述了一个点对点、分布式的私有计算模型,其shielded identities可直接(如资产转移)或 通过编程(通过智能合约)进行交互。 通过将这种交互从链上移开,不仅可保证隐私,同时可实现更大的交易吞吐量。
shielded transactions将zkCloud内的一方或多方的交互链接到Aleo区块链上。 这些交易包含这些交互有效的密码学证明。而且,在默认情况下,它们不会透露执行了什么程序,或者谁参与了。 Aleo区块链上存储了这些交易的记录,可以引用这些记录来确定应用程序在特定时间的全局状态。
zkCloud应用程序可在用户本地机器上运行,也可委托给第三方运行。该第三方可代替用户提供相应的证明并提交相应的交易。这使得基于Aleo可构建更广泛的应用程序,并为委托私有计算打开了一扇新的市场之门。
对zkCloud可总结为:
- 是一种新的peer-to-peer、去中心化的私有计算基石,既可在本地运行,也可委托给专门的provers。
- 支持shielded identities之间的可编程交互,这些shielded identites可为用户、组织、DAOs或者其他等等。
- 通过shielded transactions发生的交互,将提供密码学证明来保证特定程序的正确执行。
- 这些交易将提交给Aleo区块链,以更新全局状态,同时将活动锚定在zkCloud上,并提供去中心化和抗审查的数据可用性保证。
Aleo提供了相应的工具来构建真正的隐私应用。
Aleo的核心技术栈已解锁了以上primitives的强大功能,开发者可用于创建真正的分布式隐私应用。
若应用可隐私地、便宜地、可扩展地、且不牺牲编程序的方式执行的话,这才能实现真正的隐私、真正的分布式Web3生态。
参考资料[1] Zero Knowledge Primitives by Aleo