Blockchain This Week: Facebook Renames Blockchain Division, Tencent To Invest $70 Bn Into …

Blockchain This Week: Facebook Renames Blockchain Division, Tencent To Invest $70 Bn Into Emerging Technologies & MoreBlockchain This Week: Facebook Renames Blockchain Division, Tencent To Invest $70 Bn Into Emerging Technologies & More
Infocus

Blockchain This Week

Blockchain applications in different industries is the new frontier for startups & enterprises alike. Every week, Inc42 brings the latest developments from the Indian blockchain industry and how its disrupting industries.

This week, Facebook’s blockchain division, Calibra gets revamped. As a measure to distance it from Facebook’s Libra digital currency, the company has renamed the blockchain division and the digital wallet as ‘Novi’ — a combination of the Latin words ‘Novus,’ meaning ‘new,’ and ‘via,’ meaning way.

In a blog post, David Marcus, Facebook’s head of blockchain said that people were confusing Libra and Calibra all the time. “In hindsight, it’s hard to blame them,” he added.

Marcus, in an interview with Bloomberg, said that renaming Facebook’s blockchain division, which is building products to complement the coin, could alleviate some confusion. Further explaining, he said some of the potential users were of the impression that Facebook’s Calibra wallet was the only way to hold or spend the Libra coin.

Also, Chinese tech giant Tencent Holdings recently announced that it will be investing 500 Bn Yuan ($70 Bn) over the next five years in building technology infrastructure in the areas of blockchain, artificial intelligence, cybersecurity, IoT, 5G networks, quantum computing and others.

The Global Blockchain Business Council (GBBC) — a Swiss-based non-profit blockchain industry association — believes that the coronavirus pandemic has highlighted the benefits of blockchain technology. The association said that blockchain technology is not only the next multi-trillion dollar industry, but also a core technology that is in the next wave of innovation across industries, globally.

Blockchain Graph Of The Week:

Global Enterprise Blockchain Market (2017-2025)

According to a market intelligence firm Tractica, the increasing adoption of enterprise blockchain will drive the global market sizefrom $4.6 Bn in 2018 to $20.3 Bn by 2025,

Blockchain News Of The Week:

Fujitsu’s Multiple Blockchains Integration Project Gets Approval By Hyperledger

IT service provider Fujitsu Laboratories and Fujitsu Laboratories of America (FLA) recently announced that its collaborative effort with Accenture has been officially approved as project ‘Hyperledger Cactus,’ by Hyperledger, an open-source collaborative tool created to advance cross-industry blockchain technologies hosted by the Linux Foundation. With this, Fujitsu will utilise the technology to develop an infrastructure software that enables easy development of integrated services in which multiple blockchains work together.

TE-FOOD, GE Aviation’s Digital Group Partners To Create Blockchain Solutions For End-To-End Supply Chain Traceability

Hungary-based Foodtech company TE-FOOD and GE Aviation’s digital group are planning to collaborate to create blockchain solutions in the aviation industry. Through this partnership, TE-FOOD will be providing all components for blockchain-based, end-to-end supply chain traceability implementation across 6K food companies, including Auchan, AEON, Big C. Graincorp, Migros, Vinamilk and Lotte Mart among others.

The new blockchain solution is said to enable aviation OEMs, MRO networks, airlines and lessors to track, monitor, connect and verify documents, events and batches in one decentralised solution.

Thailand Eyes Blockchain Startups To Fuel P2P Trading Of Renewable Energy

Thai Digital Energy Development (TDED) recently announced that it has collaborated with Australia-based blockchain energy startup Power Ledger to develop a blockchain-based digital energy business. With this, the energy startup Power Ledger in collaboration with energy suppliers in Thailand will be developing solutions for peer-to-peer energy trading and environmental commodity trading. The move comes as the nation plans to transition away from fossil fuels and hit a 25% renewable energy target by 2037.

Related:

  • No Related Posts

(IMPACT OF COVID-19) Overview of Blockchain Technology in Construction and Mining Market …

