CN109997166A - System and method for intercepting intelligent contract - Google Patents
System and method for intercepting intelligent contract Download PDFInfo
- Publication number
- CN109997166A CN109997166A CN201780057248.3A CN201780057248A CN109997166A CN 109997166 A CN109997166 A CN 109997166A CN 201780057248 A CN201780057248 A CN 201780057248A CN 109997166 A CN109997166 A CN 109997166A
- Authority
- CN
- China
- Prior art keywords
- judgement
- intelligent contract
- database
- contract
- execution
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 63
- 230000004044 response Effects 0.000 claims abstract description 43
- 238000012550 audit Methods 0.000 claims abstract description 39
- 239000004744 fabric Substances 0.000 claims description 8
- 230000002265 prevention Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 94
- 238000010586 diagram Methods 0.000 description 7
- 238000006467 substitution reaction Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 3
- 206010010144 Completed suicide Diseases 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services; Handling legal documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Abstract
Intervention to contract operation intelligent in distributed ledger system may include: to start the execution of intelligent contract;After starting intelligent contract execution, judgement audit function is executed, to determine in judgement database with the presence or absence of the judgement to intelligent contract;In response to there is the judgement to intelligent contract in judgement database, intervene the operation of intelligent contract to prevent the execution of intelligent contract;Also, in response to there is no the judgement for having to intelligent contract in judgement database, continue to execute intelligent contract.
Description
Cross reference to related applications
This application claims September in 2016 19 days the U.S. Provisional Patent Application submitted No. 62/396,293 and 2017 9
U.S. Patent Application No. 15/707,571 priority that the moon is submitted on the 18th, thus it is by reference that above-mentioned application is whole
It is incorporated herein.
Background technique
Distributed ledger system provides platform for the execution of intelligent contract.Intelligent contract generally includes program instruction,
The program instruction can be executed in response to being sent to the affairs of contract in distributed ledger system.Intelligent contract can also generation
Legal contract between table user, and clause, the condition etc. of the program function law enforcement contract of intelligent contract.
The characteristic of distributed ledger system provides improved data (such as, the affairs of this system and intelligent contract)
Invariance, affairs are so that it is guaranteed that these data can be written into system but not be tampered.Therefore, using intelligent compact implementation method
Rule contract and other function provide the highly reliable mode for realizing these functions.
However, there are problems for the execution of intelligent contract in distributed ledger system.For example, method representated by intelligent contract
Rule contract may represent the illegal affairs of certain jurisdictions.In addition, intelligent contract may include logic error, lead to intelligence
The affairs difference affairs of energy contract execution affairs and legal contract each side agreement.However, the thing that distributed ledger system provides
The invariance of business, contract etc. may be the obstacle for preventing the operation of these contract executions.
Therefore, it is necessary to system and method, to provide the improvement intervention of intelligent contract operation in distributed ledger system.
Detailed description of the invention
In order to understand feature of the invention, some attached drawings are described below.However, attached drawing only illustrates tool of the invention
Body embodiment, and it is therefore not interpreted as limiting its range, the present invention may include other equivalent effective embodiments.
Fig. 1 is the embodiment for describing the system for providing intervention in the operation of the intelligent contract of distributed ledger system
Schematic diagram.
Fig. 2 is the schematic diagram for describing the embodiment of virtual law court's server system.
Fig. 3 is the schematic diagram for describing the embodiment of distributed ledger system.
Fig. 4 is the schematic diagram for describing the embodiment of distributed node of distributed ledger system.
Fig. 5 is the flow chart for describing the embodiment of method for the judgement for determining intelligent contract.
Fig. 6 is the schematic diagram for describing the embodiment of law court's intelligence contract.
Fig. 7 is the flow chart for describing the embodiment of method for the operation for intervening intelligent contract based on judgement.
Fig. 8 is the schematic diagram for describing the embodiment of intelligent contract.
Fig. 9 is the schematic diagram for describing the embodiment of virtual machine of distributed node.
Specific embodiment
The operation for intervening intelligent contract in distributed ledger system may include: to start the execution of intelligent contract;It is opening
After dynamic intelligence contract execution, judgement audit function is executed, to determine in judgement database with the presence or absence of the judgement to intelligent contract;
In response to there is the judgement to intelligent contract in judgement database, intervene the operation of intelligent contract to prevent holding for intelligent contract
Row;And in response to there is no the judgement for having to intelligent contract in judgement database, continue to execute intelligent contract.
The operation for intervening intelligent contract in distributed ledger system can also include: to be based on from one or more judges
The input received determines the judgement of the validity of the complaint to intelligent contract;In response to supporting having for the complaint to intelligent contract
The judgement of effect property, by the judgement record in judgement database;In response to starting the execution of intelligent contract, receive from judgement inspection
The request of function is looked into, to determine in judgement database with the presence or absence of the judgement to intelligent contract;And the request is responded
Whether there is judgement in instruction judgement database.
Fig. 1 is depicted for providing the system 20 of improved intervention in the operation of the intelligent contract of distributed ledger system
Embodiment.System 20 includes: distributed ledger system 24, virtual law court's server system 28, one or more judges
System 32, one or more complainant's systems 36 and one or more other systems 38.Distributed ledger system 24
Platform for intelligent contract operation is provided, comprising: the first intelligent contract 40, it can be to the judgement for the first intelligent contract 40
It is assessed;And the second intelligent contract 42, also referred to as law court's contract 42, the second intelligent contract 42 can be used herein
In judgement of the implementation to intelligent contract 40.Virtual law court's server system 28 receive from complainant's system 36 about intelligent conjunction
With the complaint of 40 operation, one or more inputs about complaint from judge's system 32 are received, and provides and is used for
Intervene the mechanism of the operation of intelligent contract 40 in distributed ledger system 24, such as maintenance judgement database and/or and law court
Contract 42 communicates.Other systems 38 can also be interacted with distributed ledger system 24, for example, with distributed ledger system 24
Intelligent contract interaction.
In embodiment, the system for providing improved intervention in the operation of intelligent contract can only include joining herein
According to Fig. 1 description or any subset or substitution connection of the feature discussed.
Fig. 2 describes the embodiment of virtual law court's server system 28 comprising judge's system interface module 44, complainant
System interface module 48, distributed ledger system interface module 52, virtual law court's server system control module 56 and judgement
Database module 60.Complainant's system interface module 48 is provided between virtual law court's server system 28 and complainant's system 36
Communication interface, to receive the complaint information from complainant's system 36.Judge's system interface module 44 provides virtual law court's service
Communication interface between device system 28 and judge's system 32 will appeal information and be transferred to judge's system 32, and from judge's system
32 receive discriminative information.Distributed ledger system interface module 52 provides distributed ledger system 24 and the service of virtual law court
Communication interface between device system 28, to provide the enforcement mechanism intervening intelligent contract 40 and operating, for example, maintenance judgement number
It is communicated according to library and/or with law court contract 42.The 56 offer realization of virtual law court server system control module is discussed herein virtual
The control logic of the function of law court's server system 28.Judgement database module 60 is provided a store for and is accessed to intelligent contract
The judgement database of 40 judgement.Adjudicate database can for example in the form of the data structure of law court's contract 42, alternatively or
It is additionally stored in distributed ledger system 24.
In embodiment, virtual law court's server system can only include the feature described or discussed herein by reference to Fig. 2
Any subset or substitution connection.
Fig. 3 depicts the exemplary embodiment of distributed ledger system 24.Distributed ledger system 24 includes multiple
Distributed node 66.Distributed node 66 is organized as peer-to-peer network, wherein peer to peer communication protocol can be used in each node 66
It is connected to other one or more nodes 66.At least one of distributed node 66 may be also connected to virtual law court's service
Device system 28.At least one of distributed node 66 may be also connected to other systems 38.As peer-to-peer network, each distribution
The configuration of connection between formula node 66 can be changed over time according to the operation of peer protocol.
Fig. 4 depicts the exemplary embodiment of the distributed node 66 of distributed ledger system 24 comprising: ledger
Structure memory module 70, communication module 74, virtual machine module 78 and ledger Structure Creating module 82.Ledger structure stores mould
70 storing data structure of block, wherein the ledger of distributed ledger system 24 is in non-transitory machinable medium
It is organized into the data structure.Communication module 74 executes distributed node 66 and other distributed nodes 66 and is connected to distribution
Communication between the other systems or component (such as virtual law court's server system 28) of formula node 66.Virtual machine module 78 executes
The intelligent contract being stored on the distributed ledger of distributed ledger system 24.Ledger Structure Creating module 82 executes calculation
New affairs and other data are merged into distributed ledger system by method (for example, data encryption algorithm of selected complexity)
In 24 ledger structure
In embodiment, distributed node can only include any subset for the feature described or discussed herein by reference to Fig. 4
Or substitution connection.
In embodiment, distributed ledger system 24 can be block catenary system, wherein by distributed ledger system
The ledger of 24 realizations is the form of structured data block sequence, also referred to as block chain.In such embodiments, ledger knot
Structure memory module 70 is the block memory module of the block of memory block catenary system, and ledger Structure Creating module 82 is block creation
Module, new affairs and other data to be merged into the block of block chain of block catenary system by execution algorithm, block catenary system
The block of block chain be also referred to as the excavation block of block catenary system.In other embodiments, distributed ledger system 24 can be
It is another type of distribution ledger system rather than block catenary system, wherein ledger can be organized into Except block chain
Block except structure.
The system 20 that improvement for providing the operation to intelligent contract 40 in distributed ledger system 24 is intervened
The component of embodiment, for example, virtual law court's server system 28, judge's system 32, complainant's system 36, other systems 38, point
Node 66 of cloth ledger system 24 etc. and/or it is therein any one, subset or all components, can be implemented as hardware,
The mixing of software or hardware and software.For example, virtual law court's server system 28, judge's system 32, complainant's system 36, its
Each of node 66 of his system 38, distributed ledger system 24 etc. and/or it is therein any one, subset or its institute
There is component that can realize using processor and non-transitory storage medium, wherein non-transitory machinable medium
Including program instruction, when being executed by a processor, the embodiment of the function for these components that these instruction executions are discussed herein.?
In embodiment, virtual law court's server system 28, judge's system 32, complainant's system 36, other systems 38, distributed ledger
Each of node 66 of system 24 etc. and/or any individual system therein, subset or all components, can be used calculating
Machine system, such as desktop computer, laptop, mobile computing device, the network equipment, server, Internet Server, cloud
Server etc., Lai Shixian.
The system 20 that improvement for providing the operation to intelligent contract 40 in distributed ledger system 24 is intervened
The component of embodiment, for example, virtual law court's server system 28, judge's system 32, complainant's system 36, other systems 38, point
Node 66 of cloth ledger system 24 etc. and/or it is therein any one, subset or all components, can be by by (example
As shown in figure 1 indicated by the connection of example plot) one or more communication networks that connection indicates, it is real to be connected to system 20
It applies the other component of example and communicates.
Fig. 5 depicts the embodiment for intervening the method 500 of operation of the intelligent contract 40 in distributed ledger system 24.
Method 500 starts from step 502.
In step 504, the complaint about intelligent contract 40 is received from complainant.Complaint is comprising accusing intelligent contract 40
There are illegal or other problems information for operation.Complaint includes: the identifier of identification intelligent contract 40, such as distributed ledger
The address of intelligent contract 40 in system 24;And one or more statements that intelligence contract 40 is against the form of the statute.For example, Shen
The law or regulation in identified legislation area can be identified with method of identification pitch pipe area under one's jurisdiction, such as state or country by telling, such as with progress
Related regulation of financial affairs etc., and state that intelligent contract 40 violates identified law.In another example, complaint can
To identify intelligent contract in the legal contract initiated between the people or system and the owner or operator of intelligent contract 40 of complaint
40 are intended to implement a part of the legal contract, and state that intelligent contract 40 implemented is not the identified portion of legal contract
Point.
The complaint is received from the complainant of operation complainant's system 36 at virtual law court's server system 28.Example
Such as, complainant can send virtual law court's server system for the file comprising complaint by complainant's system interface module 48
System.
Complainant refers to the intelligent contract 40 of statement, and there are illegal or other problems individuals or other legal entities, such as companies
Deng.Complainant usually interacts with intelligent contract 40, and observes the illegal or other problems stated, and would generally be
Relief and seek help from system 20 to intervene the operation of intelligent contract, this seeks help from law to the law court having jurisdiction with complainant
The mode for appealing relief is closely similar.
Virtual law court server system 28 is usually in distributed ledger system by tissue or other physical operations, task
Intervene the operation of intelligent contract in system 24.For example, virtual law court server system 28 can be by creating or operating distributed classification
The tissue of account system 24 operates.Virtual law court's server system 28 and the intervention functions being discussed herein are provided as distributed ledger
System 24 provides advantageous characteristic, for example, improve a possibility that law operates and correct for legal issue, distribution point
The operator of class account system 24 can increase the business that distributed ledger system 24 carries out by advertisement.
In step 506, the input about complaint is received from one or more judges.The input includes related to complaint
Judgement information.For example, the information received may include ballot of one or more judges to following item: whether same
Anticipate the complaint and/or the complaint it is whether effective, and judgement for intelligent contract 40 is illegal or with pointed problem, or
It is no to disagree the complaint and/or whether the complaint is invalid, and judgement is not illegal or do not include being identified for intelligence contract 40
The problem of.
Input in relation to appealing is at virtual law court's server system 28 from one or more judge's systems 32 of operation
One or more judges it is received.For example, judge can will be comprising about complaint by judge's system interface module 44
The file of input or other data are sent to virtual law court's server system 28.
One or more judges be distributed ledger system 24 operation during elect or otherwise specify with
The people enter a judgement to complaint or other corporate entities, such as company.For example, judge can be by distributed ledger system 24
User or other stakeholders by selecting.Judge usually requires to meet one or more election contest standards, such as
Become the application etc. of judge as the certification user of distributed ledger system 24, submission.In another example, judge is by organizing
Or other entities are appointed, such as creation or the tissue for operating distributed ledger system 24, task are to intervene intelligent contract
Operation.
In embodiment, one or more judges for providing input may include according to one or more geographic regions
The judge of the predetermined quantities of tissues such as domain, legislation area, intelligent contract type, legal provisions type.
In step 508, the judgement to complaint is determined based on received input.Determining judgement includes whether to support Shen
Whether all or part told, and intelligent contract 40 are judged as illegal or are rejected with pointed problem, or complaint,
And intelligent contract 40 is judged as not illegal or not pointed problem.By that will be connect from one or more judges
The input received is in conjunction with carrying out the determination.For example, can be by the way that the ballot received from one or more judges be added
Together, and then determine whether to have reached the threshold value about the judgement to contract to carry out the determination.It can basis
A variety of different ballot systems select threshold value.In one example, threshold value is one of option for judgement (that is, it is propped up
Hold or release) whether reach multiple ballot papers of one or more judges.In another example, threshold value is the option for judgement
One of whether reach most of ballot papers of one or more judges.
The determination is carried out by virtual law court's server system based on the input received from one or more judges,
Such as the input received by judge's system interface module is acted on by control module.
If in step 508, determining that judgement is that intelligent contract 40 has the illegal or other problems pointed out in complaint, then
This method continues to execute step 510.In step 510, by determining judgement record in judgement database.Adjudicating database can be with
It is stored in virtual law court's server system 28 and/or distributed ledger system 24.
Embodiment of the database purchase in the judgement database module 60 of virtual law court's server system 28 will adjudicated
In, identified judgement is recorded in judgement database module 60.In such embodiments, judgement is serviced by virtual law court
Device system 28 records, such as judgement is stored in judgement database module 60 by control module 56.Adjudicate database module 60
Database is provided to store the judgement of intelligent contract and provide the access of the judgement to intelligent contract.In order to record judgement, control
Module 56 provides the input of the identifier of intelligent contract 40, such as intelligent contract 40 to the write-in functions of judgement database module 60
Address and judgement.
In it will adjudicate the embodiment in the judgement database being stored in distributed ledger system 24, it can be used point
The intelligent contract (such as law court's contract 42) of cloth ledger system 24 is by judgement record in the distribution for indicating judgement database
In the data structure of ledger system 24.Fig. 6 describes one embodiment of law court's contract 42 comprising one or more to sentence
Certainly database update function 83, one or more judgement database auditing functions 84 and one or more judgement database numbers
According to structure 85.Judgement database update function 83 includes writing to the execution of judgement database data structure 85 comprising adjudicating database
The program instruction entered.The write-in can include intelligent contract 40 as input mark (such as address of intelligent contract 40) and
Judgement (for example, Boolean or integer value that instruction has the judgement to intelligent contract 40), and the knot recorded is executed as it
Fruit, the identifier of contract 40 and judgement are as the corresponding data value pair in data structure 85.
In order to record the judgement, virtual law court's server system 28 generates and for example passes through distributed ledger system interface
Module 52 is sent at least one distributed node 66 of distributed ledger system 24 calls judgement database update function 83
The affairs for being intended to be sent to law court's contract 42.In response, the affairs are being incorporated to distribution by least one distributed node 66
After in the ledger structure of formula ledger system 24, law court's contract is executed to execute and adjudicates database update function 83, it will
Judgement record is in the judgement database data structure 85 of law court's contract 42.
It is the exemplary process instruction for the example embodiment for showing law court's contract 42 below:
The other embodiments of law court's contract 42 may include different specific procedure instructions.Exemplary contract Court
{ } includes isLegal [] data structure, updateStatus () function and checkStatus () function.In exemplary implementation
In example, judgement database is realized using isLegal [] data structure, and realize using updateStatus () function
Adjudicate database update function.After calling Court { } contract by affairs, when the affairs of the law court contract owner trigger
When updateStatus () function, updateStatus () function updates isLegal with judgement b for indicated address
[] data structure.
In embodiment, law court's contract 42 can only include any subset for the feature described or discussed herein by reference to Fig. 6
Or substitution connection.
Return to Fig. 5, if in step 508, determine judgement for intelligent contract 40 there is no pointed out in complaint illegal or
Other problems, then this method continues to execute step 512.
In step 512, it receives about whether the inquiry that there is the judgement to intelligent contract 40.The inquiry includes identification intelligence
The identifier of energy contract 40, such as address of the intelligent contract 40 in distributed ledger system 24, and to identification to intelligence
The request of any judgement of contract 40.Inquiry can be by virtual law court's server system 28 or the portion of distributed ledger system 24
Part receives.In the embodiment that judgement is stored in judgement database module 60, received by virtual law court's server system 28
Inquiry.It is inquired for example, can be received by distributed ledger system interface module 52.Distributed ledger is stored in judgement
It, can be by intelligent contract, such as law court's contract 42, to receive inquiry in embodiment in the data structure of system 24.For example,
Fig. 6 is returned to, which can be received by law court's contract 42, as a part for executing judgement database auditing function 84.Judgement
Database auditing function 84 includes the journey for executing the reading to the judgement database data structure 85 comprising judgement database
Sequence instruction.In the exemplary contractCourt { } being discussed above, this can be using the tune to checkStatus () function
With or enable form.
In response to starting or requesting to start the execution of intelligent contract 40, received from the component of distributed ledger system 24
And/or initiate inquiry.For example, itself can receive and/or initiate inquiry from intelligent contract 40, such as it is used as and executes intelligent contract
40 at least one program instruction as a result, the distributed ledger system 24 from the execution for starting intelligent contract 24 point
The virtual machine 78 of cloth node 66 receives and/or starting inquiry.Below with reference to the method 600 of the operation of intervening intelligent contract 40
Embodiment further discusses the embodiment for generating inquiry.
In the step 514, judgement database is read, whether has been recorded in judgement database to intelligent contract 40 with determining
Any judgement.Judgement data can be read by the component of virtual law court's server system 28 or distributed ledger system 24
Library.In the embodiment for being stored with judgement in judgement database module 60, in order to read judgement database, control module 56 is to sentencing
Certainly the read functions of database module 60 provide the identifier of intelligent contract 40, such as the address of intelligent contract 40, as input.
Embodiment in the judgement database data structure 85 for law court's contract 42 that judgement is stored in distributed ledger system 24
In, law court's contract 42 can be executed to execute and adjudicate database auditing function 84, any to sentence for associated with contract 40
Certainly execute the reading to data structure 85.The reading may include the mark (such as address of intelligent contract 40) of intelligent contract 40
It is deposited in association as input, and as the identifier that its result executed returns in data structure 85 with intelligent contract 40
There is the Boolean or integer value of the judgement to intelligent contract 40 in any judgement of storage, such as instruction.The example being discussed above
In property contract Court { }, this is corresponding with address a to be directed in the form of executing checkstatus () function
Decision value executes the reading to isLegal [] data structure.
In step 516, requesting component will be supplied to the response of inquiry.Whether deposited in response instruction judgement database
In any judgement to pointed intelligent contract 40.It executes in virtual law court's server system 28 to being stored in judgement database
In the embodiment of the reading of judgement database in module 60, which sent by virtual law court's server system 28.Example
Such as, which can be passed through distributed ledger system interface module 52 by virtual law court's server system control module 56 and sent out
It send.
The response is sent to the requesting component of distributed ledger system 24.For example, the response can be sent to point
The intelligent contract 40 or virtual machine 78 of the initiation inquiry of cloth ledger system 24.Intelligent contract 30 is sent in the response
In embodiment, virtual law court's server system 56 can be generated the affairs comprising the response and send distributed point for the affairs
At least one node 66 of class account system 24.The affairs can be intended to be sent to intelligent contract 40, or as intelligent contract 40
Another intelligent contract of intermediary, such as Oracle.In use be situated between or Oracle contract in the case where, intermediary or Oracle contract
The second affairs can be sent to the intelligent contract 40 of request or are executed to the calling of request intelligence contract 40 to deliver the response, or
Alternatively, which can send affairs to intermediary or Oracle contract or execute agency or Oracle conjunction
Same calling is to retrieve the response.In the embodiment for sending the response to virtual machine 78, virtual law court's server system 28
Can be with, such as by distributed ledger system interface module 52, the communication comprising the response is supplied to distributed ledger
The virtual machine module 78 of the distributed node 66 of system 24.
It executes in law court's contract 42 to the judgement data in the judgement database data structure 85 for being stored in law court's contract 42
In the embodiment of the reading in library, law court's contract exports the response.For example, intelligent contract 40 can call law court's contract 42 to execute
Database auditing function 84 is adjudicated, and the result of the reading to judgement database data structure 85 is output to intelligent contract 40.
In the exemplary contract Court { } being discussed above, this can use the form of checkstatus () function, by this
The result of function is output to the intelligent contract of calling.
In embodiment, determine that in distributed ledger system can only include Fig. 5 to the method for the judgement of intelligent contract
Any subset or alternate orders of the feature of middle description or discussion.
Fig. 7, which is depicted, intervenes another method 700 that intelligent contract 40 operates based on to the judgement of intelligent contract 40
Embodiment.The method 700 for intervening the operation of intelligent contract 40 can be complementary with the intelligent method 500 of operation of contract 40 is intervened.
For example, method 500 or part thereof can be executed by the first group parts, such as virtual law court's server system 28 discussed in this article
And/or one or more components of distributed ledger system 24, and ground, method are consistent with the execution of method 500
700 or part thereof can be executed by the second group parts, such as virtual law court's server system 28 discussed in this article and/or distribution
One or more components of formula ledger system 24.Method 600 starts from step 702.
In step 704, start or request to start the execution of intelligent contract 40.The execution of intelligent contract 40 be in response in point
Event in cloth ledger system 24 and start.In one example, in response to for example by intelligently being closed in Distributed Application
The affairs for being intended to be sent to intelligent contract 40 are sent to the node 66 of distributed ledger system 24 by component belonging to same 40, or
Person, in response to the calling for example by another intelligent contract or other assemblies to the intelligent contract 40 of failed call affairs, Lai Qidong intelligence
The execution of energy contract 24.The execution of intelligent contract 40 is at least one distributed node 66 by distributed ledger system 24
What virtual machine module 78 executed.
In step 706, judgement audit function is executed.Adjudicate audit function inspection judgement database (such as judgement data
The judgement database data structure 85 of library module 60 or law court's contract 42) in the presence or absence of judgement to intelligent contract.Judgement inspection
Other non-judgement audit functions that function is looked into prior to intelligent contract 40 execute, so that if there is the judgement to intelligent contract 40,
Then before these other functions for executing intelligent contract 40, the operation of intelligent contract 40 can be intervened.Judgement checks
Function can be or include: distributed ledger system 24 contract function, such as law court's contract 42 or intelligent contract 40;Point
The function of another component of cloth ledger system 24, for example, distributed ledger system 24 distributed node 66 virtual machine
78;The function of the component of virtual law court server system 28;Or combinations thereof.
In embodiment, judgement audit function is or includes: the distributed ledger system 24 called by intelligent contract 40
Contract function, such as law court's contract 42 checks the judgement database for being stored as the data structure of this contract, such as sentences
Certainly database data structure 85.Fig. 8 depict including one or more judgement audit functions 86 and it is one or more other
The embodiment of the intelligent contract 40 of function 90.One or more other functions 90 include for execute intelligent contract 40 other
The program instruction of function (such as a part as Distributed Application).In embodiment, judgement audit function 86 include to
The program instruction of another contract (such as law court's contract 42) of distributed ledger system is called, to check the data knot of the contract
With the presence or absence of the judgement to intelligent contract 40 in structure (such as judgement database data structure 85).For example, in order to execute judgement inspection
Function is looked into, intelligent contract 40 can execute judgement audit function 86, this can call law court's contract 42 to execute judgement database
Audit function 84, the function 84 determine in the data structure 85 of law court's contract 42 with the presence or absence of the judgement to intelligent contract 40.Intelligence
Energy contract 40 can transmit the mark of intelligent contract 40 as judgement database auditing function 84 to the calling of law court's contract 42
Input, such as the address of intelligent contract 40, and output are used as the instruction with the presence or absence of the judgement to intelligent contract 40 and execute
Adjudicate the result of database auditing function 84.
It is the exemplary process instruction for the example embodiment for showing intelligent contract 40 below:
The other embodiments of intelligent contract 40 may include different specific procedure instructions.Exemplary contract
SomeContract { } includes: function someConract () and someFunction ().Function someConract () can be with
The example for executing on startup, and calling Court { } contract, to provide contract someContract { } for it
Address a input.The function of executing the other function of intelligent contract and can be called by the affairs for being intended to be sent to contract
SomeFunction () (omits its details, and by annotating " do stuff " replacement) to simplify the explanation, to call instantiation
The output of checkStatus () function of Court { } contract be that condition executes the function, whether return has pairing
The instruction of same judgement, for example, then returning to " 1 " or "true" if there is the judgement to contract;If do not sentenced to contract
Certainly, then " 0 " or "false" are returned.
In embodiment, judgement audit function is or the function including intelligent contract 40 itself.In embodiment, judgement inspection
Looking into function 86 includes for checking the program instruction in judgement database module 60 with the presence or absence of the judgement to intelligent contract.One
In a example, judgement audit function 86 includes one or more predetermined fingers that intelligent contract 40 is written into programming language therein
It enables, wherein the reading to judgement database (such as judgement database module 60) is executed, to determine whether including to intelligent contract 40
Judgement.The reading can include the address of intelligent contract 40 as input.Predetermined instruction can be configured with programming language to hold
Reading of the row to judgement database.Predetermined instruction can be connect by the distributed ledger system of virtual law court's server system 28
Mouth mold block 52 is communicated with judgement database module 60.
In embodiment, judgement audit function is or the virtual machine 78 of the distributed node 66 including executing intelligent contract 40
Function.Fig. 9 depict including it is one or more judgement audit functions 94 and one or more other functions 98 it is virtual
The embodiment of machine 78.One or more other functions 98 execute the function of virtual machine 78, such as execute intelligent contract 40.Judgement
Audit function 94, which executes, checks in judgement database (such as in judgement database module 60) with the presence or absence of to intelligent contract 40
Judgement function.For example, judgement audit function 94 can be executed to judgement database (such as judgement database module 60)
It reads, to determine if the including judgement to intelligent contract 40.The reading can include the address of intelligent contract 40 as defeated
Enter.Virtual machine can pass through the distributed ledger system interface module 52 and judgement database of virtual law court's server system 28
Module 60 communicates.
Fig. 7 is returned to, in step 708, is determined whether there is according to the output for executing judgement audit function in step 706
Judgement to contract 40.The determination is carried out according to the embodiment of judgement audit function.It is for judgement audit function or wraps
The embodiment of the function of intelligent contract 40 is included, intelligent contract 40 may include the program called judgement audit function and export result
Instruction.For example, in the above exemplary embodiments of intelligent contract someContract { }, sentence " if
(court.checkStatus (...)) { ... } else { ... } " is according to checkStatus () function of Court { } contract
The output of energy is to determine whether there is the judgement to intelligent contract.As discussed further below, in another example, intelligence
Contract 40 may include program instruction " if (legalToken ()) { suicide (recipient);", call judgement to check
Function legaltoken (), and operation is executed according to the output of the function.As discussed further below, judgement is checked
Function is the embodiment of the function of virtual machine 78, and virtual machine can similarly call judgement audit function and execute behaviour according to output
Make.
If in step 708, determining that then method continues to execute step 712 there is no the judgement for intelligent contract 40.
In step 712, in the case where no any intervention, continue the execution of intelligent contract 40.For adjudicating audit function
It is or the embodiment of the function including intelligent contract 40, intelligent contract 40 continues to execute the other function 90 of intelligent contract 40.It is right
It is in judgement audit function or the embodiment of the function including virtual machine 78, virtual machine continues to execute intelligent contract 40.Implementing
Example in, continue to execute intelligent contract include at least one of the following: by intelligent contract carry out at least two parties between financial affairs, by
The ownership of intelligent contract transferring digital or physical assets between at least two parties executes person identification to authorize intelligent conjunction
It is electrical, mechanical or electromechanical to control with the restricted system of access, or by intelligent contract triggering electronic equipment generation electric signal
The operation of instrument.
If in step 708, determining the judgement existed for intelligent contract 40, then method continues to execute step 710.?
In step 710, the intervention to the operation of intelligent contract 40 is executed to prevent contract 40 from executing.It is for judgement audit function or wraps
The embodiment of the function of intelligent contract 40 is included, intelligent contract 40 can stop the behaviour of intelligent contract before executing other function
Make.For example, in the above exemplary embodiments of intelligent contract someContract { }, sentence " if
(court.checkStatus (...)) { ... } else { ... } " execution " else { ... } ", can not include any content,
Or notice including legal status etc..In other embodiments, intelligent contract can execute self-destroying function to prevent intelligent contract
The operation of 40 current and future.In one example, in above example program instruction, program instruction calls self-destruction function
Energy " suicide () " is with the operation of the current and future of the intelligent contract 40 of prevention.Self-destroying function can be from distributed ledger system
The data of intelligent contract 40 are deleted in system 24.It is the embodiment of the function of virtual machine 78, virtual machine 78 for judgement audit function
It does not execute and/or stops executing intelligent contract 40.This method terminates in step 714.
In embodiment, based on the judgement to intelligent contract come the method for intervening the operation of intelligent contract can only include with
On about Fig. 7 describe or discuss feature any subset or substitution sequence.
In embodiment, the judgement to intelligent contract is determined based on judgement and/or intervenes the side of the operation of intelligent contract
Method may include any subset and/or substitution sequence of any combination of the method for Fig. 5 and Fig. 7 or the feature of these methods
Any combination.
As discussed herein, virtual law court's server system 28, judge's system 32, complainant's system 36, distributed point
It class account system 24, other systems 38 and determines the judgement of intelligent contract in distributed ledger system and intelligence is intervened based on judgement
The other embodiment of the correlation technique 500,700 of the operation of contract is possible.For example, these systems described herein and side
Any feature of any embodiment of method can be used in any other embodiments of these system and method.Moreover, these are
The embodiment of system and method can only include the component of these system and method discussed here or any subset of feature.
Claims (31)
1. a kind of method for intervening intelligent contract operation in distributed ledger system, which comprises
Start the execution of intelligent contract by the distributed node of distributed ledger system;
After the execution for starting intelligent contract, judgement audit function is executed to determine in judgement database with the presence or absence of to intelligent conjunction
Same judgement;
In response to there is the judgement to intelligent contract in judgement database, intervene the operation of intelligent contract to prevent distributed node
Execute intelligent contract;And
In response to, there is no the judgement to intelligent contract, continuing to execute intelligent contract by distributed node in judgement database.
2. according to the method described in claim 1, wherein, the intelligence contract is called by distributed node to the second intelligent contract
Execution execute judgement audit function.
3. according to the method described in claim 2, wherein, data knot of the described second intelligent contract execution to the second intelligent contract
The reading of structure, the described second intelligent contract will adjudicate database purchase in the non-transitory storage medium of distributed ledger system
In.
4. the calling of the described second intelligent contract provides output to intelligent contract according to the method described in claim 2, wherein,
With the presence or absence of the judgement to the intelligent contract in output instruction judgement database.
5. according to the method described in claim 1, wherein, continue to be executed by the distributed node intelligent contract include with down toward
One item missing: financial affairs are completed by intelligent contract, or pass through intelligent contract identification individual.
6. according to the method described in claim 1, wherein, executing judgement audit function is held as the program function of intelligent contract
Capable.
7. according to the method described in claim 1, wherein, the operation for intervening intelligent contract includes by intelligent contract execution self-destruction function
Energy.
8. according to the method described in claim 1, wherein, the execution of the judgement audit function is by distributed ledger system
Distributed node virtual machine execute.
9. according to the method described in claim 8, wherein, the operation for intervening intelligent contract includes at least one of the following: that prevention is empty
Quasi- machine executes intelligent contract, or stops virtual machine and execute intelligent contract.
10. according to the method described in claim 1, wherein, executing judgement audit function and being included in outside distributed ledger system
Judgement database is read in the server system in portion.
11. according to the method described in claim 10, wherein, it includes executing intelligence that judgement database is read in server system
At least one program instruction of contract is to trigger the reading to judgement database.
12. according to the method described in claim 10, wherein, the reading to the judgement database in server system is by being distributed
The virtual machine triggering of formula ledger system.
13. according to the method described in claim 1, further include:
Based on the input received from one or more judge's systems, sentencing for the validity of the complaint to intelligent contract is determined
Certainly;
In response to supporting the judgement of the validity of the complaint to intelligent contract, by the judgement record in judgement database;
In response to starting the execution of intelligent contract, the request from judgement audit function is received, intelligent contract is somebody's turn to do with determination
It decides whether to be present in judgement database;And
The response to request is sent to indicate that this decides whether to be present in judgement database.
14. according to method described in right 13, wherein by the judgement record include generating to be sent to point in judgement database
The affairs of the intelligent contract of the second of cloth ledger system, the affairs include by the mark of the judgement and the intelligent contract
The instruction of the data structure of the intelligent contract of symbol write-in described second, and distributed ledger system is sent by the affairs
Distributed node.
15. a kind of method for intervening intelligent contract operation in distributed ledger system, which comprises
The complaint to intelligent contract is determined based on the input received from one or more judge's systems by server system
Validity judgement;
In response to supporting the judgement of the validity of the complaint to intelligent contract, by the judgement record in judgement database;
In response to starting the execution of intelligent contract, the request from judgement audit function is received, to determine the institute to intelligent contract
It states and decides whether to be present in judgement database;And
The response to request is sent, to decide whether to be present in described in instruction in judgement database.
16. according to method described in right 15, wherein the judgement record will be sent in judgement database including generating
The affairs of the intelligent contract of the second of distributed ledger system, the affairs include by the mark of the judgement and the intelligent contract
Know the instruction of the data structure of the intelligent contract of symbol write-in described second, and sends distributed ledger system for the affairs
Distributed node.
17. according to the method for claim 15, wherein by the judgement record judgement database in include sentencing described
It is certainly written in the data structure of distributed ledger system.
18. further including according to the method for claim 15, being received by server system from one or more judge's systems
The input about the complaint from one or more judges.
19. according to the method for claim 15, further including being received from complaint system about intelligent contract by server system
The complaint.
20. according to the method for claim 15, wherein the complaint includes the identification and intelligence of at least one legal provisions
Contract violates at least one statement of identified legal provisions.
21. according to the method for claim 15, wherein judgement database is located at the service of distributed ledger exterior
In device system.
22. according to the method for claim 15, further includes:
Start the execution of intelligent contract by the distributed node of distributed ledger system;
After the execution for starting intelligent contract, judgement audit function is executed to determine in judgement database with the presence or absence of to intelligence
The judgement of contract;And
In response to there is the judgement to intelligent contract in judgement database, intervene the operation of intelligent contract to prevent distributed node
Execute intelligent contract;And
In response to, there is no the judgement to intelligent contract, continuing to execute intelligent contract by distributed node in judgement database.
23. according to the method for claim 22, wherein the intelligence contract calls the second intelligence to close by distributed node
With execution execute judgement audit function.
24. according to the method for claim 22, wherein data of the described second intelligent contract execution to the second intelligent contract
The reading of structure, the described second intelligent contract, which will be adjudicated non-transitory of the database purchase in distributed ledger system and be stored, to be situated between
In matter.
25. a kind of for intervening the system of intelligent contract operation in distributed ledger system, the system configuration are as follows:
Start the execution of intelligent contract;
After the execution for starting intelligent contract, judgement audit function is executed to determine in judgement database with the presence or absence of to intelligence
The judgement of contract;
In response to there is the judgement to intelligent contract in judgement database, intervene the operation of intelligent contract, to prevent to execute intelligence
Contract;And
In response to, there is no the judgement to intelligent contract, continuing to execute intelligent contract in judgement database.
26. system according to claim 25, wherein the intelligence contract, which is called, closes the second intelligence by distributed node
With execution execute judgement audit function.
27. system according to claim 26, wherein data of the described second intelligent contract execution to the second intelligent contract
The reading of structure, the described second intelligent contract, which will be adjudicated non-transitory of the database purchase in distributed ledger system and be stored, to be situated between
In matter.
28. system according to claim 25, is additionally configured to:
Based on from one or more received inputs of judge's system, the judgement of the validity of the complaint to intelligent contract is determined;
And
In response to supporting the judgement of the validity of the complaint to intelligent contract, by the judgement record in judgement database;
In response to starting the execution of intelligent contract, the request from judgement audit function is received, intelligent contract is sentenced with determination
Certainly with the presence or absence of in judgement database;And
The response to request is sent, indicates that the judgement is present in judgement database.
29. a kind of for intervening the system of intelligent contract operation in distributed ledger system, the system configuration are as follows:
Based on from one or more received inputs of judge's system, the judgement of the validity of the complaint to intelligent contract is determined;
In response to supporting the judgement of the validity of the complaint to intelligent contract, by the judgement record in judgement database;
In response to starting the execution of intelligent contract, the request from judgement audit function is received, to determine the institute to intelligent contract
It states and decides whether to be present in judgement database;And
The response to request is sent, indicates that the judgement is present in judgement database.
30. system according to claim 29, wherein to send out the judgement record including generating in judgement database
The affairs of the second intelligent contract of distributed ledger system are given, the affairs include by the judgement and the intelligent contract
Identifier be written the described second intelligent contract data structure instruction, and send distributed ledger for the affairs
The distributed node of system.
31. system according to claim 29, is additionally configured to:
Start the execution of intelligent contract;
After the execution for starting intelligent contract, judgement audit function is executed to determine in judgement database with the presence or absence of to intelligence
The judgement of contract;
In response to there is the judgement to intelligent contract in judgement database, intervene the operation of intelligent contract, to prevent to execute intelligence
Contract;And
In response to, there is no the judgement to intelligent contract, continuing to execute intelligent contract in judgement database.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662396293P | 2016-09-19 | 2016-09-19 | |
US62/396,293 | 2016-09-19 | ||
PCT/IB2017/055639 WO2018051305A1 (en) | 2016-09-19 | 2017-09-18 | Systems and methods for interception of smart contracts |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109997166A true CN109997166A (en) | 2019-07-09 |
CN109997166B CN109997166B (en) | 2024-02-06 |
Family
ID=66998812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780057248.3A Active CN109997166B (en) | 2016-09-19 | 2017-09-18 | System and method for intercepting intelligent contracts |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3516615A1 (en) |
CN (1) | CN109997166B (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999004356A1 (en) * | 1997-07-14 | 1999-01-28 | Sloo Marshall A | Method and apparatus for handling complaints |
US20050203899A1 (en) * | 2003-12-31 | 2005-09-15 | Anderson Steven B. | Systems, methods, software and interfaces for integration of case law with legal briefs, litigation documents, and/or other litigation-support documents |
CN102945264A (en) * | 2012-10-24 | 2013-02-27 | 浪潮集团山东通用软件有限公司 | Method for intelligently starting distributed transaction |
US20140244521A1 (en) * | 2013-02-27 | 2014-08-28 | Datanalytics, Inc. d/b/a Juristat | Systems and methods for legal data processing |
CN104090863A (en) * | 2014-07-24 | 2014-10-08 | 高德良 | Intelligent legal instrument generating method and system |
CN104793988A (en) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | Cross-database distributed transaction implementation method and device |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
US20160092988A1 (en) * | 2014-09-30 | 2016-03-31 | Raistone, Inc. | Systems and methods for transferring digital assests using a de-centralized exchange |
-
2017
- 2017-09-18 CN CN201780057248.3A patent/CN109997166B/en active Active
- 2017-09-18 EP EP17787256.1A patent/EP3516615A1/en not_active Ceased
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999004356A1 (en) * | 1997-07-14 | 1999-01-28 | Sloo Marshall A | Method and apparatus for handling complaints |
US20050203899A1 (en) * | 2003-12-31 | 2005-09-15 | Anderson Steven B. | Systems, methods, software and interfaces for integration of case law with legal briefs, litigation documents, and/or other litigation-support documents |
CN1965313A (en) * | 2003-12-31 | 2007-05-16 | 汤姆森环球资源股份公司 | Systems, methods, software and interfaces for integration of case law with legal briefs, litigation documents, and/or other litigation-support documents |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
CN102945264A (en) * | 2012-10-24 | 2013-02-27 | 浪潮集团山东通用软件有限公司 | Method for intelligently starting distributed transaction |
US20140244521A1 (en) * | 2013-02-27 | 2014-08-28 | Datanalytics, Inc. d/b/a Juristat | Systems and methods for legal data processing |
CN104793988A (en) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | Cross-database distributed transaction implementation method and device |
CN104090863A (en) * | 2014-07-24 | 2014-10-08 | 高德良 | Intelligent legal instrument generating method and system |
US20160092988A1 (en) * | 2014-09-30 | 2016-03-31 | Raistone, Inc. | Systems and methods for transferring digital assests using a de-centralized exchange |
Non-Patent Citations (1)
Title |
---|
"Smart Contracts: Interview with Ethereum on the Future of Contracting", 《BLOG》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3516615A1 (en) | 2019-07-31 |
CN109997166B (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10984494B2 (en) | Systems and methods for interception of smart contracts | |
US11552785B2 (en) | Methods and systems for a synchronized distributed data structure for federated machine learning | |
CN1316325C (en) | Control method for managing permission setting of personal information disclosure, information managing device and service utilizing same | |
CN110495132A (en) | System and method for being generated in distributed network node, uploading and execute code block | |
US20180018738A1 (en) | Digital asset platform | |
KR20190006506A (en) | Digital Asset Modeling | |
CN108293048A (en) | The method and system of software hazard for control software exploitation | |
CN110751485B (en) | Data processing method and equipment | |
CN103765466B (en) | Method and apparatus for determining and being worth using digital asset | |
CN108171603A (en) | A kind of integral management system based on block chain | |
CN111985703B (en) | User identity state prediction method, device and equipment | |
CN108717466A (en) | Collage-credit data storage method, device, computer equipment and storage medium | |
CN109816508A (en) | Method for authenticating user identity, device based on big data, computer equipment | |
US20200134719A1 (en) | Distributed ledger implementation for entity formation and monitoring system | |
CN109428892A (en) | Multistage rewritable block chain | |
CN107993053A (en) | Data of settling a claim checking method, device, computer equipment and storage medium | |
CN109886712A (en) | Data processing method and device based on block chain | |
WO2022206439A1 (en) | Method and apparatus for providing cross-chain message | |
EP3472779A1 (en) | Digital asset platform | |
CN110275892A (en) | Data managing method, device, equipment and storage medium towards block chain | |
CN109997166A (en) | System and method for intercepting intelligent contract | |
CN110135190A (en) | Data managing method, server and computer storage medium | |
CN110428898A (en) | The method and system that the Clinical Decision Support Systems of data-driven evaluates and optimizes | |
EP4348917A1 (en) | Blockchain, method for transmitting information between nodes of the blockchain, and methods for configuring and quering the blockchain | |
CN113987574A (en) | Block chain private transaction method, device, equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |