WO2018223214A1 - A permissioned blockchain development system based on open blockchain connector (obcc) - Google Patents

A permissioned blockchain development system based on open blockchain connector (obcc) Download PDF

Info

Publication number
WO2018223214A1
WO2018223214A1 PCT/CA2018/000111 CA2018000111W WO2018223214A1 WO 2018223214 A1 WO2018223214 A1 WO 2018223214A1 CA 2018000111 W CA2018000111 W CA 2018000111W WO 2018223214 A1 WO2018223214 A1 WO 2018223214A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
function
obcc
module
server
Prior art date
Application number
PCT/CA2018/000111
Other languages
French (fr)
Inventor
Enyan DENG
Original Assignee
Zeu Crypto Networks Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zeu Crypto Networks Inc. filed Critical Zeu Crypto Networks Inc.
Publication of WO2018223214A1 publication Critical patent/WO2018223214A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present invention relates to a blockchain technology, in particular to a permissioned blockchain development system based on Open Blockchain Connector (OBCC).
  • OBCC Open Blockchain Connector
  • Blockchain is a distributed database system involving nodes. It can also be understood as Distributed Ledger Technology, which is jointly maintained by multiple nodes. It can be characterized as highly tamper-resistant, difficult to forge or counterfeit, and traceable. Blockchain records all transactions that have ever occurred on the blockchain. The process is efficient and transparent, data is kept secure. Blockchain technology can be applied in situations that demand a fair and unbiased system without the need for a central authority.
  • a permissioned blockchain is a kind of blockchain where only authorized nodes can participate in voting, accounting and block building. Permissioned blockchain do not require mining, which leads to lower transaction costs and more efficient storage. As existing permissioned blockchains are generally only suitable for a specific application, or a specific type of data storage, different businesses need to develop different permissioned blockchains to address specific data storage requirements. This leads to a longer development cycles for new permissioned blockchains, as the underlying process flow for blockchains is not reused but recreated. There are many ways building a permissioned blockchain. For example, the journal article by L. Lamport, S. Shostak and M. Pease, The Byzantine Generals Problem, J. ACM Trans. Programming Languages and Systems, 1982, 4 (3): 382-401 discusses methods of building permissioned blockchains.
  • a permissioned blockchain development system based on Open Blockchain Connector.
  • the system includes a user internet protocol (IP) configuration module, adapted to set up a connection to a blockchain server for a blockchain comprising a plurality of nodes, and to configure an IP address for the blockchain server; a communication module providing communication between an OBCC client and the blockchain server, to permit a user of the OBCC client to invoke the plurality functions; a call request module, for use by the OBCC client to send a call request to the blockchain server; and a service invoking module, for use by a server agent to broadcast the request to each of the plurality of nodes, and for providing a respective invoking interface for each of the plurality functions.
  • IP internet protocol
  • a method of creating a permissioned blockchain using a blockchain development system based on Open Blockchain Connector (OBCC).
  • the system comprising: a user internet protocol (IP) configuration module, a communication module, a call request module, and a service invoking module.
  • IP internet protocol
  • the method includes using the user internet protocol (IP) configuration module, to set up an OBCC connection to a blockchain server for a blockchain comprising a plurality of nodes, and to configure an IP address for the blockchain server; using the communication module to provide communication between an OBCC client and the blockchain server; using call request module to send a call request to the blockchain server; and using the service invoking module to broadcast the request to each of the plurality of nodes.
  • IP internet protocol
  • FIG. 1 is a schematic diagram of a system of blockchains and related applications, deploying and utilizing OBCC;
  • FIG. 2 is a layered architectural diagram for OBCC
  • FIG. 3 is an exemplary state transition diagram for a system utilizing the OBCC, in one exemplary embodiment.
  • FIG. 4 is a simplified a schematic diagram depicting components of an OBCC-based permissioned blockchain development system.
  • Embodiments utilize the open blockchain connector (OBCC), which is a blockchain application programming interface (API) standard jointly designed by Beijing University of Aeronautics and Astronautics, Peking University and Tsinghua University.
  • OBCC open blockchain connector
  • API application programming interface
  • compositions, use, or method are inclusive or open-ended and do not exclude additional, un-recited elements and/or method steps.
  • the term “consisting of when used herein in connection with a composition, use, or method excludes the presence of additional elements and/or method steps.
  • a "blockchain” is a tamper-evident, shared digital ledger that records transactions in a public or private peer-to-peer network of computing devices.
  • the ledger is maintained as a growing sequential chain of cryptographic hash-linked blocks.
  • a “node” is a device on a blockchain network.
  • the device is typically be a computer having a processor interconnected to a processor readable medium including memory, having processor readable instructions thereon.
  • Embodiments of the present disclosure include a permissioned blockchain development system, based on OBCC which provides a toolkit that a user or developer can import into his or her software project and use the functions of the blockchain in a manner similar to calling local functions or methods.
  • OBCC a permissioned blockchain development system
  • the OBCC client agent sends the call request to the server on the blockchain.
  • the server agent is responsible for broadcasting the request to blockchain nodes for processing, and finally storing the result on the blockchain or returning the queried information.
  • the permissioned blockchain development system is based on a unified application programming interface (API).
  • the API is easy to use and enables applications to use the blockchain to store and query data.
  • the OBCC-based permissioned blockchain development system can quickly create and use a new permissioned blockchain with simple code and configuration. This greatly reduces the development cycle of the permissioned blockchain application.
  • a permissioned blockchain system based open blockchain connector (OBCC) API includes a User IP Configuration Module, a Communication Module, a Call Request Module and a Service Invoking Module.
  • the User IP Configuration Module is for users to set up an OBCC connection based on a package file format called jar provided by OBCC and configure the internet protocol (IP) address of the server on the blockchain.
  • IP internet protocol
  • the Communication Module is used by the user to invoke the function provided by the jar package, the OBCC client communicates with the server on the blockchain.
  • the Service Invoking Module is used by a server agent to broadcast the request to each of the blockchain nodes on its blockchain.
  • the functions provided by OBCC include permissioned blockchain creation, service data storage, service data creation, service data update, service data deletion, and blockchain data query.
  • the service invoking module includes: a function to add a transaction to the blockchain system, a function to query the transaction from the blockchain, a function to quickly query the transaction from the blockchain, a function to create a transaction blockchain, a function to create an account blockchain and a function to create index.
  • calls of the service invoking module are in accordance with a certain sequence of relationships. First, call the functions to create transaction blockchains and account blockchains, then call the function to add transactions to the blockchain, and finally call the function to query transactions from the blockchain and the function to quickly query transactions from the blockchain.
  • the service invoking module by the relay of the server agent, broadcasts the invoking request to each of the blockchain nodes, and the processing result is returned to the user application.
  • the OBCC-based permissioned blockchain development system provides a series of specifications related to interface parameters, and users need to define their own application data in accordance with the specifications.
  • the service data storage is performed using a consensus mechanism.
  • the establishment of the permissioned blockchain adopts the Byzantine algorithm.
  • the permissioned blockchain development system based on OBCC as described in the present disclosure has several advantages. It shortens the development cycle for a new permissioned blockchain. The developer does not need to develop the blockchain processing flow module but instead just calls the OBCC API to use the blockchain. OBCC is easy to get started on, and use.
  • FIG. 1 is a schematic diagram of a system deploying OBCC according to one exemplary embodiment.
  • the system 100 includes an application 102, an application layer OBCC client agent 104, a plurality of OBCC server agents 106a, 106b,..., 106n (individually and collectively server agents 106), and a plurality of associated blockchain core systems 108a, 108b,..., 108n (individually and collectively blockchain core systems 108).
  • FIG. 2 is a schematic block diagram depicting the hierarchical layers of a blockchain system that utilizes the OBCC API, exemplary of an embodiment of the present invention.
  • the system includes an OBCC interface layer 202, core blockchain layer 204 and a storage layer 208.
  • the OBCC interface layer 202 has a creation interface 208 for creation, a write interface 210, and a query interface 212, which respectively map to corresponding functions such as the illustrated functions Create(), Insert(), and Select(), as used in this particular embodiment.
  • the blockchain core layer 204 uses the consensus mechanism to synchronize management and build blocks.
  • the blockchain core layer 204 also includes a reputation system. The security of system operation is guaranteed by signature and associated signature verification.
  • the storage layer 208 includes a first database 224 and a second database 226.
  • first database 224 is the LevelDB database while second database 226 is the MySQL database.
  • an OBCC-based permissioned blockchain development system includes a plurality of modules. This is further illustrated in FIG. 4.
  • Development system 400 includes: (1) User IP Configuration Module 402 for users to set up OBCC connection according to the jar package provided by OBCC and configure the IP address of the blockchain server; (2) Communication Module 404 for the user to invoke the function provided by the jar package, the OBCC client communicates with the blockchain server; (3) Call Request Module 406, which is used by the OBCC client to send the call request to the blockchain server; and (4) Service Invoking Module 408, used by the server agent to broadcast the invoking request to each of the blockchain nodes, and provide respective invoking interfaces for the respective functions provided by each OBCC.
  • the functions provided by OBCC include the creation of a permissioned blockchain, the storage of service data, the creation of service data, the update of service data, the deletion of service data, and the query of blockchain data.
  • the functions of the service calling module include: add transactions onto blockchain, query transactions from blockchain, quickly query transactions from blockchain, create transaction blockchain, create account blockchain, and create index.
  • Calling of service invocation modules needs to be done in a certain sequence, the first call to create a transaction chain and create an account chain, and then call to add transactions onto blockchain, the last call to query transactions from blockchain and quickly query transactions from blockchain.
  • the service invoking module through the server agent, broadcasts the call request to each blockchain node, it also return results to the user application.
  • the OBCC-based permissioned blockchain development system provides a series of specifications related to interface parameters. Users need to define their own application data according to the specifications.
  • the business data storage is performed using a consensus mechanism, and the establishment of the permissioned blockchain is built using the Byzantine algorithm.
  • the order of API calls is illustrated in FIG. 3 that resembles a state transition diagram.
  • the OBCC-based permissioned blockchain development system may have at least five states 302, 304, 306, 308, 310.
  • a function call 322 may called to create a transaction blockchain and transition to state 304.
  • a function call 312 to create an account blockchain creates an account blockchain and transitions the system to state 306.
  • state 304 another function call 322 (CreateTbc) may be made to create additional transaction blockchains while remaining in the same state.
  • an insert function call 326 transitions the system to state 308.
  • state 306 another function call 314 (CreateAbc) may be made to create additional account blockchains while remaining in the same state.
  • an insert function call 324 transitions the system to state 308.
  • state 308 another insert function call 318 may be made to create additional transaction blockchains while remaining in the same state.
  • a function call 326 e.g., selectQ, fselectQ
  • state 310 another function call 326 (e.g., select(), fselect()) may be made to query information while remaining in the same state.
  • a function call 316 e.g.. select(), fselect()
  • the system remains in the same state 310.
  • Table I shows the functions, and the associated return value and description of the functions, that may be invoked or called.
  • the OBCC based system includes at least eight nodes, wherein four nodes are used for deployment of the blockchain core system and the process of blockchain storage is completed based on the Byzantine algorithm.
  • Each blockchain node has a corresponding OBCC server agent.
  • the four blockchain nodes need to keep their communication with each other unobstructed, and the blockchain nodes and their corresponding OBCC server agent nodes should communicate with each other smoothly.
  • a developer creates a new application project and imports the jar package provided by the OBCC into the project. Before using the OBCC feature, the developer specifies the IP address of the OBCC server agent to be connected in the configuration file.
  • OBCC To use the OBCC, first an OBCC connection is created and the connection is established. Then, in accordance with the business requirements, the name of the new blockchain and the data fields to store are specified. The information is used to define interface parameters according to the OBCC specification. The OBCC function for creating blockchains is used to create a new blockchain.
  • JBCCMessage jbccMsg createJBCCMsg (dataList);
  • JBCCClien jbccCIient getJBCCClien ();
  • DataBuilder dataBuilder new DataBuilder ("third_pay_Tbc", “works”, “y”, new Date ()); dataBuilder.addParam ("copyright_id”, “int (10)");
  • the OBCC-based permissioned blockchain development system provided by the above described embodiments can quickly complete the creation and use of a new permissioned blockchain by relatively simple code invocation and configuration procedures, greatly reducing the development cycle of the permissioned blockchain application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention provides a permissioned blockchain development system based on Open Blockchain Connector (OBCC), comprising: (1) a user IP configuration module for a user to set up a blockchain server-side IP address with a jar package provided by OBCC; (2) a communication module for the user to invoke the function provided by the jar package, providing communication between the OBCC client and the server on blockchain; (3) a call request module for OBCC client to send call requests to the blockchain; (4) a service invoking module, which is used by the server agent to broadcast the invoking request to each of the blockchain nodes and provide respective invoking interfaces for the respective functions, and each invoking interface calls its corresponding function provided by OBCC. This development system enables the rapid creation and use of a new permissioned blockchain with simple code and configuration, greatly reducing the development cycle of a permissioned blockchain application.

Description

A Permissioned Blockchain Development System Based on Open Blockchain
Connector (OBCC)
Technical Field
[0001] The present invention relates to a blockchain technology, in particular to a permissioned blockchain development system based on Open Blockchain Connector (OBCC).
Background Art
[0002] Blockchain is a distributed database system involving nodes. It can also be understood as Distributed Ledger Technology, which is jointly maintained by multiple nodes. It can be characterized as highly tamper-resistant, difficult to forge or counterfeit, and traceable. Blockchain records all transactions that have ever occurred on the blockchain. The process is efficient and transparent, data is kept secure. Blockchain technology can be applied in situations that demand a fair and unbiased system without the need for a central authority.
[0003] A permissioned blockchain is a kind of blockchain where only authorized nodes can participate in voting, accounting and block building. Permissioned blockchain do not require mining, which leads to lower transaction costs and more efficient storage. As existing permissioned blockchains are generally only suitable for a specific application, or a specific type of data storage, different businesses need to develop different permissioned blockchains to address specific data storage requirements. This leads to a longer development cycles for new permissioned blockchains, as the underlying process flow for blockchains is not reused but recreated. There are many ways building a permissioned blockchain. For example, the journal article by L. Lamport, S. Shostak and M. Pease, The Byzantine Generals Problem, J. ACM Trans. Programming Languages and Systems, 1982, 4 (3): 382-401 discusses methods of building permissioned blockchains.
[0004] At present, there are still many challenges faced by users in using the blockchain in the application process. These include applying for blockchain, getting user data into the chain store, and querying historical data information. This invention addresses at least some of these problems.
Summary of Invention
[0005] In accordance with one aspect of the present invention, there is provided a permissioned blockchain development system based on Open Blockchain Connector. The system includes a user internet protocol (IP) configuration module, adapted to set up a connection to a blockchain server for a blockchain comprising a plurality of nodes, and to configure an IP address for the blockchain server; a communication module providing communication between an OBCC client and the blockchain server, to permit a user of the OBCC client to invoke the plurality functions; a call request module, for use by the OBCC client to send a call request to the blockchain server; and a service invoking module, for use by a server agent to broadcast the request to each of the plurality of nodes, and for providing a respective invoking interface for each of the plurality functions.
[0006] In accordance with another aspect of the present invention, there is provided a method of creating a permissioned blockchain, using a blockchain development system based on Open Blockchain Connector (OBCC). The system comprising: a user internet protocol (IP) configuration module, a communication module, a call request module, and a service invoking module. The method includes using the user internet protocol (IP) configuration module, to set up an OBCC connection to a blockchain server for a blockchain comprising a plurality of nodes, and to configure an IP address for the blockchain server; using the communication module to provide communication between an OBCC client and the blockchain server; using call request module to send a call request to the blockchain server; and using the service invoking module to broadcast the request to each of the plurality of nodes.
Brief Description of Drawings
[0007] In the figures, which illustrate by way of example only, embodiments of the present invention: [0008] FIG. 1 is a schematic diagram of a system of blockchains and related applications, deploying and utilizing OBCC;
[0009] FIG. 2 is a layered architectural diagram for OBCC;
[0010] FIG. 3 is an exemplary state transition diagram for a system utilizing the OBCC, in one exemplary embodiment; and
[0011] FIG. 4 is a simplified a schematic diagram depicting components of an OBCC-based permissioned blockchain development system.
[0012] Specific embodiments will be described in detail, by way of example only, with reference to the attached drawings. The same reference label in the drawings identifies the same or similar elements, parts or portions thereof. Persons of skill in the art will readily understand that the drawings are not necessarily drawn to scale.
Description of Embodiments
[0013] A description of various embodiments of the present invention is provided below. Embodiments utilize the open blockchain connector (OBCC), which is a blockchain application programming interface (API) standard jointly designed by Beijing University of Aeronautics and Astronautics, Peking University and Tsinghua University.
[0014] In this disclosure, the use of the word "a" or "an" when used herein in conjunction with the term "comprising" may mean "one," but it is also consistent with the meaning of "one or more," "at least one" and "one or more than one." Any element expressed in the singular form also encompasses its plural form. Any element expressed in the plural form also encompasses its singular form. The term "plurality" as used herein means more than one, for example, two or more, three or more, four or more, and the like. Directional terms such as "top", "bottom", "upwards", "downwards", "vertically" and "laterally" are used for the purpose of providing relative reference only, and are not intended to suggest any limitations on how any article is to be positioned during use, or to be mounted in an assembly or relative to an environment.
[0015] The terms "comprising", "having", "including", and "containing", and grammatical variations thereof, are inclusive or open-ended and do not exclude additional, un-recited elements and/or method steps. The term "consisting essentially of when used herein in connection with a composition, use or method, denotes that additional elements, method steps or both additional elements and method steps may be present, but that these additions do not materially affect the manner in which the recited composition, method, or use functions. The term "consisting of when used herein in connection with a composition, use, or method, excludes the presence of additional elements and/or method steps.
[0016] A "blockchain" is a tamper-evident, shared digital ledger that records transactions in a public or private peer-to-peer network of computing devices. The ledger is maintained as a growing sequential chain of cryptographic hash-linked blocks.
[0017] A "node" is a device on a blockchain network. The device is typically be a computer having a processor interconnected to a processor readable medium including memory, having processor readable instructions thereon.
[0018] In addition, the terms "first", "second", "third" and the like are used for descriptive purposes only and cannot be interpreted as indicating or implying relative importance.
[0019] In the description of the invention, it should also be noted that the terms "mounted", "linked" and "connected" should be interpreted in a broad sense unless explicitly defined and limited otherwise. For example, it could be fixed connection, or assembled connection, or integrally connected; either hard-wired or soft-wired; it may be directly connected or indirectly connected through an intermediary. For technical professionals, the specific meanings of the above terms in the invention may be understood in context.
[0020] In the drawings illustrating embodiments of the present invention, the same or similar reference labels correspond to the same or similar parts. In the description of the invention, it should be noted that the meaning of "a plurality of means two or more unless otherwise specified; The directions or positions of the terms "up", "down", "left", "right", "inside", "outside", "front end", "back end", "head", "tail", the orientation or positional relationship shown in the drawings is merely for the convenience of describing the invention and simplifying the description rather than indicating or implying that the indicated device or element must have a particular orientation and be constructed and operated in a particular orientation, and therefore cannot be used as a limitation of the invention.
[0021] Embodiments of the present disclosure include a permissioned blockchain development system, based on OBCC which provides a toolkit that a user or developer can import into his or her software project and use the functions of the blockchain in a manner similar to calling local functions or methods. When the user program calls a function of the blockchain, the OBCC client agent sends the call request to the server on the blockchain. The server agent is responsible for broadcasting the request to blockchain nodes for processing, and finally storing the result on the blockchain or returning the queried information. The permissioned blockchain development system is based on a unified application programming interface (API). The API is easy to use and enables applications to use the blockchain to store and query data.
[0022] The OBCC-based permissioned blockchain development system can quickly create and use a new permissioned blockchain with simple code and configuration. This greatly reduces the development cycle of the permissioned blockchain application.
[0023] In one embodiment, a permissioned blockchain system based open blockchain connector (OBCC) API includes a User IP Configuration Module, a Communication Module, a Call Request Module and a Service Invoking Module.
[0024] The User IP Configuration Module is for users to set up an OBCC connection based on a package file format called jar provided by OBCC and configure the internet protocol (IP) address of the server on the blockchain. [0025] The Communication Module is used by the user to invoke the function provided by the jar package, the OBCC client communicates with the server on the blockchain.
[0026] The Call Request Module is used by the OBCC client to send the call request to the server agent(s) on the blockcham.
[0027] The Service Invoking Module is used by a server agent to broadcast the request to each of the blockchain nodes on its blockchain.
[0028] There are different interfaces for different functions provided by OBCC. Preferably, the user of the communication module only needs to know the IP address of the server on the blockchain, and does not need to know the address of the specific node of the blockchain and the specific implementation method of various functions.
[0029] Preferably, the functions provided by OBCC include permissioned blockchain creation, service data storage, service data creation, service data update, service data deletion, and blockchain data query.
[0030] Preferably, the service invoking module includes: a function to add a transaction to the blockchain system, a function to query the transaction from the blockchain, a function to quickly query the transaction from the blockchain, a function to create a transaction blockchain, a function to create an account blockchain and a function to create index.
[0031] Preferably, calls of the service invoking module are in accordance with a certain sequence of relationships. First, call the functions to create transaction blockchains and account blockchains, then call the function to add transactions to the blockchain, and finally call the function to query transactions from the blockchain and the function to quickly query transactions from the blockchain.
[0032] Preferably, the service invoking module, by the relay of the server agent, broadcasts the invoking request to each of the blockchain nodes, and the processing result is returned to the user application. [0033] Preferably, the OBCC-based permissioned blockchain development system provides a series of specifications related to interface parameters, and users need to define their own application data in accordance with the specifications.
[0034] Preferably, the service data storage is performed using a consensus mechanism.
[0035] Preferably, the establishment of the permissioned blockchain adopts the Byzantine algorithm.
[0036] The permissioned blockchain development system based on OBCC as described in the present disclosure has several advantages. It shortens the development cycle for a new permissioned blockchain. The developer does not need to develop the blockchain processing flow module but instead just calls the OBCC API to use the blockchain. OBCC is easy to get started on, and use.
[0037] OBCC is applicable for use in a variety of business scenarios. OBCC is scalable and adaptable - one need only define interface parameters in accordance with the specification, to tailor it to the needs of a different scenario. Finally, OBCC's underlying permissioned blockchain core system, with its high operating speed, can handle large amounts of data per second, allowing it to meet the requirements of large-density data storage.
[0038] FIG. 1 is a schematic diagram of a system deploying OBCC according to one exemplary embodiment. The system 100 includes an application 102, an application layer OBCC client agent 104, a plurality of OBCC server agents 106a, 106b,..., 106n (individually and collectively server agents 106), and a plurality of associated blockchain core systems 108a, 108b,..., 108n (individually and collectively blockchain core systems 108).
[0039] FIG. 2 is a schematic block diagram depicting the hierarchical layers of a blockchain system that utilizes the OBCC API, exemplary of an embodiment of the present invention. The system includes an OBCC interface layer 202, core blockchain layer 204 and a storage layer 208. The OBCC interface layer 202 has a creation interface 208 for creation, a write interface 210, and a query interface 212, which respectively map to corresponding functions such as the illustrated functions Create(), Insert(), and Select(), as used in this particular embodiment.
[0040] The blockchain core layer 204 uses the consensus mechanism to synchronize management and build blocks. The blockchain core layer 204 also includes a reputation system. The security of system operation is guaranteed by signature and associated signature verification. The storage layer 208 includes a first database 224 and a second database 226. In this particular embodiment, first database 224 is the LevelDB database while second database 226 is the MySQL database.
[0041] As noted above, an OBCC-based permissioned blockchain development system includes a plurality of modules. This is further illustrated in FIG. 4. Development system 400 includes: (1) User IP Configuration Module 402 for users to set up OBCC connection according to the jar package provided by OBCC and configure the IP address of the blockchain server; (2) Communication Module 404 for the user to invoke the function provided by the jar package, the OBCC client communicates with the blockchain server; (3) Call Request Module 406, which is used by the OBCC client to send the call request to the blockchain server; and (4) Service Invoking Module 408, used by the server agent to broadcast the invoking request to each of the blockchain nodes, and provide respective invoking interfaces for the respective functions provided by each OBCC.
[0042] The functions provided by OBCC include the creation of a permissioned blockchain, the storage of service data, the creation of service data, the update of service data, the deletion of service data, and the query of blockchain data. The functions of the service calling module include: add transactions onto blockchain, query transactions from blockchain, quickly query transactions from blockchain, create transaction blockchain, create account blockchain, and create index.
[0043] Calling of service invocation modules needs to be done in a certain sequence, the first call to create a transaction chain and create an account chain, and then call to add transactions onto blockchain, the last call to query transactions from blockchain and quickly query transactions from blockchain. The service invoking module, through the server agent, broadcasts the call request to each blockchain node, it also return results to the user application.
[0044] The OBCC-based permissioned blockchain development system provides a series of specifications related to interface parameters. Users need to define their own application data according to the specifications.
[0045] According to a preferred implementation of the invention, the business data storage is performed using a consensus mechanism, and the establishment of the permissioned blockchain is built using the Byzantine algorithm.
[0046] The order of API calls is illustrated in FIG. 3 that resembles a state transition diagram. The OBCC-based permissioned blockchain development system may have at least five states 302, 304, 306, 308, 310.
[0047] Initially, at state 302, a function call 322 (CreateTbc) may called to create a transaction blockchain and transition to state 304. At state 302, a function call 312 to create an account blockchain (CreateAbc) creates an account blockchain and transitions the system to state 306.
[0048] In state 304 another function call 322 (CreateTbc) may be made to create additional transaction blockchains while remaining in the same state. In state 304, an insert function call 326 transitions the system to state 308.
[0049] In state 306 another function call 314 (CreateAbc) may be made to create additional account blockchains while remaining in the same state. In state 306, an insert function call 324 transitions the system to state 308.
[0050] In state 308 another insert function call 318 may be made to create additional transaction blockchains while remaining in the same state. In state 308, a function call 326 (e.g., selectQ, fselectQ) transitions the system to state 310. [0051] In state 310 another function call 326 (e.g., select(), fselect()) may be made to query information while remaining in the same state. In state 310, upon a function call 316 (e.g.. select(), fselect()) the system remains in the same state 310.
[0052] Table I shows the functions, and the associated return value and description of the functions, that may be invoked or called.
Table I
Figure imgf000012_0001
[0053] In the exemplary embodiment, the OBCC based system includes at least eight nodes, wherein four nodes are used for deployment of the blockchain core system and the process of blockchain storage is completed based on the Byzantine algorithm. Each blockchain node has a corresponding OBCC server agent. The four blockchain nodes need to keep their communication with each other unobstructed, and the blockchain nodes and their corresponding OBCC server agent nodes should communicate with each other smoothly.
[0054] To implement one exemplary embodiment of the application, a developer creates a new application project and imports the jar package provided by the OBCC into the project. Before using the OBCC feature, the developer specifies the IP address of the OBCC server agent to be connected in the configuration file.
[0055] To use the OBCC, first an OBCC connection is created and the connection is established. Then, in accordance with the business requirements, the name of the new blockchain and the data fields to store are specified. The information is used to define interface parameters according to the OBCC specification. The OBCC function for creating blockchains is used to create a new blockchain.
[0056] After the blockchain starts normally, a message store request is sent over the OBCC connection, to store the data on the blockchain. In the same way, the data query only needs to call the corresponding interface function provided by the OBCC connection and pass the parameters for the interface function in accordance with the specification.
[0057] A sample java code for creating the transaction blockchain is shown in Table II below.
Table II
Sample java code for creating a transaction blockchain public jBCCResult create Tbc (DataBuilder paramBuilder) throws Exception {
List <DataBuilder> dataList = new ArrayList <DataBuilder> ();
dataList.add (paramBuilder);
JBCCMessage jbccMsg = createJBCCMsg (dataList);
jbccMsg.setAction (ActionType.CREATE Tbc);
List <JBCCResult> resultList = jbccActiveClien.sendAndCountReturn (jbccMsg, 1 5);
return countResult (resultList);
}
[0058] A sample java code for creating the transaction blockchain and creating blockchain interface is shown in Table III.
Table III
Sample java code for creating a blockchain interface:
JBCCClien jbccCIient = getJBCCClien ();
JBCCResult result = null;
DataBuilder dataBuilder = new DataBuilder ("third_pay_Tbc", "works", "y", new Date ()); dataBuilder.addParam ("copyright_id", "int (10)");
dataBuilder.addParam ("banquanjia_evidence_code", "tinytext");
dataBuilder.addParam ("evidence code", "char (l 1 )");
dataBuilder.addParam ("account", "int (1 1 )");
dataBuilder.addParam ("work id", "varchar (64)");
dataBuilder.addParam ("work name", "varchar (80)");
dataBuilder.addParam ("upload username", "varchar (64)");
dataBuilder.addParam ("account", "double (12,2)");
try {
result = jbccClient.createChain (dataBuilder);
} catch (Exception e)
{e.printStackTrace ();
}
finally
{
jbccClient.close ();
}
[0059] The OBCC-based permissioned blockchain development system provided by the above described embodiments can quickly complete the creation and use of a new permissioned blockchain by relatively simple code invocation and configuration procedures, greatly reducing the development cycle of the permissioned blockchain application.
[0060] The above is an example of implementing this invention, and not a restriction of what this invention can be used for. Any technical professional versed in this area, can make improvements upon its basis without leaving the scope of the invention. Any simple modifications, or improvements are still within the scope of this invention..
[0061] While the present invention has been described with reference to the particular illustrative embodiments, it is to be understood that the invention is not to be limited by the particular details of the embodiments described but only by the appended claims. Persons of skill in the art would understand that the implementation details of the present invention can be modified without departing from the scope of the claims.