Global Overview of Blockchain Technology in Construction and Mining Market 2020-2027

Global Overview of Blockchain Technology in Construction and Mining Market Global Drivers, Restraints, Opportunities, Trends, and Forecasts up to 2027. Market Over viewing the present digitized world, 80% of the data generated is unstructured. Organizations are using Overview of Blockchain Technology in Construction and Mining technology to unravel the meaning of such data to leverage business strategies and opportunities. A myriad of unstructured data is available online in the form of audio content, visual content and social footprints.

The segmental analysis focuses on revenue and forecast by Type and by Application in terms of revenue and forecast for the period 2020-2027.The Report scope furnishes with vital statistics about the current market status and manufacturers. It analyzes the in-depth business by considering different aspects, direction for companies, and strategy in the industry.

Our new sample is updated which correspond in new report showing impact of COVID-19 on Industry

The Key Players Profiled In the Market Include

Company Coverage (Company Profile, Sales Revenue, Price, Gross Margin, Main Products etc.)

The Key Players | Bitcoin, Ethereum, Hyperledger (a Linux Foundation Collaborative Project), RSK Labs, Consensus Systems (ConsenSys), Project Provenance Ltd/Provenance, Productive Edge LLC, Reply, and Technology Companies Blockchain Platform-Overview

For Better Understanding, Download Sample PDF Copy of Overview of Blockchain Technology in Construction and Mining Market Research Report @

After analyzing the report and all the aspects of the new investment projects, it is assessed the overall research and closure offered. The analysis of each segment in-detailed with various point views; that include the availability of data, facts, and figures, past performance, trends, and way of approaching in the market.The progressive growth in Overview of Blockchain Technology in Construction and Mining Market report also covers the in-depth analysis of the market dynamics, price, and forecast parameters which also include the demand, profit margin, supply and cost for the industry.

Key question and answered in the report include:

What will the market size and the growth rate be in 2027?

What are the key factors driving the Global Overview of Blockchain Technology in Construction and Mining Market?

What are the key market trends impacting the growth of the Global Overview of Blockchain Technology in Construction and Mining Market?

What are the challenges to market growth?

Who are the key North vendors in the Global Overview of Blockchain Technology in Construction and Mining Market?

What are the market opportunities and threats faced by the vendors in the Global Overview of Blockchain Technology in Construction and Mining Market?

This report provides pinpoint analysis for changing competitive dynamics. It offers a forward-looking perspective on different factors driving or limiting market growth. It provides a five-year forecast assessed on the basis of how they progressive growth in Overview of Blockchain Technology in Construction and Mining Market is predicted to grow. It helps in understanding the key product segments and their future and helps in making informed business decisions by having complete insights of market and by making in-depth analysis of market segments.

Reasons to Buy this Report

Gain detailed insights on the Overview of Blockchain Technology in Construction and Mining industry trends

Find complete analysis on the market status

Identify the Overview of Blockchain Technology in Construction and Mining market Counter opportunities and growth segments

Analyze competitive dynamics by evaluating business segments & product portfolios

Facilitate strategy planning and industry dynamics to enhance decision making

The report offers in-depth assessment of the growth and other aspects of the Overview of Blockchain Technology in Construction and Mining market in important countries (regions), including:

North America

Europe

Asia Pacific Counter

Middle East & Africa

Latin America

America Country (United States, Canada)

South America

Asia Country (China, Japan, India, Korea)

Europe Country (Germany, UK, France, Italy)

Other Country (Middle East, Africa, GCC)

Get Complete TOC on this Premium Report, Click Here @

TABLE OF CONTENT

1 Report Overview

2 Global Growth Trends

3 Market Share by Key Players

4 Breakdown Data by Type and Application

5 United States

6 Europe

7 China

8 Japan

9 Southeast Asia

10 India

11 Central & South America

12 International Players Profiles

13 Market Forecast 2020-2027

14 Analysts Viewpoints/Conclusions

15 Appendix

About Author:

Market research is the new buzzword in the market, which helps in understanding the market potential of any product in the market. This helps in understanding the market players and the growth forecast of the products and so the company. This is where market research companies come into the picture. Reports And Markets is not just another company in this domain but is a part of a veteran group called Algoro Research Consultants Pvt. Ltd. It offers premium progressive statistical surveying, market research reports, analysis & forecast data for a wide range of sectors both for the government and private agencies all across the world.

Contact Us:

Sanjay Jain

Manager – Partner Relations & International

https://www.reportsandmarkets.com/

Ph: +1-352-353-0818 (US)

Related:

  • No Related Posts

Sixgill Integrity 2.0 Makes Blockchain Data Integrity Easy and Practical for Enterprise

Integrity 2.0 adds IBM Hyperledger integration for practical adoption and now makes blockchain data integrity available via SaaS

Sixgill, LLC, a leader in data automation and authenticity products and services, announced the release of Integrity 2.0, a powerful data authenticity solution that combines a practical permissioned blockchain with a public blockchain auditor in an industry-first “hybrid-hybrid” implementation that achieves absolute data integrity and veracity.

Integrity 2.0 makes blockchain data integrity easy and practical so organizations can quickly solve the rising need for end-to-end, real-time data authenticity assurance. Organizations will be able to monitor and guarantee the veracity of any data stream (or data in motion), including today’s sensors emitting time-series data in any form – including video data.

Integrity 2.0 offers an unrivaled system of checks and balances to ensure data integrity either within an organization or across a trusted consortium. Organizations gain absolute assurance that the data they create, transmit, process, act on, and store remains unchanged and tamperproof throughout its lifecycle. Now, Sixgill adds a new SaaS version that makes it easier to get started.

Sixgill Integrity 2.0 is built on IBM Hyperledger Fabric, a private blockchain, and uses the public blockchain Bitcoin as an optional trustless, immutable auditor. It can also be customized to the blockchain of a customer’s choice. Integrity 2.0 maintains the on-chain/off-chain scheme originally delivered in version 1.0, which assures the performance required to sheath data in motion and generate any necessary corruption alerts in the unlikely event an Integrity-protected data stream becomes compromised.

“Most people still view blockchain in terms of crypto currencies and not as a data technology for practical enterprise solutions,” says Phil Ressler, CEO of Sixgill. “With Integrity 2.0, Sixgill provides any organization with a real-world, real-time, blockchain data authenticity guarantor that achieves absolute data veracity, now also with a SaaS version for easy entry.

“Our hybrid-hybrid authenticity architecture allows any enterprise to start building data integrity into IoT and IoE automation processes using a well-understood private blockchain, with the option to add public blockchain immutability when the most stringent protections are mandated. This also enables easy generation of immutable audit trails for highly regulated processes or where liability for errors runs high,” says Ressler.

Integrity 2.0 Provides Immediate Real-World Solutions

Integrity ensures that organizations – including their stakeholders, regulators, clients and others – can truly trust their data, particularly for high-stakes data automation applications. Use cases span a wide range of industries and data integrity needs that include:

  • Supply Chain: Immutable data evidence of authenticity of goods origin and permanent traceability to originating data sources, as well as the secure exchange of transaction information, history and compliance details

  • Pharmaceuticals & Healthcare: Permanent auditability, traceability and certainty required for regulatory-grade medical and clinical trial data records. (Intel recently profiled a current healthcare instance of Sixgill Integrity on its insight.tech website, here)

  • FinTech: Unalterable transaction records for permanent audit trails

  • Utilities: Backbone data integrity for widely distributed infrastructures enabling centrally managed, system-wide programmatic actions triggered by device, data, and contextual rules for operating on data truth

  • Insurance: Verified data lifecycle authenticity from smart devices, smart homes, sensor-intensive vehicles, smart buildings, etc. for rate setting and claim settling

  • Video Surveillance: Permanent data immutability and auditability for tamperproof video data streams with configurable alerting to any tampering

SaaS Makes Integrity More Easily Accessible and Scalable

