简体   繁体   中英

Understanding Blockchain (Hyperledger Fabric) Concept

For the past few days i am trying to learn blockchain, more specifically in using hyperledger fabric

However, while i am quite familiar building centralized app, i am so new in grasp this whole new concept, and got some question in mind i haven't found answer, yet.

  1. If its decentralized, does the script will run as desktop background process in every machine connected to the.network through inte.net?

Since

  • no way it could be "decentralized" if its hosted on 3rd party server
  • blockchain platform seems could seamlessly write/read local files, which certainly not possible at the case of hosted in 3rd party server
  • existing blockchain application (ie bitcoin) written for desktop (c++)
  1. If it does desktop process, in the case of creating website interface to run the application, do we need API to communicate? And if so, how the API could be made to communicate between all machine in the.network?

  2. Moreover in the case of storing sensitive data like password, since its stored locally in every machine, does it means we will rely only on encryption being used? I assume common AES256 will work? Or need multi layer encryption (as in XMR) to make it harder for people trying to decrypt those sensitive information?

Any input is greatly appreciated. Thank you in advance!

I'll answer your questions for Hyperledger Fabric since that's what you tagged this post for.

  1. Presumably the "script" you mean is chaincode, the blockchain back-end part of the decentralized application. It runs on endorsers (part of Fabric peers), specifically all endorsers that are specified in the endorsement policy and have installed the chaincode. The endorsement policy specifies how many endorsers need to agree for chaincode transactions to go through, ie 3/5. These peers can be hosted by multiple organizations in different places, that's why it's decentralized.

  2. You need to use the Hyperledger Fabric SDK to communicate with your chaincode (get data, send transactions).

  3. Decentralized apps don't really use user-password combo for identity management. Users have public/private keypairs which they need to keep locally. Only if you want to encrypt the private key you'd need a password for the user to decrypt it locally. You use the private key to sign transactions and to authenticate with the network (which determines your access rights, ie user vs admin)

I can recommend the Fabric paper as a learning resource

Also check out the docs , they cover many of your questions

I would recommend first taking a step back and finding out what are the best use cases for Web3 vs Web2. There are a number of projects that seem to have been shoehorned into using Web3 when they could have been created more quickly and efficiently using
Web2 technologies.

Ask yourself these questions before jumping on board the decentralized Web3 bandwagon:

  1. Is an Immutable Ledger the Best Fit for Your Back-end?
  2. Does Your Back-end Work Best as Decentralized Computing?
  3. Do You Need Scalability or High Transaction Volumes?

Only when you understand the problem you are trying to solve, can you determine the best technologies for the job.

To help answer the above questions, you can use the following article as a resource: https://www.scalablepath.com/back-end/choosing-web3-for-software-project

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM