One 、Hyperledger fabric V1.0 framework

1、 Logical architecture :

2、 Blockchain network

3、 Runtime schema

Two 、 Architecture summary

1、 Architecture points

Spin off Peer The function of , take Blockchain Data maintenance and consensus services are separated , Consensus service starts from Peer Completely separated from the nodes , Independence is Orderer Nodes provide consensus services ; Based on the new architecture , Realize multichannel (channel) Structure , More flexible business adaptability is realized ( Business isolation 、 Security and so on ) Support stronger configuration function and policy management function , Further enhance the flexibility and adaptability of the system ;

2、 Architecture goals

1、chaincode The flexibility of trust : Support multiple ordering Service node , Enhance the fault tolerance and confrontation of consensus orderer The ability to do evil    
2、 Extensibility : take endorsement and ordering To separate , Realize multichannel ( It's actually a partition ) structure , Enhance the scalability of the system ; At the same time chaincode perform 、ledger、state Maintenance and other tasks that consume system performance are separated from consensus tasks , The key tasks are guaranteed (ordering) Reliable execution of     
3、 confidentiality : New architecture for chaincode In data update 、 State maintenance and other aspects provide new confidentiality requirements , Improve the business of the system 、 Security capabilities     
4、 Modularization of consensus Services : Support pluggable consensus Architecture , Support access and service implementation of multiple consensus services

3、 Important features 【 Support more chain And many channel】

Multichain chain

So-called chain( chain ) It actually contains Peer node 、 Account book 、ordering The logical structure of the channel , It connects participants with data ( contain chaincode stay ) In isolation , It meets the requirements of different business scenarios ” Different people access different data “ Basic requirements . meanwhile , One peer Nodes can also participate in multiple chain in ( By accessing multiple channel); As shown in the figure below

Multichannel

The channel is a consensus service (ordering) Provides a communication mechanism , Similar to publishing in a messaging system - subscribe (PUB/SUB) Medium topic; Based on this release - Subscribe to the relationship between , take peer and orderer come together , Form a communication link with confidentiality ( fictitious ), Achieve the requirements of business isolation ; Channels are also linked to the ledger (ledger)- state (worldstate) Closely related ; As shown in the figure below :

peer 1,2 and N Subscribe to the red channel , And jointly maintain the red book ; peer 1 and N Subscribe to the blue channel and maintain the blue ledger ; Similarly ,peer 2 and peer N On the black channel and maintain the black ledger .

In this case ,peer N After subscribing to all channels , We see that each channel has a related ledger . Generally speaking , We say it doesn't involve all peer Your account book is a sub account book , The other is the system ledger , That is, the whole account book .

The combination of channel and ledger is a virtual chain , So a blockchain network can have 1 Multiple chains of consensus Services . The system channel and the whole account book constitute the system chain . Each blockchain network has only 1 A chain of systems . If the deal is public , Blockchain networks may never need multiple chains ; All deals for all Peers Members can see . However , Private transactions between members ( For example, bilateral contracts ), The single chain is isolated data 、 Provide a means of confidentiality .

4、 transaction ( data ) Process description

thing

Business process 【 Transaction process 】, as follows :

  1. Application through SDK Send the request Peer node ( One or more )
  2. peer Nodes execute transactions separately ( adopt chaincode), But the results of the implementation are not submitted to the local ledger ( It can be considered as simulation execution , The transaction is suspended ), To participate in endorsement peer Return the execution result to the application ( This includes the signature of the endorsement itself )
  3. Applications Collect endorsement results and submit them to Ordering Service node
  4. Ordering The service node performs the consensus process and generates block, Publish to through message channel Peer node , from peer Each node verifies the transaction and submits it to the local ledger in ( Include state Change of state )

Transaction flow (peer In node )

The execution sequence diagram of the above process is as follows :

5、 Account book

The overall process is shown in the figure below : In the new architecture ,Peer The node is responsible for maintaining the account book of the blockchain (ledger) And status (State), The local ledger is called PeerLedger, Its structure is as follows :

The whole block structure is divided into file system storage Block Structure and database maintenance State state , among state The storage structure of is replaceable , Optional implementations include various KV database (LEVELDB,CouchDB etc. );

3、 ... and 、 The overall account book design details

Four 、1.0 Version plan for version

Obviously Febric V0.6 And V1.0 There are great differences in the structure and process of , stay V0.6 It's hard to develop applications in V1.0 Operation in environment , So let's not bother V0.6, Or from the V1.0 Let's get started !( The official plan )

See address :http://newthink.blog.51cto.com/872263/1897379?utm_source=tuicool&utm_medium=referral

3、 ... and 、 Mainstream blockchain technology features and Hyperledger Fabric V1.0 More articles about the features of the version

  1. 003- Mainstream blockchain technology features and Hyperledger Fabric V1.0 Version features

    One .Hyperledger fabric V1.0 framework 1. Logical architecture : 2. Blockchain network 3. Runtime schema Two . Architecture summary 1. Architecture points Spin off Peer The function of , take Blockchain Data maintenance and consensus services ...

  2. Two 、 Mainstream blockchain technology features and Hyperledger Fabric V0.6 Version features

    One . Characteristics of mainstream blockchain technology Two .HyperLedger subprojects 3、 ... and .Hyperledger fabric framework V0.6 Logical architecture : V0.6 Blockchain network Corresponding 0.6 Version of the runtime architecture : 0.6 The architectural features of this version are : ...

  3. 002- Mainstream blockchain technology features and Hyperledger Fabric V0.6 Version features

    One . Characteristics of mainstream blockchain technology Two .HyperLedger subprojects 3、 ... and .Hyperledger fabric framework V0.6 Logical architecture : V0.6 Blockchain network Corresponding 0.6 Version of the runtime architecture : 0.6 The architectural features of this version are : ...

  4. Ubuntu The structures, Hyperledger Fabric v1.0 Environmental Science

      It started normally after several attempts Fabric, If you encounter all kinds of inexplicable mistakes , Please refer to the following steps to strictly install , Special user rights need to be noted . One . install Ubuntu16 Virtual machine or dual system , Virtual machines have VirtualBox perhaps VMware,Ub ...

  5. Blockchain Hyperledger Fabric v1.0.0 Environment building

    Preface : The recent project involves super books , On the basis of some theoretical knowledge , It's going to take a whole environment . This is a special thing to pay attention to , Before the author according to the network recommendation , Most of them are recommendations ubuntu Systematic , So download it Ubuntu System (16.04.5 and ...

  6. install hyperledger fabric V1.0.1

      Installation document location : https://github.com/hyperledger/fabric   fabric Code hosting address https://hyperledger-fabric.readthedoc ...

  7. install hyperledger fabric V1.0.0-beta

      Installation document location : https://github.com/hyperledger/fabric   fabric Code hosting address https://hyperledger-fabric.readthedoc ...

  8. One 、Bitcoin Bitcoin and BlockChain Blockchain Technology

    One . The history of bitcoin 2008 year 10 month 31 Japan , A net name is Nakamoto ( The English translation comes from ) The guy who released bitcoin's only white paper :<Bitcoin:A Peer-to-PeerElectronic Cash S ...

  9. 001-Bitcoin Bitcoin and BlockChain Blockchain Technology

    One . The history of bitcoin 2008 year 10 month 31 Japan , A net name is Nakamoto ( The English translation comes from ) The guy who released bitcoin's only white paper :<Bitcoin:A Peer-to-PeerElectronic Cash S ...

Random recommendation

  1. Java--&gt; Package and send messages (UDP agreement )

    --> As if UDP No agreement TCP The protocol is so widely used --> UdpSender Class defines a sender ( Courier Services Company ) package com.dragon.java.udpdatagram; ...

  2. For their own git add to alias, Command abbreviation

    In the case of collaborative development , It's usually used git For code management .git There are orders like :git pull . git push wait , These commands can be set alias, That's the abbreviation . Such as :git pull yes git pl, git ...

  3. python Function parameter

    1. Positional arguments 2. Default parameters The point parameter is immutable 3. Variable parameters **args    A list of list Or tuples tuple 4. Key parameters **kw, It's a dictionary dict 5. Named key parameters *,

  4. Kali vmtools

    Reference link :http://www.leavesongs.com/SHARE/kali-vmtools-install.html   Installation environment :kali-1.1.0 ---3.18.0-kali1-amd ...

  5. jsp Medium forward and redirect The difference between

    from http://blog.163.com/tsing_hua/blog/static/139622224201101110836644/ One . Call mode We know , stay servlet Call forwarding in . The redirection of ...

  6. Python Selenium Design patterns -POM

    Preface This article is about python selenium What is needed in the practice of automated testing POM Design patterns to share , So that we can understand POM Characteristics . Have a certain understanding and mastery of application scenarios and core ideas . Why use POM be based on python s ...

  7. HttpWebRequest Easy to use

    HttpWebRequest Easy to use   Abstract HttpWebRequest Class to WebRequest Support for properties and methods defined in , It also enables users to directly use HTTP Additional properties and methods for server interaction . gen ...

  8. day16 Python Functions, nested functions and scopes

    # The scope of a function is only related to the scope defined when the function is declared , It has nothing to do with where the function is called name = 'alex' def foo(): name='linhaifeng' def bar(): #name='wu ...

  9. utilize setInterval Determine whether the user's action stops

    I have a problem recently , For a sustained action , Hope to know when the user will stop this action , for instance We're registered onresize event , To monitor changes in browser windows , In this case , We may have to perform a lot of calculations to determine the window changes ...

  10. Make up the test after class (ch12 Concurrent programming ) 08. Week eight

    About thread graph , The following statement is correct () A . The origin of the graph indicates that no thread completes the initial state of an instruction B . Right up is a legal shift C . Left down is the legal shift D . Diagonals are legal transformations E . The history of a program execution is modeled ...