Integrity 2.0 SaaS is a self-serve managed and hosted instance of Integrity with secure multi-tenant support, providing easy accessibility and cost effectiveness. SaaS version benefits also include:

  • Auto-generation of key analytics

  • Capacity for multiple channels allows for different data types and data streams within a single organization

  • Ability to create multiple credentials and invite different users within an organization with different levels of access/permissions that can be changed

  • Ability to set rules that will automatically generate alerts for any type of data compromise

  • Robust API, developer tools and documentation

  • 30-day free trial available

Other Technical Details of Integrity 2.0

Integrity 2.0 stands apart from other data security offerings in that it combines the maximum-integrity properties of distributed ledger technology (DLT) with the speed of a modern distributed data system. This is made possible by Integrity’s unique on-chain/off-chain hybrid-hybrid architecture that marries the immutability of private and public blockchains with an off-chain data layer that preserves real-time performance at scale.

Integrity 2.0 supports the ability to leverage the public blockchain Bitcoin to provide the highest possible level of immutability available in the world. The Bitcoin layer sits on top of the Integrity Hyperledger enterprise solution and achieves levels as close as possible to 100% immutability. Bitcoin’s blockchain is leveraged for its absolute immutability, but Integrity still offers near-real-time performance and high data storage capacity, using its unique hybrid on/off-chain architecture.

Sixgill Integrity 2.0 also provides:

  • End-to-end data lifecycle immutability

  • Permanent and continuous regulatory-grade data auditability

  • A powerful, fully configurable rules engine that can define and trigger actions

  • Full functionality that is data-, device-, and ledger-agnostic

  • A comprehensive dashboard for rules and operations monitoring, with real-time analytics that are auto-generated

  • Automated real-time alerts of any data compromise

  • Complete visibility into who has permissions, what activities they are performing, who has accessed data or added data, etc.

  • Deployment to single tenant private clouds or custom on-premise deployment

  • Ability to handle any data type, including video data

This independent IoT Data Security Market report from Frost & Sullivan, which profiled Sixgill as “a leading provider of IoT data services” may also be of interest.

Contact Sixgill for more information and pricing. See more about Integrity 2.0 here.

About Sixgill

Sixgill provides a full suite of agnostic data automation and authenticity products and services that enable organizations to govern IoE assets. With the Sixgill® product suite, organizations easily acquire, analyze and act on IoE data, including video, at any velocity or scale. Meeting the increasing necessity for end-to-end sensor data management, process automation and analytics for sensor-informed operations, Sixgill offers Sense™ for IoE data enrichment and automation, which includes Sense Vision™ for ML-based camera data intelligence, and Integrity™ for blockchain-based authenticity. HyperLabel™, by Sixgill, is a desktop application for creating, automating, updating, and managing annotated datasets for Machine Learning. To learn more, visit Sixgill.com.

© 2020 Sixgill, LLC. All rights reserved. Trademarks and logos are the property of their respective owners.

View source version on businesswire.com: https://www.businesswire.com/news/home/20200526005187/en/

Contacts

Daniel Kehrer | Sixgill, LLC | dkehrer@sixgill.com

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts

Building a decentralized marketplace using Hyperledger Fabric

In our previous post Can we put our trust in a decentralized marketplace?, we proposed the idea of a decentralized marketplace built using a private blockchain and smart contracts. We detailed the guarantees that it needs to provide to its members and detailed how to implement them using the functionalities provided by a private blockchain. The conclusion was that a private blockchain can provide the required guarantees but that implementing such a solution requires caution.

To further explore this topic, we decided to implement a prototype decentralized marketplace using Hyperledger Fabric. Overall, this project helped us realize that the successful implementation of our envisioned decentralized marketplace requires more than just smart contract development. In this blog post, we list key requirements and provide details regarding the reasoning behind them and how they affected our decentralized marketplace prototype.

At the lower level, the deployment and maintenance of the distributed ledger peers require the commitment of all the participants in terms of resources and manpower, but also competence development. Looking at the smart contracts, they require deep technical and business knowledge to be correctly implemented and administrated. Going further, the ledger participants need to agree on how to deal with the consequences of a smart contract failure. Additionally, the blockchain does not stand in a vacuum – it needs to be integrated with the infrastructure of each participant, generating more costs for them to bear.