Claims

What is claimed is:
1. 1. A permissioned blockchain development system based on Open Blockchain Connector (OBCC) providing an interface for a plurality of functions, the system comprising:
a) a user internet protocol (IP) configuration module, adapted to set up a connection to a blockchain server for a blockchain comprising a plurality of nodes, and to configure an IP address for the blockchain server;
b) a communication module providing communication between an OBCC client and the blockchain server, to permit a user of the OBCC client to invoke said plurality functions; c) a call request module, for use by the OBCC client to send a call request to the blockchain server;
d) a service invoking module, for use by a server agent to broadcast the request to each of the plurality of nodes, and for providing a respective invoking interface for each of the plurality functions.
2. The system of claim 1, wherein the user of the communication module only needs the IP address of the blockchain server, and said connection is set up without information on specific addresses of the plurality of nodes.
3. The system of claim 1, wherein said plurality of functions comprise:
a) a function to create a permissioned blockchain;
b) a function store service data;
c) a function to create service data;
d) a function to update business data;
e) a function to delete business data; and
f) a function to query blockchain data.
4. The system of claim 1 , wherein the service invoking module provides a second plurality of functions comprising:
a) a function to add transactions to the blockchain; b) a function to query transactions from the blockchain;
c) a function to quickly query transactions from the blockchain;
d) a function to create transaction blockchain; and
e) a function to create account blockchain.
5. The system of claim 4, wherein calls of the second plurality of functions provided by the service invoking module follow a sequence of steps, whereby:
a) a first step of calling the function to create a transaction blockchain and the function to create an account blockchain;
b) a second step of calling the function to add transactions to the blockchain; and
c) a third step of calling the function to query transactions and the function of quickly query transactions from the blockchain.
6. The system of claim 1, wherein said service invoking module broadcasts the request to each of a plurality of nodes using the server agent, and returns a result of the request to the user.
7. The system of any one of the claims 1 to 6, comprising a specification of interface parameters for use by the user to define data for an application.
8. The system of any one of claims 1 to 6, wherein service data is stored and wherein storing the service data is performed by using a consensus mechanism.
9. The system of any one of claims 1 to 6 wherein the blockchain uses a Byzantine algorithm to build a block.
10. A method of creating a permissioned blockchain, using a blockchain development system based on Open Blockchain Connector (OBCC), the system comprising: a user internet protocol (IP) configuration module, a communication module, a call request module, and a service invoking module, the method comprising: a) using the user internet protocol (IP) configuration module, to set up an OBCC connection to a blockchain server for a blockchain comprising a plurality of nodes, and to configure an IP address for the blockchain server;
b) using the communication module to provide communication between an OBCC client and the blockchain server;
c) using call request module to send a call request to the blockchain server; and
d) using the service invoking module to broadcast the request to each of the plurality of nodes.
1 1. The method of claim 10, further comprising, service invoking module for the steps of:
a) calling the function to create a transaction blockchain and the function to create an account blockchain;
b) calling the function to add transactions to the blockchain; and
c) calling the function to query transactions and the function of quickly query transactions from the blockchain.
12. The method of claim 10, further comprising invoking one of said plurality of functions, said plurality of functions comprising:
a) a function to create a permissioned blockchain;
b) a function store service data;
c) a function to create service data;
d) a function to update business data;
e) a function to delete business data; and
f) a function to query blockchain data.
PCT/CA2018/000111 2017-06-07 2018-06-06 A permissioned blockchain development system based on open blockchain connector (obcc) WO2018223214A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710422144.X 2017-06-07
CN201710422144.XA CN107145605A (en) 2017-06-07 2017-06-07 One kind is based on block chain unified interface(OBCC)License chain application system

