Hyperledger Intro - Reading Assignment


#1

Welcome to the discussion about this reading assignment.

Leave your answers to the questions below in this thread. If you have any questions or you want to discuss something connected to the assignment feel free to do it in this thread as well, but please everything to the topic.

  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
  2. Why are the popular public blockchains not suitable for business use cases?
  3. What programming languages can be used to write smart contracts on Hyperledger Fabric?
  4. What does it mean to have support for “pluggable consensus protocols”?

#3

1.The main Reason behind Permissioned BlockChain inception like Hyperledger is the fact that there is a need to Trace the identity of the Entity who is joining the BlockChain Network.The Anonymous access to the network brings Business but also with uncertainty of exploiting the resources either way. Blockchain platforms like hyperledger specifically keep Membership Service Providers (MSP) to identify the incoming Entities.Hence its always a Consortium in Hyperledger or other permissioned networks like R3Corda.

2.Public blockchains aren’t suitable because Participants Identity isn’t known, for Business use case prime requisites is to identify the ,Business entity.In Public participants are maintains Anonymity hence are not suitable for the Business Motive.

3.Smart Contracts can be programmed in Hyper ledger in GO,Python,Java etc.

  1. Pluggable Consensus indicates the fact that we don’t derive a entirely new Consensus Algorithm, but the platforms offers adaptability to any consensus algorithm BY ITS DESIGN itself.

Please correct if i am away from the actual Context.


#4

Hyperledger Intro – Reading Assignment

1. What started the large interest in permissioned blockchain technologies such as Hyperledger?

Business were interested in the underlying technology of the blockchain, however, many enterprise use cases require performance characteristics that the permissionless blockchain technologies are unable (presently) to deliver.

2. Why are the popular public blockchains not suitable for business use case?

  • Everything is transparent - there is no privacy or confidentiality of data or transactions
  • Networks are permissionless
  • Slower transaction performance and confirmation
  • Open governance

3. What programming languages can be used to write smart contracts on Hyperledger Fabric?

  • Java
  • Go
  • node.js

4. What does it mean to have support for “pluggable consensus protocols”?

Enables the platform to be more effectively customized to fit particular use cases and trust models.


#5
  • Participants must be identified/identifiable
  • Networks need to be permissioned
  • High transaction throughput performance
  • Low latency of transaction confirmation
  • Privacy and confidentiality of transactions and data pertaining to business transactions
  1. Because they lack the abilities in answer 1 above.

  2. Common well used programs such as: NodeJS, Java and Go.

  3. Main program can use easily added modular programs to facilitate customized consensus code to fit specific use cases.


#6
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?

As the popularity of Bitcoin, Ethereum and a few other derivative technologies grew, interest in applying the underlying technology of the blockchain, distributed ledger and distributed application platform to more innovative enterprise use cases also grew.
It was recognised that the permisionless blockchain technologies, such as Bitcoin and Ethereum, were not yet ready to provide a suitable service for enterprise.
Many enterprise use cases require performance characteristics that the permissionless blockchain technologies are unable (presently) to deliver. In addition, in many use cases, the identity of the participants is a hard requirement, such as in the case of financial transactions where Know-Your-Customer (KYC) and Anti-Money Laundering (AML) regulations must be followed. Permissioned blockchains such as Hyperledger Fabric are, currently, more able to fill the enterprise use case**.

**2. Why are the popular public blockchains not suitable for business use cases?

For most business use cases the identity of the participants is a hard requirement, such as in the case of financial transactions where Know-Your-Customer (KYC) and Anti-Money Laundering (AML) regulations must be followed. In addition, for enterprise use, we need to consider the following requirements:

Networks need to be permissioned**
High transaction throughput performance**
Low latency of transaction confirmation**
Privacy and confidentiality of transactions and data pertaining to business transactions.**

  1. *What programming languages can be used to write smart contracts on Hyperledger Fabric?

Existing general purpose programming languages such as Java, Go and node.js can be used.

  1. *What does it mean to have support for “pluggable consensus protocols”?

Pluggable consensus protocols enable the platform to be more effectively customized to fit particular use cases and trust models.


#7
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?

The realization of limitations of public blockchains and a desire to have full control and ownership of blockchain projects/implementations.

  1. Why are the popular public blockchains not suitable for business use cases?

The most well-known platforms to build custom projects, like Ethereum, Cardano etc. are (so far) too slow, or not mature enough in terms of development / testing to be chosen for any enterprise project at this point, though there certainly are very serious projects building on public blockchains.

Keeping track and control of member identities is harder on public blockchains.

Again, there is a desire to retain full control over the physical, running system and the development to choose a proprietary system like Hyperledger.

  1. What programming languages can be used to write smart contracts on Hyperledger Fabric?

Go or Node.js,
(or Java, still under development?)

  1. What does it mean to have support for “pluggable consensus protocols”?

To be able to trade off
higher performance but weaker consensus/consistency
vs. stronger consensus/consistency but lower performance


#8
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
    Interest for blockchain technologies and derivative technologies grew, interest in applying the underlying technology of the blockchain, distributed ledger and distributed application platform to more innovative enterprise use cases also grew. Enterprise business needs can require identity of the participants where Know-Your-Customer (KYC) and Anti-Money Laundering (AML) regulations must be followed

  2. Why are the popular public blockchains not suitable for business use cases?
    Popular public blockchains are not suitable because of regulatory or performance needs. For enterprise use, we need to consider the following requirements:

    Participants must be identified/identifiable
    Networks need to be permissioned
    High transaction throughput performance
    Low latency of transaction confirmation
    Privacy and confidentiality of transactions and data pertaining to business transactions

  3. What programming languages can be used to write smart contracts on Hyperledger Fabric?
    Programming languages such as Java, Go, and nodeJS.

  4. What does it mean to have support for “pluggable consensus protocols”?
    The consensus layer of the blockchain can be defined and implemented by pre-defined packaged downloads. This enables the platform to be more effectively customized to fit a variety of use cases and trust models.


#9

1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
The interest in applying blockchain technology to enterprises who need to know customers identity , high transaction throughput performance, low latency of transaction confirmation and privacy and confidentiality of transactins and data.
2. Why are the popular public blockchaines not suitable for business use cases ?
Mainly because of the anonymous identity of participants and their slowness.
3. What programming languages can be used to write smart contracts on Hyperledger Fabric?
JAVA, Go and Nodejs.
4. What does it mean to have support for “pluggable consensus protocols”?
That means depending to the use case, a customized consensus protocol can be deployed, crash or byzantine fault tolerant consensus protocols for example.


#10
  1. The need to trace identity and performance.
  2. Everything is transparent, don’t have permissions, slower performance
  3. Java, Go, node.js
  4. It means that consensus algo can be changed based on what we are doing.

#11
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
    Participants must be identified/identifiable in regards to AML regulations and KYC procedures.

  2. Why are the popular public blockchains not suitable for business use cases?
    because the identity of the participants is not known

  3. What programming languages can be used to write smart contracts on Hyperledger Fabric?
    Java, Go and Node.js

  4. What does it mean to have support for “pluggable consensus protocols”?
    enable the platform to be more effectively customized to fit particular use cases and trust models


#12

What started the large interest in permissioned blockchain technologies such as Hyperledger?
Its open source yet permissioned based on DLT platform. Established through Linux. The architecture is highly configurable and modular. That gives good oportunities to innovation and individual optimization for the case you are working around. It supports smart contracts that is perfect for a many different types of busines like supply chain, royalty, finance, insurance, healthcare and banking.

Why are the popular public blockchains not suitable for business use cases?
In business, in the most of the cases you must follow laws. Use KYC and AML. The networks has to be permisioned. Be able to trace information and control.

What programming languages can be used to write smart contracts on Hyperledger Fabric?
Java, Go, Node.js

What does it mean to have support for “pluggable consensus protocols”?
High Modularity of ordering Service, membership service provider, peer-to-peer gossip service, chaincode that runs within a container (docker), configured to support many different types of DBMSs. Per application independently configured policy validation and endorsement.


#13

1. What started the large interest in permissioned blockchain technologies such as Hyperledger? They are closed and monitored ecosystem where the access of each participant is well defined and differentiated based on role. They are built for purpose, establishing rules for transaction that align with the needs of an organisation or a consortium of organisations. They are also fast and efficient compared to Public blockchains.
2. Why are the popular public blockchains not suitable for business use case? Too slow and it’s hard to hide sensitive information.
3. What programming languages can be used to write smart contracts on Hyperledger Fabric? Java, NodeJs and Go
4. What does it mean to have support for “pluggable consensus protocols”? They enable the platform to be more effectively customized to fit particular use cases and trust models.


#14
  • What started the large interest in permissioned blockchain technologies such as Hyperledger?
    The concept of distributed ledger technology.

  • Why are the popular public blockchains not suitable for business use cases?
    They lack the performance and security and identity features that are needed in most enterprise use cases.

  • What programming languages can be used to write smart contracts on Hyperledger Fabric?
    Node.js, Go, . … Java (soon)

  • What does it mean to have support for “pluggable consensus protocols”?
    Pluggable consensus protocols let the architects pick the appropriate level of trust that is needed. In some cases, the consenus is merely providing fault tolerance like capabilities. In other cases, the byzantine consensus might be employed, to ensure all nodes agree on the data in the block chain.