At the time of this work, the latest Hyperledger Fabric release was 1.4. As a result, our implementation does not leverage the improvements that were brought in version 2. However, the points discussed here are, to the best of our knowledge, still valid.

Private blockchain platform

Based on the design that was detailed in the previous post, we had a pretty good idea of what we needed to implement using the blockchain. The first step to realize it was to choose which platform to use.

We identified three major blockchain platforms as having all the features we needed to implement our decentralized marketplace: JP Morgan Quorum, R3 Corda and Hyperledger Fabric. We chose Hyperledger Fabric due to its large and active community and because some project members already had some experience working with it.

After deciding on a ledger to use, the next step was to understand its architecture and how to apply it to our use case. This step was critical to make sure that we were getting the properties that we expected from the private ledger. Indeed, an incorrectly deployed private ledger brings no more guarantees than a centralized database.

Looking specifically at Hyperledger Fabric, the system is composed of two types of nodes: peers and orderers. The peers are responsible for hosting the ledger and smart contracts. While the orderers are responsible for ordering the transactions and doing some administrative bookkeeping.

As a user of Hyperledger Fabric, some of the guarantees are only achieved when hosting a peer. Taking smart contract execution as an example, hosting a peer is the only way to be sure that the execution of a smart contract is faithful to its definition. This means that, in most cases, all the organizations participating in the ledger will need to host at least one peer. In addition to increasing their cost, this requires every organization to have a decent competence level in Hyperledger Fabric.

For the orderers, the problem is different. Running an orderer provides its host with the possibility to read the content of all the transactions, as well as influence or even prevent their ordering. As a result, the organizations hosting the orderers must be chosen carefully so as not to weaken the system. Moreover, running an orderer is also another cost that some organizations must pay, for the blockchain to operate.

For our decentralized marketplace use case, because we assume that each organization does not trust any other to properly execute the smart contracts, it means that they all need to host at least one peer. In turn, this implies that they need to have the competences, resources and manpower to do so. These requirements put a high barrier to the entry in the marketplace, making it suitable only for larger organizations. In practice, this limits the scope of our decentralized marketplace to business to business interactions.

Figure 1: Example Hyperledger Fabric Network.

Figure 1: Example Hyperledger Fabric Network.


Smart contracts

Having understood how to deploy the ledger, the next step was to start implementing the business logic. This is the role of the smart contracts, or chaincodes as they are called in Hyperledger Fabric. They ensure that the state of the ledger is only mutated following pre-defined rules. How to specify and agree on these rules is out of the scope of the blockchain. It is codified in the agreement binding the participants. In Hyperledger Fabric, these restrictions regarding the allowed ledger mutations are enforced using the endorsement mechanism. This mechanism ensures that the smart contracts have been independently executed by multiple organizations, and that they agree on the outcome. To do so, the chaincodes are executed by peers from different organizations and the results of the independent executions (called the endorsements) are then collected and bundled before being recorded to the ledger. For the execution to be deemed valid, all the results must be identical, and the set of peers that have performed the execution must fulfill the endorsement policy.

The endorsement policy is defined by the blockchain administrators and dictates what endorsements are needed for a chaincode invocation to be valid. These requirements can target both the number of endorsements needed, as well as the organizations these endorsements must come from. This policy is key in guaranteeing that the chaincodes are executed properly. If the policy is too weak, it makes it possible for a subset of the participants to execute a modified version of the chaincode and still collect enough endorsements for the execution to be deemed valid. As a result, the endorsement policy needs to be strong enough to guarantee the proper execution of the chaincodes. However, it should also avoid involving too many organizations, as this would negatively impact the performance of the ledger. Balancing these constraints requires the administrators to have deep knowledge of both the platform and the business logic.

