{"id":20275,"date":"2017-01-27T06:38:29","date_gmt":"2017-01-27T14:38:29","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=20275"},"modified":"2018-02-26T23:45:43","modified_gmt":"2018-02-26T20:45:43","slug":"hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/","title":{"rendered":"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store"},"content":{"rendered":"<p>Previously, we have written about the <a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-approaches-version-1-0-with-better-scalability-and-security\/\" target=\"_blank\">changes<\/a> to be introduced in release v1.0 and explored <a href=\"https:\/\/www.altoros.com\/blog\/how-hyperledger-fabric-delivers-security-to-enterprise-blockchain\/\" target=\"_blank\">transactional privacy<\/a> within Hyperledger Fabric v0.6.<\/p>\n<p>At a recent <a href=\"https:\/\/www.meetup.com\/Hyperledger-London\/events\/234852692\/\" target=\"_blank\">meetup<\/a>, IBM&#8217;s Solutions Architect <a href=\"https:\/\/uk.linkedin.com\/in\/anthony-o-dowd-847a5069\" target=\"_blank\">Anthony O&#8217;Dowd<\/a> and VP Global Blockchain <a href=\"https:\/\/uk.linkedin.com\/in\/john-mclean-47001a5b\" target=\"_blank\">John McLean<\/a> provided a detailed overview of what Hyperledger Fabric v1.0 release brings to the table and how it differs from the current version.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-crowd.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-crowd.jpeg\" alt=\"Hyperledger Fabric v1 crowd\" width=\"640\" class=\"aligncenter size-full wp-image-20318\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Issues_to_address_in_Hyperledger_Fabric_v06\" >Issues to address in Hyperledger Fabric v0.6<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Changes_to_introduce_in_Fabric_v10\" >Changes to introduce in Fabric v1.0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#A_sample_transaction_in_Fabric_v10\" >A sample transaction in Fabric v1.0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Enabling_pluggable_world_state\" >Enabling pluggable world state<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Focus_on_transaction_and_identity_privacy\" >Focus on transaction and identity privacy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Next-generation_consensus_protocol\" >Next-generation consensus protocol<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Contributors_are_welcome\" >Contributors are welcome<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Want_details_Watch_the_video\" >Want details? Watch the video!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Related_slides\" >Related slides<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#Related_reading\" >Related reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#About_the_speakers\" >About the speakers<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Issues_to_address_in_Hyperledger_Fabric_v06\"><\/span>Issues to address in Hyperledger Fabric v0.6<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Talking about today&#8217;s Hyperledger Fabric v0.6, Anthony enumerated some of the constraints:<\/p>\n<ul>\n<li style=\"margin-bottom: 10px;\">In a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Byzantine_fault_tolerance#Practical_Byzantine_fault_tolerance\" target=\"_blank\">PBFT<\/a> blockchain network, a smart contract is run on all validating nodes.<\/li>\n<li style=\"margin-bottom: 10px;\">If there is a large number of peers with update transactions being submitted, the network may not scale well.<\/li>\n<\/ul>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/hypeledger-fabric-version-0-6-architecture-v11.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/hypeledger-fabric-version-0-6-architecture-v11.png\" alt=\"hypeledger-fabric-version-0-6-architecture-v11\" width=\"640\" class=\"aligncenter size-full wp-image-20383\" \/><\/a><\/center><\/p>\n<p>He provided an example of a network built around <a href=\"https:\/\/www.gov.uk\/government\/organisations\/driver-and-vehicle-licensing-agency\" target=\"_blank\">Driver and Vehicle Licensing Agency<\/a> (DVLA) in the UK. The thing is that with PBFT, DVLA, all the manufactures, and all the leasing companies have to process every update transaction if they run their own validating nodes.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Fiat-1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Fiat-1.jpg\" alt=\"Hyperledger Fabric v1 Fiat 1\" width=\"640\" class=\"aligncenter size-full wp-image-20307\" \/><\/a><\/center><\/p>\n<p>However, the manufactures and leasing companies may not want their competitors to see details of the transactions made for, as Anthony highlighted, such information (e.g., evidence of discount rates) can be used against the manufacturer. Data encryption may appear as a way out, still majority of businesses would better not execute transactions on competitors&#8217; nodes.<\/p>\n<blockquote><p><em>\u201cEarlier (alpha and beta) versions 0.5 and 0.6 present a very democratic network. Everyone sees a copy of the ledger and transaction committers get to see the smart contracts.\u201d<br \/>\n\u2014Anthony O&#8217;Dowd, IBM<\/em><\/p><\/blockquote>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Fiat-2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Fiat-2.jpg\" alt=\"Hyperledger Fabric v1 Fiat 2\" width=\"640\" class=\"aligncenter size-full wp-image-20308\" \/><\/a><small>Fiat only wants certain parties in the blockchain network to have access to its promo activity.<\/small><\/center><\/p>\n<p>According to Anthony, this entailed the need &#8220;to move from a very homogeneous environment to one in which it&#8217;s defined who can see and do what.\u201d Thus, there should be built \u201ca much more sophisticated network, if you will. Only a certain set of endorser nodes actually hold the state (of a particular transaction). Certain nodes validate certain transactions, just like in the real world. Consensus nodes then finish the transactions.\u201d<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Changes_to_introduce_in_Fabric_v10\"><\/span>Changes to introduce in Fabric v1.0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Drawing the conclusions from that example, the developers of Hyperledger Fabric came up with a list of changes to be implemented in a v1.0 release:<\/p>\n<ul>\n<li>Enable support for broader confidentiality<\/li>\n<li>Scale the number of participants and transaction throughput<\/li>\n<li>Eliminate non-deterministic transactions<\/li>\n<li>Enable pluggable data store<\/li>\n<li>Be able to dynamically upgrade fabric and the chaincode<\/li>\n<li>Remove SPF and enable multiple providers of Membership Services<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Anthony-ODowd-v11.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Anthony-ODowd-v11.png\" alt=\"Hyperledger-Fabric-v1-Anthony-ODowd-v11\" width=\"640\" class=\"aligncenter size-full wp-image-20375\" \/><\/a><\/p>\n<p>Anthony added that \u201cthere are also channels, a bit like a sub-ledgering idea. You can operate on, say, a &#8216;blue&#8217; one and a &#8216;red&#8217; one, in which the traffic and the data can be isolated.\u201d<\/p>\n<p>Meanwhile, as an intermediate deliverable a beta driver of v1.0 is to released on January 31.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"A_sample_transaction_in_Fabric_v10\"><\/span>A sample transaction in Fabric v1.0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Anthony then walked attendees through a typical transaction in the upcoming v1.0 environment.<\/p>\n<p><strong>Phase 1.<\/strong> In the first part of the transaction, a <em>client app<\/em> proposes a transaction for <em>Smart Contract A<\/em> to the <em>endorsing peer E0<\/em>. There is an endorsement policy that needs only E0, E1, and E2 to sign. The other peers are not part of this policy. Note how red and blue sub-ledgers are also present in this example.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-1.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 1\" width=\"640\" class=\"aligncenter size-full wp-image-20309\" \/><\/a><\/p>\n<p><strong>Phase 2.<\/strong> <em>Peer E0<\/em> then endorses the transaction, and optionally anchors it with respect to the ledger state version numbers. An anchor contains all the data read and written by the contract that is to be confirmed by other endorsers.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-2.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 2\" width=\"640\" class=\"aligncenter size-full wp-image-20310\" \/><\/a><\/p>\n<p><strong>Phase 3.<\/strong> The <em>client<\/em> then requests further endorsement from E1 and E2. The client may decide to suggest an anchor obtained from E0 to E1 and E2.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-3.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-3.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 3\" width=\"640\" class=\"aligncenter size-full wp-image-20311\" \/><\/a><\/p>\n<p><strong>Phase 4.<\/strong> The <em>endorsing peers E1<\/em> and <em>E2<\/em> send the endorsement to the <em>client<\/em>.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-4.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-4.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 4\" width=\"640\" class=\"aligncenter size-full wp-image-20312\" \/><\/a><\/p>\n<p><strong>Phase 5.<\/strong> The <em>client<\/em> formats the transaction and broadcasts it to the <em>consensus-service nodes<\/em> for inclusion in the ledger.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-5.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-5.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 5\" width=\"640\" class=\"aligncenter size-full wp-image-20313\" \/><\/a><\/p>\n<p><strong>Phase 6.<\/strong> The <em>consensus service<\/em> delivers the next block in the ledger with the consented transaction. <em>E4<\/em> and <em>E5<\/em> are not on the same channel and therefore do not receive an update.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-6.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-6.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 6\" width=\"640\" class=\"aligncenter size-full wp-image-20314\" \/><\/a><\/p>\n<blockquote><p><em>\u201cThe consent network is just involved in ordering transactions. It&#8217;s just a technical function, and does not execute smart contracts. It just orders the data.\u201d \u2014Anthony O&#8217;Dowd, IBM<\/em><\/p><\/blockquote>\n<p><strong>Phase 7.<\/strong> The peers then validate the block received from the consensus service and update their <em>ledger<\/em> and <em>world state<\/em>.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-7.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Smart-Contract-7.jpg\" alt=\"Hyperledger Fabric v1 Smart Contract 7\" width=\"640\" class=\"aligncenter size-full wp-image-20315\" \/><\/a><br \/>\n&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Enabling_pluggable_world_state\"><\/span>Enabling pluggable world state<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In the current Hyperledger Fabric v0.6, smart contracts store data in the blockchain using a <em>key-value store<\/em> with data managed and persisted by an open-source RocksDB. The underlying persistence store is hidden from a developer by the chaincode APIs: <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">GetState()<\/code> and <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">PutState()<\/code>. At the moment, a <em><a href=\"https:\/\/github.com\/hyperledger\/fabric\/blob\/main\/docs\/protocol-spec.md#322-world-state\" target=\"_blank\">world state<\/a><\/em> is quite restrictive as Anthony gave an example of a limited capability to run complex queries against the stored data.<\/p>\n<p>So, as he outlined when speaking about the changes to come, the underlying storage (world state) should be made pluggable, which would enable Ops to choose the implementation to use. The v1.0 will use Apache CouchDB.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-Pluggable-World-State-v2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-Pluggable-World-State-v2.png\" alt=\"Hyperledger Fabric Pluggable World State v2\" width=\"613\" height=\"360\" class=\"aligncenter size-full wp-image-20401\" \/><\/a><\/p>\n<p>Noting that Hyperledger Fabric is not focused on real-time transactions, Anthony nevertheless pointed out that scalability will be increased by limiting the number of parties, which have access to each transaction.<\/p>\n<p>He said the community is looking at volumes of \u201cthe high hundreds of transactions per second, but it&#8217;s tough to say\u201d because earlier versions are still fully distributed. In any case, upon the v1.0 release, \u201cintegrated volume will depend on how many nodes you have,\u201d while noting that the n-squared issue is present in any system as nodes increase.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Focus_on_transaction_and_identity_privacy\"><\/span>Focus on transaction and identity privacy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>On demonstrating how private ledger access is to work, Anthony scrutinized the three backbones of the transaction and identity privacy:<\/p>\n<ol>\n<li style=\"margin-bottom: 10px;\">Transaction certificates (TCerts)<\/li>\n<ul>\n<li>disposable certificates, typically used once, requested from Transaction CA<\/li>\n<li>A TCert is derived from a long-term identity\u2014an enrollment certificate (ECert)<\/li>\n<li style=\"margin-bottom: 10px;\">Only Transaction CA can link ECert and TCert<\/li>\n<\/ul>\n<li style=\"margin-bottom: 10px;\">Permissioned interactions<\/li>\n<ul>\n<li>A consumer shares a public TCert with a provider<\/li>\n<li>A provider invokes chaincode transactions as usual, but signs with the provider&#8217;s private TCert for authentication and encrypts with provider and consumer TCerts for subsequent access<\/li>\n<li style=\"margin-bottom: 10px;\">Consumers can subsequently access ledger data using a private key<\/li>\n<\/ul>\n<li style=\"margin-bottom: 10px;\">Secure chaincode<\/li>\n<ul>\n<li>Chaincode can also be signed and encrypted to verify and secure contract details<\/li>\n<li>Signing is by a contract owner\/author<\/li>\n<li>Encryption ensures only validators can see and execute transaction chaincode<\/li>\n<\/ul>\n<\/ol>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/hyperledger-fabric-v-1-0-private-ledger-access-v11.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/hyperledger-fabric-v-1-0-private-ledger-access-v11.png\" alt=\"hyperledger-fabric-v-1-0-private-ledger-access-v11\" width=\"640\" class=\"aligncenter size-full wp-image-20388\" \/><\/a><\/center><br \/>\n&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Next-generation_consensus_protocol\"><\/span>Next-generation consensus protocol<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>At the final part of his session, Anthony touched upon the proposed Hyperledger next-generation consensus protocol. Major changes might encompass <em>validation roles<\/em> and introduction of <em>endorsement policies and channels<\/em>. Thus, a validation role might be split into two <em>independent<\/em> roles:<\/p>\n<ul>\n<li style=\"margin-bottom: 10px;\"><strong>Endorsement.<\/strong> On &#8220;signing&#8221; the contract, users endorse a transaction to verify that its content obeys a given smart contract.<\/li>\n<li style=\"margin-bottom: 10px;\"><strong>Consensus.<\/strong> It will be responsible for consenting the inclusion of a verified transaction in the ledger. So, consensus controls the processes within a ledger, making sure that it is consistent.<\/li>\n<\/ul>\n<p>The roles of the nodes in the proposed protocol would be as following:<\/p>\n<ul>\n<li style=\"margin-bottom: 10px;\"><strong>Peer:<\/strong> Commits transactions, maintains a ledger and a state.<\/li>\n<li style=\"margin-bottom: 10px;\"><strong>Endorsing peer:<\/strong> It embodies a specialized role of a peer that receives a transaction proposal for endorsement, granting or denying it.<\/li>\n<li style=\"margin-bottom: 10px;\"><strong>Consensus-Service:<\/strong> Approves the inclusion of transaction blocks into a ledger and communicates with a peer and endorsing peer nodes.<\/li>\n<\/ul>\n<p>The <em>endorsement policies<\/em> are to identify the conditions by which a transaction can be endorsed, thus determining whether a transaction is valid or not. So, a set of such policies would be maintained at a peer level and specified on deployment of the chaincode.<\/p>\n<p>As long as peer broadcast and receive messages from the consensus service via channels, Anthony concluded with the details of a <em>channel<\/em> workflow, noting that it enables partitioning of confidentiality:<\/p>\n<ul>\n<li style=\"margin-bottom: 10px;\">Messages can be partitioned into separate channels.<\/li>\n<li style=\"margin-bottom: 10px;\">Nodes can connect to one or more channels, while channels themselves don&#8217;t have to be connected by all nodes.<\/li>\n<li style=\"margin-bottom: 10px;\">Peers can be connected to a channel via an access control policy.<\/li>\n<li style=\"margin-bottom: 10px;\">The consensus service orders the transactions broadcast to a channel.<\/li>\n<li style=\"margin-bottom: 10px;\">All peers receive transactions in exactly the same order for a channel.<\/li>\n<li style=\"margin-bottom: 10px;\">Transactions are delivered in cryptographically linked blocks.<\/li>\n<li style=\"margin-bottom: 10px;\">Each peer validates the delivered blocks and commits them to the ledger.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Contributors_are_welcome\"><\/span>Contributors are welcome<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In providing an introduction to Anthony&#8217;s presentation, John said IBM&#8217;s interest in open-source blockchain builds upon its work within the Cloud Foundry and Node.js communities, and that \u201cthe best ideas, concepts, design, technical requirements, and input across topic areas come within open-source projects.\u201d<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-John-McLean-v2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-John-McLean-v2.jpg\" alt=\"Hyperledger Fabric v1 John McLean v2\" width=\"640\" class=\"aligncenter size-full wp-image-20372\" \/><\/a><\/p>\n<p>John also noted that 40% of IBM&#8217;s current blockchain clients are not in financial services and that he expects these clients to move more quickly \u201cbecause of lower regulatory control hurdles\u201d facing them.<\/p>\n<p>There are now <a href=\"https:\/\/www.hyperledger.org\/announcements\/2016\/12\/28\/hyperledger-wraps-up-2016-by-welcoming-eight-new-members\" target=\"_blank\">more than 100 members<\/a> of the Hyperledger Project, which was launched in December 2015. John and Anthony urged people to listen in on the weekly <a href=\"https:\/\/wiki.hyperledger.org\/groups\/tsc\/technical-steering-committee\" target=\"_blank\">Technical Steering Committee<\/a> (TSC) calls, and also participate further.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Want_details_Watch_the_video\"><\/span>Want details? Watch the video!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<table width=\"100%\">\n<tbody>\n<tr>\n<td class=\"video-details-td\">\n<div style=\"float: right; width: 45%; padding-left: 15px; font-size: 14px;\">\n<p><strong>Table of contents<\/strong><\/p>\n<ol>\n<li style=\"margin-bottom: 10px;\">The updated roadmap for the Hyperledger Fabric v1.0 (<a href=\"#wistia_wbe853ubj4?time=230\">3&#8217;50&#8221;<\/a>)<\/li>\n<li style=\"margin-bottom: 10px;\">Hyperledger Fabric v1.0 architecture (<a href=\"#wistia_wbe853ubj4?time=555\">9&#8217;15&#8221;<\/a>)<\/li>\n<li style=\"margin-bottom: 10px;\">How will transactions work in Hyperledger Fabric V1.0? (<a href=\"#wistia_wbe853ubj4?time=605\">10&#8217;05&#8221;<\/a>)<\/li>\n<li style=\"margin-bottom: 10px;\">What is the world state of blockchain with Hyperledger Fabric v0.6? (<a href=\"#wistia_wbe853ubj4?time=1140\">19&#8217;00&#8221;<\/a>)<\/li>\n<li style=\"margin-bottom: 10px;\">How will the world state of blockchain change with Hyperledger Fabric v1.0? (<a href=\"#wistia_wbe853ubj4?time=1215\">20&#8217;15&#8221;<\/a>)<\/li>\n<li style=\"margin-bottom: 10px;\">What is next for Hyperledger Fabric v1.0? (<a href=\"#wistia_wbe853ubj4?time=1425\">23&#8217;45&#8221;<\/a>)<\/li>\n<\/ol>\n<\/div>\n<p><script charset=\"ISO-8859-1\" src=\"\/\/fast.wistia.com\/assets\/external\/E-v1.js\" async><\/script><\/p>\n<div class=\"wistia_embed wistia_async_wbe853ubj4\" style=\"height:320px;width:440px\">&nbsp;<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_slides\"><\/span>Related slides<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><center><iframe loading=\"lazy\" src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/aAJlXBKETtRxsZ\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen><\/iframe><\/center><br \/>\n&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_reading\"><\/span>Related reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-approaches-version-1-0-with-better-scalability-and-security\/\">Hyperledger Fabric Approaches v1.0 with Better Scalability and Security<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-industry-use-cases-requirements\/\">Hyperledger Fabric: Industry Use Cases and Requirements<\/a><\/li>\n<\/ul>\n<hr>\n<h3><span class=\"ez-toc-section\" id=\"About_the_speakers\"><\/span>About the speakers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/uk.linkedin.com\/in\/john-mclean-47001a5b\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/John-McLean-VP-Global-Blockchain-Labs-Engagement-IBM-bio.png\" alt=\"John McLean, VP Global Blockchain Labs Engagement, IBM bio\" width=\"150\" height=\"150\" class=\"aligncenter size-full wp-image-13913\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><a href=\"https:\/\/uk.linkedin.com\/in\/john-mclean-47001a5b\">John McLean<\/a> is VP Global Blockchain Labs Engagement and Federal Europe Cloud at IBM. He is a software development executive of 30 years industry experience, having a proven track record of project delivery and execution, with leadership knowledge of large technology organizations, technology trends, and innovation agendas. At IBM, John is responsible for Client Engagement for Blockchain worldwide, explaining IBM strategy and POV, engagement with customer to help clients define use cases and solutions across all industries with the blockchain technology.<\/small><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/uk.linkedin.com\/in\/anthony-o-dowd-847a5069\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/07\/Anthony-ODowd-Solution-Architect-Blockchain-Technologies-IBM-bio.png\" alt=\"Anthony O&#039;Dowd, Solution Architect, Blockchain Technologies, IBM bio\" width=\"150\" height=\"150\" class=\"aligncenter size-full wp-image-15014\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><a href=\"https:\/\/uk.linkedin.com\/in\/anthony-o-dowd-847a5069\">Anthony O&#8217;Dowd<\/a> is a Solution Architect, Blockchain Technologies at IBM. He is helping clients with solution architecture and application design for decentralized ledger systems. Anthony has hands-on design experience with Linux Foundation Open Ledger project and other open-source blockchain technologies.<\/small><\/div>\n<\/div>\n<hr>\n<p><center><\/p>\n<p><small>This post was written by <a href=\"https:\/\/www.altoros.com\/blog\/author\/rstrukhoff\/\">Roger Strukhoff<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/author\/sophie.turol\/\">Sophie Turol<\/a> with assisstance from <a href=\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\">Carlo Gutierrez<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex\/\">Alex Khizhnyak<\/a>.<\/small><\/p>\n<p><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Previously, we have written about the changes to be introduced in release v1.0 and explored transactional privacy within Hyperledger Fabric v0.6.<\/p>\n<p>At a recent meetup, IBM&#8217;s Solutions Architect Anthony O&#8217;Dowd and VP Global Blockchain John McLean provided a detailed overview of what Hyperledger Fabric v1.0 release brings to the table and [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":20402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[672,753],"class_list":["post-20275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news-and-opinion","tag-blockchain","tag-hyperledger"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store | Altoros<\/title>\n<meta name=\"description\" content=\"Scheduled for March 2017, Hyperledger Fabric v1.0 is supposed to eliminate the existing confidentiality constraints, introduce a pluggable data store, and boost scalability. The next-generation consensus protocol is under consideration, too.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store | Altoros\" \/>\n<meta property=\"og:description\" content=\"Previously, we have written about the changes to be introduced in release v1.0 and explored transactional privacy within Hyperledger Fabric v0.6. At a recent meetup, IBM&#8217;s Solutions Architect Anthony O&#8217;Dowd and VP Global Blockchain John McLean provided a detailed overview of what Hyperledger Fabric v1.0 release brings to the table and [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-27T14:38:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-02-26T20:45:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Sophia Turol\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Turol\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/\",\"name\":\"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif\",\"datePublished\":\"2017-01-27T14:38:29+00:00\",\"dateModified\":\"2018-02-26T20:45:43+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e\",\"name\":\"Sophia Turol\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg\",\"caption\":\"Sophia Turol\"},\"description\":\"Sophia Turol is passionate about delivering well-structured articles that cater for picky technical audience. With 3+ years in technical writing and 5+ years in editorship, she enjoys collaboration with developers to create insightful, yet intelligible technical tutorials, overviews, and case studies. Sophie is enthusiastic about deep learning solutions\u2014TensorFlow in particular\u2014and PaaS systems, such as Cloud Foundry.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/sophie-turol\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store | Altoros","description":"Scheduled for March 2017, Hyperledger Fabric v1.0 is supposed to eliminate the existing confidentiality constraints, introduce a pluggable data store, and boost scalability. The next-generation consensus protocol is under consideration, too.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/","og_locale":"en_US","og_type":"article","og_title":"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store | Altoros","og_description":"Previously, we have written about the changes to be introduced in release v1.0 and explored transactional privacy within Hyperledger Fabric v0.6. At a recent meetup, IBM&#8217;s Solutions Architect Anthony O&#8217;Dowd and VP Global Blockchain John McLean provided a detailed overview of what Hyperledger Fabric v1.0 release brings to the table and [...]","og_url":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/","og_site_name":"Altoros","article_published_time":"2017-01-27T14:38:29+00:00","article_modified_time":"2018-02-26T20:45:43+00:00","og_image":[{"width":640,"height":360,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif","type":"image\/gif"}],"author":"Sophia Turol","twitter_misc":{"Written by":"Sophia Turol","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/","url":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/","name":"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif","datePublished":"2017-01-27T14:38:29+00:00","dateModified":"2018-02-26T20:45:43+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Hyperledger-Fabric-v1-Preview-v6.gif","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e","name":"Sophia Turol","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","caption":"Sophia Turol"},"description":"Sophia Turol is passionate about delivering well-structured articles that cater for picky technical audience. With 3+ years in technical writing and 5+ years in editorship, she enjoys collaboration with developers to create insightful, yet intelligible technical tutorials, overviews, and case studies. Sophie is enthusiastic about deep learning solutions\u2014TensorFlow in particular\u2014and PaaS systems, such as Cloud Foundry.","url":"https:\/\/www.altoros.com\/blog\/author\/sophie-turol\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/20275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=20275"}],"version-history":[{"count":70,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/20275\/revisions"}],"predecessor-version":[{"id":29578,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/20275\/revisions\/29578"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/20402"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=20275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=20275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=20275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}