- MD 5:它产生一个128位哈希。在~2 ^ 21哈希后,防碰撞机制被打破。
- SHA 1:生成一个160位哈希。经过2 ^ 61次哈希后,防碰撞机制被打破。
- SHA 256:产生一个256位哈希。这是目前比特币正在使用的。
- Keccak-256:产生256位哈希,目前由Ethereum使用。
- RIPEMD-160:产生160个输出,由比特币脚本(和SHA-256)使用。
- CryptoNight:Monero使用的哈希函数。
PBFT 主要分三个阶段:
pre-prepare prepare commit
1. Request:请求端C发送请求到任意一节点,这里是0
2. Pre-Prepare:服务端0收到C的请求后进行广播,扩散至123
3. Prepare:123,收到后记录并再次广播,1->023,2->013,3因为宕机无法广播
4. Commit:0123节点在Prepare阶段,若收到超过一定数量的相同请求,则进入Commit阶段,广播Commit请求
5.Reply:0123节点在Commit阶段,若收到超过一定数量的相同请求,则对C进行反馈
1 fabirc -tools - -client-org-demo
fabric-peers - -peer-org-demo
fabric-orders --order-org-demo
fabric-couchdb
fabric-zookeeper
fabric-kafka
http://www.netkiller.cn/journal/hyperledger.cluster.html 集群搭建
准备证书
一种用cryptogen
命令生成
/cryptogen generate --config=crypto-config.yaml --output ./certs
根据 yaml 文件配置生成相应的 ca msp orderts tlsca users
每个组织都要有一个Admin用户,每个组件(peer/orderer)也需要一个账号;
启动fabric网络需要一些必须得制品:
msp 通道配置交易 创世块 背书策略
chaincodes 文件 channel-artifacts 文件 crypto-config 文件 policies文件