加密算法
大约 2 分钟
加密算法
DeeLMind 提示
WEB3.0加密算法
零知识证明(Zero-Knowledge Proof,简称 ZKP)
保密性: 证明过程中不泄露关键信息,证明者仅向验证者展示所需的证据,而非详细信息。
有效性: 验证者可以使用证明验证断言的真实性,确保证明者提供的证据是有效的。
不可伪造性: 除非证明者拥有相关的真实信息,否则无法伪造出有效的零知识证明。
类型
- zk-SNARKs
特点:证明简洁、验证快速、适合实际应用,但通常需要可信设置。
原理:基于算术电路和多项式承诺,通过生成和验证一系列多项式约束来实现零知识证明。
- zk-STARKs
特点:无需可信设置、透明且可扩展,但证明大小和验证时间通常较大。
原理:基于多项式交互证明,通过使用随机化和多项式约束来确保零知识性和可靠性。
拜占庭算法
拜占庭容错算法(Byzantine Fault Tolerance,BFT)旨在解决这个问题,确保系统在存在恶意节点或错误节点的情况下仍能达成一致。常见的拜占庭容错算法有PBFT(Practical Byzantine Fault Tolerance)、Tendermint和Algorand等。
数据结构
区块链使用特殊的数据结构来存储和验证数据。
随机数生成
数据分片
数据分片用于提高区块链的扩展性。