Publications (1)

Publication Number Publication Date
WO2018223214A1 true WO2018223214A1 (en) 2018-12-13

Family

ID=59780761

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2018/000111 WO2018223214A1 (en) 2017-06-07 2018-06-06 A permissioned blockchain development system based on open blockchain connector (obcc)

Country Status (2)

Country Link
CN (1) CN107145605A (en)
WO (1) WO2018223214A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981416A (en) * 2019-04-04 2019-07-05 中山大学 A kind of block chain method for testing performance and system
CN110175032A (en) * 2019-01-17 2019-08-27 杭州趣链科技有限公司 A kind of High Availabitity block chain open platform and apply dissemination method
CN113037462A (en) * 2021-03-31 2021-06-25 华南理工大学 Fair electronic voting protocol method based on block chain and safe multi-party computation
CN113609196A (en) * 2021-06-23 2021-11-05 云南昆钢电子信息科技有限公司 Block chain chaining automation system and method

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146392B (en) * 2017-11-27 2021-02-12 新华三技术有限公司 License management method and device
CN111480322B (en) * 2018-02-22 2022-09-16 中兴通讯股份有限公司 Pervasive computing
US10681020B2 (en) * 2018-03-12 2020-06-09 The Boeing Company Blockchain fortified aircraft communications addressing and reporting system (ACARS) communication
CN108924175A (en) * 2018-05-02 2018-11-30 北京链链信息技术有限公司 A kind of communication means and device of block interchain
CN108769133A (en) * 2018-05-04 2018-11-06 珠海市筑巢科技有限公司 A kind of flying quality sharing method, computer installation and computer readable storage medium based on block chain
CN108846752A (en) * 2018-06-06 2018-11-20 北京京东金融科技控股有限公司 Data processing method, system, block platform chain and readable storage medium storing program for executing
CN109582438B (en) * 2018-10-30 2021-05-28 广州斯拜若科技有限公司 Virtual machine with multiple intelligent contract execution engines and implementation method thereof
CN109683867A (en) * 2018-12-27 2019-04-26 石更箭数据科技(上海)有限公司 A kind of method and device thereof, medium, terminal for docking block chain
CN109740937A (en) * 2019-01-03 2019-05-10 深圳壹账通智能科技有限公司 Asset data processing method and system based on block chain
CN110138586A (en) * 2019-04-04 2019-08-16 平安科技(深圳)有限公司 Block chain node administration method, electronic device, system and readable storage medium storing program for executing
CN110224737B (en) * 2019-05-20 2020-08-11 南京控维通信科技有限公司 Method for realizing multi-stage network control center for satellite emergency communication system
US10956444B2 (en) 2019-07-31 2021-03-23 Advanced New Technologies Co., Ltd. Block chain state data synchronization method, apparatus, and electronic device
US11113272B2 (en) 2019-07-31 2021-09-07 Advanced New Technologies Co., Ltd. Method and apparatus for storing blockchain state data and electronic device
CN110457319B (en) * 2019-07-31 2020-09-08 阿里巴巴集团控股有限公司 Block chain state data storage method and device and electronic equipment
CN110866288B (en) * 2019-11-18 2023-01-10 广州安加互联科技有限公司 Data protection method, system and terminal based on block chain
CN113852655A (en) * 2020-06-28 2021-12-28 北京金山云网络技术有限公司 Information management method and device and block chain service system
CN115190162B (en) * 2022-06-27 2023-11-28 杭州溪塔科技有限公司 Proxy service configuration method and proxy service system in block chain

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680658B2 (en) * 2011-12-07 2017-06-13 Qualcomm Incorporated Collaborative group communication method involving a context aware call jockey
CN104580253B (en) * 2015-01-30 2017-08-08 网易(杭州)网络有限公司 A kind of method and device of processes user data
CN104735164B (en) * 2015-04-10 2018-05-18 网易(杭州)网络有限公司 A kind of method and apparatus of save file information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CROSBY ET AL.: "BlockChain Technology", 16 October 2015 (2015-10-16), pages 1 - 35, XP055554266, Retrieved from the Internet <URL:https://scet.berkeley.edu/wp-content/uploads/BlockchainPaper.pdf> [retrieved on 20180822] *
GORECKI: "Package 'Rbitcoin'", 29 August 2016 (2016-08-29), pages 1 - 26, XP055554273, Retrieved from the Internet <URL:https://cran.r-project.org/web/packages/Rbitcoin/Rbitcoin.pdf> [retrieved on 20160822] *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175032A (en) * 2019-01-17 2019-08-27 杭州趣链科技有限公司 A kind of High Availabitity block chain open platform and apply dissemination method
CN110175032B (en) * 2019-01-17 2023-01-06 杭州趣链科技有限公司 High-availability block chain open platform and application release method
CN109981416A (en) * 2019-04-04 2019-07-05 中山大学 A kind of block chain method for testing performance and system
CN109981416B (en) * 2019-04-04 2022-07-12 中山大学 Block chain performance detection method and system
CN113037462A (en) * 2021-03-31 2021-06-25 华南理工大学 Fair electronic voting protocol method based on block chain and safe multi-party computation
CN113037462B (en) * 2021-03-31 2022-09-20 华南理工大学 Fair electronic voting protocol method based on block chain and safe multi-party computation
CN113609196A (en) * 2021-06-23 2021-11-05 云南昆钢电子信息科技有限公司 Block chain chaining automation system and method

