项目小记 - Agzs/geth-pbft-study GitHub Wiki

1、p2p信道加密

ECDHE密钥协商

2、blockchainId

人为指定,root -> current 的路径

3、addPeer添加 授权准入?

必须networkId、blockchainId、genesis(**.json文件)全部相同,且知道对方的enode,才能添加对方到自己的peer数组中,实现连接

4、区块链的共识问题

同一个区块链运行同一共识,不同区块链间可运行不同的共识算法,前提得设置节点编号,方便header上传

5、第n个块的header上传

  • 作为交易的一部分,上传
  • 直接上传header,然后上层保存;上层block新增成员变量subLayerHeader,用于保存。

merkle树优化,提高性能

6、如何从下向上验证?

7、账户问题

不在同一区块链系统内的账户,只要地址合法,转账时都会在各自的区块链添加一个新账户

比如,1223号链的账户A,向1112号链的账户B转账10,在1223号链中执行交易,则会在1223号链中创建一个新的账户B,A-10, B+10;而在1112号链中B无变化

A的钱怎么减少,B的钱怎么增加,且整个层次式系统总额守恒

目前能想到的解决方法:

  • 交易产生后,不在本区块链内处理,转交上层处理
  • 使用哈希锁定,等价交易

8、隐私保护

lightchain、交易仅当前账户可见、其他账户不可见

9、其他

  • 前端 ethstats
  • IPFS
  • 智能合约