govm
govm:golang virtual machine。 这是我自己实现的一个基于分片的区块链。
特点
- 可以无限扩展分片(牺牲一些去中心化,增强扩展性)
- 可以直接使用golang写智能合约
- 所有的智能合约都要求开源(所有合约都是源码,节点本地校验/编译)
- 限制只能import系统合约或链上其他的智能合约,从而做到屏蔽网络
新功能
- 基于cosmos sdk?
- 支持webauthn
- 多分片(多链并行)
- 父子分片可以直接跨链交互
- 其他分片之间可以通过逐层传递,从而实现跨分片交互,100%可靠但效率低
- 通过cosmos ibc跨链协议,快速在分片之间传递消息,依赖于relayer
- 防止重复签名/投票
- eddsa
- 签名中的随机数强制要求通过bip32,可以预测,它跟分片ID和分片高度强相关(参考babylon)
- 奖励:连续性奖励,非连续性 ,奖励减半,最低奖励只有1;连续则可以达到最大128(参考solana)
- 共识
- 主链DPos+分片POA(default)
- 主链DPos+分片Pos
- 主链POW+分片POA
相关技术
- cosmos sdk
- globalfee
- Vote Extensions
- 用于投票决定父/子分片的区块信息,放到临时db里
- 处理区块的时候,将相邻分片的区块信息写入当前链的db里
- 更多细节
- more 2
- Vote Extensions Tutorials
- oracle案例
- webauthn
- secure-payment-confirmation
- 自定义transaction: cosmos-sdk:x/tx/signing/directaux/direct_aux.go
- EVMOS
- EVM兼容
- geth: backends.NewSimulatedBackend
- accounts/abi/bind/backends/simulated.go
- evmos