Welcome to the new Linux Foundation Forum!

Role of Orderer Node(s)

I just completed this course and I have read through the official documentation several times. However, I am still a bit confused about the role of the orderer node(s). Even so after reading this article: https://developer.ibm.com/articles/blockchain-hyperledger-fabric-ordering-decentralization/

Here are some of my questions:

  • Will the orderer node see the content of transactions/smart contracts?
  • If yes above, is not this a problem when organizations do create private channels and they do not control the orderer node?
  • Why is the orderer node a centralized part of the architecture? Particularly before Raft came as an option.
  • If there is a network with A, B, C and D. A is the network orderer. If so party C & D create a private channel, what is node As part in that?

Also, are there any examples which, from a technical point, show Hyperledger Fabric implemented? Would be very pedagogic to see a real life example, particularly related to my questions above.

Thanks for all reply!


  • mespejo84mespejo84 Posts: 2

    Hi, I'm passing through looking for any news about updates for this course and I saw you comment. As per my understanding, the short answer for your first question is Yes, the orderer receives the transaction proposal and the endorsements. But, is not able to see the smart contracts itself as is not required for an orderer node to run it, it only validates endorsements and package the transaction proposal (at this point is only a write-read set.
    About your second question, I think (my very personal opinion) that as the orderer node has to be added explicitly to the channel, the organizations needs to know and trust (at least partially) in the organization that provides the ordering node. If there is any concerns about it and privacy needs to go beyond, in latest versions of Fabric they could and should use Private data collections for an extra layer of privacy.
    For third question, I think is about performance, my personal opinion is that they had to sacrifice decentralization over performance. If you see another blockchain implementations like bitcoin or ethereum, where all nodes needs to perform validation, ordering, run smart contracts and so on, performance is a big issue.
    I don't get your fourth question.
    Hopely if I am wrong in something, someone else will enter to discussion and explain to us this, as those are great questions.
    I am also looking for learning resources that go deeper in the Fabric development but unfortunately I didn't find too much.


Sign In or Register to comment.