Add BDLS research findings and refactor notes #25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This document presents a detailed technical analysis and refactor plan for integrating BDLS (Blockchain DLS) consensus into the Hyperledger Fabric framework using Fabric’s native gRPC-based Cluster Service instead of the current raw TCP transport.
It summarizes the architectural differences, missing integrations, and the steps required to align BDLS with Fabric’s production-ready communication infrastructure.
Key Findings
agent-tcptransport that bypasses Fabric’scluster.RPCandAuthCommMgrinfrastructure.PeerInterfacetightly couples the consensus logic with network-level code, blocking clean integration with Fabric’s cluster service.Proposed Refactor
Remove Custom TCP Agent:
Eliminate
agent.TCPAgentand related networking logic fromchain.go.Adopt Fabric gRPC Transport:
Use Fabric’s
cluster.Communicatorandcluster.RPCfor inter-node messaging (SendConsensus).Implement Fabric-Compatible Egress/Ingress:
Egress.SendConsensus.ClusterServicefor inbound messages (Ingress.OnConsensus).Modify BDLS Core:
Replace
PeerInterfacewith a transport-agnosticTransmitterinterface for ID-based message delivery.Integrate Secure Auth:
Leverage Fabric’s
AuthCommMgrfor authenticated, TLS-bound gRPC channels.