A system for registering, in a database being an immutable blockchain ledger, a transaction between a first party's electronic device and a second party's electronic device, and for causing a third party's electronic device to perform an action in relation to the transaction, wherein the first party, the second party and the third party, the electronic devices are capable of communicating with the database over a communication network and capable of transmitting electronically signing data over the communication network, wherein the system is configured for:
- based on a smart contract template, creating, by the first party's electronic device, a transaction record being a smart contract encoding a transaction, the transaction record comprising
- a transaction identifier, for identifying the transaction,
- an identifier for identifying the first party,
- an identifier for identifying the second party, and
- transaction content information, relating to at least one of the nature of the transaction and a value that the transaction is considered to have;
- by the first party's electronic device, modifying a data structure of the transaction record to include an electronic signature of the first party's electronic device to create a first resulting transaction record and transmitting the first resulting transaction record to the database over the communication network, the electronic signature of the first party's electronic device being inputted by using a private key of the first party's electronic device;
- upon receipt of the transmitted first resulting transaction by the database, automatically registering the transmitted first resulting transaction record in the database;
- automatically transmitting over the communication network a notification to the third party's electronic device notifying that the first resulting transaction record has been registered in the database;
- transmitting the first resulting transaction record to the third party's electronic device over the communication network;
- determining, by the third party's electronic device, that the first resulting transaction record is in accordance with a rule or set of rules and includes the electronic signature of the first party's electronic device, wherein determining that the first resulting transaction record is in accordance with the rule or set of rules comprises verifying, based on the identifier for identifying the first party, the identifier for identifying the second party, and the transaction content information, the transaction conformity with the rule or set of rules;
- when the determination that the first resulting transaction record is in accordance with the rule or set of rules and includes the electronic signature of the first party's electronic device succeeds, by the third party's electronic device, modifying a data structure of the first resulting transaction record to include the electronic signature of the third party's electronic device to create a second resulting transaction record and transmitting the second resulting transaction record to the database over the communication network, the electronic signature of the third party's electronic device being inputted by using a private key of the third party's electronic device;
- upon modifying the data structure of the first resulting transaction record by the third party's electronic device, automatically debiting an account associated with the first party from an amount representing a tax on an added value that is considered to result from the transaction;
- upon receipt of the transmitted second resulting transaction by the database, automatically registering the transmitted second resulting transaction record in the database;
- automatically transmitting over the communication network a notification to the second party's electronic device notifying that the second resulting transaction record has been registered in the database;
- transmitting the second resulting transaction record to the second party's electronic device over the communication network;
- by the second party's electronic device, modifying a data structure of the second resulting transaction record to include an electronic signature of the second party's electronic device to create a third resulting transaction record and transmitting the third resulting transaction record to the database over the communication network, the electronic signature of the second party's electronic device being inputted by using a private key of the second party's electronic device;
- upon receipt of the transmitted third resulting transaction by the database, automatically registering the transmitted third resulting transaction record in the database;
- automatically notifying the third party's electronic device that the third resulting transaction record has been registered in the database;
- and,
- determining, by the third party's electronic device, whether the third resulting transaction record includes the electronic signature of the second party's electronic device;
- when the determination that the third resulting transaction record includes the electronic signature of the second party's electronic device succeeds, by the third party's electronic device, modifying a data structure of the third resulting transaction record to include an electronic signature of the second party's electronic device to create a fourth resulting transaction record and transmitting the fourth resulting transaction record to the database over the communication network, the electronic signature of the third party's electronic device being inputted by using a private key of the third party's electronic device;
- upon determining, by the third party's electronic device, that the third resulting transaction record includes the electronic signature of the second party's electronic device, automatically crediting an account associated with the second party by the amount;
- upon receipt of the transmitted fourth resulting transaction by the database, automatically registering the transmitted fourth resulting transaction record in the database, and causing the third party's electronic device to perform the action based on the transaction content information of the transaction record,
- wherein the transaction relates to an object, and the object is marked with a code representing, or corresponding to, the transaction identifier;
- or wherein the transaction relates to a service, and a document associated with the service is marked with a code representing, or corresponding to, the transaction identifier.