#15
  1. My best guess based on the article, would be that Hyperledger addressed some of the needs and desires of a business blockchin right from the start.
  2. Mainly due to lack of control and anonymity issues.
  3. NodeJS, Java and Go, rather than domain-specific languages (DSL).
  4. You can basically ‘shop’ for a protocol you would like to use, as there is no need to enlist epensive mining, this allows for more customizability.

#16

1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
Many enterprise use cases require performance characteristics that the permissionless blockchain technologies are unable (presently) to deliver. One example is that, the identity of the participants is a hard requirement (KYC) and Anti-Money Laundering (AML) regulations must be followed.

2. Why are the popular public blockchains not suitable for business use cases?
Public blockchain lack of the following characteristics:

  • Participants must be identified/identifiable
  • Networks need to be permissioned
  • High transaction throughput performance
  • Low latency of transaction confirmation
  • Privacy and confidentiality of transactions and data pertaining to business transactions

3. What programming languages can be used to write smart contracts on Hyperledger Fabric?
Java, Go, Node.JS

4. What does it mean to have support for “pluggable consensus protocols”?
Customisable modular component for consensus tailored for specific use case. This allows the platform to rely on well-established toolkits for CFT (crash fault-tolerant) or BFT (byzantine fault-tolerant) ordering.


#17
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
    All data is stored in a ledger format using digital certificates. Giving some assurance that the data is as it should be.

In a public blockchain consensus like POW makes altering blocks computationally not probable. Other then the change from CRUD to CR removing update and delete. What stops the root node from being fraudulent on the network? Can the digital certificates infrastructure not be by passed by the same social engineering issues seen with SQL data bases? (I trust bob sally takes Bob password and alters the data.)

  1. Why are the popular public blockchains not suitable for business use cases?
    Data through put limits and unknown customers does not conform to KYC/AML practices.

  2. What programming languages can be used to write smart contracts on Hyperledger Fabric?
    Java, Node JS, GO

  3. What does it mean to have support for “pluggable consensus protocols”?
    The ability to change fault tolerance on the network.

How would one achieve byzantine fault tolerant in Hyperledger Fabric? Also is there industry standard predefined fault tolerances.


#18
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?

As the popularity of Bitcoin, Ethereum and a few other derivative technologies grew, interest in applying the underlying technology of the blockchain, distributed ledger and distributed application platform to more innovative enterprise use cases also grew.

  1. Why are the popular public blockchains not suitable for business use cases?

Many enterprise use cases require performance characteristics that the permissionless blockchain technologies are unable (presently) to deliver For enterprise use, we need to consider the following requirements:

  • Participants must be identified/identifiable
  • Networks need to be permissioned
  • High transaction throughput performance
  • Low latency of transaction confirmation
  • Privacy and confidentiality of transactions and data pertaining to business transactions
  1. What programming languages can be used to write smart contracts on Hyperledger Fabric?

Java, Go and Node.js

  1. What does it mean to have support for “ pluggable consensus protocols”?

Having support for pluggable consensus protocols enables the platform to be more effectively customized to fit particular use cases and trust models. For instance, when deployed within a single enterprise, or operated by a trusted authority, fully byzantine fault tolerant consensus might be considered unnecessary and an excessive drag on performance and throughput. In situations such as that, a crash fault-tolerance (CFT) consensus protocol might be more than adequate whereas, in a multi-party, decentralized use case, a more traditional byzantine fault tolerant (BFT) consensus protocol might be required.


#19

How can I implement a blockchain technology to enhance a Supply Chain company with many branches located in different countries and approximately how much is the cost? And is there any example of any use case project known ?
Thank for your time.


#20

That’s an incredibly difficult question that will need research to find an answer to. Our consultancy company can help you if you are interested. As for an example you can look at Tradelens by IBM and Maersk. They have come pretty far.


#21
  1. What started the large interest in permissioned blockchain technologies such as Hyperledger?
    As the popularity of permissioneless blockchain technologies grew, business interest in using the underlying principles of these technologies grew as well. The distribution of a ledger and distributed applications were what catapulted concepts like Hyperledger.

  2. Why are the popular public blockchains not suitable for business use cases?
    The popular blockchains, like Ethereum, offer major functions, like Smart contracts, that may be useful to businesses. However, the anonimity, lack of permissions, and latency of the system make these technologies unattractive to business owners.

  3. What programming languages can be used to write smart contracts on Hyperledger Fabric?
    Java, Node.js, and many other recognized languages which make it easy for businesses to adopt without having to train developers on new system languges.

  4. What does it mean to have support for “pluggable consensus protocols”?
    Pluggable consensus protocols allow the organizations the ability to customize trust models.