EP3688717A1 - Method for executing smart contracts through electronic processing means using the blockchain technology - Google Patents

Method for executing smart contracts through electronic processing means using the blockchain technology

Info

Publication number
EP3688717A1
EP3688717A1 EP18789219.5A EP18789219A EP3688717A1 EP 3688717 A1 EP3688717 A1 EP 3688717A1 EP 18789219 A EP18789219 A EP 18789219A EP 3688717 A1 EP3688717 A1 EP 3688717A1
Authority
EP
European Patent Office
Prior art keywords
transaction
computer
software code
smart contract
approval
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.)
Withdrawn
Application number
EP18789219.5A
Other languages
German (de)
French (fr)
Inventor
Roberto Guerrieri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shared Technologies Srl
Original Assignee
Shared Technologies Srl
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 Shared Technologies Srl filed Critical Shared Technologies Srl
Publication of EP3688717A1 publication Critical patent/EP3688717A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Technology Law (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method is described for executing, via electronic processing means using the blockchain technology, a smart contract 1 associated with a contract which involves a computer transaction between two or more contracting parties (P1, P2). The method comprises the step of publishing (S1), by storage on a shared computer infrastructure, a software code 10 of the smart contract 1; then establishing a computer connection (S2) between the software code 10 and an electronic copy of the text version 11, readable by humans, of the associated contract, so that the smart contract 1 comprises a set of digital data comprising the software code 10 of the smart contract and the electronic copy of the text version 11, available on a distributed blockchain platform 2; then publishing (S3), on the distributed blockchain platform, digital execution data 12 required for executing actions associated with the software code 10 of the smart contract 1. The method then envisages either granting or not granting, automatically, a validation (S4) based on the digital execution data 12 published on the distributed blockchain platform by each of a plurality of validation computer programs (C, D, E); and of calculating (S5), using an algorithm executed by electronic processing means, a result RV of the validation results obtained, in order to enable or not enable the continuation of the transaction on the basis of such a result. If the continuation is enabled, each of the contracting parties (P1, P2) carries out an evaluation (S6) of the execution data published on the distributed blockchain platform, by means of a respective associated approval computer program, to either approve or reject the transaction. In case of approval by all contracting parties, the method provides proceeding with the transaction execution (S7) by performing the steps of publishing on the distributed blockchain platform digital approval data (13) of the transaction; and executing the computer transaction by the distributed blockchain platform. In case of rejection by at least one of the contracting parties, the method involves carrying out an arbitration evaluation procedure (S8). Such arbitration evaluation procedure comprises evaluating the electronic text version 11 associated with the smart contract 1, by one or more Arbitrators (G, H, L); then either approving or rejecting the transaction, on the basis of the evaluation of the electronic text version 11, by the one or more Arbitrators, using a digital signature or authentication procedure; finally, proceeding with the computer transaction execution (S7), by the distributed blockchain platform 2, only in case of approval by the arbitration evaluation procedure.

Description

"Method for executing smart contracts through electronic processing means using the blockchain technology"
DESCRIPTION
TECHNOLOGICAL BACKGROUND OF THE INVENTION
Field of application.
The present invention generally relates to the technical field of methods and systems for executing smart contracts via electronic processing means using blockchain technology.
In particular, the invention relates to a method and to a system for executing smart contracts which employ blockchain technology and provide appropriate approval and checking steps.
Description of the prior art.
The expression "smart contract" indicates a known, rapidly developing technological solution adapted to support the execution of contracts and transactions in a manner as automated as possible, making use of digital data processing via computer procedures implemented by software programs.
In particular, smart contracts are computer protocols intended to facilitate, verify or enforce the negotiation or execution of a contract.
Smart contracts aim at making many contractual clauses partially or fully self- executing and/or self-enforcing, in order to improve security and reduce the transaction costs associated with existing methods for executing contracts.
It is known that solutions based on "smart contract" may be advantageously supported by blockchain technology. Indeed, a smart contract may benefit from some peculiar characteristics of blockchains.
As known, a blockchain is a distributed database which maintains a list of records, named "blocks", constantly growing over time, protected by cryptographic algorithms to prevent to tampering and undue revision. Each block contains a timestamp and a logical connection to a previous block, usually calculated as a "hash" of the content of the previous block.
Due to the intrinsic design features, blockchains are inherently resistant to data changes: once recorded, the data in a block cannot be retroactively modified.
A blockchain type database can be managed independently, e.g. by using a peer- to-peer computer network which also provides a distributed timestamp.
So, blockchains constitute a distributed ledger which can record transactions between two or more parties in an efficient, verifiable and permanent manner. From the point of view of hardware architecture, blockchains are supported by a distributed network of electronic computers which can replicate and store data produced locally during the transaction exchange. The strategy of replicating data can be appropriately pushed to a given point determined by a compromise between redundancy costs and overall robustness of the platform. Experience deriving from the use of blockchain technology for exchanging cryptocurrency has demonstrated that these networks are extremely robust against deliberate attacks or system malfunctions.
Essentially, smart contracts based on blockchain technology envisage a technology for software coding the verification of a set of prerequisites (e.g. , events which determine given results in a given moment of time), and a manner for executing the aforesaid software code by a predefined set of participants in an appropriate moment, in order to evaluate the results which must be implemented in light of events published on the blockchain. On the basis of the implementation of the aforesaid code, by the participants, it is established whether a consensus exists or not to perform the actions provided in the contract, for example., a transaction of digital resources (more commonly named "digital assets").
The limited experience available until today, relative to the practical application of the aforesaid concepts, shows that the approach described above can work when the contracts are very simple, and only in particular situations in which the occurrence of borderline cases, not predicted during the preparation of the code, is either absent or very limited.
On the contrary, serious problems have been encountered when the software implementation of contracts, as envisaged in the known smart contract solutions, was used and tested in real situations characterized by more complex legal structures.
Just to mention an example, the management of securitization processes determines cases which are very difficult or practically impossible to predict exhaustively in the preparation of the smart contract code.
Legal contracts in this context are extremely complex, because they must take into account of all the situations which may occur. Experience teaches us that, even in normal practice, it may be difficult to reach an agreement when external factors change suddenly.
In these cases, it is necessary to resort to human action, represented by the verdict of a court or by an arbitration activity, which falls completely beyond and outside an automated smart contract procedure. This nullifies the advantages of an automated smart contract type solution and in practice precludes the use of such a solution for a wide range of complex contracts. In light of the above, the need is strongly felt for methods and systems for executing smart contracts via electronic processing means which better exploit the potentials of blockchain technology and which are improved in such a way to provide the technical performance needed to adapt the method to the most diverse situations: maintaining a nearly total process automation and therefore maximizing efficiency and rapidity, when there are no different requirements; or allowing a more incisive human verdict-making intervention, integrated as far as possible with the automatic smart contract procedure, if this is appropriate in light of the transaction complexity, or of disagreements or misunderstandings between the parties.
SUMMARY OF THE INVENTION
It is the object of the present invention to provide a method for executing smart contracts via electronic processing means using blockchain technology, which makes it possible at least in part to solve the drawbacks described above with reference to the prior art and to respond to the aforesaid needs particularly felt in the considered technical sector.
Such an object is achieved by a method according to claim 1.
Further embodiments of such a method are defined in claims from 2 to 1 1.
BRIEF DESCRIPTION OF THE DRAWINGS
Further features and advantages of such method according to the invention will be apparent in the following description which illustrates preferred embodiments, given by way of indicative, non-limiting examples, with reference to the accompanying figures, in which:
- figures 1-5 schematically show some steps of the method according to an embodiment of the present invention.
DETAILED DESCRIPTION
A method is described for executing, via electronic processing means using the blockchain technology, a smart contract 1 associated with a contract which involves a computer transaction between two or more contracting parties (e.g., P1 , P2).
The method, firstly, comprises the step of publishing, by storage on a shared computer infrastructure, a software code 10 of the smart contract 1. Such software code 10 is associated with one or more actions to be performed, after verification, in relation to the transaction associated with the smart contract 1.
The method then provides establishing a computer connection between the aforesaid code software 10 and an electronic copy of the text version 11 , readable by humans, of the associated contract. In this manner, the smart contract 1 comprises a set of digital data comprising the software code 10 of the smart contract 1 and the electronic copy of the text version 1 1 , available on a distributed blockchain platform 2. The method further provides publishing, on the distributed blockchain platform, digital execution data 12 required for executing the one or more actions associated with the software code 10 of the smart contract 1.
It is then provided the step of either granting or not granting, in automatic manner, a validation based on the digital execution data 12 published on the distributed blockchain platform by each of a plurality of validation computer programs C, D, E, wherein each validation computer program C, D, E generates a positive or negative validation result; then, the step of calculating, using an algorithm executed by electronic processing means, a result RV of the obtained validation results, and either enabling or not enabling the continuation of the transaction on the basis of the validation result.
If continuation is enabled, the method provides evaluating the execution data published on the distributed blockchain platform, by each of the contracting parties (P1 , P2) by means of a respective associated approval computer program, to either approve or reject the transaction.
In case of approval by all contracting parties, the method provides proceeding with the execution of the transaction by performing the steps of publishing digital approval data 13 of the transaction on the distributed blockchain platform and of executing the computer transaction by the distributed blockchain platform.
If at least one of the contracting parties does not approve, an arbitration evaluation procedure is carried out.
Such arbitration evaluation procedure comprises the steps of evaluating the electronic text version 1 1 associated with the smart contract 1 , by one or more Arbitrators (G, H, L); and either approving or rejecting the transaction, on the basis of the aforesaid evaluation of the electronic text version, by the one or more Arbitrators (G, H, L). The possible approval takes place by using a digital signature or authentication procedure.
The method provides proceeding with the computer transaction execution, by the distributed blockchain platform 2, only in case of approval by the arbitration evaluation procedure.
With reference to figures 1-5, some details are now provided, by way of non-limiting example, of possible embodiments of the method of the invention.
In figure 1 , the step of publishing a software code 10 of the smart contract 1 and the step of establishing a computer connection between the software code 10 and the electronic copy of the text version 11 (both forming part of the smart contract 1) are respectively indicated by references S1 and S2.
In the illustrated example, the aforesaid steps S1 and S2 are performed by an entity B (for example, a provider of smart-contract-type services, having access to a blockchain platform). Such entity B takes care of publishing, on the shared computer infrastructure (e.g. on a blockchain platform), the software code which defines the actions and the rules associated with the contract and the respective transaction.
As already noted, when published, such code is connected to the text version of the contract which is readable by humans, who can therefore interpret its meaning, if and when required.
In figure 2, the step of publishing digital execution data 12 is indicated by reference S3. This step makes it possible to code as software the verification of a set of prerequisites, e.g., events which produce results in given moments.
In the illustrated example, step S3 is performed by another entity O (sometimes named "oracle") which can be, for example, an ICT (Information and Communication Technology) service provider and/or a blockchain platform manager. Indeed, the participants typically deem it appropriate to appoint a third party to perform such publication. In this manner, a community of participants can verify the timing of the publication which is established by the timestamp of the blockchain itself. Therefore, the role of "oracle" can be performed by an ICT service supplier, the reliability of which is verified or recognized by all parties.
As mentioned above, the execution digital data 12 are those data needed to run the software code 10 and the actions associated with it.
In figure 3, the step of either granting or not granting a validation on the digital execution data 12 is indicated by reference S4. The validation is a preliminary verdict stage, executed automatically by a plurality of validation computer programs (C,D,E), each of which provides a result, on the basis of predefined formal or substantial rules. Such rules can be expressed by means of structured languages (e.g. "Decision Management and
Notation") which provide a manner for identifying patterns in the data, on the basis of which patterns decisions are taken. Alternatively, other languages may be used which provide a more free approach to the smart contract expression, such as for example those in use in Ethereum.
The step of either granting or not granting a validation is comparable to an automatic vote by a committee of "computer judges". This committee, in an implementation example, may also include the totality of the participants of the blockchain platform itself.
In an implementation option, if a validation computer program grants the validation, the result is expressed by means of a digital signature characteristic of the program itself, which can be stored on the blockchain platform. The result of the overall vote RV is obtained by means of the step of calculating, indicated by reference S5, and executed by an appropriate calculation algorithm.
In several implementation options, various validation result calculation algorithms may be used. For example, an algorithm may be used which recognizes the digital validation signatures, counts them and decides whether the result of the validation is positive or negative according to whether the majority of validation programs has given consent or not; or according to whether a predefined number of consensuses has been reached or not; or, according to other known criteria, used within the context of digital multi- signature authorization.
It is worth noting that if the data are published on a blockchain platform accessible to the various concerned parties and the aforesaid algorithm is known and shared by the parties, any interested party may calculate and verify the validation result, with evident advantages in terms of transparency.
As shown in figure 3, if the validation result is negative, the process stops and the transaction is not performed. If the validation result is positive, the method proceeds with the step of evaluating, performed by the contracting parties, indicated by reference S6.
A sequential transaction is introduced at this point which requires the approval of the parties. The approval is supplied via approval computer programs, each associated respectively with each of the parties, which are configured to provide an approval on the basis of an input of the respective contracting party and/or on the basis of one or more predefined approval algorithms, operating in turn on the basis of several possible criteria and/or rules.
If all the parties agree that the execution of the code represents the intents of the contract, then all parties approve the transaction. Indeed, a consensus on the obtained result is achieved in an algorithmic manner, which enables the implementation of the actions envisaged in the contract (for example, transaction of digital asset). This specific scenario describes the situation of normal processing of transactions and regular application of the underlying contract.
Instead, if at least one of the parties raises objections, deeming that the execution of the code does not represent the correct interpretation of the contract, there will be no agreement on the result.
So, the decision is based on the presence or absence of a "consensus" (indicated by reference "UA" in the diagram of figure 3).
If there is unanimous consensus, the method proceeds with the step of executing the transaction (step indicated as S7 in figure 3), associated with a procedure called "Approved Result", which firstly stores digital data 13 of approval of the transaction on a block of the distributed blockchain platform (as also shown in figure 5).
If instead there is no unanimous consensus, the arbitration evaluation procedure ("Request for Arbitration"), indicated in figure 3 by reference S8, is requested and performed.
According to the implementation option shown in figure 3, the completion of the transaction following the approval of the contracting parties and the arbitration evaluation procedure are mutually exclusive. In such case, by virtue of the mutually exclusive nature of the two procedures, they can be implemented as a single procedure with two alternative outcomes, i.e. steps S7 or S8. This implementation option is preferred, because it avoids possible stalling of the process.
Some example details of the arbitration evaluation procedure S8 (described above in general terms) are shown in figure 4.
The management of the arbitration evaluation requires the involvement of "Arbitrators" who are people able to evaluate the content of the contract on the basis of the text version 12 made available by the method.
The Arbitrators (G, H, L) act by means of computer programs both to retrieve the text of the contract (on which their verdict is based) and to provide approval or not, e.g., by means of a digital signature or other type of computer authorization, after having reached a verdict. The result of the arbitration procedure is based, in this step, on a "human" verdict of expert people, using the text of the contract, made available by the method, as an essential basis for the verdict. It is worth noting that, on the contrary, the aforesaid step of validating is based on a vote performed in a completely automated manner, by executing a software program and obtaining results derived from published data on the blockchain platform.
The evaluation of Arbitrators' verdict, i.e., the result RA of the arbitration procedure, is performed algorithmically, considering the authorization provided (or not) by each of the Arbitrators via computer. In different implementation options, the approval may be recognized automatically according to whether a majority or unanimity is reached or according to a minimum number of consensuses, or according to other criteria.
If approval is achieved (positive result RA), the method proceeds with the step of executing the transaction, i.e., with the aforesaid step S7, similar to that executed in the event of unanimous consent of the parties.
If approval is not obtained (negative result RA), the transaction will remain silent until expiry. Ultimately, the step of executing the transaction S7, following the approval either by the unanimous parties (positive UA) or by the Arbitrators (positive RA) determines the publication, on the blockchain, of a predefined transaction identifier, which enables the last step of the method, i.e. , the actual execution of the transaction (e.g., the transfer of digital assets).
In figure 5, by way of example, the predefined identifier of the parties' unanimous approval is indicated as ID1 , while the predefined identifier of the arbitration approval is indicated as ID2.
The execution of the transaction can be supported by the entity which manages the blockchain and by the timestamping procedure of blockchain itself.
If neither authorization identifiers are published within a time period, which is also established and registered in blockchain (indicated as "Texp" in figure 5), the potential transaction will expire after this period. Obviously, in such case, the transfer of digital assets does not occur.
According to different possible implementation options, the method may comprise further steps dependent on the specific contract type (e.g. , associated with additional clauses, such as for example an escrow before activating the arbitration procedure). The implementation of these variants of the method can be easily understood by a person skilled in the art.
According to an embodiment of the method, the step of publishing S1 a software code of the smart contract comprises storing the software code 10 on the blockchain platform 2.
According to an alternative embodiment, the step of publishing S1 a software code of the smart contract comprises issuing a "hash" of the code and an address of a shared infrastructure where the code is stored and accessible.
According to an embodiment of the method, the step of establishing S2 a computer connection between the software code 10 and the electronic copy of the text version 11 comprises publishing the software code 10 and the electronic copy of the text version 1 1 in a same block of the blockchain 2.
According to an alternative embodiment, the step of establishing S2 a computer connection between the software code 10 and the electronic copy of the text version 1 1 comprises publishing a "hash code" of the combination of the software code 10 and the electronic copy of the text version 1 1.
In either case, after completing the aforesaid step S2, the smart contract is an indissoluble combination of software code 10 and text version 1 1. According to an embodiment of the method, the software code of the smart contract implements rules and/or procedures associated with the transaction.
These rules and procedures may be relevant for one or more parties: indeed, various entities may be involved in the definition and/or in the verification and/or in the enabling and/or in the execution of these rules or procedures.
In an implementation option, each of aforesaid validation computer programs C, D, E executes validation procedures based on published rules.
According to an embodiment of the method, each of the approval computer programs is configured to provide a computer approval based on an input of the respective contracting party (P1 , P2) and/or based on one or more predefined approval algorithms.
According to an implementation option, the aforesaid one or more predefined approval algorithms operate on the basis of one or more parameters which can be defined and set by the respective contracting party.
According to a typical implementation example, the computer transaction between two or more contracting parties (P1 , P2) comprises a transfer of digital assets.
The method described above may be used for smart contracts of the most diverse kinds, in all contract contexts. An example of application is provided below, by way of mere example, in a context in which the advantages of the method are particularly apparent.
The example relates to the financial context, in which there may be the need of securitizing a set of contracts and goods into aggregates having a much greater size. The securitization process takes place today, typically, in "package mode": an operator, who assembles the package, collects all the assets constituting it and then proposes the securitized package to another investor for a purchase. The purchaser, at this point of the process, can fully evaluate the content of the product deriving from the securitization process, making sure that it is coherent with what expected. However, in this manner, there is a step of the process during which the assembler of the package is exposed to the risk of having complete exposure with respect to the respective underlying. In case of tensions on the financial market, the potential buyer may not go ahead with the purchase, whereby causing a risky unexpected exposure for the person/entity who proceeded to carry out the securitization.
The method of the present invention makes it possible to manage this situation by executing a securitization process in dynamic manner. For example, a first step of the process may provide an undertaking, by the potential purchaser, to buy a stream of products which are coherent with the defined profiles, by means of a smart contract. This continuously flowing process removes the previously described risk. On the other hand, it is necessary to ensure for the purchaser the certainty that the software-implemented contract (smart contract) considers all possible variables which may have an impact on the asset transfer process. The method according to the invention makes it possible to introduce a structural surveillance mechanism that the software contract is compliant to the agreed arrangements, by means of the contract in textual form. This kind of protection provides the buyer with greater confidence in the process (which under normal conditions is much more efficient), and the assembler with the advantage of cancelling the risk arising from exposure to the assets and consequently reducing the cost of capital held in reserve. Indeed, if the purchaser decides to enable the arbitration process, this event is immediately received by the institutions which assemble the financial product, which therefore can interrupt the stipulation of contracts to avoid unexpected exposure.
As illustrated above, the method of the invention may be supported by a network of computers connected together by means of a telecommunication network, preferably operating in a distributed manner. Such network of computers is configured to implement a hardware/software blockchain-type platform and allow the access to each of the contracting parties and to each of the judging parties, by means of respective computers.
The processors included in the network are configured to store and execute, either locally or in distributed manner, all the aforesaid different software programs (e.g. , smart contract software code, computer validation programs, computer approval programs, software signature and/or digital authorization programs, software programs for implementing consent calculation algorithms, and so on) and to store and process all the different data types used in the method (e.g. execution digital data, timestamp data, approval digital data, transaction identification data, and so on).
According to an implementation option, the method is supported by an Ethereum- type blockchain platform.
It can be observed that the object of the present invention is fully achieved by the method illustrated above by virtue of the above described functional and structural features thereof.
Indeed, the described method can allow the preparation, management and execution of smart contracts in a highly automated and articulated manner in different stages of validation, verification and approval.
At the same time, the method allows the intervention of a human verdict by the Arbitrators, where appropriate and/or required, integrating it in all cases in the context of the automatic procedure, whereby maintaining all its advantages.
Indeed, the Arbitrators' verdict is based on the access via computer, allowed by the method, to data made available by the method (in particular, the text version of the contract, associated with the software code of the smart contract); furthermore, the approval or not, by the Arbitrators, occurs through computer authorization and/or digital signature means, and the result of the arbitration evaluation is automatically calculated and inserted in the flow of the overall computer blockchain-based process.
On the other hand, the steps of validating and approving by the parties are implemented in fully automatic manner.
In brief, the method of the present invention makes it possible to maintain a nearly total automation of the smart contract process, and therefore to maximize its efficiency and rapidity, when there are no different requirements; and at the same time, it allows a more incisive intervention of human judgement, entirely compatible and integrated (in input and output) with the automatic smart contract procedure, if this is appropriate in light of the complexity of the transaction or of disagreements or misunderstandings between the parties.
A person skilled in art may make changes and adaptations to the embodiments to the method described above or can replace elements with others which are functionally equivalent to satisfy contingent needs without departing from the scope of protection of the appended claims. All the features described above as belonging to one possible embodiment may be implemented independently from the other described embodiments.

Claims

1. Method for executing, via electronic processing means using the blockchain technology, a smart contract (1) associated with a contract that involves a computer transaction between two or more contracting parties (P1 , P2), wherein said method comprises the steps of:
- publishing (S1) by storage on a shared computer infrastructure, a software code (10) of the smart contract (1), said software code (10) being associated with one or more actions to be undertaken, subject to verification, in relation to the transaction associated with the smart contract (1);
- establishing a computer connection (S2) between said software code (10) and an electronic copy of the text version (1 1), readable by humans, of the associated contract, so that the smart contract (1) comprises a set of digital data comprising the software code (10) of the smart contract and the electronic copy of the text version (11), available on a distributed blockchain platform (2);
- publishing (S3), on the distributed blockchain platform, digital execution data (12) required for executing said one or more actions associated with the software code (10) of the smart contract (1);
- granting or not granting, automatically, a validation (S4) based on the digital execution data (12) published on the distributed blockchain platform by each of a plurality of validation computer programs (C, D, E), wherein each validation computer program (C, D, E) generates a positive or negative validation result;
- calculating (S5), using an algorithm executed by electronic processing means, a result (RV) of the validation results obtained, and enabling or not enabling the continuation of the transaction on the basis of said result;
- if the continuation is enabled, evaluating the execution data (S6) published on the distributed blockchain platform, by each of the contracting parties (P1 , P2) using a respective associated approval computer program, to approve or reject the transaction; wherein, in case of approval by all contracting parties, the method provides proceeding with the transaction execution (S7) by carrying out the steps of:
- publishing on the distributed blockchain platform digital approval data (13) of the transaction;
- executing the computer transaction by the distributed blockchain platform;
and wherein, in case of reject by at least one of the contracting parties, the method provides carrying out an arbitration evaluation procedure (S8), comprising:
- evaluating the electronic text version (1 1) associated with the smart contract (1), by one or more arbitrators (G, H, L);
- approving or rejecting the transaction, on the basis of said evaluation of the electronic text version (11), by the one or more arbitrators (G, H, L), using a digital signature or authentication procedure;
- proceeding with the computer transaction execution (S7), by the distributed blockchain platform (2), only in case of approval by the arbitration evaluation procedure.
2. Method according to claim 1 , wherein the step of publishing (S1) a software code of the smart contract comprises storing the software code (10) on the blockchain platform (2).
3. Method according to claim 1 , wherein the step of publishing (S1) a software code of the smart contract comprises issuing a "hash" of the code and an address of a shared infrastructure wherein the code is stored and accessible.
4. Method according to claim 1 , wherein the step of establishing (S2) a computer connection between the software code (10) and the electronic copy of the text version (1 1) comprises publishing the software code (10) and the electronic copy of the text version (11) in a same block of the blockchain.
5. Method according to claim 1 , wherein the step of establishing (S2) a computer connection between the software code (10) and the electronic copy of the text version (11) comprises publishing a "hash code" of the combination of the software code (10) and the electronic copy of the text version (1 1).
6. Method according to any one of the preceding claims, wherein said step of publishing digital execution data (S3) is carried out by a third party (O) or by an ICT service provider.
7. Method according to any one of the preceding claims, wherein each of the validation computer programs (C, D, E) executes validation procedures based on published rules.
8. Method according to any one of the preceding claims, wherein each of the approval computer programs is configured to provide a computer approval based on an input of the respective contracting party (P1 , P2) and/or based on one or more predefined approval algorithms.
9. Method according to claim 8, wherein said one or more predefined approval algorithms operate on the basis of one or more parameters definable and settable by the respective contracting party.
10. Method according to any one of the preceding claims, wherein the software code (10) of the smart contract (1) implements rules and/or procedures associated with the transaction.
1 1. Method according to any one of the preceding claims, wherein the computer transaction between two or more contracting parties (P1 , P2) comprises a transfer of digital assets.
EP18789219.5A 2017-09-25 2018-09-24 Method for executing smart contracts through electronic processing means using the blockchain technology Withdrawn EP3688717A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT102017000107125A IT201700107125A1 (en) 2017-09-25 2017-09-25 Method for performing smart contracts by electronic processing means using blockchain technology
PCT/IB2018/057357 WO2019058340A1 (en) 2017-09-25 2018-09-24 Method for executing smart contracts through electronic processing means using the blockchain technology

Publications (1)

Publication Number Publication Date
EP3688717A1 true EP3688717A1 (en) 2020-08-05

Family

ID=61024896

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18789219.5A Withdrawn EP3688717A1 (en) 2017-09-25 2018-09-24 Method for executing smart contracts through electronic processing means using the blockchain technology

Country Status (3)

Country Link
EP (1) EP3688717A1 (en)
IT (1) IT201700107125A1 (en)
WO (1) WO2019058340A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414952A (en) * 2019-07-29 2019-11-05 杭州复杂美科技有限公司 Decentralization application dissemination method, equipment and storage medium
CN113872923B (en) * 2020-06-30 2023-06-06 成都质数斯达克科技有限公司 Transaction method, updating method, device, equipment and storage medium based on blockchain system
CN111782615B (en) * 2020-07-08 2021-05-18 杭州云链趣链数字科技有限公司 Block chain-based large file storage method and system and computer equipment
CN112435026B (en) * 2020-11-27 2023-03-28 从法信息科技有限公司 Method and device for protecting file transaction information by using zero-knowledge proof and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts

Also Published As

Publication number Publication date
WO2019058340A1 (en) 2019-03-28
IT201700107125A1 (en) 2019-03-25

Similar Documents

Publication Publication Date Title
US11775945B2 (en) Secure real-time product ownership tracking using distributed electronic ledgers
CA3071976C (en) Distributed ledger interaction systems and methods
JP7250568B2 (en) Blockchain Nodes, Blockchain Node Methods, and Blockchain Node Computer Programs
EP3485437B1 (en) Distributed ledger platform for vehicle records
US11689513B2 (en) Blockchain operating system
Nzuva Smart contracts implementation, applications, benefits, and limitations
US20190026821A1 (en) Intermediate blockchain system for managing transactions
US20180075536A1 (en) Multiparty reconciliation systems and methods
WO2019058340A1 (en) Method for executing smart contracts through electronic processing means using the blockchain technology
US20180018738A1 (en) Digital asset platform
US20230035321A1 (en) Systems and methods for hyperledger-based payment transactions, alerts, and dispute settlement, using smart contracts
CN111260362A (en) Information processing method and device of block chain network and storage medium
GB2578168A (en) Computer-implemented method and system for digital signing of transactions
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
US20220284508A1 (en) A distributed computing architecture with settlement mechanism to enable traceability of credit tokenization, disbursement and repayment
WO2018013124A1 (en) Digital asset platform
JP7157015B2 (en) Smart contract system and program
CN112400298B (en) Verification transaction system and method for adding to an electronic blockchain
CN107277108B (en) Method, device and system for processing messages at nodes of block chain
Xue et al. Applying smart contracts in online dispute resolutions on a large scale and its regulatory implications
US11887146B2 (en) Product exploration-based promotion
CN114066451A (en) Method and system for managing fund transaction and electronic equipment
US20230412393A1 (en) Multisignature Custody of Digital Assets
US11924350B2 (en) Cryptographically enforced partial blinding for distributed system
US11580577B2 (en) Product exploration-based promotion

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20200325

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210309

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20221213