Also Published As

Publication number Publication date
CN107145605A (en) 2017-09-08

Similar Documents

Publication Publication Date Title
WO2018223214A1 (en) A permissioned blockchain development system based on open blockchain connector (obcc)
CN109194506B (en) Block chain network deployment method, platform and computer storage medium
Talia et al. Weka4ws: a wsrf-enabled weka toolkit for distributed data mining on grids
WO2018086580A1 (en) Extensible heterogeneous cloud platform adaptation method and system thereof
JP5277251B2 (en) Model-based composite application platform
CN103516777B (en) For carrying out the method and system supplied in cloud computer environment
WO2016101301A1 (en) Objectification and virtualization mechanism for mode of relational database table
JP2003520363A (en) Data maintenance method in a partially replicated database system network
US20200065313A1 (en) Extensible content object metadata
CN106850788A (en) Towards the integrated framework and integrated approach of multi-source heterogeneous geographic information resources
CN107908521A (en) A kind of monitoring method of container performance on the server performance and node being applied under cloud environment
US20190251096A1 (en) Synchronization of offline instances
WO2023040502A1 (en) User service registration
WO2024016547A1 (en) Data query method and device based on multi-party collaboration
CN113673961A (en) Archive scheduling method based on workflow
CN114448983A (en) ZooKeeper-based distributed data exchange method
CN109189387A (en) A kind of method and system of the GNSS data processing based on QT component
CN113067914B (en) Method and device for distributing subnet identification, electronic equipment and storage medium
JP2011159275A (en) Computer method and system for providing access to data of target system
CN117632395A (en) Workflow processing method, device, apparatus, storage medium and program product
CN113822557A (en) Data fusion management system, data fusion management device, electronic device, and medium
Kouzmanov Analysis and classification of business software systems integration approaches
Khan et al. Modeling of services and their collaboration in enterprise cloud bus (ECB) using UML 2.0
CN103679432A (en) A VNMS system supporting a dynamic structured application platform
Shibwabo et al. Repository integration: the disconnect and way forward through repository virtualization supporting business intelligence

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18813782

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18813782

Country of ref document: EP

Kind code of ref document: A1