一、什么零知识证明(Zero—Knowledge Proof)
零知识证明(Zero—Knowledge Proof)是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。
二、技术架构
1、数据层
创世区块
数据头的哈希可认为整个区块的哈希
数据全备份(健壮性):共识算法简单肯定快,
1、共识算法
2、慢是因为数据同步通信和
2、网络层
p2p的协议,同时上传和下载。保证网络快
3、共识层
写入区块链区块数据的规则。
4、激励层
挖矿
Tx交易费
5、合约层
btc 脚本--图灵非完备
eth 智能合约--图灵完备
越简单越坚挺。
6、应用层
区块链浏览器
DAPP
区块链钱包
三、开发
1、底层
go c/c++ java python
2、应用层
js(node js) java go python
3、ethereum
solidity evm
4、工具
docker idea
Unbuntu16.04