fabric国密改造记录及思路-具体工作(3)

如题所述

第1个回答  2022-07-06
七、msp成员关系服务模块改造

       (1)、fabric的成员身份基于标准的x509证书,秘钥使用的是ECDSA算法,利用PKI体系给每个成员颁发数字证书,通道内只有  相同MSP内的节点才可以通过Gossip协议进行数据分发;

       (2)、国密改造需要把x509证书修改成sm2证书,ECDSA算法修改成sm2算法;

       (3)、修改程序文件列表如下: 

             msp/identities.go

             msp/cert.go

            msp/mspimplsetup.go

            msp/mspimplvalidate.go

           msp/mspimpl.go

八、Orderer节点模块改造

       (1)、orderer节点在fabric架构中处于最核心位置,主要功能是排序打包交易,生成新的区块,然后通过共识算法将数据广播;

       (2)、orderer节点模块的共识模式有,solo单机模式,kafka消息队列模式,etcdraft一致性算法模式,最开始采用的是kafka模式,后边为了减少资源开销切换成etcdraft模式;

       (3)、如果采用kafka模式共识,需要确认kafaka的tls连接是否支持国密算法,再决定是否对kafka的tls做出修改;

       (4)、改程序文件列表如下:

             orderer/common/cluster/comm.go

             orderer/common/cluster/connections.go

             orderer/consensus/kafka/config.go

九、Peer节点模块改造

        (1)、peer可是区块链网络的基石,包含了账本和链码,应用程序或管理员都得通过节点去管理网络的资源;

        (2)、channel对应账本,一个peer节点可以接入到多个channel, 所以一个节点可以有多个账本副本;

        (3)、国密改造中对chaincode和common部分有修改;

        (4)、改程序文件列表如下:

               peer/common/common.go

               peer/common/peerclient.go

               peer/common/ordererclient.go

               peer/chaincode/common.go 

十、vendor目录国密改造

     (1)、修改程序文件列表如下:

                vendor/github.com/Shopify/sarama/config.go

总结:

       到目前为止fabric的国密修改已经完成,修改完毕后通过前面提到的编译方式进行编译,然后进行测试,如有bug再增对性的进行处理,遇到问题和解决问题是比较好的熟悉系统的方式。
相似回答
大家正在搜