Warm tip: This article is reproduced from serverfault.com, please click

How is hyperledger fabric security?

发布于 2020-12-16 15:30:45

for a project of mine i wanted to know exactly how hyperledger fabric works exactly.

There is no shortage of documentation on how you can use this technology, I am really glad for developpers around there but i'm not a developper, I have to understand exactly what kind of algorithm are used in order to justify if we consider this technology safe or not. I obviously already know that it's probably safe, but it's not really enough for me to know that.

And while doc regarding usages and all are easy to find, finding doc on how it works in the background, and what kind of algorithm are used, is harder.

Nothing is stated regarding cryptographic algorithm in the official github documentation, as far as i know, and the only tiny bit of crypto that i found was on actual code from github, the internal part. I can more or less search what I want there, but I'm really in need of a technical documentation that i can quote and I just don't find it.

If you have some links to a technical doc, please let me know, in short what i search :

  • Details on blockchain storage

  • Cryptography behind hyperledger fabric, what kind of hash fonction it use ?

  • Exactly what forms have data in the blockchain, what format ?

I'm here if I weren't clear about what i need. Not a native english speaker so if I wrote some mistake I hope it was bearable

Edit : now that i have more or less my solution, i'll share one more helpful link related to the documentation that i found, who talk about how tls is used with fabric.

Questioner
Zartant
Viewed
0
yacovm 2020-12-17 07:31:27

Perhaps to get an overall high level picture you can read the paper.

Nothing is stated regarding cryptographic algorithm in the official github documentation,

  • Fabric uses TLS 1.2/1.3 to secure and authenticate nodes in the network level. Both ECDSA and RSA TLS certificates are supported.
  • Fabric uses ECDSA for all signatures of clients and nodes, with the NIST curve P-256.
  • Fabric authenticates clients and nodes with x509 based PKI, unless you configure it to use the exotic bleeding edge identity mixer.
  • Fabric uses only SHA256 as a collision resistant hash function.
  • Fabric supports HSM based signing.
  • Blocks made up from headers, metadata, and transactions, where most fields are protobuf encoded but a small part is ASN1 encoded.

as far as i know, and the only tiny bit of crypto that i found was on actual code from github, the internal part.

Take a look at BCCSP (BlockChain Crypto Service Provider) ;-)

and what kind of algorithm are used, is harder.

The official Fabric currently only supports crash fault tolerant consensus algorithm for its blockchain, so it assumes ordering nodes are not malicious, and specifically, do not fork the blockchain.

There are some unofficial efforts to build a Byzantine Fault Tolerant fork of Fabric such as this.