The previous sections assume the smart contract perfectly encode the business logic. However, it can happen that, due to a bug for instance, the smart contract behavior differs from the expected business logic. In such a case, it is possible that multiple invalid transactions are accepted, before the issue is identified and fixed. Moreover, even after the issue has been fixed, it might not be straightforward to identify all the transactions that have been impacted and all the members that have been wronged. In such a case, it is crucial for the blockchain participants to have a clear agreement regarding how to handle the situation.

If the code is considered the absolute law, the members that have been wronged are at fault for not auditing the code carefully enough and should not be compensated. On the opposite, if the smart contract developer is considered at fault for not following the specification, they should be liable for any damage due to their mistake. Without such an agreement between the participants, the different blockchain members could end up having different opinions regarding what is to be considered the proper “history”, defeating the purpose of the blockchain.

Figure 2: Sequence diagram of a chaincode execution

Figure 2: Sequence diagram of a chaincode execution


System integration

To summarize, based on the considerations discussed above, we designed an architecture allowing us to leverage the benefits from Hyperledger Fabric (similar to the one presented in figure 1) and implemented the smart contracts regulating the exchange in our marketplace (as presented in our previous blog post). The next step was then to deploy our solution in a production environment. In Hyperledger Fabric, it is straightforward to setup a development system; the project provides many examples of how to do so. A production system is however much more complex. It needs to span multiple organizations and integrate into their existing infrastructure. This requires each organization to perform some integration and administration work both internally and in collaboration with the other blockchain members.

Regarding such administrative tasks, one of the issues we faced with Hyperledger Fabric version 1.4 is that they were not fully covered by the existing tools. For some procedures, it is up to the participants to decide and agree on how they should be performed. For instance, the administration of the blockchain often requires sharing data between the different organizations (for instance cryptographic materials, chaincode packages, and so on). How to securely perform such data exchanges is not specified by Hyperledger Fabric and therefore needs to be devised by the participants. Moreover, if manually performing these administrative tasks is fine for smaller systems, it will become necessary to automate them when the number of participants grows.

As for the integration work, this project made us realize that it is not to be underestimated. For a system to be able to interface with the smart contract hosted on the ledger, it needs to interact with a peer. To that effect, Hyperledger Fabric already provides SDKs for the Node.js and Java languages, and they are further working on Python and Go versions. As a result, it is straightforward to perform this integration when using a language supported by the SDKs. However, when dealing with unsupported languages, the implementation can become much more complicated. The solution often relies on an intermediate component, for instance a shared library or a standalone proxy, to perform the interaction with the peer. That intermediate component is typically written using one of the available SDKs and exposes an interface that is easier for the target system to interact with. However, beyond just adding complexity to the implementation, such a component might also introduce vulnerabilities. Indeed, being on the path between the client and the ledger, it is able to alter the data read from the ledger, modify the client transactions or simply impact availability.

For our use case, the functionality that we felt lacked most in Hyperledger Fabric was a way for the end users to interact with the smart contracts from a web browser, similar to what Metamask provides for Ethereum. Without such a component, it is not possible to provide an end-to-end experience for the end user when solely using a web application. The end user has no choice but to trust the server side to handle the blockchain transactions on their behalf. In practice, this requires them to be in the same security domain, forcing each organization to host their own instance of any web application.

Takeaway insights

Looking back, this project made us realize that even though the heart of the marketplace functionality is provided by the smart contracts, a lot of work is required to build the environment needed to execute them.

All the participants need to be actively involved to deploy and maintain the distributed ledger that’s needed by the smart contracts, and to integrate them with the rest of their infrastructure.

As a result, at least for now, properly designing and implementing a solution using Hyperledger Fabric is possible, but it requires a lot of competences and resources from all the participants. However, we believe that, as the ecosystem matures, the Hyperledger projects will continue to improve and be supported by an increasing number of tools. This will help make Hyperledger Fabric easier to work with for the developers, administrators and end users.

Learn more

Read the first blog post of this series: Can we put our trust in a decentralized marketplace?

Find out more about our research into the future of cloud and computing.

Related:

  • No Related Posts