WO2022225467A1 - System and method for creating multi dimension blockchain - Google Patents

System and method for creating multi dimension blockchain Download PDF

Info

Publication number
WO2022225467A1
WO2022225467A1 PCT/TH2021/000013 TH2021000013W WO2022225467A1 WO 2022225467 A1 WO2022225467 A1 WO 2022225467A1 TH 2021000013 W TH2021000013 W TH 2021000013W WO 2022225467 A1 WO2022225467 A1 WO 2022225467A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
data
blockchain
hash
owner
Prior art date
Application number
PCT/TH2021/000013
Other languages
French (fr)
Inventor
Noppadon THONGSOM
Original Assignee
Angel Time Co., Ltd.
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 Angel Time Co., Ltd. filed Critical Angel Time Co., Ltd.
Priority to PCT/TH2021/000075 priority Critical patent/WO2022225468A1/en
Publication of WO2022225467A1 publication Critical patent/WO2022225467A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor

Definitions

  • Blockchain is a model of the system to store digital information, by making information to a group or a block of data before connecting each block of data together, as a chain of data block, so-called Blockchain.
  • RDBMS Relational Data Base Management System
  • Oracle Database management system Oracle
  • IBM DB2 Database management system
  • Informix Database management system Informix, later sold to IBM
  • SAP SAP Database management system
  • 4D Database Management System McIntosh, a company under Apple’s subsidiaries
  • the blockchain system is to create data in the form of “Message Block” or “Packet”, a small block of data, called block with a structure within the block to store various values, which can prevent unauthorized alteration, edition or destruction of data by its key designed structure as follows:
  • Header indicates the name of the block so-called block name, was used to identify a particular block.
  • “Hash of Previous Block” is the value of the hash function from the previous block.
  • the hash function is the one that transforms the required digital data into a number of small one interactively. This hash value is comparable to the “fingerprint” of that data. So in this case, the hash value of the previous block is the previous block's “fingeiprint“. The details of the hash function will be discussed later.
  • “Nonce” is a random variable. This is the value that makes the present block's hash value meet the conditions set by the blockchain system, which will be discussed in more detail on Proof of Work later.
  • “Data” is data to be sent and stored in the blockchain. It could be collection of either one or more digital information from multiple users, within the period of time, such as every 10 minutes. The details of the blockchain creation process will be discussed later.
  • “Hash of Present Block” is the value of the hash function of the present block.
  • the hash function is as earlier characterized in item 1.2), but this time on the present block.
  • the hash value is the “fingerprint” of the present block.
  • blockchain system may choose not to store “Hash of Present Block” in the block structure.
  • Figure 1 shows an illustrating example of the block structure and relationships in blockchain, with an example of Block#101, Block# 102 and Block#103, whose header are Bl, B2, and B3 respectively, with the previous block's hash value PV1, PV2 and PV3 respectively.
  • Those blocks were created and saved at time Tl, T2 and T3 respectively, with values obtained from sampling to build a block are Nl, N2 and N3 respectively.
  • Packed Data are DI, D2 and D3 respectively.
  • Block#101 All of the information above, Bl, PV1, Tl, Nl, and DI of the Block#101 will be processed through the hash function to get the hash value of the present block which is PS 1.
  • Block#102 and Block#103 were performed in the same way and get the hash value as PS2 and PS3 respectively.
  • PSI PV2 (PSI is practically put in Block#102 as the Hash of Previous Block.)
  • PS2 PV3 (PS2 is practically put in Block# 103 as the Hash of Previous Block.)
  • Block#104 and PV4 is the Hash of Previous Block
  • PS3 PV4 (PS3 is practically put in Block#104 as the Hash of Previous Block.)
  • Block#101 for example, and PSO is the hash value of Block# 100, then
  • each data block in the blockchain possible for being traced back (Traceability) for the accuracy of the data, associated with the hash value linked between blocks, by taking “Hash of Previous Block” and “Hash of Present Block” of previous block.
  • data of the previous block could be processed through the hash function to get hash value, and verify with one stored as the Hash of Previous Block, in case of doubt on data attack. Any change occurring within a block makes the hash value of the block change. Therefore, the connection between each block will be detected as error, so that the blockchain system is difficult for data alteration, without detection.
  • some blockchain system may choose not to bring the hash value of previous block to be counted in the hashing process, to make “Hash of Present Block”.
  • the PSI may be derived from the hash function of the Bl, Tl, N1 , and DI without bringing the PV1 a part of the hashing process, and then will be the same manner for PS2 and PS3, not bringing the PV2 and PV3 to count into the hashing process.
  • Blockchain system works by the principle of “Distributed Database System”, bringing information as building blocks to store in a device of connection point, called “Node”, within a network.
  • Node a device of connection point
  • One single user with his or her device can be counted as one node as well where the device is connected within a network designed to work together.
  • the creation of block starts from that a user broadcasting its initial information into network system, and other nodes detect it and verify the accuracy of the information before converting it into the form of a block.
  • the prototype block then is broadcasted into network system, where other nodes could collect them and store into its device system.
  • FIG. 2 shows an example of a connection between nodes without any nodes being as the center of the system.
  • Each node sends data, receives data and processes it in the same manner. Periodically, it checks the information between each other (data reconciliation). If there is a block on a node that is different from other majority, being received from other nodes, the block will be corrected and updated accordingly. This creates a collaborative network that is difficult to compromise on. If someone wants to make a fraud change to the attacked node, it needs more than half of the nodes in the network system to be in consensus to make a complete change. Such attacks are therefore very difficult and costly, especially on the blockchain system with a large number of nodes.
  • Some Blockchain has many nodes reaching more than one hundred thousand nodes.
  • the rule is that the new block needs to have its hash value less than any given number.
  • the first node coming up with solution will have the right to create a prototype block and broadcast it into the network system.
  • the other remaining nodes could store it next to the previous block. Node who generates the prototype block could earn a prize in the form of Coin as a return.
  • Nonce which is a random variable to process during the Proof of Work stage
  • the nonce will keep changing its value until that the hast value of a forming block meet a given criteria.
  • the criteria is that the hash value of forming block must less than this following figure, 00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  • the large number of nodes could help in processing and building a new block into blockchain system. Moreover, it helps to process a data reconciliation between data block being stored in each node. If a block has been confirmed that it is different from other majority, which more than half of the total nodes in the system, it would be concluded as an error. The process of updating the correct block from other nodes will be occurred. Therefore, the blockchain system is very difficult to be inaccurate, changed or attacked by an attacker.
  • Hash function is a way to make a part of or all part of digital data to become a unique message digest, comparable to the “fingerprint” of that data. If the data being processed through the hash function is the overall data block, it is the block's “fingerprint 66 .
  • the hash function's algorithms are digesting and mixing all subsections, repeatedly, to finally get the “hash value”, of which the key features are unique value, same size of output regardless of original data, and not able to reverse to the original data.
  • the SHA-1 algorithm was developed in 1993 by NIST (National Institute of Standards and Technology) and NSA (National Security Agency) of the United States. This will return the hash value with 160 bits of data, regardless of size of its original data, and the hash value is unique, comparable to an individual's unique fingerprint.
  • the SHA-1 algorithm divides any original data size into several groups of 512-bit data. There will be methods and procedures to fulfill the fragment of those groups so that all groups have the total number of 512-bit data to start with.
  • the reason is that SHA-1 algorithm will generate a 160- bit hash result, consisting of a 32-bit variable from 5 different variables of a, b, c, d and f. Therefore, at the beginning stage of the calculation, it needs to start with 32-bit variables of A, B, C, D and E whose initial assignment are in hexadecimal terms (i.e. numbers 0-9 and A, B, C, D, E, F).
  • the SHA-1 algorithm consists of a process cycle of four rounds. Each round will be conducted at different 20 times.
  • the non-linear function of 3 variables has a pattern as follows:
  • SHA-1 is the most widely used hash function. However, in 2005 there were reports of mathematic flaws. It was eventually developed into SHA-2 in 2005 and SHA-3 in 2012.
  • SHA-2 is a set of hash functions for 4 series (SHA-224, SHA-256, SHA-384 and SHA- 512), which contain a different size of hash value (224 bits, 256 bits, 384 bits and 512 bits respectively).
  • SHA-2 algorithm is primarily similar to the SHA-1 algorithm, but it has 64/80 processing cycles. Both SHA-1 and SHA-2 were designed by the NS A.
  • NIST has arranged a contest for SHA-3 algorithm design. This one is similar to a contest for creating AES algorithms, being used widely for a symmetric encryption as of today.
  • Keccak algorithm Kerccak team, Daemen et al.
  • Keccak algorithm was chosen because it outperformed others on hardware perspective, associated with its flexibility to adjust the speed and increase safety. Moreover Keccak can adjust the size of hash value as needed.
  • NIST has still confirmed for its confidence in the safety of SHA-2 algorithm.
  • the contest is for stimulate other external experts to be involved in setting standards, rather than solely counting on NS A as before.
  • Blockchain that information within the block can be modified or can be deleted without a visible traces of data left (Non-Tamper-Evident). Its method is the use of hash function with special features that can process those different initial data, but result in the same hash value.
  • One of the key factor is called Trapdoor, meaning trick leading to the same destination, but in the patent named as “Key Secret”.
  • the application of the Chameleon Hash Function was introduced for its “Key Secret” in the patent.
  • the algorithm of the Chameleon Hash Function once processing data along with generating the trapdoor or “Key Secret”, will get the hash value as a result.
  • the trapdoor need to be kept safely, because if someone knows he or she can repeat the process of Chameleon Hash Function with different sort of initial data, but using the same trapdoor or “Key Secret”, and finally get the same result of hash value, as explained more in below sample,
  • the CH ( X, Y) is the operation of the Chameleon Hash Function for 2 initial sets of data, such as X and Y, and generating a unique trapdoor.
  • the hash value of ( X, Y ) is the same as the hash value of ( X', Y' ).
  • the Rewritable Blockchain system implements the Chameleon Hash Function to edit block entries and still brings out the same hash values of each associated blocks, which an example of the structure within the block is presented for 4 parts;
  • HashPrev is the hash value of the previous block, obtained by processing the initial data of the previous block through the Chameleon Hash Function
  • Counter is a special value for building an original block at the first time, similar to the Nonce of other blockchain system (i.e. Bitcoin) for mining process of building a new block.
  • Randomness is the value to be updated, along with change in Payload, using the trapdoor, to process the original block to become the new data block with the same hash value. All four of the above parameters will be processed through the hash function, where the result value is not stored in the block, with the following algorithm.
  • Hash Value H ( Counter, CH ( HashPre, Payload, Randomness ) )
  • the second hash function may use the Chameleon Hash function or other type of hash function.
  • Figure 3 A shows an illustrating example of the block structure for the Rewritable Blockchain , presenting Block#301, Block#302 and Block#303, each containing HashPrev value of S, S' and S' respectively.
  • the Payload values are respectively, and Counter values are CTR, CTR' and CTR" respectively, with original Randomness values at R, R' and R" respectively.
  • the hash value which has been derived from each block is FP, FP' and FP" respectively, with Trapdoor (or in the patent referred as Key Secret) of T, T and T" respectively.
  • HashPrev is a key factor in connection with a previous block with hash value as shown below.
  • S FPO Rewritable Blockchain has a feature to make changes of initial data within the block of which the hash value, linking each block in the chain, still remain the same, associated with the Trapdoor application.
  • Figure 3B shows an illustrating example of change in initial data in the block, still continuing with Block#301, Block#302 and Block#303 for presenting a case of changing initial data in Block#302, whose the hash value is FP' and trapdoor is T.
  • change of the block data could be as desired from the initial X to new X2', where
  • the new hash value of FP2' comes from the following relationship:
  • Figure 4 illustrates the removal of a block from the Rewritable Blockchain system, continuing from the example Block#301, Block#302, and Block#303, subjected for Block#302 to be deleted from the system. This is done in the same way as modifying information within a block, but need to apply changes on the previous block, Block#301. Trapdoor for Block#301 is T, and we use it to edit data within the Block#301 to get the new hash value.
  • the desired hash value is the same hash value of Block#302.
  • the new desired hash value is FP1, being derived from relationship as follows:
  • Block#302 This is due to the fact that Block#302 's hash value is
  • H ( CTR , CH ( S, X, R1 ) ) H ( CTR', CH ( S', X ', R' ) ) or
  • Block#302 can be cut out from the system as desired.
  • Adopting the Chameleon Hash Function that has the ability to modify the original data to get the same “hash value”, using techniques trapdoor, will literally not be defined as a “fingerprint” of the block, because “fingerprint” has deserved one unique. That makes arguments about the appropriateness of the application using the Chameleon Hash Function to generate the hash value, to representing the data block. Moreover, this weakens the blockchain system's key feature of traceability from present block back to previous block, and so on. All these applications reduce faith to the accuracy and security of data in blockchain system. If there is an attacker, accessing the trapdoor value of the Chameleon Hash Function and modifying the data within the block, the same hash value of the block could be produced. This will make the attack completely untraceable (Non-Tamper-Evident).
  • this new blockchain system could provide and support for the digital signature, binding legal on signed data, and support for managing the printout (paper document), which can be used as original data.
  • This invention is the development of a system and a method for creating blockchain where every block of information is clearly defined with the data subject and the owner or the person associated with rights to the data. Ownership and the right to information is identified and stored in a block of data.
  • the Public Key Infrastructure (PKI) is applied to identify the valid person who exists in the system, as well as to develop a group of person as one organization, for the sake of making a deal or contractual agreement between persons or between a group of persons, in which all the parties involved in the agreement are required to have rights and joint ownership of the information.
  • PKI Public Key Infrastructure
  • This invention is the creation of a parallel blockchain system, which many chain systems are related back and forth.
  • the main information system (System 1) will keep all important information in all formats, such as text, documents and digital images, including the permit information for change or forward data.
  • This blockchain system consists of the design of the structure and operation for the main information system (System 1) and for the control information system (System 2), the process of creating a digital identity of person in the system, the process of creating a digital identity of group of persons in the system , the process of creating initial data and broadcasting to all nodes in the system, the process to determine which node to create the prototype block and broadcast to all other nodes in the system, the process of recording and storing the new prototype block in each node, the process to reconcile block between those nodes in the system, the process to perform an effective traceability for all data block in the system, the process to delete, edit or forward of data in the block being requested by data owner, the process of applying digital signature to the data and recording in the block, the process of identifying the right person who can put the digital signature in the block, the process of printing out the digital data from the block to document paper being used as original data legally.
  • Multi Dimension Blockchain System identifies the identity of the owner of data, both individually persons and groups of persons or corporations.
  • the results of electronic transactions and stored data in the system are completely secure and reliable.
  • personal information, in Multi Dimension Blockchain System can be deleted, amended, changed or even requested to be sent forward to another person, by the data subject's request, complying with regulation on the protection of personal information.
  • the components and procedures of the system are as follows:
  • the hash function is a mechanism to operate interactively with a part of data or all of it and generate a small digest message digest, which is the hash value.
  • the vital features and qualifications for hash function are that the original data could not be reversed from its hash value, the hash value must be a unique value from each different original data. These qualifications make the hash value become or close to the fingerprint of its original data.
  • hash function which is qualified for these criteria will be applied, such as the hash functions that have been developed by the National Security Agency of the United States, higher than SHA-2 (a secure hash algorithm version 2) onwards.
  • SHA-2 a secure hash algorithm version 2
  • hash functions can also be used if their qualifications for non-reverse and unique of hash value are equal or superior.
  • SHA-3 which uses an Keccak algorithm and certified by the NIST is also applicable.
  • PKI Public Key Infrastructure
  • the creation of the two-key pair is related by a mathematical algorithm.
  • the first key called Public Key
  • the Public Key is created base on the standard of X.0509, consisting of around 360 characters or 360 bytes.
  • the Public Key of any given person is open for anyone in the system to call for data encryption or data decryption.
  • Private Key is created at the same time in pair of Public Key, base on the standard of PKCS#8 with consisting of 3-4 times more characters than Public Key (over 360 bytes time 3 or 4) is.
  • the key is kept privately by given person only.
  • the structure of the Multi Dimension Blockchain System consists of three key systems which are Main Blockchain System, Control Blockchain System and Owner Blockchain System. All three systems are working in closed relationship as follows:
  • Main Blockchain System is the main dimension for record and storing data or instruction using for an operation, of the owner or person having the right to information. There are a number of connected blocks of information within one blockchain line. Moreover, there are a number of different blockchain lines within Main Blockchain System, sharing the same services of Control Blockchain System and Owner Blockchain System.
  • Control Blockchain System is the supporting dimension to manage and control the order of the data owner for deleting, editing and forward his, her or their data being stored in the block under Main Blockchain System. Practically, it is separated into sub-dimensions of each order type; Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System.
  • Owner Blockchain System manages to segregate and collect those blocks under Main Blockchain System and Control Blockchain System, and connect them into one blockchain line, classified by data owner.
  • One blockchain line is for one data owner. Therefore, there are a number of blockchain lines within Owner Blockchain System.
  • FIG. 5 shows the overview structure of Multi Dimension Blockchain System.
  • the Main Blockchain System contains many blockchain lines, established from different purpose of use, for example Blockchain X which could be for money transactions, Blockchain Y for medical record, and Blockchain Z for educational record.
  • Owner Blockchain System contains many blockchain lines, segregated for each data owner, for example Owner A, Owner B and Owner C. If Owner A performs a financial transaction which results in generate a block in Blockchain X. Later Owner A goes to see the doctor, his medical record then appears as a block in Blockchain Y. Since Owner A is a student, his educational transcript is a block in Blockchain Z.
  • Control Blockchain System consists of Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System.
  • Owner A wants to send his medical record to Owner B, he can manage to do it associated with Forward Control Blockchain System, by calling his medical record from Blockchain Y and forwarding it to Owner B.
  • main block A data block within Main Blockchain System is named as “main block”.
  • a data block within Delete Control Blockchain System is named as “delete-command block”.
  • a data block within Edit Control Blockchain System is named as “edit-command block”.
  • FIG. 6 shows an illustration of Multi Dimension Blockchain structure and relationship, by presenting sample blocks of MBlock#601, MBlock#602 and MBlock#603 for Main Blockchain System and blocks of CBlock#601, CBlock#602 and CBlock#603 For Control Blockchain System as well as blocks in the middle of Figure 6 of OBlock#601, OBlock#602 and OBlock#603 for Owner Blockchain System.
  • the block contains several of which are described in the following order later, but the key is “Hash Value” of data within the block in Figure 6 as follows:
  • Hash of Present Main Block is the hash value of those data in the current block within
  • Hash of Previous Main Block is the hash value of those data in the immediate previous block, before connecting to the current block, within Main Blockchain System. This hash value is contained in the current block and being used as a pointer to link with the previous block. This enables the connection between each block and results in a chain from end to end, for Main Blockchain System.
  • Hash Of Present Control Block is the hash value of the current block within Control
  • Hash of Previous Control Block is the hash value of those data in the immediate previous block, before connecting to the current block, within Control Blockchain System. This hash value is contained in the current block and being used as a pointer to link with the previous block. This enables the connection between each block and results in a chain from end to end, for Control Blockchain System.
  • Hash of Present Owner Block is the hash value of some selective data associated with owner identity and block identity, either within Main Blockchain System or Control Blockchain System where the block is created.
  • Hash of Previous Owner Block is the hash value of some selective data associated with owner identity and block identity, in the immediate previous block, either within Main Blockchain System or Control Blockchain System where the block is created. This hash value is contained in the current block and being used as a pointer to link with the previous block. This makes another blockchain line for certain owner and enables the connection between each block of his or her, resulting in a chain from end to end, for Owner Blockchain System.
  • those blocks in this Main Blockchain System are enabling another dimension of connecting blocks for the same owner in Owner Blockchain System which in the example shows data owner of 0W2 as follows:
  • OBlock#601 MBlock#602
  • Hash of Previous Owner Block P02
  • Hash of Present Owner Block 02
  • OBlock#602 retrieves MBlock#604 to connect with OBlock#601. Therefore,
  • OBlock#602 MBlock#604
  • OBlock#603 retrieves CBlock#603 to connect with OBlock#602. Therefore,
  • Main Blockchain System containing various lines of main blockchain, is related with Control Blockchain System for any further administrations of data which is subdivided into at least three dimensions; Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System.
  • Control Blockchain System may add more dimensions to further operate and coordinate with Main Blockchain System and Owner Blockchain System.
  • Owner Blockchain System is typically subdivided into several dimensions, depending on the number of data owner in Main Blockchain System, as one data owner for one blockchain line. 3. Data structure and the relationship in Main Blockchain System
  • Main Block of Main Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 7 as the sample blocks of MBlock#701, MBlock#702 and MBlock#703 as follows:
  • Dimension - identifies the blockchain line within the system, and in the example they are MD1, MD2 and MD3 respectively.
  • Header - indicates the name of the block as the identity of each block within the system, and in the example they are Hl, H2 and H3 respectively.
  • Data Owner - is an owner of information.
  • the owner who has the right to block information may be individual person or a group of individual person together. In the example they are OW1, OW2 and OW3 respectively.
  • Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example they are PO1, PO2 and PO3 respectively.
  • Hash Of Present Owner Block Its relationship with Hash Of Present Owner Block will be described in the article 3.16) later.
  • Hash of Previous Main Block - is the “Hash Value” of the previous block within Main Blockchain System.
  • they are PM1, PM2 and PM3 respectively, where MBlock#700 is the first block in the series and has a “Hash Value” of MO. Therefore,
  • the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Main Block may be set as “0” (zero).
  • Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
  • they are ND1, ND2 and ND3 respectively.
  • Timestamp - is the time information when the block was created. In the example they are Tl, T2 and T3 respectively.
  • Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Main Blockchain System, before broadcasting it into the system.
  • the conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, they are DN1, DN2 and DN3 respectively.
  • Delete Count - is a count of the number of times that the information kept inside the block is deleted, with rules as follows:
  • Delete Count 0, is that there is no deletion of information inside the block at all.
  • Delete Count 1, is that the information inside the block was deleted once and for all.
  • Delete Count can contain either 0 or 1, since the information can only be deleted once and all information has gone.
  • DC1, DC2 and DC3 respectively.
  • Delete Hash - is the hash value of the delete-command block within Delete Control Blockchain System, which commands for deleting data kept inside this block of Main Blockchain System, with rules as follows:
  • Delete Hash will keep the Hash Value of the deletecommand block, which exists within Delete Control Blockchain System. Therefore,
  • Delete Hash “Hash Value” of delete-command block
  • they are DH1, DH 2 and DH 3 respectively.
  • Edit Count - is a count of the number of times that the information kept inside the block is edited, with rules as follows:
  • Edit Count 0, is that there is no editing of information inside the block at all.
  • Edit Count “number”, identifies the number of times the information was edited, by an edit-command block which exists within Edit Control Blockchain System.
  • they are EC 1, EC2 and EC3 respectively.
  • Edit Hash - is the hash value of the edit-command block within Edit Control Blockchain System, which commands for editing data kept inside this block of Main Blockchain System, with rules as follows:
  • Edit Hash will keep the latest Hash Value of the editcommand block, which exists within Edit Control Blockchain System. Therefore,
  • Edit Hash the latest “Hash Value” of edit-command block
  • EH1, EH2 and EH3 are EH1, EH2 and EH3 respectively.
  • the correction of spelling errors or others relevant personal data are allowed for modification and data improvement.
  • Forward Count - is a count of the number of times that the information kept inside the block is forwarded, with rules as follows:
  • Forward Count 0, is that there is no forward of information in the block before.
  • Forward Count “number”, identifies the number of times the information was forwarded, by a forward-command block which exists within Forward Control Blockchain System.
  • Forward Hash - is the hash value of the forward-command block within Forward Control Blockchain System, which commands for forwarding data kept inside this block of Main Blockchain System, with rules as follows:
  • Forward Hash will keep the latest Hash Value of the forward-command block, which exists within Forward Control Blockchain System. Therefore,
  • Forward Hash the latest “Hash Value” of forward-command block
  • FH1, FH2 and FH3 are FH1, FH2 and FH3 respectively.
  • Data - is the information to be kept inside the main block which it could be any types of digital data such as text, parameter, formula, instruction program, data file, object file, video file, etc. It is created and stored according to the purpose of the blockchain line, after data validation for its accuracy. In the example they are DAT1 , DAT2 and DAT3 respectively.
  • Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example they are 01, 02 and 03 respectively.
  • Hash of Present Owner Block Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”.
  • the hash values of those MBlock#701, MBlock#702 and MBlock#703 are derived from as follows:
  • 01 H ( OW1, H ( MD1, H1, PO1, ND1, T1 )
  • 02 H ( 0W2, H ( MD2, H2, P02, ND2, T2 )
  • H ( ) is a format of processing the hash function.
  • Hash of Present Main Block - is the “Hash Value” of the current block within Main Blockchain System. In the example they are Ml, M2 and M3 respectively.
  • Hash of Present Main Block Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Main Block, Node Code, Decisive Number, Data )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
  • the hash values of those MBlock#701, MBlock#702 and MBlock#703 are derived from as follows:
  • Ml H ( Tl, H ( MD1, Hl, 0W1, P01, PM1, ND1, DN1, DAT1 )
  • M2 H ( T2, H ( MD2, H2, 0W2, P02, PM2, ND2, DN2, DAT2 )
  • H ( ) is a format of processing the hash function.
  • the link between MBlock#701 and MBlock#702 enable within Main Blockchain System, and so on for MBlock#702 and MBlock#703.
  • This link between block could not be interrupted with any strange data block so that it is hard for hacker to put its data block within the blockchain line in Multi Dimension Blockchain System. The total traceability could have been performed and detect for any data violation.
  • Control Blockchain System are classified into three systems, which the first one, Delete Control Blockchain System, is responsible for recording a command of deleting data and sending the instruction to execute the deletion. This system relatively supports the traceability across Main Blockchain System and Owner Blockchain System.
  • Instruction for deleting is not to delete the whole block, but deleting only information kept in Data as described in the article 3.15), and still remain other parts of the block, such as Dimension, Header, Data Owner, Node Code and especially the hash values using as link between blocks. This remains the block with traceability as desired.
  • the delete-command block of Delete Control Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 8 as the sample blocks of DBlock#801, interacting with MBlock#800 within Main Blockchain System as well as interacting with OBlock#800 and Oblock#801 within Owner Blockchain System as follows: 4.1) Dimension - identifies the blockchain line within the system, and in the example of DBlock#801 it is DD8.
  • Header - indicates the name of the block as the identity of each block within the system, and in the example of DBlock#801 it is H8.
  • Data Owner - is an owner of information.
  • One who has the right to block information may be individual person or a group of individual person together. In the example it is OW8.
  • the targeted block for deletion must exist in Main Blockchain System and is belonging to that such user.
  • Figure 8 shows an illustrating example of MBlock#800 with its data owner OW8, and within Owner Blockchain System the same block exists as OBlock#800. Therefore,
  • Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO81. The previous block to link for is within Owner Blockchain System at the same data owner, who is certainly OW8. The example shows it is OBlock#800 with its hash value of 080. Therefore,
  • Hash of Previous Delete Control Block - is the “Hash Value” of the previous block within Delete Control Blockchain System. In the example it is PD81, where the previous block has a “Hash Value” of DC80. Therefore,
  • the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Delete Control Block may be set as “0” (zero).
  • Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND81.
  • Timestamp - is the time information when the block was created. In the example it is
  • Hash of Deleted Block - is the “Hash Value” of the target block whose data is subject to deletion.
  • the target block for deletion is MBlock#800, with its hash value is M8. Therefore,
  • the block in Main Blockchain System whose data is deleted contains Delete Count and Delete Hash as described earlier in the article 3.9) and the article 3.10) respectively will record the hash value of the delete-command block (DBlock#801) in Delete Hash.
  • Delete Count changes its value to “1”
  • Delete Hash changes its value to DCS. This enables the traceability for both directions, from Main Blockchain System to Delete Control Blockchain System and from Delete Control Blockchain System to Main Blockchain System.
  • Data - is the instruction to be recorded inside the block within Delete Control Blockchain System which command to delete information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules of deletion under Multi Dimension Blockchain System. In the example it is DATS 1. 4.11) Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 081.
  • the “Hash Value” is derived from the hash function as below.
  • Hash of Present Owner Block Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”.
  • the hash value of this DBlock#801 is derived from below.
  • H ( ) is a format of processing the hash function.
  • DBlock#801 is the same block as OBlock#801 as described before in the article 4.3), with its Hash of Present Owner Block is 081. Later if the data owner 0W8 creates a new block, that hash value of 081 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO82. Therefore,
  • Hash of Present Delete Control Block - is the “Hash Value” of the current block within Delete Control Blockchain System. In the example it is DCS.
  • Hash of Present Delete Control Block Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Delete Control Block, Node Code, Decisive Number, Hash of Deleted Block, Data )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
  • the hash value of this DBlock#801 is derived from below.
  • DCS H ( T81, H ( DD8, H8, OW8, PO81, PD81, ND81, DN81, DB81, DAT81 )
  • H ( ) is a format of processing the hash function.
  • Control Blockchain System responsible for recording a command of editing data and sending the instruction to execute editing data. This system relatively supports the traceability across Main Blockchain System and Owner Blockchain System.
  • the edit-command block of Edit Control Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 9 as the sample blocks of EBlock#901, interacting with MBlock#900 within Main Blockchain System as well as interacting with OBlock#900 and Oblock#901 within Owner Blockchain System as follows:
  • Data Owner - is an owner of information, who has the right to block information, may be individual person or a group of individual person together. In the example it is OW9. However, before a user can create a edit-command block, the targeted block for editing must exist in Main Blockchain System and is belonging to that such user.
  • Figure 9 shows an illustrating example of MBlock#900 with its data owner OW9, and within Owner Blockchain System the same block exists as OBlock#900. Therefore,
  • Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO91. The previous block to link for is within Owner Blockchain System at the same data owner, who is certainly OW9. The example shows it is OBlock#900 with its hash value of 090. Therefore,
  • Hash of Previous Edit Control Block - is the “Hash Value” of the previous block within Edit Control Blockchain System. In the example it is PE91, where the previous block has a “Hash Value” of EC90. Therefore,
  • the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Edit Control Block may be set as “0” (zero).
  • Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND91. 5.7) Timestamp - is the time information when the block was created. In the example it is
  • Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Edit Control Blockchain System, before broadcasting it into the system.
  • the conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, it is DN91.
  • Hash of Edited Block - is the “Hash Value” of the target block whose data is subject to modification. In the example it is EB91.
  • the target block for modification is MBlock#900, with its hash value is M9. Therefore,
  • the block in Main Blockchain System whose data is edited contains Edit Count and Edit Hash as described earlier in the article 3.11) and the article 3.12) respectively will record the hash value of the edit-command block (EBlock#901) in Edit Hash.
  • Edit Count changes its value to the current number of times which the data has been edited
  • Edit Hash changes its value to EC9. This enables the traceability for both directions, from Main Blockchain System to Edit Control Blockchain System and from Edit Control Blockchain System to Main Blockchain System.
  • Data - is the instruction to be recorded inside the block within Edit Control Blockchain System which command to edit information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules of modification under Multi Dimension Blockchain System. In the example it is DAT91.
  • Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 091.
  • Hash of Present Owner Block Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”.
  • the hash value of this EBlock#901 is derived from below.
  • H ( ) is a format of processing the hash function.
  • EBlock#901 is the same block as OBlock#901 as described before in the article 5.3), with its Hash of Present Owner Block is 091. Later if the data owner 0W9 creates a new block, that hash value of 091 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO92. Therefore,
  • Hash of Present Edit Control Block - is the “Hash Value” of the current block within Edit Control Blockchain System. In the example it is EC9.
  • This “Hash Value” is derived from the hash function as below.
  • Hash of Present Edit Control Block Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Edit Control Block, Node Code, Decisive Number, Hash of Edited Block, Data )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
  • the hash value of this EBlock#901 is derived from below.
  • EC9 H ( T91, H ( ED9, H9, 0W9, P091, PE91, ND91, DN91, EB91, DAT91 )
  • H ( ) is a format of processing the hash function.
  • the third system of Control Blockchain System is Forward Control Blockchain System, responsible for recording a command of forwarding data and sending the instruction to execute forwarding data. This system relatively supports the traceability across Main Blockchain System and Owner Blockchain System.
  • the forward-command block of Forward Control Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 10 as the sample blocks of FBlock#l 001, interacting with MBlock#1000 within Main Blockchain System as well as interacting with OBlock#l1000 and Oblock#1001 within Owner Blockchain System as follows:
  • Header - indicates the name of the block as the identity of each block within the system, and in the example of FBlock#lOOl it is H10.
  • Data Owner - is an owner of information.
  • One who has the right to block information may be individual person or a group of individual person together. In the example it is OW10.
  • the targeted block for forward must exist in Main Blockchain System and is belonging to that such user.
  • Figure 10 shows an illustrating example of MBlock#lOOO with its data owner OWIO, and within Owner Blockchain System the same block exists as OBlock#lOOO. Therefore,
  • Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO101. The previous block to link for is within Owner Blockchain System at the same data owner, who is certainly OWIO. The example shows it is OBlock#lOOO with its hash value of 0100. Therefore,
  • Hash of Previous Forward Control Block - is the “Hash Value” of the previous block within Forward Control Blockchain System. In the example it is PF101, where the previous block has a “Hash Value” of FC 100. Therefore,
  • the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Forward Control Block may be set as “0” (zero).
  • Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
  • it is ND101.
  • Timestamp - is the time information when the block was created. In the example it is T101.
  • Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Forward Control Blockchain System, before broadcasting it into the system.
  • the conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, it is DN101.
  • Hash of Forwarded Block - is the “Hash Value” of the target block whose data is subject to forward.
  • the target block for forward is MBlock# 1000, with its hash value is M10. Therefore,
  • the block in Main Blockchain System whose data is forwarded contains Forward Count and Forward Hash as described earlier in the article 3.13) and the article 3.14) respectively will record the hash value of the forward-command block (FBlock#1001) in Forward Hash.
  • Forward Count changes its value to the current number of times which the data has been forwarded
  • Forward Hash changes its value to FC10. This enables the traceability for both directions, from Main Blockchain System to Forward Control Blockchain System and from Forward Control Blockchain System to Main Blockchain System.
  • Data - is the instruction to be recorded inside the block within Forward Control Blockchain System which command to forward information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules of forward under Multi Dimension Blockchain System. In the example it is DATlOl.
  • Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 0101.
  • the “Hash Value” is derived from the hash function as below.
  • Hash of Present Owner Block Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”.
  • the hash value of this FBlock#1001 is derived from below.
  • 0101 H ( OW10, H ( FD10, H10, P0101, ND101, T101 )
  • H ( ) is a format of processing the hash function.
  • FBlock#1001 is the same block as OBlock#1001 as described before in the article 6.3), with its Hash of Present Owner Block is 0101. Later if the data owner OWIO creates a new block, that hash value of 0101 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO102. Therefore,
  • Hash of Present Forward Control Block - is the “Hash Value” of the current block within Forward Control Blockchain System. In the example it is FC 10.
  • This “Hash Value” is derived from the hash function as below.
  • Hash of Present Forward Control Block Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Forward Control Block, Node Code, Decisive Number, Hash of Forwarded Block, Data )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
  • the hash value of this FBlock#lOOl is derived from below.
  • FC10 H ( T101, H ( FD10, H10, OWIO, PO101, PF101, ND101, DN101,
  • H ( ) is a format of processing the hash function.
  • Owner Blockchain System eventually exists by bringing any emerged block from Main Blockchain System and Control Blockchain System for the same data owner to connect as a blockchain line, associated with the hash value of the previous owner block, which makes it easy and transparent to the data owner. It also supports a function of Control Blockchain System to retrieve a block within Main Blockchain System for deleting, editing and forward its data, by the right of the data owner.
  • the data block of Owner Blockchain System contains a number of various fields and segments associated with a different type of the data block, which could be a main block, a delete-command block, an edit-command block, and a forward-command block. However, it can classified into two groups of data, a common data group (for every type of data block) and a specific data group (for a various type of data block), described in Figure 11 as the sample blocks of OBlock#! 101 for the layout of data.
  • a common data group (for every type of data block), whose data fields and segments exists inside any various type of blockchain system, is defined as follows:
  • Header - indicates the name of the block as the identity of each block within the system, and in the example of OBlock#! 101 it is Hl 1.
  • Data Owner - is an owner of information. One who has the right to block information, may be individual person or a group of individual person together. In the example it is own.
  • Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO111. The previous block has the hash value of 0110. Therefore,
  • the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Owner Block may be set as “0” (zero).
  • Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND111.
  • Timestamp - is the time information when the block was created. In the example it is Ti l l.
  • Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 0111.
  • the “Hash Value” is derived from the hash function as below.
  • Hash of Present Owner Block Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
  • This equation performs a 2-round hash function.
  • the first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner’ ’.
  • the hash value of this OBlock#! 101 is derived from below.
  • H ( ) is a format of processing the hash function. Later if the data owner OW11 creates a new block, that hash value of 0111 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO112. Therefore,
  • a specific data group (for a various type of data block), whose data fields and segments are varied by the type of blockchain system, splits into 4 subgroups.
  • Subgroup 1 - a block which emerges from Main Blockchain System, will have the following fields and segments of data.
  • Hash of Previous Main Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Main Blockchain System.
  • Delete Count - is a count of the number of times that the information kept inside the block is deleted.
  • Delete Hash - is the hash value of the delete-command block within Delete Control
  • Edit Count - is a count of the number of times that the information kept inside the block is edited.
  • Edit Hash - is the hash value of the edit-command block within Edit Control
  • Forward Count - is a count of the number of times that the information kept inside the block is forwarded.
  • Forward Hash - is the hash value of the forward-command block within Forward
  • Control Blockchain System which commands for forwarding data kept inside this block of Main Blockchain System.
  • - Data - is the information to be kept inside the block within Main Blockchain System.
  • Hash of Present Main Block - is the hash value of those data in the current block within Main Blockchain System, which the hash function is defined by rule of Main Blockchain System.
  • Subgroup 2 - a block which emerges from Delete Control Blockchain System, will have the following fields and segments of data.
  • Hash of Previous Delete Control Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Delete Control Blockchain System.
  • Hash of Deleted Block - is the “Hash Value” of the target block whose data is subject to deletion.
  • Data - is the instruction to be recorded inside the block within Delete Control
  • Hash of Present Delete Control Block - is the hash value of those data in the current block within Delete Control Blockchain System, which the hash function is defined by rule of Delete Control Blockchain System.
  • Subgroup 3 - a block which emerges from Edit Control Blockchain System, will have the following fields and segments of data.
  • Hash of Previous Edit Control Block is the hash value of those data in the immediate previous block, before connecting to the current block, within Edit Control Blockchain System.
  • Decisive Number is such a complement parameter that the hash value of block being created matches the conditions of Edit Control Blockchain System, before broadcasting it into the system.
  • Hash of Edited Block - is the “Hash Value” of the target block whose data is subject to modification.
  • Data - is the instruction to be recorded inside the block within Edit Control Blockchain
  • Hash of Present Edit Control Block - is the hash value of those data in the current block within Edit Control Blockchain System, which the hash function is defined by rule of Edit Control Blockchain System.
  • Subgroup 4 - a block which emerges from Forward Control Blockchain System, will have the following fields and segments of data.
  • Hash of Previous Forward Control Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Forward Control Blockchain System.
  • Hash of Forwarded Block - is the “Hash Value” of the target block whose data is subject to forward.
  • Hash of Present Forward Control Block - is the hash value of those data in the current block within Forward Control Blockchain System, which the hash function is defined by rule of Forward Control Blockchain System.
  • Figure 12 shows an example to explain the sequence of block emerging within Owner Blockchain System, which is a parallel to creation of a block within Main Blockchain System and within Control Blockchain System.
  • OBlock#1201, OBlock#1202, OBlock#1203, OBlock#1204 and OBlock#1205 have the same data owner as MBlock#1201 and MBlock#1203 have within Main Blockchain System and DBlock#1202, EBlock# 1204 and FBlock#1205 have within Control Blockchain System.
  • the steps of emerging blocks in parallel dimension can be described to 5 consecutive steps as follows:
  • Step No.1 MBlock#1201 was created within Main Blockchain System and Hash of Previous Owner Block is PO 121, to connect with the previous block of the same owner within Owner Blockchain System. OBlock#1201 was then emerging, which
  • Naming the block for OBlock#1201 or MBlock#1201 is just alias to distinguish these two from different blockchain system. However those all values inside the block, which are real value from Dimension and all others, are the same.
  • Step No.2 The data owner of MBlock#1201 has exercised his or her right to delete the data inside the block. Once the request has been reviewed and approved, DBlock#1202 will be created within Delete Control Blockchain System and Hash of Previous Owner Block is PO122, which stores the “hash value” as 0121 (hash value of OBlock#1201) or
  • naming the block for OBlock#1202 or DBlock#1202 is just alias to distinguish these two from different blockchain system. However those all values inside the block, which are real value from Dimension and all others, are the same. Subsequently, the system will delete the data inside MBlock#1201 according to the approved delete-command-block. Since
  • OBlock#1201 MBlock#1201 or they are the same block
  • Hash of Previous Owner Block is PO123, which stores the “hash value” as 0122 (hash value of OBlock#1202) or
  • Step No.4 Later the data owner of MBlock#1203 has exercised his or her right to edit the data inside the block. Once the request has been reviewed and approved, EBlock# 1204 will be created within Edit Control Blockchain System and Hash of Previous Owner Block is PO124, which stores the “hash value” as 0123 (hash value of OBlock#1203) or
  • naming the block for OBlock#1204 or EBlock# 1204 is just alias to distinguish these two from different blockchain system. However those all real values inside the block are the same.
  • OBlock#1203 MBlock#1203 or they are the same block
  • Step No.5 Lastly in the example, the data owner of MBlock#1203 has exercised his or her right to forward the previously modified data inside the block. Once the request has been reviewed and approved, FBlock#1205 will be created within Forward Control Blockchain System and Hash of Previous Owner Block is PO125, which store the “hash value” as 0124 (hash value of OBlock#1204) or
  • OBlock#1205 FBlock#1205
  • naming the block for OBlock#1205 or FBlock#1205 is just alias to distinguish these two from different blockchain system. However those all real values inside the block are the same.
  • the system will forward the data inside MBlock#1203 according to the approved forward-command-block.
  • Creating a user as a person with identity in the system is very important. This must be done in a strict manner and must be secure. Making sure that a person with identity in the system is the person who exists in the real world with the correct factors and conditions, to be legally binding with all of his or her transactions and record in Multi Dimension Blockchain System.
  • the person with identity in the system has the rights to the data associated with law and regulation, and is responsible for the data he or she broadcasts to the system. So it must have a legitimate identity registration system that verifies his or her identity, including identification and authentication process, before enabling the Public Key Infrastructure to generate a pair of electronic key, Private Key and Public Key, especially for his or her accountability in Multi Dimension Blockchain System.
  • the identity registration system requires a list of equipments, tools, programs and person, showing in Figure 13, as follows:
  • - Portable communication device (102) being registered in the name of a person requesting for identity registration (101), with a signal for data communication.
  • this can be a mobile phone, with smartphone function.
  • - Personal Identification Card (103) being issued by a government agency. In some implementation this can be the ID card issued by the government unit or a Passport issued by the Ministry of Foreign Affairs.
  • Multi Dimension Blockchain System (109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts for identity registration as follows:
  • User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), such as button, selection, drop-down list and data input.
  • Application System is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
  • Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102).
  • - Communication Interface System is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future, or via Wi-Fi of any internet service provider.
  • Application system (116) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
  • Memory System (117) is a data storage for program and record, which need to reserve a memory size within the personal computer (104).
  • - Communication Interface System is for data transmission between web application system (114) and internet system, using the communication signal either wired or wireless access, such as cabling via Ethernet, or wireless access via Wi-Fi of any internet service provider, or using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future.
  • - Certification Authority System (119) is to validate the authentication of person requesting for identity registration (101) and issue an electronic certification after validity, so that he or she becomes the person with identity in Multi Dimension Blockchain System.
  • - Public Key Infrastructure is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for a person requesting for identity registration (101) who pass the validation and becomes the person with identity in the system.
  • This pair of electronic key is capable of encrypting data with one key and decrypting it once another key is paired into it.
  • This pair of electronic key is as below.
  • Private Key (121) will be sent to the person with identity in the system to store privately in portable communication device (102).
  • Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
  • a person requesting for identity registration (101) comes and presents himself or herself to the person in charge of identity registration, along with his or her portable communication device (102) registered in his or her name.
  • the person in charge of identity registration validates the personal identification card such as comparing the person photo on the ID card against face of the person.
  • the person in charge of identity registration use the card scanner (105) to read the information on the personal identification card, operated by card reader software program (106). There is at least the following information, appearing on the monitor.
  • the information was stored on the card at the time when the person had applied for the personal identification card (103).
  • the person in charge of identity registration confirms for continuing the process, by pressing “continue” to submit the request for current information of the person requesting for identity registration (101) to the database system (107) of the government unit.
  • the person in charge of identity registration validates the information of the person requesting for identity registration (101) with the current information receiving from the database system (107) of the government unit. If correct, press “Confirm”.
  • Portable communication device (102) has a notification on Mobile Application System (109) asking for continuing the process with Pin Code.
  • the person requesting for identity registration (101) may use the front camera to take himself or herself photos, or ask the person in charge of identity registration to use the rear camera to do so. If not satisfied with the photos, the person can select to retry for new shooting photos.
  • Certification Authority System maintains the Public Key (122) of the person requesting for identity registration (101).
  • Certification Authority System (119) will encrypt Private Key (121) of the person requesting for identity registration (101) with an electronic key of single key type (108). Then send it to Mobile Application System (109) on the portable communication device (102). 20) Certification Authority System (119) will send information of electronic key of single key type (108) to Web Application System (114).
  • the person in charge of identity registration informs the information of electronic key of single key type (108) to the person requesting for identity registration (101).
  • the portable communication device (102) has a notification on Mobile Application System (109) regarding the existence of decrypted Private Key (121).
  • Mobile Application System (109) will notify for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
  • Web Application System (114) will notify the person in charge of identity registration for the completion of process.
  • the person in charge of identity registration is also required for going through identity registration process, to be the person with identity in the system.
  • the list of persons in charge of identity registration is defined as well.
  • a person requesting for identity registration (101) turns on his or her portable communication device (102) registered in his or her name.
  • the screen display of Mobile Application System (109) will change to camera mode automatically, along with the camera reference frame of shooting ID card.
  • the person requesting for identity registration (101) take a photo of his or her personal identification card (103) and press “Upload”.
  • Certification Authority System (119) submits the request for current information of the person requesting for identity registration (101) to the database system (107) of the government unit. Once receive the information per request, the process of validation continues as follows:
  • Public Key Infrastructure will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her personal data, such as name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
  • Certification Authority System maintains the Public Key (122) of the person requesting for identity registration (101).
  • Certification Authority System (119) will encrypt Private Key (121) of the person requesting for identity registration (101) with an electronic key of single key type (108). Then send it to Mobile Application System (109) on the portable communication device (102).
  • Certification Authority System (119) will send information of electronic key of single key type (108) to email address of the person requesting for identity registration.
  • the portable communication device (102) has a notification on Mobile Application System (109) regarding the existence of decrypted Private Key (121).
  • Mobile Application System (109) will notify for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
  • the whole process of generating a pair of electronic key can be processed within the portable communication device (102) without being sent via internet. This could be done by adding an extra program for generating that pair of electronic key on Mobile Application System (109) of Multi Dimension Blockchain System. Then the process of generating a pair of electronic key would be as follows: 1) A person requesting for identity registration (101) turns on his or her portable communication device (102) registered in his or her name.
  • Certification Authority System will validate information and photos by communicating with the database system (107) of the government unit, for requesting the relevant information.
  • Certification Authority System (119) will generate a Pin Code, which is a figure of 4-6 digits, for authorization to generate a pair of electronic key.
  • the Pin Code is sent to email address of the person requesting for identity registration (101) with notification on Mobile Application System (109).
  • the portable communication device (102) has a notification on Mobile Application System (109) asking for continuing the process with Pin Code.
  • the person requesting for identity registration accesses through Mobile Application System (109) for a functionality of “A pair of electronic key” and select a sub-function of “Generating a pair of electronic key”.
  • the system will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her personal data, such as name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
  • Certification Authority System receives such the information and validate whether it is the same set of information permitting for authorization to generate a pair of electronic key.
  • Certification Authority System (119) will keep Public Key (122) in the state of “Inactive” or not yet available.
  • Certification Authority System (119) generates another Pin Code for permission to install Private Key and send it to email address of the person requesting for identity registration, with notification on Mobile Application System (109).
  • the portable communications device (102) has a notification on Mobile Application System (109) asking for installing Private Key with Pin Code.
  • the person requesting for identity registration accesses through Mobile Application System (109) for a functionality of “A pair of electronic key” and select a sub-function of “Installing Private Key”.
  • Mobile Application System (109) will install Private Key (121) into the system, within the portable communication device (102).
  • the system sends information of name, identity ID card number and Pin Code which permitting for Private Key installation to Certification Authority System (119).
  • Certification Authority System (119) receives such the information and validate whether it is the same set of information permitting for installing Private Key.
  • Certification Authority System (119) will maintain Public Key (122) in the system and change the state of “Inactive” to “Active” for use.
  • Certification Authority System (119) will notify to the Mobile Application System (109) for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
  • the process of identity registration may use or cooperate with the services of agencies or service providers who provide the service of identification and authentication for a certain person. Some application of data communication may be deployed for collaboration.
  • Certification Authority System (119) can continue with a process of generating a pair of electronic key and creating the person with identity in Multi Dimension Blockchain System.
  • Multi Dimension Blockchain is complex and legal binding with a person or group of persons that own the data. Therefore, all processes and functions of which to create the person with identity in the system, create a group of persons with identity in the system, create initial data in the system, create a block in the system, perform digital transaction in the system, and etc., need a list of equipments, tools, programs and person, showing in Figure 14, as follows:
  • - Portable communication device (102) which has been used for identity registration process, with installation of Private Key (121) and with a signal for data communication.
  • this can be a mobile phone, with smartphone function.
  • User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), such as button, selection, drop-down list and data input, with the following functions.
  • Application System is an operating system to process all functions and instructions, along with workflow, algorithm and record, which have been developed.
  • Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102).
  • - Communication Interface System is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LIE/ or other technology in the future, or via Wi-Fi of any internet service provider
  • Node (132) is a set of computing system, consisting of computer equipments which could be a small set as a personal computer or big set of a data center (integrating system of application server, database server, storage system, routing & switching system, and etc.). Node is belong to a person with identity in the system (131) and is installed a fully set of Multi Dimension Blockchain System, with internet connection.
  • Computer System which could be a small set as a personal computer or big set of a data center (integrating system of application server, database server, storage system, routing & switching system, and etc.).
  • Computer system is installed a set of fully set of Multi Dimension Blockchain System, consisting of important parts as follows:
  • User Interface System is a supporting system that allows the person with identity in the system (131) to perform a program functionality being displayed on monitor of computer system (133), with the following functions.
  • Application system (135) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
  • Memory System (136) is the data storage for program and record, which need to reserve a memory size within the computer system (133).
  • Blockchain Processing Logic System (138) is a processing unit associated with all programs, applications, instructions, conditions and records being set in Multi Dimension Blockchain System to process all following working systems.
  • - Communication Interface System (137) is for data transmission between computer system (133) and internet system, using the communication signal either wired or wireless access, such as cabling via Ethernet, or wireless access via Wi-Fi of any internet service provider, or using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future.
  • - Certification Authority System (119) is to validate the authentication of a person with identity in the system (131) and a group of persons with identity in the system (151) by issuing an electronic certification, so that they exist and are accountable in Multi Dimension Blockchain System.
  • - Public Key Infrastructure is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for the person with identity in the system (131). This pair of electronic key is as below.
  • Private Key (121) will be stored in a portable communication device (102).
  • the person with identity in the system (131) can setup a group with others to form a group of persons with identity in the system for the benefit of joint rights to data and joint right to operate digital transactions, with legal binding.
  • the group of persons with identity in the system is not limited by the number of members, but all members must be qualified as the person with identity in the system (131).
  • Step No.1 Generating a list for a group of persons with identity in the system (201)
  • the right to generate initial data is to grant the member the ability to generate the initial data and present it to the group for approval. If getting approved, then it will be broadcasted to the system on behalf of the group.
  • Step No.2 Considering and Accepting for a group establishment (202)
  • Step No.3 Approval for creating a group of persons with identity in the system (203)
  • Certification Authority System (119) will process all feedback information from each in the list of members. Once there is a reject or not enough approval feedback within some certain days, the request for a group establishment will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will issue an electronic certification to establish the existing of “the group of persons with identity” (151) in Multi Dimension Blockchain System.
  • the electronic certification will be sent to all members of the group.
  • a person in the list of members can go to functionality of “Group of persons with identity in the system” and select a subfunction of “Create a new group” to view the status of the group, such as who accept or reject the request for a group establishment.
  • Step No.4 Updating the program inside the relevant equipment of all members of the group (204) All members of the group of persons with identity in the system (151) will receive a notification through their portable communication device (102) regarding the approval status of a group establishment. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the establishment of the group of persons with identity in the system. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information regarding the new established group, as well as adding the status of membership.
  • the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). This will enable the person to act as one of the group of persons with identity in the system (151), with joint rights the data.
  • the group of persons with identity in the system (151) can operate all functions in Multi Dimension Blockchain System for creating initial data, creating a new block, deleting data in the block, editing data in a block and forwarding data in a block, in the same manner of which the person with identity in the system (131) can. Except that those operations need an additional process of approval by members of the group to earn the right to create and broadcast data on behalf of the group.
  • a block being created by the group of persons with identity in the system (151) will be kept within Main Blockchain System, administrated by Control Blockchain System and appeared in Owner Blockchain System, in the same manner of which the block being created by the person with identity in the system (131) as well.
  • establishment of a group of persons with identity in the system can apply for a company, corporation, public company or legal entity to exist in Multi Dimension Blockchain System. To do so, member of the group of persons with identity in the system will be all authorized directors of the company, corporation, public company or legal entity.
  • establishment of a group of persons with identity in the system can apply for an organization, institution, government unit or state enterprise to exist in Multi Dimension Blockchain System. To do so, member of the group of persons with identity in the system will be all member of the board of directors of the organization, institution, government unit or state enterprise. In some implementation, establishment of a group of persons with identity in the system can apply for an association, federation of profession or independent entity to exist in Multi Dimension Blockchain System. To do so, member of the group of persons with identity in the system will be all member of the board of directors of the association, federation of profession or independent entity.
  • establishment of a group of persons with identity in the system can apply for a club or group of people who have a common interest to exist in Multi Dimension Blockchain System. All people need to go through the entity registration process to become the person with identity in the system. Then start to establish a club as the group of persons with identity in the system so that all people can have a common data with joint right of information. The rights of each member can be defined to fit with the purpose of the club.
  • the group of persons with identity in the system (151) can add a person with identity in the system (131) into the group and become a new member of the group, by taking the following processes.
  • a person with identity in the system turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then select a sub-function of “Application for new member”.
  • Certification Authority System (119) will process all feedback information from ones who have the right to approve new member of the group. If not compliance with the requirements of the group, the request will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will issue an electronic certification to establish the membership of the group of persons with identity (151). The electronic certification will be sent to the new member of the group.
  • adding new member of the group can be applied for association, club or group of people who have a common interest, which have been settled as the group of persons with identity in the system.
  • Those association, club or group of people may not be limited for people to join the group, as long as no conflict with the purpose of the group. People could apply for the person with identity in the system, and then apply for a member of the group.
  • the group of persons with identity in the system (151) can remove a person with identity in the system (131) out of the group, being initiated by one of the current member of the group, by taking the following processes.
  • a person with identity in the system turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then select a sub-function of “Removal of current member”.
  • the current members of the group of persons with identity in the system (151), who have the right to approve the removal of a member from the group, will receive a notification through their portable communication device (102) regarding an approval request for a membership removal.
  • the system Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for a membership removal as desired, the system will move to the functionality and screen display associated with the request, which is “Group of persons with identity in the system” and a subfunction of “Removal of cunent member”. The system will display a request with reason, and other relevant information.
  • Certification Authority System (119) will process all feedback information from ones who have the right to approve the removal of member from the group. If not compliance with the requirements of the group, the request will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will revoke an electronic certification of that certain membership out of the group of persons with identity (151), and send a notification to the person whose membership has been revoked.
  • the member who wants to resign from the group can go through this removal process, by selecting his or her own name as request for removal from the group, with the reason of resignation.
  • the initial data is information which a person with identity in the system (131) or a member of the group of persons with identity in the system (151) has created in the form of new data or request for action with the existing data in the system, such as to delete, edit or forward data.
  • Step No.1 Select type of initial data to be created (3100)
  • a person with identity in the system (131) or a member of the group of persons with identity in the system (151) can create an initial data with the consideration of type of the data. This consideration is to determine whether to create new data, or modify from existing data in the system, or delete the previous existing data before creating new one.
  • the application of Multi Dimension Blockchain System may limit some types of request for editing or deleting the existing information to comply with the exemptions being defined by law.
  • Step No.2.1 Select to create new data (3210)
  • the person with identity in the system (131) or the member of the group of persons with identity in the system (151) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Creating data”. This is an entry path through creating a main block within Main Blockchain System, which needs to create initial data relevant to requirements of that certain blockchain. For example, if that certain blockchain is for car trade, the initial data must be relevant to car trade subject. There is two types of data created.
  • the system will submit the data to that person for his or her approval before proceeding.
  • the initial data could be the number of money and types of transaction, such as deposit money, withdraw money or transfer money.
  • the initial data could be a prescription which defines patient name along with order of medical drug, dose and its quantity, to drug store.
  • the initial data could be a list of artwork associated with name in charge of possession and date of starting possession.
  • Step No.2.2 Select to proceed with existing data (3220)
  • the person with identity in the system (131) or the member of the group of persons with identity in the system (151) select the existing data under his or her or their ownership which will be requested for an action of deleting, editing or forwarding.
  • the initial data may not be approved by Nodes or any specified approvers to delete the existing data, if not complied with rules and regulations of deleting data
  • the existing data of deposit money or withdraw money may not be allowed for deleting, since it can affect the whole reconciliation of money transaction within bank system, associated with the exemption defined by law.
  • the existing data of prescription may be allowed for deleting once it lasts longer than a period of time defined by law.
  • the existing data of possession of artwork may be allowed for deleting as of personal data protection regulation, except if any exemption specified by law.
  • Sub-step No.2.2.2 Create initial data for editing existing data (3222)
  • the initial data may not be approved by Nodes or any specified approvers to edit the existing data, if not complied with rules and regulations of editing data
  • the existing data of deposit money or withdraw money may not be allowed for editing the amount of money in transaction or type of money transaction
  • the existing data of prescription may be or may not be allowed for editing which depends on what kind of editing. Editing the misspelling of drug name may be allowed, but editing the drug name, from one specific drug to another, may not be allowed.
  • the existing data of artwork may be allowed for editing in the case of misspelling or new defined term of subject.
  • Sub-step No.2.2.3 Create initial data for forwarding existing data (3223)
  • the recipients can be specified more than one person with entity in the system (131) or one group of persons with entity in the system (151).
  • the initial data may not be approved by Nodes or any specified approvers to forward the existing data, if not complied with rules and regulations of forwarding data
  • the existing data of deposit money or withdraw money may be allowed for forwarding to others, except for some certain transactions.
  • the existing data of prescription may be or may not be allowed for forwarding which depends on what kind of forwarding. Forwarding to other irrelevant persons may not be allowed, but forwarding to the relevant doctor may be allowed.
  • the existing data of artwork may be allowed for forwarding to others whom are interesting in buying that artwork.
  • Step No.3 Approve the initial data on behalf of the group of persons with identity in the system (3300)
  • the initial data is created by the person with identity in the (131), it can skip this process step. However, if a member of the group of persons with identity in the system (151) is the one who create it on behalf of the group, it required the approval from members of the group who have right to approve the initial data.
  • the system will submit the request for creating initial data to all those members with right to approve. They will receive a notification through their portable communication device (102) regarding an approval request. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for creating the initial data as desired, the system will move to the functionality and screen display with relevant to the request. For example, if the initial data is a request for creating new data, the system will go to functionality of “Creating data” automatically. For another example, if the initial data is a request for deleting the existing data, the system will go to functionality of “Deleting data” automatically.
  • the approver will take a consideration and either approve or reject.
  • the reject will result in canceling the request, as the initial data is on behalf to the group, which requires no reject of any.
  • the request is counted as approved and ready to proceed.
  • the system will notify the member who creates the initial data for each result of approval and reject by each approver.
  • Step No.4 Broadcast the initial data into the system (3400)
  • the creator of the initial data goes to the functionality of “Broadcasting an initial data”. Then select the desired initial data and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
  • All Nodes (132) will receive the initial data, before validating and creating as a new block, which will be described in the next section.
  • Step No.1 Receiving the initial data from broadcasting (4001)
  • Node (132) has a Communication Interface System (137) which operates for connecting the signal and transmitting data to the external network via the internet. All data which other users broadcast into Multi Dimension Blockchain System will be received, imported and then processed.
  • Blockchain Processing Logic System (138) will take the initial data to validate and create as a block. All Nodes (132) will operate in the same manner, except for the node that sent the initial data, with the logic and reason of conflict of interest.
  • the Node that created the initial data could be bias of validation and could take advantage of obtaining the right to create the prototype, because it knows the initial data before broadcasting to other Nodes.
  • Step No.2 Validation of the initial data (4002)
  • Blockchain Processing Logic System (138) will check the nature of the initial data, the compliance with rules and regulations, and accuracy of information.
  • the system will check the relationship and the correctness of the information against the information inside the previous blocks, using a linked list.
  • the request for withdrawing money or transferring money needs to be checked whether the owner of money has enough money for withdrawing or transferring or not. If enough, this is one point of validating information. However, there may be some more points to validate further.
  • the prescription needs to be checked whether the drug exists and is permitted by Food and Drug Administration or not. If existing and being permitted, this is one point of validating information. However, there may be some more points to validate further.
  • the request for a registration of new artwork needs to be checked whether it duplicates with any previous one or not. If not, this is one point of validating information. However, there may be some more points to validate further.
  • digital signature for an authorized person it needs to be checked whether the one who signs has the authority according to his or her status or not. If have the authority, this is one point of validating information. However, there may be some more points to validate further.
  • the system will check the rules and regulations whether it can be performed or not, as well as check the correctness of the information against the information inside the previous blocks.
  • the request for deleting the record of deposit money or withdraw money may not comply with rules and regulations. Then this initial data does not pass the validation.
  • the request for deleting the registration record by the owner of the artwork may comply with rules and regulations, unless there is a special rule to prohibit. Then this initial data pass the validation.
  • the request for forwarding the prescription to drug store with a pharmacist in charge may comply with rules and regulations, unless there is a special rule to prohibit. Then this initial data pass the validation.
  • Step No.3 Creating data block according to rules and regulations (4003)
  • the initial data will be created as a block according to the specification of block structure, which is interactively related within all three dimensions of Main Blockchain System, Control Blockchain System and Owner Blockchain System.
  • the essence part of the initial data for example which is the “new data” for new block or “delete-demand request” for the existing block, will be stored in “Data” segment inside the block, whereas other data will be stored in other different fields and segments inside the block, according to each type of block structure.
  • Decisive Number which is a random number. This Decisive Number will vary to derive the hash value of the building block as desired. It will be described in the next step.
  • Step No.5 Algorithm for proofing the hash value of prototype block (4005)
  • Nodes there are several Nodes (132) within Multi Dimension Blockchain System, with likely expansion on number of Nodes. To prevent potential problems in duplicating a new building block, the system requires only one Node to create the prototype block. Then broadcast the prototype block to other Nodes for storing in their database system.
  • the “hash value” that demand as a solution is defined by the system for either the specific value or the range of value. In some implementation, the system may renew the value every 7 days.
  • Algorithm for proofing the hash value of prototype block is slightly different by each type of block as follows:
  • V Data Algorithm for proofing the hash value Hash Of ( Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Edit Control Block, Node Code, Decisive Number, Hash of Edited Block, Data ) Forward-command block which is created within Forward Control Blockchain System
  • the desired result is to get the hash value of XI or less than XL
  • the first Node achieving the desired result is eligible for creating the prototype block.
  • Decisive Number may randomly assigned a value number and process it together with other constant values through the hash function. If not desired result, then randomize new value number and replace it in processing the hash function, until that the desired result is achieved. The final value of Decisive Number will be stored inside the prototype block. In some implementation, Decisive Number may use an ascending method. Beginning with the value “0” and processing it together with other constant values through the hash function. If not desired result, then increase the value to “1” and replaced it in processing the hash function, until that the desired result is achieved. The final value of Decisive Number will be stored inside the prototype block.
  • Step No.6 Obtaining right to create the prototype block and broadcasting it (4006)
  • the Node After creating the prototype block and no other Node broadcasting of its prototype, the Node considerably obtains the right to broadcast its prototype block into the system. Then broadcast the prototype block into Multi Dimension Blockchain System so that other Nodes can store it into their database system.
  • Step No.7 Connecting a new block to the previous block (4007)
  • Blockchain Processing Logic System (138) will immediately execute the existing main block according to the instruction inside the command block.
  • forward-command block the system will access to the existing block specified in the instruction, and proceed as follows: • Forward data in the Data segment to whom it is identified in forward-command block.
  • Multi Dimension Blockchain System enables the eligible person with identity in the system (131) and the eligible group of persons with identity in the system (151) with the ownership of data block.
  • New block is not only connected within either Main Blockchain System or Control Blockchain System, but it emerges and being connected with previous block within Owner Blockchain System for the same ownership.
  • connection interactively comes from the same value of Data Owner and the same hash value kept inside the blocks.
  • “Hash of Previous Owner Block” of the current block and “Hash of Present Owner Block” of the previous block has the same value and then enable the link between blocks within the blockchain line of the same data owner.
  • a person with identity in the system (131) can digitally sign on the attachment file of the initial data, with legal binding effect. Later the initial data, along with its attachment file, digital signature and relevant data, is created as a main block within Main Blockchain System, which has the significant specifications as follows:
  • the portable communication device (102) may only support some certain types of data files.
  • Step No.1 Create a digital document that needs to be digitally signed (5001)
  • a person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System.
  • Creating data is the entry path through creating a main block within Main Blockchain System.
  • the information requiring to be signed by the digital signature may be in form of data file, such as .PDF file and etc., and may have more than one file to be signed.
  • Step No.2 Process document through the hash function (5002)
  • a person with identity in the system (131) goes to functionality of “Digital signature” and selects a sub-function of “Creating a document to be signed by one person”. Then select the document which has been created in Step No.1, from drop-down list. Press “Confirm”.
  • the system will process the selected document through the hash function.
  • the derived hash value will be encrypted with an electronic key of single key type, which is shown on screen display of the computer system (133) for further use of decoding.
  • the hash value that is encrypted with an electronic key of single key type is sent to Mobile Application System (109) of the portable communication device (102) with notification of the hash value of a document pending for signing process.
  • Submitting the hash value for signing with Private Key is eligible, complying with law, as it has been processed under the control of the same person, whose Private Key is used.
  • Step No.3 Encrypt with Private Key of signer (5003)
  • the portable communication device (102) has a notification regarding the hash value of a document pending for signing process. Then access through Mobile Application System (109) for a functionality of “Digital signature” and select a sub-function of “Hash value of a document pending for signing process”. Select the desired hash value of the document and press “Sign the selected hash value of the document with digital signature”, (if not want to proceed, press “Cancel”.)
  • the system will process the decrypted hash value (of the document to be signed) with encryption of Private Key (121) of the signer (whose Private Key is stored in his portable communication device).
  • the hash value (of the document being signed) with encryption of Private Key is the “Digital Signature” which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document”.
  • Creating a digital document (to be signed) is done on the computer system (133) while is encrypted with Private Key on Mobile Application system (109) operating on the portable communication device (102). This is suitable for a digital document with large size and supports for any common types of programming file.
  • creating a digital document is done on Mobile Application System (109) operating on the portable communication device (102) and then is encrypted with Private Key on the same Mobile Application system (109) of the portable communication device (102).
  • Mobile Application System (109) operating on the portable communication device (102)
  • Private Key on the same Mobile Application system (109) of the portable communication device (102).
  • Step No.4 Create the initial data (5004)
  • the computer system (133) has a notification regarding encrypted Digital Signature and its data. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt digital signature and its data”. Select the encrypted Digital Signature and its data and press “Confirm”.
  • Step No.3 Enter the electronic key of single key type, which shown on the screen display of the portable communication device (102) in Step No.3. This enables the decryption of the Digital Signature and Time of signing the document which having been sent to the computer system (133).
  • the system will broadcast the initial data of the digital document (being signed), the Digital Signature and Time of signing the document via internet system to all Nodes.
  • the display of a digital document may present with an attached symbol to indicate that the document was signed, such as the picture of signature.
  • Step No.5 Create the data block within Main Blockchain System (5005)
  • All Nodes (132) will receive and then validate the initial data. Eventually, if all validation is correct, the data block is created within Main Blockchain System associated with the processes as described in section 13. The process of creating a block and determining a Node to create the prototype block.
  • the Digital Signature which is stored inside Data segment of the block can be verified in the following step.
  • the right to verify the Digital Signature is limited to some certain persons associated with the digital document. For example, if the signer submits the digital document to a recipient, then the recipient will have the right to verify it.
  • Step No.6 Verify the Digital Signature (5006)
  • the system will process the digital document through the hash function, which the same algorithm used to create a digital signature.
  • the hash value is derived. (To avoid any confusion in next step, name it as the “hash value of Doc”.)
  • the system will decrypt the Digital Signature with the signer’s Public Key, resulting in the original hash value before being encrypted. (To avoid any confusion in next step, name it as the “hash value of Sig”.)
  • Step No.7 Report the verification result (5007)
  • the system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and the hash value resulted from decryption of the Digital Signature with the signer's Public Key (hash value of Sig).
  • Main Blockchain System which has the significant specifications as follows:
  • Data segment three related data parts are stored regarding the use of digital signatures. They are a digital document (being signed), digital signatures (legal binding the document with the owner of signature) of each signer and time records of each signing. - All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored, complying with the legal regulations. This enables the data stored inside the block is effective as original.
  • the portable communication device (102) may only support some certain types of data files.
  • Step No.1 Create a digital document that needs to be digitally signed jointly.
  • a person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System.
  • Creating data is the entry path through creating a main block within Main Blockchain System.
  • the information requiring to be signed by the digital signature may be in form of data file, such as .PDF file and etc., and may have more than one file to be signed.
  • Step No.2 Create a list of joint signers
  • a person with identity in the system (131) goes to functionality of “Digital signature” and selects a sub-function of “Creating a document to be signed by more than one person”. Select the desired document which has been created in Step No.1, from drop-down list. Press “Confirm”. Then select a person with identity in the system (131), one by one, whom needs to jointly sign the document. The person who creates a digital document also needs to select himself or herself, if he or she is one of the signers.
  • the system will encrypt the selected document with an electronic key of single key type, which has a different code for each person in the list of joint signers.
  • the code of the electronic key will be sent to email address of each person particularly.
  • the digital document being encrypted with the electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) of each signer with notification of a document pending for joint signing process.
  • Step No.3 Encrypt with Private Key of signer
  • the portable communication device (102) has a notification regarding a document pending for joint signing process. Then each person in the list of joint signers accesses through Mobile Application System (109) for a functionality of “Digital signature” and selects a subfunction of “A document pending for joint signing process”. Select the document and press “Sign the selected document with digital signature”, (if not want to proceed, press “Cancel”.)
  • the system will process the decrypted digital document through the hash function.
  • the hash value of the digital document is derived.
  • the system will process the hash value of the digital document with encryption of Private Key (121) of each signer.
  • the hash value of the digital document with encryption of Private Key of each signer is the “Digital Signature” of each signer which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document” of each signer.
  • the digital document, “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type.
  • the code of the electronic key will be sent to email address of the person who created a digital document and the list of joint signers.
  • the digital document, “Digital Signature” and “Time of signing the document” that is encrypted with another electronic key of single key type, is sent to the computer system (133) of the person who created the digital document and the list of joint signers, with notification of encrypted Digital Signature and its data for joint signing.
  • Step No.4 Verify each Digital Signature and create the initial data
  • the computer system (133) of the person who created the digital document and the list of joint signers has a notification of encrypted Digital Signature and its data for joint signing, which coming one by one from each signer. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt digital signature and its data for joint signing”. Select the encrypted Digital Signature and its data for joint signing, and press “Confirm”, one by one.
  • the system will process the digital document of each signer through the hash function, which the same algorithm used to create a digital signature. One by one, the hash value of the digital document of each signer is derived, until finishing all. (To avoid any confusion in next step, name them as “all hash values of Doc”.)
  • the system compares all hash values, which are derived from each signer’s digital document. If all hash values are the same value, it is confirmed that all signers signed on the same digital document.
  • the system compares all hash values derived from the hash function of the digital documents of each signer (all hash values of Doc) and all hash values resulted from decryption of the Digital Signature with each signer's Public Key (all hash values of Sig). If they are completely the same value, it is technically confirmed that the digital document was signed by each person correctly.
  • the system will broadcast the initial data of the digital document (being signed), the Digital Signatures of each signer and Time of signing the document of each signer via internet system to all Nodes.
  • the display of a digital document may present with attached symbols to indicate that the document was signed, such as the pictures of each signature.
  • Step No.5 Create the main block
  • All Nodes (132) will receive and then validate the initial data. Eventually, if all validation is correct, the main block is created with the processes as described in section 13. The process of creating a block and determining a Node to create the prototype block.
  • the Digital Signature which is stored inside Data segment of the block can be verified in the following step.
  • the right to verify the Digital Signature is limited to some certain persons associated with the digital document. For example, if the signer submits the digital document to a recipient, then the recipient will have the right to verify it.
  • Step No.6 Verify all Digital Signatures
  • the system will process the digital document through the hash function, which the same algorithm used to create a digital signature.
  • the hash value is derived. (To avoid any confusion in next step, name it as the “hash value of Doc”.)
  • the system will decrypt all Digital Signatures with each signer’s Public Key, one by one, resulting in the original hash value before being encrypted, until finishing all. (To avoid any confusion in next step, name them as “all hash values of Sig”.)
  • Step No.7 Report the verification result
  • the system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and all hash values resulted from decryption of each Digital Signature with each signer's Public Key (all hash values of Sig).
  • Main Blockchain System consists of a wide variety of main blockchain lines, being created for the purposes of the creator. However, all blockchain lines are controlled under Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System, as well as emerging within Owner Blockchain System for the same data owner. Once the data owner wants to delete existing data, edit existing data or forward existing data within any main blockchain line, it will be operated within the same Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System. Every new data blocks which have been created within any types of blockchain line, will also emerge within Owner Blockchain System and being connected for the same data owner.
  • the first blockchain line was created for the purpose of keeping a medical record of patients, while the second blockchain line was created for financial transactions. Every time a person with identity in the system performs a health check, applying Multi Dimension Blockchain System, the system will create a data block within the first blockchain line. Every time the same person makes a financial transaction, applying Multi Dimension Blockchain system, the system will create a data block within the second blockchain line. Those two blocks will emerge within his or her owner blockchain line. Once he or she wants to delete any of those two blocks, he or she needs to create a delete-command block within Delete Control Blockchain System. The same manner is applied for editing and forwarding any of those two blocks.
  • the creator can define and specify the rules and conditions according to the purpose of the creation. Moreover, it can be defined for the condition of ownership of the information.
  • the ownership can belong to either the creator of initial data, or other person or other group of persons. To appoint the right of information to other, it requires that the specified person or the specified group accepts and approves it during the process of creating the initial data first.
  • the blockchain line for medical record may apply for a medical doctor who checks up with a patient, and assign the ownership of that medical record to the patient. However, it requires the patient to accept his ownership during create the initial data of medical record first.
  • the creator must be a group of persons with identity in the system (151).
  • the creator defines the user type for new blockchain line which there are options at least as follows:
  • Groups & Members is to open for some particular groups of persons with identity in the system (151) with their members only. This could be defined as one or more groups, but not exceeding the defined limit.
  • the number of groups could be one or more, but not exceeding 20% of total existing groups in the system.
  • the defined user is a person or a group that is eligible to create the initial data within the new Blockchain line.
  • the new coming group can use those main blockchain lines which specify their user type as “All” or “All Groups”, but not for those which specify their user type as “All Individuals”.
  • the member of its group can use those main blockchain lines with its status as a person with identity in the system, not as the member of the group.
  • a person with identity in the system (131) cannot use a blockchain line which specifies its user type as “Groups & Members”, if the person is not a member of the group being designated in user type. However, if later the person applies and becomes a member of that designated group, he or she can use that blockchain line.
  • the creator defines a condition for ownership. This will appear at the field of Data Owner inside the main block. There are options for ownership at least as follows:
  • the system will submit the initial data for the specified person or members of specified group who have right to approve, to accept and approve it first. Then the creator of the initial data can broadcast it into the system.
  • the creator defines the working structure in Data section with the options of following items. The creator does not have to select and use them all.
  • V Constant which maintains one fixed value only. It could be in form of a numeric number, a metric, an array, etc.
  • V Variables which can exist in differing amounts or types according to processing conditions. It is defined for type, as integer, real number, character, string, and others being used in computer processing system.
  • V Time which are both as the calendar and duration.
  • an attached file which can be any format of digital file including Data files (such as .PDF files), image files (such as .JPEG files, .PNG files), animation files (such as .GIF files), audio files (such as .MP3 files), animation and sound files (such as. AVI files) or program files being developed for a specific machine tool.
  • Data files such as .PDF files
  • image files such as .JPEG files, .PNG files
  • animation files such as .GIF files
  • audio files such as .MP3 files
  • animation and sound files such as. AVI files
  • the medical record may allow to attach a file of examination result, from a specific medical machine, writing in specific machine programming language.
  • the new main block chain with those user type must get the approval vote more than 51% of the total number of Nodes. Therefore the majority of Nodes, which are mainly responsible for the costs of operations and database record in the system, would agree.
  • defining the percentage of approval by the total number of Nodes could be a difficulty. Therefore, it can be defined by the percentage of the active Nodes in the system, during approval process. • In case of setting the user type as Groups & Members, it requires approval from Nodes (132) at minimum of specified percentage, plus approval from members of the groups which being designated in user type at minimum of specified percentage.
  • defining the percentage of approval by the total number of Nodes and by the total number of members could be a difficulty. Therefore, it can be defined by the percentage of the active Nodes in the system and the active member in the system, during approval process.
  • Node (132) The difference between Node (132) and the person with identity in the system (131) is that some persons with identity in the system (131) may not establish or own Node (132). He or she may only operate the system through his or her portable communication device (102). Therefore, those persons with identity in the system (131) have less obligation of validating information, creating a new block, and storing all data blocks in the system. Therefore, it is reasonable to consider the decision from Nodes (132) whether they approve the creation of a new blockchain line.
  • the approval portions may be adjusted in the context of blockchain-making objectives, such as a blockchain line created by a non-profit group or by a nature conservation organization. There may be a simpler approval requirement to support those activities.
  • Step No.1 Requesting to create a new blockchain line within Main Blockchain System (6001)
  • Step No.2 Approval for submitting the request on behalf of the group (6002)
  • the request for creating a new blockchain line will be forwarded to the members of group who have the right to approve initial data. Once the approvers have submitted their approval exceeding the minimum requirement, without any reject within specified period, the request for creating a new blockchain line is deemed to have been done on behalf of the group. Then broadcast it into the system.
  • Step No.3 Approval for creating a new blockchain line (6003)
  • the request for creating a new blockchain line which has been broadcasted will be considered and approved by the authorized authority, according to defined user type of the blockchain line.
  • the approver will consider on three conditional factors of Dimension, Data Owner and Data whether they are suitable for the purpose of use or not.
  • the approval result will be submitted into the system. At the same time, it will receive information of approval results from other approvers in the system. Other users in the system, both with and without permission, will be waiting to receive the approval results as well. If the number of approval results is greater than the number specified by the system, the system of each user will recognize that the request to create a new blockchain line has been approved and will continue to create the new blockchain line on the system.
  • Step No.4 Establishment of a new approved blockchain line in the system (6004)
  • Blockchain Processing Logic (138) of Node (132) will update to add a newly main blockchain line with following essences.
  • the name of the new blockchain line will be the name given in the request at part of Dimension field.
  • Mobile Application System (109) of the portable communication device (102) will update to add a newly main blockchain line in the same manner. This is in accordance with the functionality that is designed to be performed on the portable communication device, subject to the technical limitations of the device.
  • Newly main blockchain line which has been established in Main Blockchain System will be ready for use to create its new main block, connecting with its previous block and next coming block, according to rules and regulations of Main Blockchain System. Its new main block also emerges in Owner Blockchain System and connected with other blocks with the same owner. Eventually its new main block can be deleted, edited and forwarded according to rules and regulations of deleting data, editing data and forwarding data respectively.
  • Main Blockchain System also consists of special blockchain lines, being created for the purposes of personal privilege management, which are controlled under Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System, as well as emerging within Owner Blockchain System for the same data owner.
  • a blockchain line for personal privilege management is to grant privilege to relevant persons with identity in the system (131) or relevant members of a group of persons with identity in the system (151) which he or she can apply his or her signature according to its privilege of the following objectives:
  • an organization or an agency may appoint some certain officers within its organization or its agency to be as a mediator who can facilitate and assist people who are lacking of equipment or knowledge to operate the equipment. It can be done by applying blockchain line for personal privilege management and appointing those officers to be mediators.
  • a professional council may form a group of persons with identity in the system (151), and members of the group who meet the qualification criteria of such professional councils can practice their occupations along with applying their signatures as of a professional rights holder.
  • medical council may form a group of persons with identity in the system (151), with medical doctors as the members.
  • a medical doctor can submit a request for personal privilege of a medical professional license. Once the doctor earns it, he or she can treat a patient and sign his digital signature with personal privilege as a license professional doctor on the digital medical document.
  • the lawyer council may form a group of persons with identity in the system (151), with lawyers as members of the group.
  • a lawyer can submit a request for personal privilege of a lawyer license. Once the lawyer earns it, he or she can practices as an eligible lawyer on the court and can sign his digital signature with personal privilege as a license lawyer on the digital case document.
  • one government agency may form a group of persons with identity in the system (151), which members of the group who were appointed for their position and duty can perform their duty along with applying their signatures entitled by position and duty.
  • court of justice may form a group of persons with identity in the system (151), with judges as members of the group.
  • Judges are appointed for their personal privilege to practices in court room. They can sign their digital signature with personal privilege as a judge on the digital case document.
  • the creator must be a group of persons with identity in the system (151).
  • the creator defines the user type for new blockchain line for personal privilege management which there are options at least as follows:
  • Groups & Members is open for some particular groups of persons with identity in the system (151) with their members only. This could be defined as one or more groups, but not exceeding the defined limit.
  • the defined user is a person or a member of the group that is eligible to create the request for personal privilege within the new blockchain line for personal privilege management.
  • the creator defines a condition for ownership. This will appear at the field of Data Owner inside the block. There are options for ownership at least as follows:
  • the creator defines the working structure in Data section with the options of following items. The creator does not have to select and use them all .

Abstract

A Multi Dimension Blockchain System includes a Main Blockchain System, Control Blockchain System and Owner Blockchain System. There are many main blockchain lines within Main Blockchain System, which contains the digital information or instruction of operations according to the various purpose of its establishment. The existing data inside the main data block could be deleted, edited and forwarded to other users by the command block within Delete Control Blockchain System, Edit Control Blockchain System and Forward Control System respectively, associated with rules and regulations of Multi Dimension Blockchain System. All data blocks in the system are identified for their data owners, which enable Owner Blockchain System for creating an owner blockchain line. Each data owner will have his or her blockchain line exclusively. The data owner can be defined as a person or a group of persons with identity in the system. The hash function and Public Key infrastructure are significantly applied as the fundamental of the blockchain system.

Description

Description
Title of Invention
SYSTEM AND METHOD FOR CREATING MULTI DIMENSION BLOCKCHAIN
Technical Field
Data science and computer related to recording and storing digital data in blockchain format.
Background Art
1. The structure and format of typical blockchain
Blockchain is a model of the system to store digital information, by making information to a group or a block of data before connecting each block of data together, as a chain of data block, so-called Blockchain. In the early days of exporting and importing digital data from any processing computer system, all data was sent or imported as one data set, no matter how large or small the data is. The process to send or receive data via the connection between the sender’s data and the recipient’s one takes time primarily because of the transferring and switching signal process. In addition, if there are more than two data, the more delays are encountered. Furthermore, during the data transmission process, there could be a problem of information not reaching the receiver's machine due to the large size of the previous data sent. As a result, the new data need to be pending or waiting to be the imported (Queuing Stage) for a long time. The possibility of data errors and/or the data being lost and/or being incomplete can be expected. Until the year 1964, Mr. Paul Baran, a Polish American engineer, invented the “Message Block” system by dividing the digital data needed to be sent into several small pieces (small packets of data) and sending all those small pieces of information out. When all the small data got into the recipient's data, it is then assembled back to the original large data set as before sending. According to the defined data structure, this process has made the data transmission in the data network executed much faster, and reduced the waiting time to import large data and reduce the errors (Queuing Stage Error). Later, Mr. Larry Roberts, an American engineer, performed a connection experiment by transmitting data between ones which located in remote areas. It has been a successful experiment by connecting 4 different data point between California and Utah, USA in the year 1969. Shortly after that, in the year of 1970, Mr. Edgar T. Codd, an English mathematician has proposed the concept of managing a database by storing in the format of “Rational Database” which is a sort of tabular data arrangement with rows and columns related to each other within a table. The table is called “Relation” and rows called “Tuple” or “Record” where data sets in each Tuple along the column line called “Attribute” with the 12 rules of the Relational Database established, commonly known as “Codd's 12 Rules”, named after the originator. This has become the cornerstone to invent the Relational Data Base Management System (RDBMS) for storing and managing data digitally from processing system and data interfacing system. There are private companies lead to commercial development, such as Oracle Database management system (Oracle) , DB2 Database management system (IBM), Informix Database management system (Informix, later sold to IBM), SAP Database management system ( SAP) and 4D Database Management System (McIntosh, a company under Apple’s subsidiaries)
Later, data technology has developed and progressed rapidly. The growing concern was the attack on database in the form of the people, who have no rights in the database, using their expertise in programming or secretly embedding software programs that have developed in the channel or steps in the system to illegally steal , change, modify or destroy data in the system. This is one of the factors that contribute to the development of the blockchain applications.
The blockchain system is to create data in the form of “Message Block” or “Packet”, a small block of data, called block with a structure within the block to store various values, which can prevent unauthorized alteration, edition or destruction of data by its key designed structure as follows:
(1) “Header” indicates the name of the block so-called block name, was used to identify a particular block.
(2) “Hash of Previous Block” is the value of the hash function from the previous block. The hash function is the one that transforms the required digital data into a number of small one interactively. This hash value is comparable to the “fingerprint” of that data. So in this case, the hash value of the previous block is the previous block's “fingeiprint“. The details of the hash function will be discussed later.
(3) “Timestamp” is the time information when the block was created.
(4) “Nonce” is a random variable. This is the value that makes the present block's hash value meet the conditions set by the blockchain system, which will be discussed in more detail on Proof of Work later. (5) “Data” is data to be sent and stored in the blockchain. It could be collection of either one or more digital information from multiple users, within the period of time, such as every 10 minutes. The details of the blockchain creation process will be discussed later.
(6) “Hash of Present Block” is the value of the hash function of the present block. The hash function is as earlier characterized in item 1.2), but this time on the present block. In this case, the hash value is the “fingerprint” of the present block. However, in some implementation, blockchain system may choose not to store “Hash of Present Block” in the block structure.
Figure 1 shows an illustrating example of the block structure and relationships in blockchain, with an example of Block#101, Block# 102 and Block#103, whose header are Bl, B2, and B3 respectively, with the previous block's hash value PV1, PV2 and PV3 respectively. Those blocks were created and saved at time Tl, T2 and T3 respectively, with values obtained from sampling to build a block are Nl, N2 and N3 respectively. Packed Data are DI, D2 and D3 respectively.
All of the information above, Bl, PV1, Tl, Nl, and DI of the Block#101 will be processed through the hash function to get the hash value of the present block which is PS 1. Block#102 and Block#103 were performed in the same way and get the hash value as PS2 and PS3 respectively.
PSI = PV2 (PSI is practically put in Block#102 as the Hash of Previous Block.)
PS2 = PV3 (PS2 is practically put in Block# 103 as the Hash of Previous Block.)
If there will be a next block, assuming Block#104 and PV4 is the Hash of Previous Block, then
PS3 = PV4 (PS3 is practically put in Block#104 as the Hash of Previous Block.)
That was the way all the blocks being built into the Blockchain, and having their own hash value. Each block is identical and connecting each other with its corresponding hash values.
If getting back to the first block, Block#101, for example, and PSO is the hash value of Block# 100, then
PSO = PV1 (PSO is practically put in Block#101 as the Hash of Previous Block.)
This makes each data block in the blockchain possible for being traced back (Traceability) for the accuracy of the data, associated with the hash value linked between blocks, by taking “Hash of Previous Block” and “Hash of Present Block” of previous block. Moreover, data of the previous block could be processed through the hash function to get hash value, and verify with one stored as the Hash of Previous Block, in case of doubt on data attack. Any change occurring within a block makes the hash value of the block change. Therefore, the connection between each block will be detected as error, so that the blockchain system is difficult for data alteration, without detection.
In some implementation, some blockchain system may choose not to bring the hash value of previous block to be counted in the hashing process, to make “Hash of Present Block”. For example, the PSI may be derived from the hash function of the Bl, Tl, N1 , and DI without bringing the PV1 a part of the hashing process, and then will be the same manner for PS2 and PS3, not bringing the PV2 and PV3 to count into the hashing process.
2. Characteristics of Creation. Storage and Examination of Information
Blockchain system works by the principle of “Distributed Database System”, bringing information as building blocks to store in a device of connection point, called “Node”, within a network. One single user with his or her device can be counted as one node as well where the device is connected within a network designed to work together. The creation of block starts from that a user broadcasting its initial information into network system, and other nodes detect it and verify the accuracy of the information before converting it into the form of a block. The prototype block then is broadcasted into network system, where other nodes could collect them and store into its device system.
Figure 2 shows an example of a connection between nodes without any nodes being as the center of the system. Each node sends data, receives data and processes it in the same manner. Periodically, it checks the information between each other (data reconciliation). If there is a block on a node that is different from other majority, being received from other nodes, the block will be corrected and updated accordingly. This creates a collaborative network that is difficult to compromise on. If someone wants to make a fraud change to the attacked node, it needs more than half of the nodes in the network system to be in consensus to make a complete change. Such attacks are therefore very difficult and costly, especially on the blockchain system with a large number of nodes.
Some Blockchain has many nodes reaching more than one hundred thousand nodes.
Therefore, it needs to define the permission rule on how any nodes can create a new block, called Proof of Work. The rule is that the new block needs to have its hash value less than any given number. The first node coming up with solution, will have the right to create a prototype block and broadcast it into the network system. The other remaining nodes could store it next to the previous block. Node who generates the prototype block could earn a prize in the form of Coin as a return.
As mention earlier about Nonce, which is a random variable to process during the Proof of Work stage, once all initial data are collected into a forming block in a specified time, for example every 10 minutes, the nonce will keep changing its value until that the hast value of a forming block meet a given criteria. For example the criteria is that the hash value of forming block must less than this following figure, 00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (as the hexadecimal number, for 64 digits).
The large number of nodes could help in processing and building a new block into blockchain system. Moreover, it helps to process a data reconciliation between data block being stored in each node. If a block has been confirmed that it is different from other majority, which more than half of the total nodes in the system, it would be concluded as an error. The process of updating the correct block from other nodes will be occurred. Therefore, the blockchain system is very difficult to be inaccurate, changed or attacked by an attacker.
3. Hash Function
Hash function is a way to make a part of or all part of digital data to become a unique message digest, comparable to the “fingerprint” of that data. If the data being processed through the hash function is the overall data block, it is the block's “fingerprint66. The hash function's algorithms are digesting and mixing all subsections, repeatedly, to finally get the “hash value”, of which the key features are unique value, same size of output regardless of original data, and not able to reverse to the original data.
The SHA-1 algorithm was developed in 1993 by NIST (National Institute of Standards and Technology) and NSA (National Security Agency) of the United States. This will return the hash value with 160 bits of data, regardless of size of its original data, and the hash value is unique, comparable to an individual's unique fingerprint.
In mathematically operation, the SHA-1 algorithm divides any original data size into several groups of 512-bit data. There will be methods and procedures to fulfill the fragment of those groups so that all groups have the total number of 512-bit data to start with. The reason is that SHA-1 algorithm will generate a 160- bit hash result, consisting of a 32-bit variable from 5 different variables of a, b, c, d and f. Therefore, at the beginning stage of the calculation, it needs to start with 32-bit variables of A, B, C, D and E whose initial assignment are in hexadecimal terms (i.e. numbers 0-9 and A, B, C, D, E, F).
The SHA-1 algorithm consists of a process cycle of four rounds. Each round will be conducted at different 20 times. In conclusion, the non-linear function of 3 variables has a pattern as follows:
Ft ( X, Y, Z) = (X AND Y) OR ((NOT X) AND Z), for t = 0 to 19.
For 1 round of SHA-1 algorithm, once 20 times of action have been completed, the values in the a, b, c, d and e variables are added to A, B, C, D and E respectively. Then the SHA-1 algorithm will begin calculating on the hash value for the second group of 512- bit data. The cycle of calculation will continuously be carried out in this manner until all group of 512-bit data are entered. The values stored in the final variables A, B, C, D, and E are combined to create a 160- bit result of hash value.
SHA-1 is the most widely used hash function. However, in 2005 there were reports of mathematic flaws. It was eventually developed into SHA-2 in 2005 and SHA-3 in 2012.
SHA-2 is a set of hash functions for 4 series (SHA-224, SHA-256, SHA-384 and SHA- 512), which contain a different size of hash value (224 bits, 256 bits, 384 bits and 512 bits respectively). SHA-2 algorithm is primarily similar to the SHA-1 algorithm, but it has 64/80 processing cycles. Both SHA-1 and SHA-2 were designed by the NS A.
With technology shift to new era of digital, NIST has arranged a contest for SHA-3 algorithm design. This one is similar to a contest for creating AES algorithms, being used widely for a symmetric encryption as of today. After over four years of contest, NIST has announced the results in October 2012 for that the Keccak algorithm (Keccak team, Daemen et al.) has officially been selected as the algorithm SHA-3. Keccak algorithm was chosen because it outperformed others on hardware perspective, associated with its flexibility to adjust the speed and increase safety. Moreover Keccak can adjust the size of hash value as needed. Eventually, NIST has still confirmed for its confidence in the safety of SHA-2 algorithm. The contest is for stimulate other external experts to be involved in setting standards, rather than solely counting on NS A as before.
4. The constraints on the General Data Protection Regulation
Nowadays the electronic transactions have created a vast and rapidly growing number of digital information along with privacy breach issues, so that the European Union carries out a regulation and conducts policies for the protection of personal data and privacy. In the year 2018 the General Data Protection Regulation (GDPR) was issued and applied for all parties inside and outside the European Union, if goods or services are offered in the EU or exploration of personal data within the EU regardless of the location of the operators.
There is an interesting regulation clause which is “Right to be forgotten” or “Right to erasure”, in Section 3, Article 17 saying that the owner of the personal information have the right to delete information related to himself/herself and the Data controller must have an obligation to delete such information. It is undeniable that the record keeping system must be able to delete the required Data. Moreover, in Section 3, Article 16, “Right to rectification” says that the owner of the personal information has the right to edit and correct the information related to himself or herself. These contradict the feature of the blockchain system where all data in the system have a great traceability but not be able to delete or change.
Later on, many countries have issued a regulation in the same way. In Thailand, the government agency issued a Personal Data Protection Act (PDPA) in 2019. It contains in Section 3, Article 33 that owner of the data has the right to request the personal data controller to delete or destroy it. Or even make it a non-identifiable information.
The purpose of regulations above give government agencies and organizations worldwide are not ready to implement blockchain system to manage such classified information relating to personal data.
5. Previous patents which offers a Blockchain system that can edit and delete blocks of information
The USA Patent No. US 2017/0338947 Al Rewritable Blockchain offers a format of
Blockchain that information within the block can be modified or can be deleted without a visible traces of data left (Non-Tamper-Evident). Its method is the use of hash function with special features that can process those different initial data, but result in the same hash value. One of the key factor is called Trapdoor, meaning trick leading to the same destination, but in the patent named as “Key Secret”. The application of the Chameleon Hash Function was introduced for its “Key Secret” in the patent.
The USA Patent No. US 009774578 B 1 Distributed Key Secret the for Rewritable Blockchain and Patent No. US 2019/0158475 Al Hybrid Blockchain has introduced a form of Blockchain in the same way as the application of the Chameleon Hash Function to change the content within the block without the trail of information adjustment (non-Tamper-Evident).
The algorithm of the Chameleon Hash Function, once processing data along with generating the trapdoor or “Key Secret”, will get the hash value as a result. The trapdoor need to be kept safely, because if someone knows he or she can repeat the process of Chameleon Hash Function with different sort of initial data, but using the same trapdoor or “Key Secret”, and finally get the same result of hash value, as explained more in below sample,
The CH ( X, Y) is the operation of the Chameleon Hash Function for 2 initial sets of data, such as X and Y, and generating a unique trapdoor.
If the underlying trapdoor brought to process other data sets such as data X' and Y'.
Where and
Figure imgf000010_0001
Figure imgf000010_0002
It can continue to refine the X' or Y' until
Figure imgf000010_0003
That is, the hash value of ( X, Y ) is the same as the hash value of ( X', Y' ).
The Rewritable Blockchain system implements the Chameleon Hash Function to edit block entries and still brings out the same hash values of each associated blocks, which an example of the structure within the block is presented for 4 parts;
(1) HashPrev is the hash value of the previous block, obtained by processing the initial data of the previous block through the Chameleon Hash Function
(2) Payload is all about data that needs to be kept in data block.
(3) Counter is a special value for building an original block at the first time, similar to the Nonce of other blockchain system (i.e. Bitcoin) for mining process of building a new block. (4) Randomness is the value to be updated, along with change in Payload, using the trapdoor, to process the original block to become the new data block with the same hash value. All four of the above parameters will be processed through the hash function, where the result value is not stored in the block, with the following algorithm.
Hash Value = H ( Counter, CH ( HashPre, Payload, Randomness ) )
It is a mechanism of applying the hash function 2 layers, where the first layer (the inner parentheses) enters the hash function with the Chameleon Hash Function (CH) for those data of HashPre, Payload and Counter, before getting that first hash value as an input together with Counter for the second layer of hash function. The second hash function may use the Chameleon Hash function or other type of hash function.
Figure 3 A shows an illustrating example of the block structure for the Rewritable Blockchain , presenting Block#301, Block#302 and Block#303, each containing HashPrev value of S, S' and S' respectively. The Payload values are
Figure imgf000011_0001
respectively, and Counter values are CTR, CTR' and CTR" respectively, with original Randomness values at R, R' and R" respectively.
The hash value which has been derived from each block is FP, FP' and FP" respectively, with Trapdoor (or in the patent referred as Key Secret) of T, T and T" respectively.
From the example the HashPrev is a key factor in connection with a previous block with hash value as shown below.
S' = FP
S" = FP'
If you have a new next block, such as Block#304 existing, with the HashPre value as S'", then
S'" = FP"
If in the case of the previous block of Block#301, such as Block#300 existing, with the hash value of FPO, then
S = FPO Rewritable Blockchain has a feature to make changes of initial data within the block of which the hash value, linking each block in the chain, still remain the same, associated with the Trapdoor application.
Figure 3B shows an illustrating example of change in initial data in the block, still continuing with Block#301, Block#302 and Block#303 for presenting a case of changing initial data in Block#302, whose the hash value is FP' and trapdoor is T. Once getting T', change of the block data could be as desired from the initial X to new X2', where
X + X2'
By adjusting for Randomness from R' to the new R2', where
R' + R2'
The new hash value of FP2' comes from the following relationship:
FP2' = H ( CTR', CH ( S', X2', R2' ) )
Which The original hash value is FP' = H ( CTR', CH ( S', X, R' ) )
Make adjustments to R2' until the values below are obtained.
H ( CTR', CH ( S', X2', R2' ) ) = H ( CTR', CH ( S', X', R' ) ) or
FP2' = FP' = S"
You can then bring new Block#302 with new data of X2' and updated R2' value into the blockchain system, by using the same hash value for connecting point, without evidence of traceability error (Non-Tamper-Evident). People who use this information will never know that Block#302 has been modified before, unless the collector of trapdoor, and one who make such that change, make an announcement.
Moreover, if the amendment to the Randomness is successfully to get new hash value, we are able to take the next block out of the blockchain system effectively.
Figure 4 illustrates the removal of a block from the Rewritable Blockchain system, continuing from the example Block#301, Block#302, and Block#303, subjected for Block#302 to be deleted from the system. This is done in the same way as modifying information within a block, but need to apply changes on the previous block, Block#301. Trapdoor for Block#301 is T, and we use it to edit data within the Block#301 to get the new hash value. The desired hash value is the same hash value of Block#302.
In this case, it is not necessary to change the data of Block#301, except the Randomness value, from original R to new Rl, where
R # R 1
The new desired hash value is FP1, being derived from relationship as follows:
FP1 = H ( CTR, CH ( S, X, R1 ) )
This is due to the fact that Block#302 's hash value is
FP' = H ( CTR', CH ( S', X', R' ) )
Adjusting R1 until the value below is obtained.
H ( CTR , CH ( S, X, R1 ) ) = H ( CTR', CH ( S', X ', R' ) ) or
FP1 = FP' = S"
This is to make the new hash value of Block#301 equal to the original hash value of Block#302.
The connection between the block Block#301 and Block#303 are made, and Block#302 can be cut out from the system as desired. The reason is that HashPrev of Block#302, as linkage with Block#301, is S' = FP, but now Block#301 's hash value has been changed to FP1, making the original FP no longer exist in the system. So Block#302 becomes a foreign block of the system, while block after Block#301 is Block#303, and being followed by Block#304 and so on.
This method will erase the entire block away, without evidence (Non-Tamper-Evident). Once performing traceability from the current block of Block#303, it will connect back to Block#301 and Block#300 in the next previous order. No one can tell if block#302 have ever existed in such a system earlier.
6. Limitations of the Rewritable Blockchain system
Adopting the Chameleon Hash Function that has the ability to modify the original data to get the same “hash value”, using techniques trapdoor, will literally not be defined as a “fingerprint” of the block, because “fingerprint” has deserved one unique. That makes arguments about the appropriateness of the application using the Chameleon Hash Function to generate the hash value, to representing the data block. Moreover, this weakens the blockchain system's key feature of traceability from present block back to previous block, and so on. All these applications reduce faith to the accuracy and security of data in blockchain system. If there is an attacker, accessing the trapdoor value of the Chameleon Hash Function and modifying the data within the block, the same hash value of the block could be produced. This will make the attack completely untraceable (Non-Tamper-Evident).
From such an important limitation, therefore it brings to this invention to develop a system and method for creating blockchain which maintains its feature of traceability, difficult for the attack. Even if there is an attack, changes can be traced and appeared (Tamper-Evident) for detection. It also wants to develop new systems and methods for creating new formats that are consistent and compliant with the regulation's requirements for the protection of personal data, including the European Union's General Data Protection Regulation (GDPR) and the Personal Data Protection Act 2019 (Personal Data Protection Act - PDPA) of the Kingdom of Thailand, including those relevant regulations in the other country and make the blockchain new style with functionality that supports editing, forwarding information to third parties and operates deleted data even by the owner. Those corrections of information, according to the rights specified in the chapter of regulations, are still capable of traceability and provide high reliability. Moreover, this new blockchain system could provide and support for the digital signature, binding legal on signed data, and support for managing the printout (paper document), which can be used as original data.
Nature and Purpose of the Invention
This invention is the development of a system and a method for creating blockchain where every block of information is clearly defined with the data subject and the owner or the person associated with rights to the data. Ownership and the right to information is identified and stored in a block of data. The Public Key Infrastructure (PKI) is applied to identify the valid person who exists in the system, as well as to develop a group of person as one organization, for the sake of making a deal or contractual agreement between persons or between a group of persons, in which all the parties involved in the agreement are required to have rights and joint ownership of the information. This could apply to create a juristic person (company, store, organization, various agencies, for both the public sectors and private sectors, etc.) to be the information of the juristic person, being created during the transaction within the system. There is no limit to the number of participants who own or have rights to information. There could be hundreds or thousands of owners together.
This invention is the creation of a parallel blockchain system, which many chain systems are related back and forth. The main information system (System 1) will keep all important information in all formats, such as text, documents and digital images, including the permit information for change or forward data. There is the control information system (System 2) consisting of at least 3 sub-dimensions; data deletion control system, data edition control system and data forward control system by the owner or the person who has right of the information. This blockchain system consists of the design of the structure and operation for the main information system (System 1) and for the control information system (System 2), the process of creating a digital identity of person in the system, the process of creating a digital identity of group of persons in the system , the process of creating initial data and broadcasting to all nodes in the system, the process to determine which node to create the prototype block and broadcast to all other nodes in the system, the process of recording and storing the new prototype block in each node, the process to reconcile block between those nodes in the system, the process to perform an effective traceability for all data block in the system, the process to delete, edit or forward of data in the block being requested by data owner, the process of applying digital signature to the data and recording in the block, the process of identifying the right person who can put the digital signature in the block, the process of printing out the digital data from the block to document paper being used as original data legally.
Systems, methods, procedures, definitions and conditions of the system as well as the various objectives of this invention would become more apparent with the later detail explanations and attached drawing in the next chapters.
Disclosure of Invention
This invention focuses on the benefits of the Multi Dimension Blockchain System, which identifies the identity of the owner of data, both individually persons and groups of persons or corporations. The results of electronic transactions and stored data in the system are completely secure and reliable. In case of a digital agreement, it is legal binding data associated with the digital signature, one of this system features. Personal information, in Multi Dimension Blockchain System, can be deleted, amended, changed or even requested to be sent forward to another person, by the data subject's request, complying with regulation on the protection of personal information. Moreover, there is an element for managing the printout process to use paper document as of an original digital data stored in block. The components and procedures of the system are as follows:
1. Applying the hash function and Public Key Infrastructure (PKI)
As explained earlier, the hash function is a mechanism to operate interactively with a part of data or all of it and generate a small digest message digest, which is the hash value. The vital features and qualifications for hash function are that the original data could not be reversed from its hash value, the hash value must be a unique value from each different original data. These qualifications make the hash value become or close to the fingerprint of its original data.
Therefore, only the hash function which is qualified for these criteria’s will be applied, such as the hash functions that have been developed by the National Security Agency of the United States, higher than SHA-2 (a secure hash algorithm version 2) onwards. There are at least 3 sets of the hash functions, being applied as follows:
1.1) SHA-256, regardless of the default size, will process for a result of 256 bits or hexadecimal number (0-F or values 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, E, F) for 64 digits.
1.2) SHA-384, regardless of the default size, will process for a result of 384 bits or hexadecimal number for 96 digits.
1.3) SHA-512, regardless of the default size, will process for a result of 512 bits or hexadecimal number for 128 digits.
In addition, other hash functions can also be used if their qualifications for non-reverse and unique of hash value are equal or superior. SHA-3, which uses an Keccak algorithm and certified by the NIST is also applicable.
For the Chameleon Hash Function and other hash functions that process with a different initial data but can return the same hash value, is not qualified for being used in this invention. The reason is that Multi Dimension Blockchain System needs a rigid hash function, processing an initial data to a unique and secure fingerprint of data. Public Key Infrastructure (PKI) is a set of instructions for digital encryption to prevent information leaks during transmission through various networks, by applying an asymmetric key or a method of encrypting data with a first key and decoding with another key, making in pair.
The creation of the two-key pair is related by a mathematical algorithm. The first key, called Public Key, is created base on the standard of X.0509, consisting of around 360 characters or 360 bytes. The Public Key of any given person is open for anyone in the system to call for data encryption or data decryption.
The other key, called Private Key, is created at the same time in pair of Public Key, base on the standard of PKCS#8 with consisting of 3-4 times more characters than Public Key (over 360 bytes time 3 or 4) is. The key is kept privately by given person only.
So when sending data to a certain person in the delivery system, it just applies the Public Key of that recipient person to encrypt the data. Even if that data is stolen or missing in error, no one would be able to decrypt it and read it. It would have to use the Private Key of the recipient, to pair in with a previously encrypted Public Key and decrypt it. Then the information will be opened and readable. In this way makes the transmission of information extremely secure. In Multi Dimension Blockchain System, all users need to have a pair of key, consisting of Private Key which kept confidential and Public Key available for other users to apply for particular purposes. Public Key Infrastructure (PKI) is also a crucial factor applying for digital signature which to be explained later.
2. Structure of the Multi Dimension Blockchain System
The structure of the Multi Dimension Blockchain System consists of three key systems which are Main Blockchain System, Control Blockchain System and Owner Blockchain System. All three systems are working in closed relationship as follows:
1) Main Blockchain System is the main dimension for record and storing data or instruction using for an operation, of the owner or person having the right to information. There are a number of connected blocks of information within one blockchain line. Moreover, there are a number of different blockchain lines within Main Blockchain System, sharing the same services of Control Blockchain System and Owner Blockchain System.
2) Control Blockchain System is the supporting dimension to manage and control the order of the data owner for deleting, editing and forward his, her or their data being stored in the block under Main Blockchain System. Practically, it is separated into sub-dimensions of each order type; Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System.
3) Owner Blockchain System manages to segregate and collect those blocks under Main Blockchain System and Control Blockchain System, and connect them into one blockchain line, classified by data owner. One blockchain line is for one data owner. Therefore, there are a number of blockchain lines within Owner Blockchain System.
All of these systems can be implemented for their traceability between them back and forth.
Figure 5 shows the overview structure of Multi Dimension Blockchain System. The Main Blockchain System contains many blockchain lines, established from different purpose of use, for example Blockchain X which could be for money transactions, Blockchain Y for medical record, and Blockchain Z for educational record.
Owner Blockchain System contains many blockchain lines, segregated for each data owner, for example Owner A, Owner B and Owner C. If Owner A performs a financial transaction which results in generate a block in Blockchain X. Later Owner A goes to see the doctor, his medical record then appears as a block in Blockchain Y. Since Owner A is a student, his educational transcript is a block in Blockchain Z.
Control Blockchain System consists of Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System. In case of that Owner A wants to send his medical record to Owner B, he can manage to do it associated with Forward Control Blockchain System, by calling his medical record from Blockchain Y and forwarding it to Owner B.
A data block within Main Blockchain System is named as “main block”.
A data block within Delete Control Blockchain System is named as “delete-command block”.
A data block within Edit Control Blockchain System is named as “edit-command block”.
A data block within Forward Control Blockchain System is named as “forward-command block”. Figure 6 shows an illustration of Multi Dimension Blockchain structure and relationship, by presenting sample blocks of MBlock#601, MBlock#602 and MBlock#603 for Main Blockchain System and blocks of CBlock#601, CBlock#602 and CBlock#603 For Control Blockchain System as well as blocks in the middle of Figure 6 of OBlock#601, OBlock#602 and OBlock#603 for Owner Blockchain System. The block contains several of which are described in the following order later, but the key is “Hash Value” of data within the block in Figure 6 as follows:
Hash of Present Main Block is the hash value of those data in the current block within
Main Blockchain System.
- Hash of Previous Main Block is the hash value of those data in the immediate previous block, before connecting to the current block, within Main Blockchain System. This hash value is contained in the current block and being used as a pointer to link with the previous block. This enables the connection between each block and results in a chain from end to end, for Main Blockchain System.
- Hash Of Present Control Block is the hash value of the current block within Control
Blockchain System.
- Hash of Previous Control Block is the hash value of those data in the immediate previous block, before connecting to the current block, within Control Blockchain System. This hash value is contained in the current block and being used as a pointer to link with the previous block. This enables the connection between each block and results in a chain from end to end, for Control Blockchain System.
- Hash of Present Owner Block is the hash value of some selective data associated with owner identity and block identity, either within Main Blockchain System or Control Blockchain System where the block is created.
- Hash of Previous Owner Block is the hash value of some selective data associated with owner identity and block identity, in the immediate previous block, either within Main Blockchain System or Control Blockchain System where the block is created. This hash value is contained in the current block and being used as a pointer to link with the previous block. This makes another blockchain line for certain owner and enables the connection between each block of his or her, resulting in a chain from end to end, for Owner Blockchain System.
The sequence of each block within a curtain blockchain line will also be recorded in the linked list, and the hash value of block will work as a pointer for pointing to the previous block. Example of the blocks in Figure 6 describes the relationship of the block within Main Blockchain System as follows:
MBlock#601 ; the data owner is OW1, with “Hash Value” = Ml,
Where Hash of Previous Main Block = PM1
And Hash of Present Owner Block = 01
MBlock#602 ; the data owner is 0W2, with “Hash Value” = M2,
Where Hash of Previous Main Block = PM2 = Ml
And Hash of Present Owner Block = 02
MBlock#603 ; the data owner is 0W3, with “Hash Value” = M3,
Where Hash of Previous Main Block = PM3 = M2
And Hash of Present Owner Block = 03
MBlock#604 ; the data owner is 0W2, with “Hash Value” = M4,
Where Hash of Previous Main Block = PM4 = M3
And Hash of Present Owner Block = 04
Therefore, those blocks in this Main Blockchain System as shown in the example will be linked by the hash values as follows:
Ml --> PM2 (later emerged M2), M2 — > PM3 (later emerged M3) and M3 — > PM4 (later emerge M4) continuously.
( — > indicates as the pointer or link between block.)
Moreover, those blocks in this Main Blockchain System are enabling another dimension of connecting blocks for the same owner in Owner Blockchain System which in the example shows data owner of 0W2 as follows:
- OBlock#601 retrieves MBlock#602 to connect with the previous block of the owner 0W2. Therefore,
OBlock#601 = MBlock#602
Where Hash of Previous Owner Block = P02 And Hash of Present Owner Block = 02
OBlock#602 retrieves MBlock#604 to connect with OBlock#601. Therefore,
OBlock#602 = MBlock#604
Where Hash of Previous Owner Block = P04 = 02
And Hash of Present Owner Block = 04
Therefore, those blocks in this Owner Blockchain System as shown in the example will be linked by the hash values as follows:
02 — > P04 (later emerged 04) and so on.
( — > indicates as the pointer or link between block.)
The relationship of blocks in Control Blockchain System can be described as shown in Figure 6 below.
- CBlock#601 ; the data owner who wants to edit or delete or forward the data is 0W11, with “Hash Value” = Cl,
Where Hash of Previous Control Block = PCI
And Hash of Present Owner Block = 011
- CBlock#602 ; the data owner who wants to edit or delete or forward the data is OW 12, with “Hash Value” = C2,
Where Hash of Previous Control Block = PC2 = Cl
And Hash of Present Owner Block = 012
- CBlock#603 ; the data owner who wants to edit or delete or forward the data is 0W2, with “Hash Value” = C3,
Where Hash of Previous Control Block = PC3 = C2
And Hash of Present Owner Block = 013
- CBlock#604 ; the data owner who wants to edit or delete or forward the data is 0W14, with “Hash Value” = C4, Where Hash of Previous Control Block = PC4 = C3
And Hash of Present Owner Block = 014
Therefore, those blocks in this Control Blockchain System as shown in the example will be linked by the hash values as follows:
Cl -> PC2 (later emerged C2), C2 — > PC 3 (later emerged C3) and C3 -> PC4 (later emerged C4) continuously.
( — > indicates as the pointer or link between block.)
Moreover, those blocks in this Control Blockchain System are enabling another dimension of connecting blocks for the same owner in Owner Blockchain System which in the example shows the data owner of 0W2 as follows:
OBlock#603 retrieves CBlock#603 to connect with OBlock#602. Therefore,
OBlock#603 = CBlock#603
Where Hash of Previous Owner Block = P013 = 04
And Hash of Present Owner Block = 013
Therefore, those blocks in this Owner Blockchain System as shown in the example will be linked by the hash values as follows:
02 — > P04 0ater emerged 04) and 04 -> P013 (later emerged 013) and so on.
( — > indicates as the pointer or link between block.)
In summary, Main Blockchain System, containing various lines of main blockchain, is related with Control Blockchain System for any further administrations of data which is subdivided into at least three dimensions; Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System. In some implementation, Control Blockchain System may add more dimensions to further operate and coordinate with Main Blockchain System and Owner Blockchain System.
Owner Blockchain System is typically subdivided into several dimensions, depending on the number of data owner in Main Blockchain System, as one data owner for one blockchain line. 3. Data structure and the relationship in Main Blockchain System
The main block of Main Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 7 as the sample blocks of MBlock#701, MBlock#702 and MBlock#703 as follows:
3.1) Dimension - identifies the blockchain line within the system, and in the example they are MD1, MD2 and MD3 respectively.
3.2) Header - indicates the name of the block as the identity of each block within the system, and in the example they are Hl, H2 and H3 respectively.
3.3) Data Owner - is an owner of information. The owner who has the right to block information, may be individual person or a group of individual person together. In the example they are OW1, OW2 and OW3 respectively.
3.4) Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example they are PO1, PO2 and PO3 respectively.
Its relationship with Hash Of Present Owner Block will be described in the article 3.16) later.
3.5) Hash of Previous Main Block - is the “Hash Value” of the previous block within Main Blockchain System. In the example they are PM1, PM2 and PM3 respectively, where MBlock#700 is the first block in the series and has a “Hash Value” of MO. Therefore,
PM1 = MO
PM2 = Ml
PM3 = M2
Detail explanation of Ml, M2 and M3 will be shown in the article 3.17).
In some implementation, the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Main Block may be set as “0” (zero).
3.6) Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example they are ND1, ND2 and ND3 respectively. However, in some implementation, there could be an additional blockchain dimension, by adding data fields of “Hash of Previous Node Block” and “Hash of Present Node Block”, to cope with node record of creating blocks into each various blockchain system.
3.7) Timestamp - is the time information when the block was created. In the example they are Tl, T2 and T3 respectively.
3.8) Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Main Blockchain System, before broadcasting it into the system. The conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, they are DN1, DN2 and DN3 respectively.
3.9) Delete Count - is a count of the number of times that the information kept inside the block is deleted, with rules as follows:
Delete Count = 0, is that there is no deletion of information inside the block at all.
Delete Count = 1, is that the information inside the block was deleted once and for all.
In some implementation, Delete Count can contain either 0 or 1, since the information can only be deleted once and all information has gone.
In the example they are DC1, DC2 and DC3 respectively.
3.10) Delete Hash - is the hash value of the delete-command block within Delete Control Blockchain System, which commands for deleting data kept inside this block of Main Blockchain System, with rules as follows:
If there is no deletion of information inside the block, therefore,
Delete Hash = 0
- If the information kept inside the block is getting a command for deletion and the data in the article 3.15) has been deleted, Delete Hash will keep the Hash Value of the deletecommand block, which exists within Delete Control Blockchain System. Therefore,
Delete Hash = “Hash Value” of delete-command block In the example, they are DH1, DH 2 and DH 3 respectively.
3.11) Edit Count - is a count of the number of times that the information kept inside the block is edited, with rules as follows:
Edit Count = 0, is that there is no editing of information inside the block at all.
Edit Count = “number”, identifies the number of times the information was edited, by an edit-command block which exists within Edit Control Blockchain System.
In the example, they are EC 1, EC2 and EC3 respectively.
3.12) Edit Hash - is the hash value of the edit-command block within Edit Control Blockchain System, which commands for editing data kept inside this block of Main Blockchain System, with rules as follows:
- If there is no editing of information inside the block, therefore,
Edit Hash = 0
- If the information kept inside the block is getting a command for editing and the data in the article 3.15) has been edited, Edit Hash will keep the latest Hash Value of the editcommand block, which exists within Edit Control Blockchain System. Therefore,
Edit Hash = the latest “Hash Value” of edit-command block
In the example, they are EH1, EH2 and EH3 respectively.
In some implementation, the correction of spelling errors or others relevant personal data are allowed for modification and data improvement.
3.13) Forward Count - is a count of the number of times that the information kept inside the block is forwarded, with rules as follows:
Forward Count = 0, is that there is no forward of information in the block before.
Forward Count = “number”, identifies the number of times the information was forwarded, by a forward-command block which exists within Forward Control Blockchain System.
In the example they are FC1, FC2 and FC3 respectively. 3.14) Forward Hash - is the hash value of the forward-command block within Forward Control Blockchain System, which commands for forwarding data kept inside this block of Main Blockchain System, with rules as follows:
If there is no forward of information inside the block, therefore,
Forward Hash = 0
- If the information kept inside the block is getting a command for forward and the data in the article 3.15) has been forwarded, Forward Hash will keep the latest Hash Value of the forward-command block, which exists within Forward Control Blockchain System. Therefore,
Forward Hash = the latest “Hash Value” of forward-command block
In the example they are FH1, FH2 and FH3 respectively.
3.15) Data - is the information to be kept inside the main block which it could be any types of digital data such as text, parameter, formula, instruction program, data file, object file, video file, etc. It is created and stored according to the purpose of the blockchain line, after data validation for its accuracy. In the example they are DAT1 , DAT2 and DAT3 respectively.
3.16) Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example they are 01, 02 and 03 respectively.
These “Hash Value” are derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”. In the example the hash values of those MBlock#701, MBlock#702 and MBlock#703 are derived from as follows:
01 = H ( OW1, H ( MD1, H1, PO1, ND1, T1 ) 02 = H ( 0W2, H ( MD2, H2, P02, ND2, T2 )
03 = H ( OW3, H ( MD3, H3, PO3, ND3, T3 )
Where H ( ) is a format of processing the hash function.
To understand the relationship of Hash of Present Owner Block and Hash of Previous Owner Block as described before in the article 3.4), so let's give an example of which MBlock#701 and MBlock#703 has the same data owner. Therefore,
0W1 = 0W3
The “Hash Value” which is 01 of MBlock#701 will be taken to keep as Hash of Previous Owner Block inside MBlock#703, which is P03. Therefore,
PO3 = 01
Thus, the link between MBlock#701 and MBlock#703 is enabled within Owner Blockchain System. More explanation will be made later in this paper work.
3.17) Hash of Present Main Block - is the “Hash Value” of the current block within Main Blockchain System. In the example they are Ml, M2 and M3 respectively.
These “Hash Value” are derived from the hash function as below.
Hash of Present Main Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Main Block, Node Code, Decisive Number, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”. In the example the hash values of those MBlock#701, MBlock#702 and MBlock#703 are derived from as follows:
Ml = H ( Tl, H ( MD1, Hl, 0W1, P01, PM1, ND1, DN1, DAT1 )
M2 = H ( T2, H ( MD2, H2, 0W2, P02, PM2, ND2, DN2, DAT2 )
M3 = H ( T3, H ( MD3, H3, OW3, PO3, PM3, ND3, DN3, DAT3 ) Where H ( ) is a format of processing the hash function.
The “Hash Value” which is Ml of MBlock#701 will be taken to keep as Hash of Previous Main Block inside MBlock#702, which is PM2. Therefore,
PM2 = Ml
In the same manner, the “Hash Value” which is M2 of MBlock#702 will be taken to keep as Hash of Previous Main Block inside MBlock#703, which is PM3. Therefore,
PM3 = M2
Thus, the link between MBlock#701 and MBlock#702 enable within Main Blockchain System, and so on for MBlock#702 and MBlock#703. This link between block could not be interrupted with any strange data block so that it is hard for hacker to put its data block within the blockchain line in Multi Dimension Blockchain System. The total traceability could have been performed and detect for any data violation.
4. Data structure and relationship in Delete Control Blockchain System
Control Blockchain System are classified into three systems, which the first one, Delete Control Blockchain System, is responsible for recording a command of deleting data and sending the instruction to execute the deletion. This system relatively supports the traceability across Main Blockchain System and Owner Blockchain System.
Instruction for deleting is not to delete the whole block, but deleting only information kept in Data as described in the article 3.15), and still remain other parts of the block, such as Dimension, Header, Data Owner, Node Code and especially the hash values using as link between blocks. This remains the block with traceability as desired.
Since the memory area used to store the data is the largest part within the block, deleting data will return a memory space for storage system significantly.
The delete-command block of Delete Control Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 8 as the sample blocks of DBlock#801, interacting with MBlock#800 within Main Blockchain System as well as interacting with OBlock#800 and Oblock#801 within Owner Blockchain System as follows: 4.1) Dimension - identifies the blockchain line within the system, and in the example of DBlock#801 it is DD8.
4.2) Header - indicates the name of the block as the identity of each block within the system, and in the example of DBlock#801 it is H8.
4.3) Data Owner - is an owner of information. One who has the right to block information, may be individual person or a group of individual person together. In the example it is OW8. However, before a user can create a delete-command block, the targeted block for deletion must exist in Main Blockchain System and is belonging to that such user. Figure 8 shows an illustrating example of MBlock#800 with its data owner OW8, and within Owner Blockchain System the same block exists as OBlock#800. Therefore,
MBlock#800 = OBlock#800
Once the delete-command block is generated as DBlock#801 within Delete Control Blockchain System, the same block will exist within Owner Blockchain System as OBlock#801. Therefore,
DBlock#801 = OBlock#801
4.4) Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO81. The previous block to link for is within Owner Blockchain System at the same data owner, who is certainly OW8. The example shows it is OBlock#800 with its hash value of 080. Therefore,
P081 = 080
4.5) Hash of Previous Delete Control Block - is the “Hash Value” of the previous block within Delete Control Blockchain System. In the example it is PD81, where the previous block has a “Hash Value” of DC80. Therefore,
PD81 = DC80
In some implementation, the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Delete Control Block may be set as “0” (zero). 4.6) Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND81.
However, in some implementation, there could be an additional blockchain dimension, by adding data fields of “Hash of Previous Node Block” and “Hash of Present Node Block”, to cope with node record of creating blocks into each various blockchain system.
4.7) Timestamp - is the time information when the block was created. In the example it is
T81.
4.8) Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Delete Control Blockchain System, before broadcasting it into the system. The conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, it is DN81.
4.9) Hash of Deleted Block - is the “Hash Value” of the target block whose data is subject to deletion. In the example it is DB81. The target block for deletion is MBlock#800, with its hash value is M8. Therefore,
DB81 = M8
This is an important parameter for traceability once the data inside MBlock#800 is deleted, it can be traced to the delete-command block of DBlock#801 by the owner OW8.
Moreover, the block in Main Blockchain System whose data is deleted contains Delete Count and Delete Hash as described earlier in the article 3.9) and the article 3.10) respectively will record the hash value of the delete-command block (DBlock#801) in Delete Hash. In the example, Delete Count changes its value to “1” and Delete Hash changes its value to DCS. This enables the traceability for both directions, from Main Blockchain System to Delete Control Blockchain System and from Delete Control Blockchain System to Main Blockchain System.
4.10) Data - is the instruction to be recorded inside the block within Delete Control Blockchain System which command to delete information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules of deletion under Multi Dimension Blockchain System. In the example it is DATS 1. 4.11) Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 081.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”. In the example the hash value of this DBlock#801 is derived from below.
081 = H ( 0W8, H ( DD8, H8, PO81. ND81, T81 )
Where H ( ) is a format of processing the hash function.
In the example DBlock#801 is the same block as OBlock#801 as described before in the article 4.3), with its Hash of Present Owner Block is 081. Later if the data owner 0W8 creates a new block, that hash value of 081 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO82. Therefore,
PO82 = 081
Thus, the link between OBlock#801 and the new block is enabled within Owner Blockchain System. More explanation will be made later in this paper work.
4.12) Hash of Present Delete Control Block - is the “Hash Value” of the current block within Delete Control Blockchain System. In the example it is DCS.
This “Hash Value” is derived from the hash function as below. Hash of Present Delete Control Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Delete Control Block, Node Code, Decisive Number, Hash of Deleted Block, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”. In the example the hash value of this DBlock#801 is derived from below.
DCS = H ( T81, H ( DD8, H8, OW8, PO81, PD81, ND81, DN81, DB81, DAT81 )
Where H ( ) is a format of processing the hash function.
Later if there is a new delete-command block, that hash value of DCS will be taken to keep as Hash of Previous Delete Control Block inside the new block, which is PD82. Therefore,
PD82 = DCS
Thus, the link between DBlock#801 and the next delete-command block is enabled within Delete Control Blockchain System, whose traceability is difficult for a hacker to attack.
5. Data structure and relationship in Edit Control Blockchain System
The second system of Control Blockchain System is Edit Control Blockchain System, responsible for recording a command of editing data and sending the instruction to execute editing data. This system relatively supports the traceability across Main Blockchain System and Owner Blockchain System.
The edit-command block of Edit Control Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 9 as the sample blocks of EBlock#901, interacting with MBlock#900 within Main Blockchain System as well as interacting with OBlock#900 and Oblock#901 within Owner Blockchain System as follows:
5.1) Dimension - identifies the blockchain line within the system, and in the example of EBlock#901 it is ED9. 5.2) Header - indicates the name of the block as the identity of each block within the system, and in the example of EBlock#901 it is H9.
5.3) Data Owner - is an owner of information, who has the right to block information, may be individual person or a group of individual person together. In the example it is OW9. However, before a user can create a edit-command block, the targeted block for editing must exist in Main Blockchain System and is belonging to that such user. Figure 9 shows an illustrating example of MBlock#900 with its data owner OW9, and within Owner Blockchain System the same block exists as OBlock#900. Therefore,
MBlock#900 = OBlock#900
Once the edit-command block is generated as EBlock#901 within Edit Control Blockchain System, the same block will exist within Owner Blockchain System as OBlock#901. Therefore,
EBlock#901 = OBlock#901
5.4) Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO91. The previous block to link for is within Owner Blockchain System at the same data owner, who is certainly OW9. The example shows it is OBlock#900 with its hash value of 090. Therefore,
PO91 = 090
5.5) Hash of Previous Edit Control Block - is the “Hash Value” of the previous block within Edit Control Blockchain System. In the example it is PE91, where the previous block has a “Hash Value” of EC90. Therefore,
PE91 = EC90
In some implementation, the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Edit Control Block may be set as “0” (zero).
5.6) Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND91. 5.7) Timestamp - is the time information when the block was created. In the example it is
T91.
5.8) Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Edit Control Blockchain System, before broadcasting it into the system. The conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, it is DN91.
5.9) Hash of Edited Block - is the “Hash Value” of the target block whose data is subject to modification. In the example it is EB91. The target block for modification is MBlock#900, with its hash value is M9. Therefore,
EB91 = M9
This is an important parameter for traceability once the data inside MBlock#900 is edited, it can be traced to the edit-command block of EBlock#901 by the owner OW9.
Moreover, the block in Main Blockchain System whose data is edited contains Edit Count and Edit Hash as described earlier in the article 3.11) and the article 3.12) respectively will record the hash value of the edit-command block (EBlock#901) in Edit Hash. In the example, Edit Count changes its value to the current number of times which the data has been edited and Edit Hash changes its value to EC9. This enables the traceability for both directions, from Main Blockchain System to Edit Control Blockchain System and from Edit Control Blockchain System to Main Blockchain System.
5.10) Data - is the instruction to be recorded inside the block within Edit Control Blockchain System which command to edit information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules of modification under Multi Dimension Blockchain System. In the example it is DAT91.
5.11) Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 091.
The “Hash Value” is derived from the hash function as below. Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”. In the example the hash value of this EBlock#901 is derived from below.
091 = H ( 0W9, H ( ED9, H9, P091, ND91, T91 )
Where H ( ) is a format of processing the hash function.
In the example EBlock#901 is the same block as OBlock#901 as described before in the article 5.3), with its Hash of Present Owner Block is 091. Later if the data owner 0W9 creates a new block, that hash value of 091 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO92. Therefore,
PO92 = 091
Thus, the link between OBlock#901 and the new block is enabled within Owner Blockchain System. More explanation will be made later in this paper work.
5.12) Hash of Present Edit Control Block - is the “Hash Value” of the current block within Edit Control Blockchain System. In the example it is EC9.
This “Hash Value” is derived from the hash function as below.
Hash of Present Edit Control Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Edit Control Block, Node Code, Decisive Number, Hash of Edited Block, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”. In the example the hash value of this EBlock#901 is derived from below.
EC9 = H ( T91, H ( ED9, H9, 0W9, P091, PE91, ND91, DN91, EB91, DAT91 )
Where H ( ) is a format of processing the hash function.
Later if there is a new edit-command block, that hash value of EC9 will be taken to keep as Hash of Previous Edit Control Block inside the new block, which is PE92. Therefore,
PE92 = EC9
Thus, the link between EBlock#901 and the next edit-command block is enabled within Edit Control Blockchain System, whose traceability is difficult for a hacker to attack.
6. Data structure and relationship in Forward Control Blockchain System
The third system of Control Blockchain System is Forward Control Blockchain System, responsible for recording a command of forwarding data and sending the instruction to execute forwarding data. This system relatively supports the traceability across Main Blockchain System and Owner Blockchain System.
The forward-command block of Forward Control Blockchain System contains a number of data fields and segments for the purpose of functionality or record, described in Figure 10 as the sample blocks of FBlock#l 001, interacting with MBlock#1000 within Main Blockchain System as well as interacting with OBlock#l1000 and Oblock#1001 within Owner Blockchain System as follows:
6.1) Dimension - identifies the blockchain line within the system, and in the example of FBlock#1001 it is FDlO.
6.2) Header - indicates the name of the block as the identity of each block within the system, and in the example of FBlock#lOOl it is H10.
6.3) Data Owner - is an owner of information. One who has the right to block information, may be individual person or a group of individual person together. In the example it is OW10. However, before a user can create a forward-command block, the targeted block for forward must exist in Main Blockchain System and is belonging to that such user. Figure 10 shows an illustrating example of MBlock#lOOO with its data owner OWIO, and within Owner Blockchain System the same block exists as OBlock#lOOO. Therefore,
MBlock#lOOO = OBlock#lOOO
Once the forward-command block is generated as FBlock#lOOl within Forward Control Blockchain System, the same block will exist within Owner Blockchain System as OBlock#lOOl. Therefore,
FBlock#lOOl = OBlock#lOOl
6.4) Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO101. The previous block to link for is within Owner Blockchain System at the same data owner, who is certainly OWIO. The example shows it is OBlock#lOOO with its hash value of 0100. Therefore,
PO101 = 0100
6.5) Hash of Previous Forward Control Block - is the “Hash Value” of the previous block within Forward Control Blockchain System. In the example it is PF101, where the previous block has a “Hash Value” of FC 100. Therefore,
PF101 = FC100
In some implementation, the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Forward Control Block may be set as “0” (zero).
6.6) Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND101.
6.7) Timestamp - is the time information when the block was created. In the example it is T101.
6.8) Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Forward Control Blockchain System, before broadcasting it into the system. The conditions of creating a prototype block will be discussed in detail on “Algorithm for proofing the hash value of prototype block” later. In the example, it is DN101.
6.9) Hash of Forwarded Block - is the “Hash Value” of the target block whose data is subject to forward. In the example it is FB 101. The target block for forward is MBlock# 1000, with its hash value is M10. Therefore,
FB101 = MIO
This is an important parameter for traceability once the data inside MBlock#1000 is forwarded to other user, it can be traced to the forward-command block of FBlock#lOOl by the owner OWIO.
Moreover, the block in Main Blockchain System whose data is forwarded contains Forward Count and Forward Hash as described earlier in the article 3.13) and the article 3.14) respectively will record the hash value of the forward-command block (FBlock#1001) in Forward Hash. In the example, Forward Count changes its value to the current number of times which the data has been forwarded and Forward Hash changes its value to FC10. This enables the traceability for both directions, from Main Blockchain System to Forward Control Blockchain System and from Forward Control Blockchain System to Main Blockchain System.
6.10) Data - is the instruction to be recorded inside the block within Forward Control Blockchain System which command to forward information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules of forward under Multi Dimension Blockchain System. In the example it is DATlOl.
6.11) Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 0101.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp ) This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”. In the example the hash value of this FBlock#1001 is derived from below.
0101 = H ( OW10, H ( FD10, H10, P0101, ND101, T101 )
Where H ( ) is a format of processing the hash function.
In the example FBlock#1001 is the same block as OBlock#1001 as described before in the article 6.3), with its Hash of Present Owner Block is 0101. Later if the data owner OWIO creates a new block, that hash value of 0101 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO102. Therefore,
PO102 = 0101
Thus, the link between OBlock#lOOl and the new block is enabled within Owner Blockchain System. More explanation will be made later in this paper work.
6.12) Hash of Present Forward Control Block - is the “Hash Value” of the current block within Forward Control Blockchain System. In the example it is FC 10.
This “Hash Value” is derived from the hash function as below.
Hash of Present Forward Control Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Forward Control Block, Node Code, Decisive Number, Hash of Forwarded Block, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”. In the example the hash value of this FBlock#lOOl is derived from below.
FC10 = H ( T101, H ( FD10, H10, OWIO, PO101, PF101, ND101, DN101,
FB101, DAT101 ) Where H ( ) is a format of processing the hash function.
Later if there is a new forward-command block, that hash value of FC 10 will be taken to keep as Hash of Previous Forward Control Block inside the new block, which is PF102. Therefore,
PF102 = FC10
Thus, the link between FBlock#1001 and the next forward-command block is enabled within Forward Control Blockchain System, whose traceability is difficult for a hacker to attack.
7. Data structure and relationship in Owner Blockchain System
Owner Blockchain System eventually exists by bringing any emerged block from Main Blockchain System and Control Blockchain System for the same data owner to connect as a blockchain line, associated with the hash value of the previous owner block, which makes it easy and transparent to the data owner. It also supports a function of Control Blockchain System to retrieve a block within Main Blockchain System for deleting, editing and forward its data, by the right of the data owner.
The data block of Owner Blockchain System contains a number of various fields and segments associated with a different type of the data block, which could be a main block, a delete-command block, an edit-command block, and a forward-command block. However, it can classified into two groups of data, a common data group (for every type of data block) and a specific data group (for a various type of data block), described in Figure 11 as the sample blocks of OBlock#! 101 for the layout of data.
A common data group (for every type of data block), whose data fields and segments exists inside any various type of blockchain system, is defined as follows:
7.1) Dimension - identifies the blockchain line within the system, and in the example of OBlock#! 101 it is Dl l.
7.2) Header - indicates the name of the block as the identity of each block within the system, and in the example of OBlock#! 101 it is Hl 1. 7.3) Data Owner - is an owner of information. One who has the right to block information, may be individual person or a group of individual person together. In the example it is own.
7.4) Hash of Previous Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. In the example it is PO111. The previous block has the hash value of 0110. Therefore,
PO111 = OHO
In some implementation, the genesis block (the very first block in the series) will not have any previous block before, so that the Hash of Previous Owner Block may be set as “0” (zero).
7.5) Node Code - identifies a node which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system. In the example it is ND111.
7.6) Timestamp - is the time information when the block was created. In the example it is Ti l l.
7.7) Hash of Present Owner Block - is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block. In the example it is 0111.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner’ ’. In the example the hash value of this OBlock#! 101 is derived from below.
Ol l i = H ( OW11, H ( D11, H11, PO111, ND111, T111 )
Where H ( ) is a format of processing the hash function. Later if the data owner OW11 creates a new block, that hash value of 0111 will be taken to keep as Hash of Previous Owner Block inside the new block, which is PO112. Therefore,
P0112 = 0111
Thus, the link between OBlock#l 101 and the new block is enabled within Owner Blockchain System.
A specific data group (for a various type of data block), whose data fields and segments are varied by the type of blockchain system, splits into 4 subgroups.
Subgroup 1 - a block which emerges from Main Blockchain System, will have the following fields and segments of data.
Hash of Previous Main Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Main Blockchain System.
- Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Main Blockchain System, before broadcasting it into the system.
- Delete Count - is a count of the number of times that the information kept inside the block is deleted.
Delete Hash - is the hash value of the delete-command block within Delete Control
Blockchain System, which commands for deleting data kept inside this block of Main Blockchain System.
- Edit Count - is a count of the number of times that the information kept inside the block is edited.
Edit Hash - is the hash value of the edit-command block within Edit Control
Blockchain System, which commands for editing data kept inside this block of Main Blockchain System.
- Forward Count - is a count of the number of times that the information kept inside the block is forwarded.
Forward Hash - is the hash value of the forward-command block within Forward
Control Blockchain System, which commands for forwarding data kept inside this block of Main Blockchain System. - Data - is the information to be kept inside the block within Main Blockchain System.
This could be a type of record or instruction or even digital files, which is validated for its accuracy.
Hash of Present Main Block - is the hash value of those data in the current block within Main Blockchain System, which the hash function is defined by rule of Main Blockchain System.
All details are described in section 3.
Subgroup 2 - a block which emerges from Delete Control Blockchain System, will have the following fields and segments of data.
- Hash of Previous Delete Control Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Delete Control Blockchain System.
- Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Delete Control Blockchain System, before broadcasting it into the system.
- Hash of Deleted Block - is the “Hash Value” of the target block whose data is subject to deletion.
Data - is the instruction to be recorded inside the block within Delete Control
Blockchain System which command to delete information of a particular block within Main Blockchain System associated with the right of data.
- Hash of Present Delete Control Block - is the hash value of those data in the current block within Delete Control Blockchain System, which the hash function is defined by rule of Delete Control Blockchain System.
All details are described in section 4.
Subgroup 3 - a block which emerges from Edit Control Blockchain System, will have the following fields and segments of data.
- Hash of Previous Edit Control Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Edit Control Blockchain System. - Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Edit Control Blockchain System, before broadcasting it into the system.
- Hash of Edited Block - is the “Hash Value” of the target block whose data is subject to modification.
Data - is the instruction to be recorded inside the block within Edit Control Blockchain
System which command to edit information of a particular block within Main Blockchain System associated with the right of data.
- Hash of Present Edit Control Block - is the hash value of those data in the current block within Edit Control Blockchain System, which the hash function is defined by rule of Edit Control Blockchain System.
All details are described in section 5.
Subgroup 4 - a block which emerges from Forward Control Blockchain System, will have the following fields and segments of data.
- Hash of Previous Forward Control Block - is the hash value of those data in the immediate previous block, before connecting to the current block, within Forward Control Blockchain System.
- Decisive Number - is such a complement parameter that the hash value of block being created matches the conditions of Forward Control Blockchain System, before broadcasting it into the system.
- Hash of Forwarded Block - is the “Hash Value” of the target block whose data is subject to forward.
- Data - is the instruction to be recorded inside the block within Forward Control
Blockchain System which command to forward information of a particular block within Main Blockchain System associated with the right of data.
- Hash of Present Forward Control Block - is the hash value of those data in the current block within Forward Control Blockchain System, which the hash function is defined by rule of Forward Control Blockchain System.
All details are described in section 6. Figure 12 shows an example to explain the sequence of block emerging within Owner Blockchain System, which is a parallel to creation of a block within Main Blockchain System and within Control Blockchain System. In the example these OBlock#1201, OBlock#1202, OBlock#1203, OBlock#1204 and OBlock#1205 have the same data owner as MBlock#1201 and MBlock#1203 have within Main Blockchain System and DBlock#1202, EBlock# 1204 and FBlock#1205 have within Control Blockchain System. The steps of emerging blocks in parallel dimension can be described to 5 consecutive steps as follows:
Step No.1 MBlock#1201 was created within Main Blockchain System and Hash of Previous Owner Block is PO 121, to connect with the previous block of the same owner within Owner Blockchain System. OBlock#1201 was then emerging, which
OBlock#1201 = MBlock#1201
Naming the block for OBlock#1201 or MBlock#1201 is just alias to distinguish these two from different blockchain system. However those all values inside the block, which are real value from Dimension and all others, are the same.
Later, another data owner created MBlock#1202 within Main Blockchain System, regardless of effect to the blockchain line within Owner Blockchain System which we are previewing. (MBlock#1202 will separately exist within that certain owner’s blockchain line under Owner Blockchain System.)
Step No.2 The data owner of MBlock#1201 has exercised his or her right to delete the data inside the block. Once the request has been reviewed and approved, DBlock#1202 will be created within Delete Control Blockchain System and Hash of Previous Owner Block is PO122, which stores the “hash value” as 0121 (hash value of OBlock#1201) or
PO122 = 0121
Thus, within Owner Blockchain System, there was emerging OBlock#1202 which
OBlock#1202 = DBlock#1202
Similarly, naming the block for OBlock#1202 or DBlock#1202 is just alias to distinguish these two from different blockchain system. However those all values inside the block, which are real value from Dimension and all others, are the same. Subsequently, the system will delete the data inside MBlock#1201 according to the approved delete-command-block. Since
OBlock#1201 = MBlock#1201 or they are the same block,
The data inside OBlock#1201 has also been deleted.
Step No.3 Later, in the example MBlock#1203 was created within Main Blockchain System by the same data owner, and Hash of Previous Owner Block is PO123, which stores the “hash value” as 0122 (hash value of OBlock#1202) or
PO123 = 0122
Thus, within Owner Blockchain System, there was emerging OBlock#1203 which
OBlock#1203 = MBlock#1203
Step No.4 Later the data owner of MBlock#1203 has exercised his or her right to edit the data inside the block. Once the request has been reviewed and approved, EBlock# 1204 will be created within Edit Control Blockchain System and Hash of Previous Owner Block is PO124, which stores the “hash value” as 0123 (hash value of OBlock#1203) or
PO124 = 0123
Thus, within Owner Blockchain System, there was emerging OBlock#1204 which
OBlock#1204 = EBlock#1204
Similarly, naming the block for OBlock#1204 or EBlock# 1204 is just alias to distinguish these two from different blockchain system. However those all real values inside the block are the same.
Subsequently, the system will edit the data inside MBlock#1203 according to the approved edit-command-block. Since
OBlock#1203 = MBlock#1203 or they are the same block,
The data inside OBlock#1203 has also been edited.
Step No.5 Lastly in the example, the data owner of MBlock#1203 has exercised his or her right to forward the previously modified data inside the block. Once the request has been reviewed and approved, FBlock#1205 will be created within Forward Control Blockchain System and Hash of Previous Owner Block is PO125, which store the “hash value” as 0124 (hash value of OBlock#1204) or
PO125 = 0124
Thus, within Owner Blockchain System, there was emerging OBlock#1205 which
OBlock#1205 = FBlock#1205
Similarly, naming the block for OBlock#1205 or FBlock#1205 is just alias to distinguish these two from different blockchain system. However those all real values inside the block are the same.
Subsequently, the system will forward the data inside MBlock#1203 according to the approved forward-command-block.
8. The process of creatine a person with identity to be able to operate all digital transactions in Multi Dimension Blockchain System
Creating a user as a person with identity in the system is very important. This must be done in a strict manner and must be secure. Making sure that a person with identity in the system is the person who exists in the real world with the correct factors and conditions, to be legally binding with all of his or her transactions and record in Multi Dimension Blockchain System. The person with identity in the system has the rights to the data associated with law and regulation, and is responsible for the data he or she broadcasts to the system. So it must have a legitimate identity registration system that verifies his or her identity, including identification and authentication process, before enabling the Public Key Infrastructure to generate a pair of electronic key, Private Key and Public Key, especially for his or her accountability in Multi Dimension Blockchain System.
The identity registration system requires a list of equipments, tools, programs and person, showing in Figure 13, as follows:
- Person requesting for identity registration (101)
- Portable communication device (102) being registered in the name of a person requesting for identity registration (101), with a signal for data communication. In some implementation, this can be a mobile phone, with smartphone function. - Personal Identification Card (103) being issued by a government agency. In some implementation this can be the ID card issued by the government unit or a Passport issued by the Ministry of Foreign Affairs.
- Personal Computer (104) for person in charge of identity registration, with a signal for data communication.
Card Scanner (105) for reading information kept inside personal identification card
(103).
- Card Reader Software Program (106) to read ID card data and communicate with database system (107) of the government unit to verify the data within the ID card.
- Database System (107) of the government unit which stores an official personal data associated with personal identification card (103), such as name, surname, ID number, date of birth, personal photo, etc.
- Electronic Key for encoding and decoding data with a single key type ( 108), which uses the same key value to encrypt and decrypt data.
- Mobile Application System (109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts for identity registration as follows:
• User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), such as button, selection, drop-down list and data input.
• Application System (111) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102).
- Communication Interface System (113) is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future, or via Wi-Fi of any internet service provider.
- Web Application System (114) that the person in charge of identity registration can access through a browser, consists of important parts for identity registration as follows: • User Interface System ( 115 ) is a supporting system that allows the person in charge of identity registration to perform a program functionality being displayed on monitor of personal computer (104).
• Application system (116) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (117) is a data storage for program and record, which need to reserve a memory size within the personal computer (104).
- Communication Interface System (118) is for data transmission between web application system (114) and internet system, using the communication signal either wired or wireless access, such as cabling via Ethernet, or wireless access via Wi-Fi of any internet service provider, or using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future.
- Certification Authority System (119) is to validate the authentication of person requesting for identity registration (101) and issue an electronic certification after validity, so that he or she becomes the person with identity in Multi Dimension Blockchain System.
- Public Key Infrastructure (120) is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for a person requesting for identity registration (101) who pass the validation and becomes the person with identity in the system. This pair of electronic key is capable of encrypting data with one key and decrypting it once another key is paired into it. This pair of electronic key is as below.
• Private Key (121) will be sent to the person with identity in the system to store privately in portable communication device (102).
Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
The process of identity registration is as follows:
1) A person requesting for identity registration (101) comes and presents himself or herself to the person in charge of identity registration, along with his or her portable communication device (102) registered in his or her name.
2) Download and install Mobile Application System (109) for using Multi Dimension Blockchain System, by filling in the information specifying name, last name and personal identification card (103) number as well as creating a password. Then press confirm for registration. For this step, the person requesting for identity registration has an option to complete the process before coming to see the person in charge of identity registration, or do it right in front of him or her.
3) The person requesting for identity registration presents his or her personal identification card (103).
4) The person in charge of identity registration validates the personal identification card such as comparing the person photo on the ID card against face of the person.
5) The person in charge of identity registration open the personal computer (104) and access Web Application System (114).
6) The person in charge of identity registration use the card scanner (105) to read the information on the personal identification card, operated by card reader software program (106). There is at least the following information, appearing on the monitor.
Full name
Date of birth
Identification number according to the card Address
Photo
The information was stored on the card at the time when the person had applied for the personal identification card (103).
7) The person in charge of identity registration confirms for continuing the process, by pressing “continue” to submit the request for current information of the person requesting for identity registration (101) to the database system (107) of the government unit.
8) The person in charge of identity registration validates the information of the person requesting for identity registration (101) with the current information receiving from the database system (107) of the government unit. If correct, press “Confirm”.
9) The information processed on Web Application System (114) will be transmitted through the Internet to Certification Authority System (119) to perform the processing against the information obtained from Mobile Application System (109) whether they are correct. 10) If correct, Certification Authority System (119) will send a Pin Code, which is a figure of 3 to 6 digits, to appear on screen display of Web Application System (114). Then the person in charge of identity registration informs it to the person requesting for identity registration (101) for acknowledge.
11) Portable communication device (102) has a notification on Mobile Application System (109) asking for continuing the process with Pin Code.
12) The person requesting for identity registration (101) fill in Pin Code and then press Confirm”.
13) The screen display of Mobile Application System (109) will change to camera mode automatically, along with the camera reference frame of shooting personal photos.
14) The person requesting for identity registration (101) may use the front camera to take himself or herself photos, or ask the person in charge of identity registration to use the rear camera to do so. If not satisfied with the photos, the person can select to retry for new shooting photos.
15) Once the photos are satisfied, the person requesting for identity registration (101) command for uploading photos. In case of using the front camera, the image will switch left and right automatically, before uploading.
16) The photos will be sent to Web Application System (114) and appear on screen display for which the person in charge of identity registration can lastly validate it. If correct, press “Confirm”.
17) Photos and its validation information are submitted to Authority Certification System (119) and Public Key Infrastructure (120) will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her personal data, such as name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
18) Certification Authority System (119) maintains the Public Key (122) of the person requesting for identity registration (101).
19) Certification Authority System (119) will encrypt Private Key (121) of the person requesting for identity registration (101) with an electronic key of single key type (108). Then send it to Mobile Application System (109) on the portable communication device (102). 20) Certification Authority System (119) will send information of electronic key of single key type (108) to Web Application System (114).
21) The person in charge of identity registration informs the information of electronic key of single key type (108) to the person requesting for identity registration (101).
22) The portable communication device (102) has a notification on Mobile Application System (109) regarding the existence of decrypted Private Key (121).
23) The person requesting for identity registration (101) input electronic key of single key type (108) and the press “Confirm”. Private Key will be decrypted and installed in Mobile Application System (109) completely. The relevant information is submitted to Authority Certification System (119) that the person requesting for identity registration (101) has presently existed and been accountable in Multi Dimension Blockchain System, with readiness of Private Key.
24) Mobile Application System (109) will notify for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
25) Web Application System (114) will notify the person in charge of identity registration for the completion of process.
The person in charge of identity registration is also required for going through identity registration process, to be the person with identity in the system. The list of persons in charge of identity registration is defined as well.
In some implementation, once the regulations allows that identity registration process, requiring an identification process and an authentication process, can perform through online system, the whole process of online identity registration would be much more convenient and fast as follows:
1) A person requesting for identity registration (101) turns on his or her portable communication device (102) registered in his or her name.
2) Download and install Mobile Application System (109) for using Multi Dimension Blockchain System, by filling in the information specifying name, last name, personal identification card (103) number and email address as well as creating a password. Then press confirm for registration.
3) The screen display of Mobile Application System (109) will change to camera mode automatically, along with the camera reference frame of shooting ID card. The person requesting for identity registration (101) take a photo of his or her personal identification card (103) and press “Upload”.
4) The screen display of Mobile Application System (109), still in camera mode, will show the camera reference frame of shooting personal photos. The person requesting for identity registration (101) take a photo of himself or herself and press “Upload”. In case of using the front camera, the image will switch left and right automatically, before uploading.
5) Information and photos taking from Mobile Application System (109) are submitted to Authority Certification System (119) for processing as follows:
- Read the information that the person requesting for identity registration (101) fill in during installing Mobile Application System (109) such as name, surname, personal identification card number, date of birth, expired date, etc.
- Scan and read the photo of ID card to detect name, surname, personal identification card number, date of birth, etc.
- Compare the correctness of name, surname, personal identification card number, date of birth, etc. from both source of information.
- Execute a face recognition program to analyze and compare photos of person and picture of person in ID card.
- If the information is correct, the program proceeds to the next steps.
6) Certification Authority System (119) submits the request for current information of the person requesting for identity registration (101) to the database system (107) of the government unit. Once receive the information per request, the process of validation continues as follows:
- Compare the correctness of name, surname, personal identification card number, date of birth, etc.
- Execute a face recognition program once again to analyze and compare photos of person from three source; one from shooting himself or herself, one from shooting ID card and one from the database system (107) of the government unit. - If all the information is correct, the program proceeds to the next steps.
7) Public Key Infrastructure (120) will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her personal data, such as name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
8) Certification Authority System (119) maintains the Public Key (122) of the person requesting for identity registration (101).
9) Certification Authority System (119) will encrypt Private Key (121) of the person requesting for identity registration (101) with an electronic key of single key type (108). Then send it to Mobile Application System (109) on the portable communication device (102).
10) Certification Authority System (119) will send information of electronic key of single key type (108) to email address of the person requesting for identity registration.
11) The portable communication device (102) has a notification on Mobile Application System (109) regarding the existence of decrypted Private Key (121).
12) The person requesting for identity registration (101) input electronic key of single key type (108) which is informed via email, and the press “confirm”. Private Key will be decrypted and installed in Mobile Application System (109) completely. The relevant information is submitted to Authority Certification System (119) that the person requesting for identity registration (101) has presently existed and been accountable in Multi Dimension Blockchain System, with readiness of Private Key.
13) Mobile Application System (109) will notify for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
In some implementation, to increase the security of generating Private Key, the whole process of generating a pair of electronic key can be processed within the portable communication device (102) without being sent via internet. This could be done by adding an extra program for generating that pair of electronic key on Mobile Application System (109) of Multi Dimension Blockchain System. Then the process of generating a pair of electronic key would be as follows: 1) A person requesting for identity registration (101) turns on his or her portable communication device (102) registered in his or her name.
2) Download and install Mobile Application System (109) which includes the program for generating a pair of electronic key, for using Multi Dimension Blockchain System, by filling in the information specifying name, last name, personal identification card (103) number and email address as well as creating a password. Presenting ID card and taking photos per requirements for identification and authentication and submitting to Certification Authority System (119).
3) Certification Authority System will validate information and photos by communicating with the database system (107) of the government unit, for requesting the relevant information.
4) If the information is correct, Certification Authority System (119) will generate a Pin Code, which is a figure of 4-6 digits, for authorization to generate a pair of electronic key. The Pin Code is sent to email address of the person requesting for identity registration (101) with notification on Mobile Application System (109).
5) The portable communication device (102) has a notification on Mobile Application System (109) asking for continuing the process with Pin Code. The person requesting for identity registration accesses through Mobile Application System (109) for a functionality of “A pair of electronic key” and select a sub-function of “Generating a pair of electronic key”.
6) The system will ask to repeat entering information, indicating name, surname, ID card number, and date of birth. Then require for inputting a Pin Code, which is informed via email, before pressing “Confirm”.
7) The system will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her personal data, such as name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
8) The system sends Public Key (122) along with information of name, identity ID card number and Pin Code to Certification Authority System (119). 9) Certification Authority System (119) receives such the information and validate whether it is the same set of information permitting for authorization to generate a pair of electronic key.
10) If the information is correct, Certification Authority System (119) will keep Public Key (122) in the state of “Inactive” or not yet available.
11) Certification Authority System (119) generates another Pin Code for permission to install Private Key and send it to email address of the person requesting for identity registration, with notification on Mobile Application System (109).
12) The portable communications device (102) has a notification on Mobile Application System (109) asking for installing Private Key with Pin Code. The person requesting for identity registration accesses through Mobile Application System (109) for a functionality of “A pair of electronic key” and select a sub-function of “Installing Private Key”.
13) The system will ask to repeat entering information, indicating name, surname, ID card number, and date of birth. Then require for inputting a Pin Code, which is informed via email, before pressing “Confirm”.
14) Mobile Application System (109) will install Private Key (121) into the system, within the portable communication device (102).
15) The system sends information of name, identity ID card number and Pin Code which permitting for Private Key installation to Certification Authority System (119).
16) Certification Authority System (119) receives such the information and validate whether it is the same set of information permitting for installing Private Key.
17) If the information is correct, Certification Authority System (119) will maintain Public Key (122) in the system and change the state of “Inactive” to “Active” for use.
18) Certification Authority System (119) will notify to the Mobile Application System (109) for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
However, in some implementation, the process of identity registration may use or cooperate with the services of agencies or service providers who provide the service of identification and authentication for a certain person. Some application of data communication may be deployed for collaboration. Once the validation of the person is confirm, Certification Authority System (119) can continue with a process of generating a pair of electronic key and creating the person with identity in Multi Dimension Blockchain System.
9. List of equipments, tools, programs and person required to operate Multi Dimension Blockchain System
Multi Dimension Blockchain is complex and legal binding with a person or group of persons that own the data. Therefore, all processes and functions of which to create the person with identity in the system, create a group of persons with identity in the system, create initial data in the system, create a block in the system, perform digital transaction in the system, and etc., need a list of equipments, tools, programs and person, showing in Figure 14, as follows:
- Person with identity in the system (131), who already passed the identity registration process, being listed in Certification Authority System (119) and having Private Key (121) installed within his or her portable communication device (102)
- Portable communication device (102) which has been used for identity registration process, with installation of Private Key (121) and with a signal for data communication. In some implementation, this can be a mobile phone, with smartphone function.
- Mobile Application System (109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts as follows:
• User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), such as button, selection, drop-down list and data input, with the following functions.
V Identity registration
V Group of persons with identity in the system
V Creating data
V Deleting data
V Editing data
V Forwarding data
V Broadcasting an initial data V Data access
V Digital signature
V Traceability
V Notification
Technically with the limitations of the portable communication device (102), those mentioned functionalities may not be able to perform in full function of which the similar program is installed in the computer system (133).
• Application System (111) is an operating system to process all functions and instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102).
- Communication Interface System (113) is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LIE/ or other technology in the future, or via Wi-Fi of any internet service provider
- Node (132) is a set of computing system, consisting of computer equipments which could be a small set as a personal computer or big set of a data center (integrating system of application server, database server, storage system, routing & switching system, and etc.). Node is belong to a person with identity in the system (131) and is installed a fully set of Multi Dimension Blockchain System, with internet connection.
- Computer System (133) which could be a small set as a personal computer or big set of a data center (integrating system of application server, database server, storage system, routing & switching system, and etc.). Computer system is installed a set of fully set of Multi Dimension Blockchain System, consisting of important parts as follows:
• User Interface System (134) is a supporting system that allows the person with identity in the system (131) to perform a program functionality being displayed on monitor of computer system (133), with the following functions.
V Identity registration
V Group of persons with identity in the system
V Creating data
V Deleting data Editing data Forwarding data Broadcasting an initial data
Data access
Digital signature
Creating-block mode
Creating a new blockchain line within Main Blockchain System
Creating a new blockchain line for personal privilege management
Personal privilege management
Coin management
Traceability
Notification
Printout management
• Application system (135) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (136) is the data storage for program and record, which need to reserve a memory size within the computer system (133).
• Blockchain Processing Logic System (138) is a processing unit associated with all programs, applications, instructions, conditions and records being set in Multi Dimension Blockchain System to process all following working systems.
Main Blockchain System
Delete Control Blockchain System Edit Control Blockchain System Forward Control Blockchain System Owner Blockchain System
Data Broadcast and Receiving System
New Block Creating System
Data Reconcile System Total Traceability System
- Communication Interface System (137) is for data transmission between computer system (133) and internet system, using the communication signal either wired or wireless access, such as cabling via Ethernet, or wireless access via Wi-Fi of any internet service provider, or using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future.
- Certification Authority System (119) is to validate the authentication of a person with identity in the system (131) and a group of persons with identity in the system (151) by issuing an electronic certification, so that they exist and are accountable in Multi Dimension Blockchain System.
- Public Key Infrastructure (120) is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for the person with identity in the system (131). This pair of electronic key is as below.
• Private Key (121) will be stored in a portable communication device (102).
• Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
10. The process of creatine a group of persons with identity to be able to operate all digital transactions in Multi Dimension Blockchain System
The person with identity in the system (131) can setup a group with others to form a group of persons with identity in the system for the benefit of joint rights to data and joint right to operate digital transactions, with legal binding. The group of persons with identity in the system is not limited by the number of members, but all members must be qualified as the person with identity in the system (131).
The process of creating a group of persons with identity in the system can be operated with consecutive steps, showing in Figure 15, as follows:
Step No.1 Generating a list for a group of persons with identity in the system (201)
The person with identity in the system (131) who initiates a group establishment turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then there are details of rules and conditions along with the processes as follows:
Select a sub-function of “Creating a new group” to start the process. - Select the name of the person with identity in the system to form a group, by using drop-down list of names.
- Define the rights as a member of the established group for each person, with the following rights at least.
• Right to generate initial data
• Right to approve initial data
• Right to approve new member of the group
• Right to approve the removal of member from the group
• Right to approve the personal privilege
- The right to generate initial data is to grant the member the ability to generate the initial data and present it to the group for approval. If getting approved, then it will be broadcasted to the system on behalf of the group.
- Number of member in the group is not limited.
- Once finish a list of persons to be as member of the group, need to define the name of the group.
- Define rule for approval of initial data on behalf of the group, before broadcasting to the system.
For example, define for total of 7 members who have a right to approve initial data with the approval conditions of 5 out 7, plus that 2 others must not reject within 7 days as of starting the approval process. Then this initial data is considered as approval and is broadcasted to the system.
- After completing the list of members and naming the group, press “Confirm”. The system will send a request for a group establishment to all persons in the list of members.
Step No.2 Considering and Accepting for a group establishment (202)
All persons with identity in the system (131) who are in the list of members, will receive a notification through their portable communication device (102) regarding a request for a group establishment. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system” and select a sub-function of “Create a new group”, the system will display a request with conditions of rights, and other relevant information as follows:
• Group name
• List of persons with identity in the system to be in the group
• Right to generate initial data by each person in the group
• Right to approve initial data by each person in the group
• Rule for approval of initial data on behalf of the group
• Right to approve new member of the group by each person in the group
• Right to approve the removal of member from the group by each person in the group
• Right to approve the personal privilege by each person in the group
Then consider to accept the conditions and join the group or to reject it. The system will take the feedback information forwarded to Certification Authority System (119).
Step No.3 Approval for creating a group of persons with identity in the system (203)
Certification Authority System (119) will process all feedback information from each in the list of members. Once there is a reject or not enough approval feedback within some certain days, the request for a group establishment will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will issue an electronic certification to establish the existing of “the group of persons with identity” (151) in Multi Dimension Blockchain System.
The electronic certification will be sent to all members of the group.
By the way, during the process of group establishment, a person in the list of members can go to functionality of “Group of persons with identity in the system” and select a subfunction of “Create a new group” to view the status of the group, such as who accept or reject the request for a group establishment.
Step No.4 Updating the program inside the relevant equipment of all members of the group (204) All members of the group of persons with identity in the system (151) will receive a notification through their portable communication device (102) regarding the approval status of a group establishment. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the establishment of the group of persons with identity in the system. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information regarding the new established group, as well as adding the status of membership.
If the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). This will enable the person to act as one of the group of persons with identity in the system (151), with joint rights the data.
The group of persons with identity in the system (151) can operate all functions in Multi Dimension Blockchain System for creating initial data, creating a new block, deleting data in the block, editing data in a block and forwarding data in a block, in the same manner of which the person with identity in the system (131) can. Except that those operations need an additional process of approval by members of the group to earn the right to create and broadcast data on behalf of the group.
A block being created by the group of persons with identity in the system (151) will be kept within Main Blockchain System, administrated by Control Blockchain System and appeared in Owner Blockchain System, in the same manner of which the block being created by the person with identity in the system (131) as well.
In some implementation, establishment of a group of persons with identity in the system can apply for a company, corporation, public company or legal entity to exist in Multi Dimension Blockchain System. To do so, member of the group of persons with identity in the system will be all authorized directors of the company, corporation, public company or legal entity.
In some implementation, establishment of a group of persons with identity in the system can apply for an organization, institution, government unit or state enterprise to exist in Multi Dimension Blockchain System. To do so, member of the group of persons with identity in the system will be all member of the board of directors of the organization, institution, government unit or state enterprise. In some implementation, establishment of a group of persons with identity in the system can apply for an association, federation of profession or independent entity to exist in Multi Dimension Blockchain System. To do so, member of the group of persons with identity in the system will be all member of the board of directors of the association, federation of profession or independent entity.
In some implementation, establishment of a group of persons with identity in the system can apply for a club or group of people who have a common interest to exist in Multi Dimension Blockchain System. All people need to go through the entity registration process to become the person with identity in the system. Then start to establish a club as the group of persons with identity in the system so that all people can have a common data with joint right of information. The rights of each member can be defined to fit with the purpose of the club.
11. The process of adding or removing member of the group of persons with identity in the system
The group of persons with identity in the system (151) can add a person with identity in the system (131) into the group and become a new member of the group, by taking the following processes.
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then select a sub-function of “Application for new member”.
- Select a group of persons with identity in the system which he or she want to apply for a membership, on the drop-down list.
- Specify for which rights he or she want in the group as follows:
• Right to generate initial data
• Right to approve initial data
• Right to approve new member of the group
• Right to approve the removal of member from the group
• Right to approve the personal privilege
Press “Confirm” to continue sending the request. - The current members of the group of persons with identity in the system (151), who have the right to approve new member of the group, will receive a notification through their portable communication device (102) regarding an approval request for a new membership. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification” the system will show a list of approval request. Select the approval request for a new membership as desired, the system will move to the functionality and screen display associated with the request, which is “Group of persons with identity in the system” and a sub-function of “Application for new member". The system will display a request with conditions of rights, and other relevant information.
- The current members who have the right to approve new member of the group will take a consideration and either approve or reject. The system will take the feedback information forward to Certification Authority System (119).
- Certification Authority System (119) will process all feedback information from ones who have the right to approve new member of the group. If not compliance with the requirements of the group, the request will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will issue an electronic certification to establish the membership of the group of persons with identity (151). The electronic certification will be sent to the new member of the group.
- The person with identity in the system (131), who gets approval, will receive a notification through their portable communication device (102) regarding an approval of a new membership. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the membership of the group of persons with identity in the system. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information regarding the group, as well as adding the status of membership.
- If the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). This will enable the person to act as one of the group of persons with identity in the system (151), with joint rights the data.
In some implementation, adding new member of the group can be applied for association, club or group of people who have a common interest, which have been settled as the group of persons with identity in the system. Those association, club or group of people may not be limited for people to join the group, as long as no conflict with the purpose of the group. People could apply for the person with identity in the system, and then apply for a member of the group.
The group of persons with identity in the system (151) can remove a person with identity in the system (131) out of the group, being initiated by one of the current member of the group, by taking the following processes.
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then select a sub-function of “Removal of current member”.
- Select a group of persons with identity in the system on the drop-down list.
- Select the member of the group, by using drop-down list, as request for removal.
- Specify the reason for removal and press “Confirm” to submit the request.
- The current members of the group of persons with identity in the system (151), who have the right to approve the removal of a member from the group, will receive a notification through their portable communication device (102) regarding an approval request for a membership removal. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for a membership removal as desired, the system will move to the functionality and screen display associated with the request, which is “Group of persons with identity in the system” and a subfunction of “Removal of cunent member”. The system will display a request with reason, and other relevant information.
- The current members who have the right to approve the removal of member from the group will take a consideration and either approve or reject. The system will take the feedback information forward to Certification Authority System (119).
- Certification Authority System (119) will process all feedback information from ones who have the right to approve the removal of member from the group. If not compliance with the requirements of the group, the request will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will revoke an electronic certification of that certain membership out of the group of persons with identity (151), and send a notification to the person whose membership has been revoked.
- The person whose membership was revoked, will receive a notification through their portable communication device (102) regarding a removal of member from the group with reason per the request. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the removal of membership of the group of persons with identity in the system. Otherwise all other functionalities will be halted. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information associated with removal of the person from the group of persons with identity in the system (151).
- If the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). Otherwise all other functionalities will be halted.
In some implementation, the member who wants to resign from the group can go through this removal process, by selecting his or her own name as request for removal from the group, with the reason of resignation.
12. The process of creatine an initial data and broadcasting
The initial data is information which a person with identity in the system (131) or a member of the group of persons with identity in the system (151) has created in the form of new data or request for action with the existing data in the system, such as to delete, edit or forward data.
Creating an initial data and broadcasting it into the system, so that all Nodes (132) can receive the initial data and help validation later, can be operated with consecutive steps, showing in Figure 16, as follows:
Step No.1 Select type of initial data to be created (3100)
Within Multi Dimension Blockchain System, a person with identity in the system (131) or a member of the group of persons with identity in the system (151) can create an initial data with the consideration of type of the data. This consideration is to determine whether to create new data, or modify from existing data in the system, or delete the previous existing data before creating new one. In some implementation, the application of Multi Dimension Blockchain System may limit some types of request for editing or deleting the existing information to comply with the exemptions being defined by law.
Once the consideration is done, proceed with the choice.
Step No.2.1 Select to create new data (3210)
The person with identity in the system (131) or the member of the group of persons with identity in the system (151) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Creating data”. This is an entry path through creating a main block within Main Blockchain System, which needs to create initial data relevant to requirements of that certain blockchain. For example, if that certain blockchain is for car trade, the initial data must be relevant to car trade subject. There is two types of data created.
- Data being generated automatically by the system, such as data owner.
- Information of which the person with identity in the system (131) or the members of the group of persons with identity in the system (151) creates. This can be any form of text, audio file, image file, movie file or other digital data, which is relevant to requirements of particular blockchain.
In case of specifying for other to be the owner of data (per principles in section 16), the system will submit the data to that person for his or her approval before proceeding.
In some implementation for financial business, the initial data could be the number of money and types of transaction, such as deposit money, withdraw money or transfer money.
In some implementation for healthcare business, the initial data could be a prescription which defines patient name along with order of medical drug, dose and its quantity, to drug store.
In some implementation for registration of artwork, the initial data could be a list of artwork associated with name in charge of possession and date of starting possession.
Step No.2.2 Select to proceed with existing data (3220)
The person with identity in the system (131) or the member of the group of persons with identity in the system (151) select the existing data under his or her or their ownership which will be requested for an action of deleting, editing or forwarding. There are sub process step per actions as follows: Sup-step No.2.2.1 Create initial data for deleting existing data (3221)
Turn on the program of Multi Dimension Blockchain System and go to functionality of Deleting data”. This is an entry path through creating a delete-command block within Delete Control Blockchain System. User interface system will help to provide a desired main block which is belong to the person with identity in the system (131) or the group of persons with identity in the system (151), from Owner Blockchain System. In some implementation, there may be a tool for searching by dimension or by time of when the block was created. Once select the desired block, press “Confirm”. Then, the system will generate initial data as follows:
- Data owner which defines the person or the group creating the initial data has ownership.
- Information of command to delete the data part inside the specified block.
However, the initial data may not be approved by Nodes or any specified approvers to delete the existing data, if not complied with rules and regulations of deleting data
In some implementation for financial business, the existing data of deposit money or withdraw money may not be allowed for deleting, since it can affect the whole reconciliation of money transaction within bank system, associated with the exemption defined by law.
In some implementation for healthcare business, the existing data of prescription may be allowed for deleting once it lasts longer than a period of time defined by law.
In some implementation for registration of artwork, the existing data of possession of artwork may be allowed for deleting as of personal data protection regulation, except if any exemption specified by law.
Sub-step No.2.2.2 Create initial data for editing existing data (3222)
Turn on the program of Multi Dimension Blockchain System and go to functionality of Editing data”. This is an entry path through creating an edit-command block within Edit Control Blockchain System. User interface system will help to provide a desired main block which is belong to the person with identity in the system (131) or the group of persons with identity in the system (151), from Owner Blockchain System. In some implementation, there may be a tool for searching by dimension or by time of when the block was created. Once select the desired block, press “Confirm”. Then, the system will generate initial data as follows: - Data owner which defines the person or the group creating the initial data has ownership.
- Information of command to edit the data part inside the specified block. This can be a modification of or replacement of the existing text, audio file, image file, movie file or other digital data inside the block.
However, the initial data may not be approved by Nodes or any specified approvers to edit the existing data, if not complied with rules and regulations of editing data
In some implementation for financial business, the existing data of deposit money or withdraw money may not be allowed for editing the amount of money in transaction or type of money transaction
In some implementation for healthcare business, the existing data of prescription may be or may not be allowed for editing which depends on what kind of editing. Editing the misspelling of drug name may be allowed, but editing the drug name, from one specific drug to another, may not be allowed.
In some implementation for registration of artwork, the existing data of artwork may be allowed for editing in the case of misspelling or new defined term of subject.
Sub-step No.2.2.3 Create initial data for forwarding existing data (3223)
Turn on the program of Multi Dimension Blockchain System and go to functionality of cc Forwarding data”. This is an entry path through creating a forward-command block within Forward Control Blockchain System. User interface system will help to provide a desired main block which is belong to the person with identity in the system (131) or the group of persons with identity in the system (151), from Owner Blockchain System. In some implementation, there may be a tool for searching by dimension or by time of when the block was created. Once select the desired block, press “Confirm”. Then the system will generate initial data as follows:
- Data owner which defines the person or the group creating the initial data has ownership.
- Information of command specifying which part of data inside the specific block to be forwarded, and to whom. The recipients can be specified more than one person with entity in the system (131) or one group of persons with entity in the system (151). However, the initial data may not be approved by Nodes or any specified approvers to forward the existing data, if not complied with rules and regulations of forwarding data
In some implementation for financial business, the existing data of deposit money or withdraw money may be allowed for forwarding to others, except for some certain transactions.
In some implementation for healthcare business, the existing data of prescription may be or may not be allowed for forwarding which depends on what kind of forwarding. Forwarding to other irrelevant persons may not be allowed, but forwarding to the relevant doctor may be allowed.
In some implementation for registration of artwork, the existing data of artwork may be allowed for forwarding to others whom are interesting in buying that artwork.
Step No.3 Approve the initial data on behalf of the group of persons with identity in the system (3300)
If the initial data is created by the person with identity in the (131), it can skip this process step. However, if a member of the group of persons with identity in the system (151) is the one who create it on behalf of the group, it required the approval from members of the group who have right to approve the initial data.
The system will submit the request for creating initial data to all those members with right to approve. They will receive a notification through their portable communication device (102) regarding an approval request. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for creating the initial data as desired, the system will move to the functionality and screen display with relevant to the request. For example, if the initial data is a request for creating new data, the system will go to functionality of “Creating data” automatically. For another example, if the initial data is a request for deleting the existing data, the system will go to functionality of “Deleting data” automatically.
The approver will take a consideration and either approve or reject. The reject will result in canceling the request, as the initial data is on behalf to the group, which requires no reject of any. Once the number of approvals for the request reaches the minimum of requirement without any reject within required period, the request is counted as approved and ready to proceed. The system will notify the member who creates the initial data for each result of approval and reject by each approver.
Step No.4 Broadcast the initial data into the system (3400)
Once the initial data is ready to proceed, the creator of the initial data goes to the functionality of “Broadcasting an initial data”. Then select the desired initial data and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
All Nodes (132) will receive the initial data, before validating and creating as a new block, which will be described in the next section.
13. The process of creatine a block and determinin g a Node to create the prototype block
Once the initial Data was created by a person with identity in the system (131) or the group of persons with identity in the system (151) and was broadcasted via internet system into Multi Dimension Blockchain System. All Nodes (132) then receive the initial data and proceed for creating a data block according to a defined structure. However, only one Node is granted permission to create a new block as the prototype and broadcast it to the system, so that other Nodes can take that prototype block. The block will be stored in their database system and connect to the previous block in the relevant blockchain line. The process of creating a new block and determining which Node to create the prototype can be operated with consecutive steps, showing in Figure 17, as follows:
Step No.1 Receiving the initial data from broadcasting (4001)
Node (132) has a Communication Interface System (137) which operates for connecting the signal and transmitting data to the external network via the internet. All data which other users broadcast into Multi Dimension Blockchain System will be received, imported and then processed.
Blockchain Processing Logic System (138) will take the initial data to validate and create as a block. All Nodes (132) will operate in the same manner, except for the node that sent the initial data, with the logic and reason of conflict of interest. The Node that created the initial data could be bias of validation and could take advantage of obtaining the right to create the prototype, because it knows the initial data before broadcasting to other Nodes.
Step No.2 Validation of the initial data (4002)
At this stage, Blockchain Processing Logic System (138) will check the nature of the initial data, the compliance with rules and regulations, and accuracy of information. There is a linked list, which records the structure and order of blocks in blockchain line, with pointers to facilitate the accessing to a desired block.
In case of creating a new data, the system will check the relationship and the correctness of the information against the information inside the previous blocks, using a linked list.
In some implementation for financial business, the request for withdrawing money or transferring money needs to be checked whether the owner of money has enough money for withdrawing or transferring or not. If enough, this is one point of validating information. However, there may be some more points to validate further.
In some implementation for healthcare business, the prescription needs to be checked whether the drug exists and is permitted by Food and Drug Administration or not. If existing and being permitted, this is one point of validating information. However, there may be some more points to validate further.
In some implementation for registration of artwork, the request for a registration of new artwork needs to be checked whether it duplicates with any previous one or not. If not, this is one point of validating information. However, there may be some more points to validate further.
In some implementation of digital signature for an authorized person, it needs to be checked whether the one who signs has the authority according to his or her status or not. If have the authority, this is one point of validating information. However, there may be some more points to validate further.
In case of interacting with an existing data, such as deleting, editing and forwarding data, the system will check the rules and regulations whether it can be performed or not, as well as check the correctness of the information against the information inside the previous blocks. In some implementation for financial business, the request for deleting the record of deposit money or withdraw money may not comply with rules and regulations. Then this initial data does not pass the validation.
In some implementation for registration of artwork, the request for deleting the registration record by the owner of the artwork, may comply with rules and regulations, unless there is a special rule to prohibit. Then this initial data pass the validation.
In some implementation for healthcare business, the request for forwarding the prescription to drug store with a pharmacist in charge, may comply with rules and regulations, unless there is a special rule to prohibit. Then this initial data pass the validation.
Step No.3 Creating data block according to rules and regulations (4003)
After pass the validation, the initial data will be created as a block according to the specification of block structure, which is interactively related within all three dimensions of Main Blockchain System, Control Blockchain System and Owner Blockchain System. The essence part of the initial data, for example which is the “new data” for new block or “delete-demand request” for the existing block, will be stored in “Data” segment inside the block, whereas other data will be stored in other different fields and segments inside the block, according to each type of block structure.
Step No.4 Structure for each type of block (4004)
The structure for each type of block has been described in details in the previous sections, as follows:
- The structure for a block which creates new data, will be formed according to rules and regulations of, and created within, Main Blockchain System. The detail explanation was made in section 3. Data structures and relationship in Main Blockchain System, with illustration in Figure 7.
- The structure of a block which command to delete the existing data, will be formed according to rules and regulations of, and created within, Delete Control Blockchain System. The detail explanation was made in section 4. Data structure and relationship in Delete Control Blockchain System, with illustration in Figure 8.
- The structure of a block which command to edit the existing data, will be formed according to rules and regulations of, and created within, Edit Control Blockchain System. The detail explanation was made in section 5. Data structure and relationship in Edit Control Blockchain System, with illustration in Figure 9.
- The structure of a block which command to forward the existing data, will be formed according to rules and regulations of, and created within, Forward Control Blockchain System. The detail explanation was made in section 6. Data structure and relationship in Forward Control Blockchain System, with illustration in Figure 10.
During the process of constructing all data according to the structure for each type of block, there will be one special parameter, Decisive Number, which is a random number. This Decisive Number will vary to derive the hash value of the building block as desired. It will be described in the next step.
Step No.5 Algorithm for proofing the hash value of prototype block (4005)
There are several Nodes (132) within Multi Dimension Blockchain System, with likely expansion on number of Nodes. To prevent potential problems in duplicating a new building block, the system requires only one Node to create the prototype block. Then broadcast the prototype block to other Nodes for storing in their database system.
To determine which node is eligible to create the prototype block, then there is an algorithm for proofing the hash value of prototype block. The first Node which comes with the solution, earns the right to create the prototype block.
The “hash value” that demand as a solution, is defined by the system for either the specific value or the range of value. In some implementation, the system may renew the value every 7 days.
Algorithm for proofing the hash value of prototype block is slightly different by each type of block as follows:
New main block which is created within Main Blockchain System.
Data to be processed through the hash function is following.
V Header
V Data Owner
V Hash of Previous Owner Block
V Hash of Previous Main Block
V Node Code V Decisive Number
V Data
Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of Previous Owner Block, Hash of Previous
Main Block, Node Code, Decisive Number, Data )
- Delete-command block which is created within Delete Control Blockchain System
Data to be processed through the hash function is following.
V Header
V Data Owner
V Hash of Previous Owner Block
V Hash of Previous Delete Control Block
V Node Code
V Decisive Number
V Hash of Deleted Block
V Data
Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Delete Control Block, Node Code, Decisive Number, Hash of Deleted Block, Data )
Edit-command block which is created within Edit Control Blockchain System
Data to be processed through the hash function is following.
V Header
V Data Owner
V Hash of Previous Owner Block
V Hash of Previous Edit Control Block
V Node Code
V Decisive Number
V Hash of Edited Block
V Data Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Edit Control Block, Node Code, Decisive Number, Hash of Edited Block, Data ) Forward-command block which is created within Forward Control Blockchain System
Data to be processed through the hash function is following.
V Header
V Data Owner
V Hash of Previous Owner Block
V Hash of Previous Forward Control Block v' Node Code
V Decisive Number
V Hash of Forwarded Block
V Data
Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Forward Control Block, Node Code, Decisive Number, Hash of Forwarded Block, Data ) All data processed through the hash function is constant, except for Decisive Number which is variable. Therefore, the processing system of Node (132) will keep changing the value of Decisive Number until reaching the desired result.
For example, the desired result is to get the hash value of XI or less than XL
If the Decisive Number keeps changing randomly until that the algorithm for proofing the hash value < XI, it is considerably completed.
The first Node achieving the desired result is eligible for creating the prototype block.
In some implementation, Decisive Number may randomly assigned a value number and process it together with other constant values through the hash function. If not desired result, then randomize new value number and replace it in processing the hash function, until that the desired result is achieved. The final value of Decisive Number will be stored inside the prototype block. In some implementation, Decisive Number may use an ascending method. Beginning with the value “0” and processing it together with other constant values through the hash function. If not desired result, then increase the value to “1” and replaced it in processing the hash function, until that the desired result is achieved. The final value of Decisive Number will be stored inside the prototype block.
Once achieving the desired result, then complete creating the prototype block according the structure for each type of block (4004), by storing Decisive Number and Timestamp of which time the block is created.
Step No.6 Obtaining right to create the prototype block and broadcasting it (4006)
After creating the prototype block and no other Node broadcasting of its prototype, the Node considerably obtains the right to broadcast its prototype block into the system. Then broadcast the prototype block into Multi Dimension Blockchain System so that other Nodes can store it into their database system.
On the other hand if there has been another Node broadcasting its prototype block into the system, the Node will strictly not broadcast its recent-finishing-of-prototype block into the system. Except later, there is a proof that the prototype block of other Node does not comply with the algorithm for proofing the hash value.
Step No.7 Connecting a new block to the previous block (4007)
When the prototype block is broadcasted into Multi Dimension Blockchain System, all Nodes (132) will receive it via Communication Interface System (137). Then take the prototype block through validation process whether it complies with the algorithm for proofing the hash value or not. The process is real quick since Decisive Number now is the constant value. If correct, Nodes will store it in their database system. One of the essential parameters inside the prototype block is Hash of Previous “X” Block, where X is a dummy representing a type of the block such as Main, Delete Control, Edit Control, Forward Control or Owner. The Hash of Previous “X’ Block is an internal pointer to link with the previous block, associated with Hash of Present “X’ Block of the previous block. The system will also update its linked list, together with its pointer.
All Nodes (132), both one which created the prototype block and others which revieve it, now have the same data of blockchain and linked list. Step No.8 Taking action on the relevant existing block (4008)
If creating a new block within Main Blockchain System, there is nothing to do with any existing block. However, if creating a delete-command block, edit-command block or forwarding-command block, Blockchain Processing Logic System (138) will immediately execute the existing main block according to the instruction inside the command block.
- In case of delete-command block, the system will access to the existing block specified in the instruction, and proceed as follows:
• All data in the Data filed will be erased. It is a free-up memory, which the value inside is not “0” so that the memory can be used to store other data. This helps to save the space within data storage.
• Change the value of Delete Count field from “0” to “ 1”.
• Change the value of Delete Hash from “0” to “hash value” of the delete-command block. This helps to enable traceability and check for what the Data segment inside the block is empty, and which block commands for this deletion.
- In case of edit-command block, the system will access to the existing block specified in the instruction, and proceed as follows:
• Modify data in the Data segment to what identified in edit-command block.
• Change the value of Edit Count field from “0” to “1”.
In case of not the first time of editing data which there was modification before, the value of Edit Count will be increased by one (+1), representing the current number of time being edited.
• Change the value of Edit Hash from “0” to “hash value” of the edit-command block.
In case of not the first time of editing data which there was modification before, the value of Edit Hash will be changed from previous value to “hash value” of this latest edit-command block. This helps to enable traceability and check for what the Data segment inside the block is edited, and which block commands for this modification.
- In case of forward-command block, the system will access to the existing block specified in the instruction, and proceed as follows: • Forward data in the Data segment to whom it is identified in forward-command block.
• Change the value of Forward Count field from “0” to “ 1”.
In case of not the first time of forwarding data which there was forward of this data before, the value of Forward Count will be increased by one (+1), representing the current number of time being forwarded.
• Change the value of Forward Hash from “0” to “hash value” of the forwardcommand block.
In case of not the first time of forwarding data which there was forward of this data before, the value of Forward Hash will be changed from previous value to “hash value” of this latest forward-command block. This helps to enable traceability and check which block commands for this forward.
Step No.9 Operations within Owner Blockchain System (4009)
Multi Dimension Blockchain System enables the eligible person with identity in the system (131) and the eligible group of persons with identity in the system (151) with the ownership of data block. New block is not only connected within either Main Blockchain System or Control Blockchain System, but it emerges and being connected with previous block within Owner Blockchain System for the same ownership.
The connection interactively comes from the same value of Data Owner and the same hash value kept inside the blocks. “Hash of Previous Owner Block” of the current block and “Hash of Present Owner Block” of the previous block has the same value and then enable the link between blocks within the blockchain line of the same data owner.
At this point, the initial data created by the person or the group as mentioned earlier, has become the data block and has stored in database system of all Nodes (132) connected via internet system. The new block will connect in the sequence with the previous block within Multi Dimension Blockchain System completely. However, there is a processing of traceability within blockchain system and data reconciliation between all Nodes which to prevent from and correct for system failure or malicious attacks. The traceability and data reconciliation will be described in later sections. 14. Procedures of the digital signature and its verification
A person with identity in the system (131) can digitally sign on the attachment file of the initial data, with legal binding effect. Later the initial data, along with its attachment file, digital signature and relevant data, is created as a main block within Main Blockchain System, which has the significant specifications as follows:
- In Data segment, three related data parts are stored regarding the use of digital signature. They are a digital document (being signed), digital signature (legal binding the document with the owner of signature) and time record of signing.
- All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored, complying with the legal regulations. This enables the data stored inside the block is effective as original.
- Digital signature can be verified by applying of the pair of electronic key, which is belonging to the specific person. It can be confirmed that the specific person who owns the pair of electronic key signed the relevant digital document with undeniable.
- Creating digital document (to be signed) either on the computer system (133) or Mobile Application System (109) of the portable communication device (102) which is based on the limitations of the data files. The portable communication device (102) may only support some certain types of data files.
- Digital signature requires Private Key (121) stored on the signer's the portable communication device (102).
The process for the person with identity in the system (131) to sign a digital document with digital signature and to verify the signature is, showing in Figure 18, as follows:
Step No.1 Create a digital document that needs to be digitally signed (5001)
A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System. There is a requirement to create the initial data according to the purpose of the blockchain line, such as to record an agreement of purchasing goods between individuals. There are 2 types of data created. - Data being generated automatically by the system, such as data owner.
- Information of which the person with identity in the system (131) or the members of the group of persons with identity in the system (151) creates. This can be any form of text, audio file, image file, movie file or other digital data, which is relevant to requirements of particular blockchain.
In some implementation, the information requiring to be signed by the digital signature may be in form of data file, such as .PDF file and etc., and may have more than one file to be signed.
Step No.2 Process document through the hash function (5002)
A person with identity in the system (131) goes to functionality of “Digital signature” and selects a sub-function of “Creating a document to be signed by one person”. Then select the document which has been created in Step No.1, from drop-down list. Press “Confirm”.
- The system will process the selected document through the hash function.
- The derived hash value will be encrypted with an electronic key of single key type, which is shown on screen display of the computer system (133) for further use of decoding.
- The hash value that is encrypted with an electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) with notification of the hash value of a document pending for signing process.
Submitting the hash value for signing with Private Key is eligible, complying with law, as it has been processed under the control of the same person, whose Private Key is used.
Step No.3 Encrypt with Private Key of signer (5003)
The portable communication device (102) has a notification regarding the hash value of a document pending for signing process. Then access through Mobile Application System (109) for a functionality of “Digital signature” and select a sub-function of “Hash value of a document pending for signing process”. Select the desired hash value of the document and press “Sign the selected hash value of the document with digital signature”, (if not want to proceed, press “Cancel”.)
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which shown on the screen display of the computer system (133) in Step No.2. This enables the decryption of the hash value (of the document to be signed) which having been sent to Mobile Application System (109) of the portable communication device (102).
- The system will process the decrypted hash value (of the document to be signed) with encryption of Private Key (121) of the signer (whose Private Key is stored in his portable communication device).
- The hash value (of the document being signed) with encryption of Private Key is the “Digital Signature” which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document”.
- The “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type, which is shown on screen display of the portable communication device (102) for further use of decoding.
- The “Digital Signature” and “Time of signing the document” that is encrypted with another electronic key of single key type, is sent to the computer system (133) with notification of encrypted Digital Signature and its data.
In some implementation, Creating a digital document (to be signed) is done on the computer system (133) while is encrypted with Private Key on Mobile Application system (109) operating on the portable communication device (102). This is suitable for a digital document with large size and supports for any common types of programming file.
In some implementation, creating a digital document (to be signed) is done on Mobile Application System (109) operating on the portable communication device (102) and then is encrypted with Private Key on the same Mobile Application system (109) of the portable communication device (102). This is suitable for a digital document with small size and supports for some simple specific types of programming file.
Step No.4 Create the initial data (5004)
The computer system (133) has a notification regarding encrypted Digital Signature and its data. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt digital signature and its data”. Select the encrypted Digital Signature and its data and press “Confirm”.
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which shown on the screen display of the portable communication device (102) in Step No.3. This enables the decryption of the Digital Signature and Time of signing the document which having been sent to the computer system (133).
Then go to the functionality of “Broadcasting an initial data” and select the digital document (being signed), the Digital Signature and Time of signing the document. Press “Confirm”.
- The system will broadcast the initial data of the digital document (being signed), the Digital Signature and Time of signing the document via internet system to all Nodes.
In some implementation, the display of a digital document (being signed) may present with an attached symbol to indicate that the document was signed, such as the picture of signature.
Step No.5 Create the data block within Main Blockchain System (5005)
All Nodes (132) will receive and then validate the initial data. Eventually, if all validation is correct, the data block is created within Main Blockchain System associated with the processes as described in section 13. The process of creating a block and determining a Node to create the prototype block.
The Digital Signature which is stored inside Data segment of the block can be verified in the following step.
In some implementation, the right to verify the Digital Signature is limited to some certain persons associated with the digital document. For example, if the signer submits the digital document to a recipient, then the recipient will have the right to verify it.
Step No.6 Verify the Digital Signature (5006)
The person who has the right to verify the Digital Signature turns on the program and goes to the functionality of “Digital signature” and selects the sub-function of “Digital signature verification”. Select the digital document and the Digital Signature and press “Confirm”.
- The system will process the digital document through the hash function, which the same algorithm used to create a digital signature. The hash value is derived. (To avoid any confusion in next step, name it as the “hash value of Doc”.) - The system will decrypt the Digital Signature with the signer’s Public Key, resulting in the original hash value before being encrypted. (To avoid any confusion in next step, name it as the “hash value of Sig”.)
Step No.7 Report the verification result (5007)
The system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and the hash value resulted from decryption of the Digital Signature with the signer's Public Key (hash value of Sig).
- If they are completely the same value, it is technically confirmed that the digital document was signed by the right person (who owns Public Key).
- If there is a mismatch, it is technically telling that the digital document was not signed by the indicated person whose Public Key used in the validation process. This could come from following causes.
• In case of that Public Key of the indicated person cannot decrypt the Digital Signature, the indicated person did not sign on the document.
• In case of that Public Key of the indicated person can decrypt the Digital Signature (getting hash value of Sig) but not the same hash value of the digital document (hash value of Doc), the indicated person technically signed on the other digital document. Not sign on the presented digital document.
- The system reports the verification result of the Digital Signature to the person who has the right to verify it.
15. The process of joint signing for more than one person and verification.
Many persons with identity in the system (131) can jointly sign on the same attachment file of the initial data, with legal binding effect. Later the initial data along with its attachment file and digital signatures of each signer is created as a main block in Main Blockchain System, which has the significant specifications as follows:
- In Data segment, three related data parts are stored regarding the use of digital signatures. They are a digital document (being signed), digital signatures (legal binding the document with the owner of signature) of each signer and time records of each signing. - All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored, complying with the legal regulations. This enables the data stored inside the block is effective as original.
- Digital signatures of each signer can be verified by applying of each pair of electronic key, which is belonging to the specific person. It can be confirmed that each specific person who owns the pair of electronic key signed the relevant digital document with undeniable.
- Creating digital document (to be signed) either on the computer system (133) or Mobile Application System (109) of the portable communication device (102) which is based on the limitations of the data files. The portable communication device (102) may only support some certain types of data files.
- Digital signature requires Private Key (121) stored on the signer's the portable communication device (102).
The process for many persons with identity in the system (131) to jointly sign the same digital document with each digital signature and to verify the signature is as follows:
Step No.1 Create a digital document that needs to be digitally signed jointly.
A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System. There is a requirement to create the initial data according to the purpose of the blockchain line, such as to record a contract of purchasing goods which requires 2 or more persons to sign. There are 2 types of data created.
- Data being generated automatically by the system, such as data owner.
- Information of which the person with identity in the system (131) or the members of the group of persons with identity in the system (151) creates.
In some implementation, the information requiring to be signed by the digital signature may be in form of data file, such as .PDF file and etc., and may have more than one file to be signed.
Step No.2 Create a list of joint signers
A person with identity in the system (131) goes to functionality of “Digital signature” and selects a sub-function of “Creating a document to be signed by more than one person”. Select the desired document which has been created in Step No.1, from drop-down list. Press “Confirm”. Then select a person with identity in the system (131), one by one, whom needs to jointly sign the document. The person who creates a digital document also needs to select himself or herself, if he or she is one of the signers.
- The system will encrypt the selected document with an electronic key of single key type, which has a different code for each person in the list of joint signers. The code of the electronic key will be sent to email address of each person particularly.
- The digital document, being encrypted with the electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) of each signer with notification of a document pending for joint signing process.
Step No.3 Encrypt with Private Key of signer
The portable communication device (102) has a notification regarding a document pending for joint signing process. Then each person in the list of joint signers accesses through Mobile Application System (109) for a functionality of “Digital signature” and selects a subfunction of “A document pending for joint signing process”. Select the document and press “Sign the selected document with digital signature”, (if not want to proceed, press “Cancel”.)
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which is informed via email. This enables the decryption of the digital document (to be signed).
- The system will process the decrypted digital document through the hash function. The hash value of the digital document is derived.
- The system will process the hash value of the digital document with encryption of Private Key (121) of each signer.
- The hash value of the digital document with encryption of Private Key of each signer is the “Digital Signature” of each signer which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document” of each signer.
- The digital document, “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type. The code of the electronic key will be sent to email address of the person who created a digital document and the list of joint signers.
- The digital document, “Digital Signature” and “Time of signing the document” that is encrypted with another electronic key of single key type, is sent to the computer system (133) of the person who created the digital document and the list of joint signers, with notification of encrypted Digital Signature and its data for joint signing.
Step No.4 Verify each Digital Signature and create the initial data
The computer system (133) of the person who created the digital document and the list of joint signers, has a notification of encrypted Digital Signature and its data for joint signing, which coming one by one from each signer. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt digital signature and its data for joint signing”. Select the encrypted Digital Signature and its data for joint signing, and press “Confirm”, one by one.
- The system will demand for input of the electronic key of single key type.
- Enter the particular electronic key of single key type, which is informed by the particular signer via email. This enables the decryption of the digital document, Digital Signature and Time of signing the document which having been sent to the computer system (133).
Once completing all decryption processes of encrypted Digital Signature and its data for joint signing of all signers, then go to the functionality of “Digital signature” and selects the subfunction of “Digital signatures verification for joint signing”. Select all digital documents and all Digital Signatures which are coming from all signers and press “Confirm”.
- The system will process the digital document of each signer through the hash function, which the same algorithm used to create a digital signature. One by one, the hash value of the digital document of each signer is derived, until finishing all. (To avoid any confusion in next step, name them as “all hash values of Doc”.)
- The system compares all hash values, which are derived from each signer’s digital document. If all hash values are the same value, it is confirmed that all signers signed on the same digital document.
- The system will decrypt the Digital Signature with the signer’s Public Key, one by one, resulting in the original hash value before being encrypted, unit finishing all. (To avoid any confusion in next step, name them as “all hash values of Sig”.)
- The system compares all hash values derived from the hash function of the digital documents of each signer (all hash values of Doc) and all hash values resulted from decryption of the Digital Signature with each signer's Public Key (all hash values of Sig). If they are completely the same value, it is technically confirmed that the digital document was signed by each person correctly.
Then go to the functionality of “Broadcasting an initial data” and select the digital document (picking only one data, as all are the same), the Digital Signatures of each signer and Time of signing the document of each signer. Press “Confirm”.
- The system will broadcast the initial data of the digital document (being signed), the Digital Signatures of each signer and Time of signing the document of each signer via internet system to all Nodes.
In some implementation, the display of a digital document (being signed) may present with attached symbols to indicate that the document was signed, such as the pictures of each signature.
Step No.5 Create the main block
All Nodes (132) will receive and then validate the initial data. Eventually, if all validation is correct, the main block is created with the processes as described in section 13. The process of creating a block and determining a Node to create the prototype block.
The Digital Signature which is stored inside Data segment of the block can be verified in the following step.
In some implementation, the right to verify the Digital Signature is limited to some certain persons associated with the digital document. For example, if the signer submits the digital document to a recipient, then the recipient will have the right to verify it.
Step No.6 Verify all Digital Signatures
The person who has the right to verify the Digital Signatures turns on the program and goes to the functionality of “Digital signature” and selects the sub-function of “Digital signatures verification for joint signing”. Select the digital document and all Digital Signatures of each signer and press “Confirm”.
- The system will process the digital document through the hash function, which the same algorithm used to create a digital signature. The hash value is derived. (To avoid any confusion in next step, name it as the “hash value of Doc”.) - The system will decrypt all Digital Signatures with each signer’s Public Key, one by one, resulting in the original hash value before being encrypted, until finishing all. (To avoid any confusion in next step, name them as “all hash values of Sig”.)
Step No.7 Report the verification result
The system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and all hash values resulted from decryption of each Digital Signature with each signer's Public Key (all hash values of Sig).
- If they are completely the same value, it is technically confirmed that the digital document was jointly signed by all indicated persons (who own indicated Public Keys).
- If there is a mismatch, it is technically telling that the digital document was not jointly signed by all indicated persons whose Public Keys are used in the validation process. This could come from following causes.
• In case of that Public Key of any indicated person cannot decrypt the Digital Signature, that indicated person did not sign on the document.
• In case of that a certain Public Key of which indicated person can decrypt its Digital Signature but not the same hash value of the digital document, the certain indicated person technically signed on the other digital document. Not sign on the presented digital document.
- The system reports the verification result of the Digital Signatures to the person who has the right to verify it.
16. Procedures and requirements for creatine a new main blockchain line within Main
Blockchain System
Main Blockchain System consists of a wide variety of main blockchain lines, being created for the purposes of the creator. However, all blockchain lines are controlled under Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System, as well as emerging within Owner Blockchain System for the same data owner. Once the data owner wants to delete existing data, edit existing data or forward existing data within any main blockchain line, it will be operated within the same Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System. Every new data blocks which have been created within any types of blockchain line, will also emerge within Owner Blockchain System and being connected for the same data owner.
For example, the first blockchain line was created for the purpose of keeping a medical record of patients, while the second blockchain line was created for financial transactions. Every time a person with identity in the system performs a health check, applying Multi Dimension Blockchain System, the system will create a data block within the first blockchain line. Every time the same person makes a financial transaction, applying Multi Dimension Blockchain system, the system will create a data block within the second blockchain line. Those two blocks will emerge within his or her owner blockchain line. Once he or she wants to delete any of those two blocks, he or she needs to create a delete-command block within Delete Control Blockchain System. The same manner is applied for editing and forwarding any of those two blocks.
To create a new main blockchain line within Main Blockchain System, the creator can define and specify the rules and conditions according to the purpose of the creation. Moreover, it can be defined for the condition of ownership of the information. The ownership can belong to either the creator of initial data, or other person or other group of persons. To appoint the right of information to other, it requires that the specified person or the specified group accepts and approves it during the process of creating the initial data first.
In some implementation, the blockchain line for medical record may apply for a medical doctor who checks up with a patient, and assign the ownership of that medical record to the patient. However, it requires the patient to accept his ownership during create the initial data of medical record first.
To create a new main blockchain line, there are procedures and requirements as follows:
- The creator must be a group of persons with identity in the system (151).
- The creator names the blockchain line which will appear in “Dimension” field inside the main block and describes the objectives and scope of uses.
- The creator defines the user type for new blockchain line which there are options at least as follows:
• All is to open for all persons with identity in the system (131) and for all groups of persons with identity in the system (151).
• All Individuals is to open for all persons with identity in the system (131) only. • All Groups is to open for all groups of persons with identity in the system (151), where the main block is created on behalf of the group only.
• Groups & Members is to open for some particular groups of persons with identity in the system (151) with their members only. This could be defined as one or more groups, but not exceeding the defined limit.
In some implementation, it may require the number of groups could be one or more, but not exceeding 20% of total existing groups in the system.
The defined user is a person or a group that is eligible to create the initial data within the new Blockchain line.
- When a person with identity in the system (131) or a group of persons with identity in the system (151) exists in the system later (after the existence of those created blockchain lines), the person or the group is applicable for using those created blockchain lines if complying with its user type.
• For example, the new coming group can use those main blockchain lines which specify their user type as “All” or “All Groups”, but not for those which specify their user type as “All Individuals”. However, the member of its group can use those main blockchain lines with its status as a person with identity in the system, not as the member of the group.
• For example, a person with identity in the system (131) cannot use a blockchain line which specifies its user type as “Groups & Members”, if the person is not a member of the group being designated in user type. However, if later the person applies and becomes a member of that designated group, he or she can use that blockchain line.
- The creator defines a condition for ownership. This will appear at the field of Data Owner inside the main block. There are options for ownership at least as follows:
• Only the creator of an initial data has the ownership of the data. This applies for both as the person and on behalf of the group.
• Only other persons with identity in the system (131), but not the creator of an initial data, have the ownership of the data. • Only other groups of persons with identity in the system (151), but not the creator of an initial data, have the ownership of the data.
• All persons and all groups, but not the creator of an initial data, have the ownership of the data.
• All persons and all groups, including the creator of an initial data, have the ownership of the data.
In case of assigning other persons or other groups to have the ownership of the data, once the initial data was created, the system will submit the initial data for the specified person or members of specified group who have right to approve, to accept and approve it first. Then the creator of the initial data can broadcast it into the system.
- The creator defines the working structure in Data section with the options of following items. The creator does not have to select and use them all.
• Define these following Parameters:
V Constant which maintains one fixed value only. It could be in form of a numeric number, a metric, an array, etc.
V Variables which can exist in differing amounts or types according to processing conditions. It is defined for type, as integer, real number, character, string, and others being used in computer processing system.
V Time which are both as the calendar and duration.
• Define an attached file which can be any format of digital file including Data files (such as .PDF files), image files (such as .JPEG files, .PNG files), animation files (such as .GIF files), audio files (such as .MP3 files), animation and sound files (such as. AVI files) or program files being developed for a specific machine tool.
Be able to define more than one for attachment.
In some implementation, the medical record may allow to attach a file of examination result, from a specific medical machine, writing in specific machine programming language.
• Defines a range of data field for entering text.
Be able to define more than 1 data field. • Define the formula for calculating, by using the specified parameters.
Be able to define more than 1 formula.
• Define and set up an instruction for program execution, by using the programming language, or using the ready-made program of Multi Dimension Blockchain System.
Be able to define more than 1 instruction.
- Approval to create a new main blockchain line within Main Blockchain System must consider at least three parts as follows:
• Dimension - The designation of the blockchain name is appropriated, such as not vulgar or not racist.
• Data Owner - User type assignment is in accordance with the purpose of creating the blockchain line.
• Data - All of mechanism, recipe input, parameter, formula, instruction set and processing are practical. It does not cause an error and aligned with the purpose of creating a blockchain line.
- Approval to create a new main blockchain line within Main Blockchain System defines the approver as follows:
• In case of setting the user type as All, All Individuals and All Groups, it requires approval from all Nodes (132) at minimum of specified percentage.
In some implementation, it may defined that the new main block chain with those user type must get the approval vote more than 51% of the total number of Nodes. Therefore the majority of Nodes, which are mainly responsible for the costs of operations and database record in the system, would agree.
In some implementation, defining the percentage of approval by the total number of Nodes could be a difficulty. Therefore, it can be defined by the percentage of the active Nodes in the system, during approval process. • In case of setting the user type as Groups & Members, it requires approval from Nodes (132) at minimum of specified percentage, plus approval from members of the groups which being designated in user type at minimum of specified percentage.
In some implementation, it may define that the approval from all Nodes must more than 21 percent of the total number of Nodes, and the approval from members of the designated groups must more than 67 percent. This is to give the priority to the members of the designated groups, as the real users of that new blockchain line.
In some implementation, defining the percentage of approval by the total number of Nodes and by the total number of members could be a difficulty. Therefore, it can be defined by the percentage of the active Nodes in the system and the active member in the system, during approval process.
The difference between Node (132) and the person with identity in the system (131) is that some persons with identity in the system (131) may not establish or own Node (132). He or she may only operate the system through his or her portable communication device (102). Therefore, those persons with identity in the system (131) have less obligation of validating information, creating a new block, and storing all data blocks in the system. Therefore, it is reasonable to consider the decision from Nodes (132) whether they approve the creation of a new blockchain line.
In some implementation, the approval portions may be adjusted in the context of blockchain-making objectives, such as a blockchain line created by a non-profit group or by a nature conservation organization. There may be a simpler approval requirement to support those activities.
The process of creating a new main blockchain line within Main Blockchain System can be operated with consecutive steps, showing in Figure 19, as follows:
Step No.1 Requesting to create a new blockchain line within Main Blockchain System (6001)
Member of the group of persons with identity in the system (151) turns on Multi Dimension Blockchain System on the computer system (133) and goes to the functionality of "Creating a new blockchain line within Main Blockchain System". The system will request for defining each parts as follows: Part of Dimension field
• Name Dimension.
• Describe the scope and objective.
Part of Data Owner field
• Define user type.
• Define the ownership conditions.
- Part of Data segment
• Define Parameters.
• Set attached files.
• Define the data field.
• Define the formulas.
• Set instructions and execution programs.
Step No.2 Approval for submitting the request on behalf of the group (6002)
The request for creating a new blockchain line, considered as an initial data, will be forwarded to the members of group who have the right to approve initial data. Once the approvers have submitted their approval exceeding the minimum requirement, without any reject within specified period, the request for creating a new blockchain line is deemed to have been done on behalf of the group. Then broadcast it into the system.
Step No.3 Approval for creating a new blockchain line (6003)
The request for creating a new blockchain line which has been broadcasted will be considered and approved by the authorized authority, according to defined user type of the blockchain line. The approver will consider on three conditional factors of Dimension, Data Owner and Data whether they are suitable for the purpose of use or not.
Once an approver has approved it, the approval result will be submitted into the system. At the same time, it will receive information of approval results from other approvers in the system. Other users in the system, both with and without permission, will be waiting to receive the approval results as well. If the number of approval results is greater than the number specified by the system, the system of each user will recognize that the request to create a new blockchain line has been approved and will continue to create the new blockchain line on the system.
Step No.4 Establishment of a new approved blockchain line in the system (6004)
Once the system of each user recognizes that the request to create a new blockchain line has been approved, Blockchain Processing Logic (138) of Node (132) will update to add a newly main blockchain line with following essences.
- The name of the new blockchain line will be the name given in the request at part of Dimension field.
- Eligibility for the new blockchain line must be a person with identity in the system
(131) or a group of persons with identity in the system (151) as specified in the request at part of Data Owner field.
- When users who have rights to use the new blockchain line create the initial data, the operation of data input, data attachment, and other executions will be performed along with what have been specified in the request at part of Data segment.
- Update list of main blockchain line into the selection of all the associated functionalities.
- Configure the hash value to be store in “Hash of Previous Main Block” inside the genesis block.
In some implementation, may define the value of “0”.
In some implementation, may define the value which is derived from the hash function of part of Dimension field.
- Configure the hash value to be store in “Hash of Previous Owner Block” inside the genesis block.
In some implementation, may define the value of “0”.
In some implementation, may define the value which is derived from the hash function of part of Data Owner field.
Mobile Application System (109) of the portable communication device (102) will update to add a newly main blockchain line in the same manner. This is in accordance with the functionality that is designed to be performed on the portable communication device, subject to the technical limitations of the device.
Newly main blockchain line which has been established in Main Blockchain System will be ready for use to create its new main block, connecting with its previous block and next coming block, according to rules and regulations of Main Blockchain System. Its new main block also emerges in Owner Blockchain System and connected with other blocks with the same owner. Eventually its new main block can be deleted, edited and forwarded according to rules and regulations of deleting data, editing data and forwarding data respectively.
17. Procedures and requirements for creatine a blockchain line for personal privilege management
Main Blockchain System also consists of special blockchain lines, being created for the purposes of personal privilege management, which are controlled under Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System, as well as emerging within Owner Blockchain System for the same data owner.
A blockchain line for personal privilege management is to grant privilege to relevant persons with identity in the system (131) or relevant members of a group of persons with identity in the system (151) which he or she can apply his or her signature according to its privilege of the following objectives:
- Digital signature as a professional rights holder.
- Digital signature of eligible persons by position and duty in an organization.
- Digital signature as a statutory mediator acting on behalf of another person in electronic transactions.
In some implementation, an organization or an agency may appoint some certain officers within its organization or its agency to be as a mediator who can facilitate and assist people who are lacking of equipment or knowledge to operate the equipment. It can be done by applying blockchain line for personal privilege management and appointing those officers to be mediators.
- Digital signature of any other various statuses In some implementation, a professional council may form a group of persons with identity in the system (151), and members of the group who meet the qualification criteria of such professional councils can practice their occupations along with applying their signatures as of a professional rights holder. For example, medical council may form a group of persons with identity in the system (151), with medical doctors as the members. A medical doctor can submit a request for personal privilege of a medical professional license. Once the doctor earns it, he or she can treat a patient and sign his digital signature with personal privilege as a license professional doctor on the digital medical document.
In some implementation, the lawyer council may form a group of persons with identity in the system (151), with lawyers as members of the group. A lawyer can submit a request for personal privilege of a lawyer license. Once the lawyer earns it, he or she can practices as an eligible lawyer on the court and can sign his digital signature with personal privilege as a license lawyer on the digital case document.
In some implementation, one government agency may form a group of persons with identity in the system (151), which members of the group who were appointed for their position and duty can perform their duty along with applying their signatures entitled by position and duty. For example, court of justice may form a group of persons with identity in the system (151), with judges as members of the group. Judges are appointed for their personal privilege to practices in court room. They can sign their digital signature with personal privilege as a judge on the digital case document.
To create a new blockchain line for personal privilege management according to the purpose of the creation, there are procedures and requirements as follows:
- The creator must be a group of persons with identity in the system (151).
- The creator names the blockchain line for personal privilege management which will appear in “Dimension” field inside the block and describes the objectives and scope of uses.
- The creator defines the user type for new blockchain line for personal privilege management which there are options at least as follows:
• All Individuals is open for all persons with identity in the system (131) only.
• Groups & Members is open for some particular groups of persons with identity in the system (151) with their members only. This could be defined as one or more groups, but not exceeding the defined limit. The defined user is a person or a member of the group that is eligible to create the request for personal privilege within the new blockchain line for personal privilege management.
- When a person with identity in the system (131) or a member of the group of persons with identity in the system (151) exists in the system later (after the existence of those created blockchain lines for personal privilege management), the person or the member of the group is applicable for using those created blockchain lines if complying with its user type.
- The creator defines a condition for ownership. This will appear at the field of Data Owner inside the block. There are options for ownership at least as follows:
• Only the creator of an initial data has the ownership of the data. This applies for both as the person and on behalf of the group.
• Only the group of persons with identity in the system (151) who created and has established the blockchain line for personal privilege management has the ownership of the data.
• Both the creator of an initial data and the group of persons with identity in the system (151) who created and has established the blockchain line for personal privilege management have the joint ownership of the data.
- The creator defines the working structure in Data section with the options of following items. The creator does not have to select and use them all .
• Define the code number of the personal privilege which will represent itself and appear in any of relevant functionalities.
• Define the name of the personal privilege which will represent itself and appear in any of relevant functionalities.
In some implementation, when a person with identity in the system (131) wants to sign his or her digital signature with personal privilege, the relevant functionality of personal privilege management will present a list of personal privilege which that person currently has for his or her selection. As one person may have more than one personal privilege. For example, a person is the lawyer with a personal privilege of lawyer license, and also he or she is the manager of an organization with a personal privilege of his position. Once he or she wants to sign a digital signature with personal privilege, the system will offer both personal privileges. The person must choose by specifying the code number of, or the name of personal privilege as which he or she is intended to digitally sign.
• Define these following Parameters:
V Constant which maintains one fixed value only. It could be in form of a numeric number, a metric, an array, etc.
V Variables which can exist in differing amounts or types according to processing conditions. It is defined for type, as integer, real number, character, string, and others being used in computer processing system.
V Time which are both as the calendar and duration.
• Define an attached file which can be any format of digital file including Data files (such as .PDF files), image files (such as .JPEG files, .PNG files), animation files (such as .GIF files), audio files (such as .MP3 files), animation and sound files (such as. AVI files) or program files being developed for a specific machine tool.
Be able to define more than one for attachment.
In some implementation, the medical record may allow to attach a file of examination result, from a specific medical machine, writing in specific machine programming language.
• Defines a range of data field for entering text.
Be able to define more than 1 data field.
• Define the formula for calculating, by using the specified parameters.
Be able to define more than 1 formula.
In some implementation, this may be used for calculating time of expiration if the renewal of the personal privilege is applicable.
• Define and set up an instruction for program execution, by using the programming language, or using the ready-made program of Multi Dimension Blockchain System.
Be able to define more than 1 instruction. In some implementation, this may be use to determine the status of the personal privilege, whether it is active or inactive relating to a defined instruction associated with certain conditions.
- Approval to create a new blockchain line for personal privilege management within Main Blockchain System must consider at least three parts as follows:
• Dimension - The designation of the blockchain name for personal privilege management is appropriated.
• Data Owner - User type assignment is in accordance with the purpose of creating the blockchain line for personal privilege management.
• Data - All of mechanism, recipe input, parameter, formula, instruction set and processing are practical. It does not cause an error and aligned with the purpose of creating a blockchain line.
- Approval to create a new blockchain line for personal privilege management within Main Blockchain System is done by all Nodes (132) at minimum of specified percentage.
The process of creating a new blockchain line for personal privilege management within Main Blockchain System can be operated with consecutive steps as follows:
Step No.1 Requesting to create a new blockchain line for personal privilege management within Main Blockchain System.
Member of the group of persons with identity in the system (151) turns on Multi Dimension Blockchain System on the computer system (133) and goes to the functionality of “Creating a new blockchain line for personal privilege management”. The system will request for defining each parts as follows:
Part of Dimension field
• Name Dimension.
• Describe the scope and objective of this blockchain line for personal privilege management.
Part of Data Owner field • Define user type of this blockchain line for personal privilege management.
• Define the ownership conditions.
- Part of Data segment
• Define the code number of the personal privilege.
• Define the name of the personal privilege.
• Define Parameters.
• Set attached files.
• Define the data field.
• Define the formulas.
• Set instructions and execution programs.
Step No.2 Approval to submit a request for creating a new blockchain line for personal privilege management in the name of the group.
The request for creating a new blockchain line for personal privilege management, considered as an initial data, will be forwarded to the members of group who have the right to approve initial data. Once the approvers have submitted their approval exceeding the minimum requirement, without any reject within specified period, the request for creating a new blockchain line for personal privilege management is deemed to have been done on behalf of the group. Then broadcast it into the system.
Step No.3 Approval for creating a new blockchain line for personal privilege management.
The request for creating a new blockchain line for personal privilege management which has been broadcasted will be considered and approved by all Nodes (132). The approver will consider on three conditional factors of Dimension, Data Owner and Data whether they are suitable for the purpose of use or not.
Once an approver has approved it, the approval result will be submitted into the system. At the same time, it will receive information of approval results from other approvers in the system. Other users in the system, both with and without permission, will be waiting to receive the approval results as well. If the number of approval results is greater than the number specified by the system, the system of each user will recognize that the request to create a new blockchain line for personal privilege management has been approved and will continue to create that new blockchain line on the system.
Step No.4 Establishment of a new approved blockchain line for personal privilege management
Once the system of each user recognizes that the request to create a new blockchain line for personal privilege management has been approved, Blockchain Processing Logic (138) of Node (132) will update to add a newly main blockchain line for personal privilege management with following essences.
- The name of the new blockchain line for personal privilege management will be the name given in the request at part of Dimension field.
- Eligibility for the new blockchain line for personal privilege management must be a person with identity in the system (131) or a member of the group of persons with identity in the system (151 ) as specified in the request at part of Data Owner field.
- When users who have rights to use the new blockchain line for personal privilege management create the initial data, the operation of data input, data attachment, and other executions will be performed along with what have been specified in the request at part of Data segment.
- Update list of blockchain line for personal privilege management into the selection of all the associated functionalities.
- Configure the hash value to be store in “Hash of Previous Main Block” inside the genesis block.
In some implementation, may define the value of “0”.
In some implementation, may define the value which is derived from the hash function of part of Dimension field.
- Configure the hash value to be store in “Hash of Previous Owner Block” inside the genesis block.
In some implementation, may define the value of “0”.
In some implementation, may define the value which is derived from the hash function of part of Data Owner field. Mobile Application System (109) of the portable communication device (102) will update to add a newly main blockchain line for personal privilege management in the same manner. This is in accordance with the functionality that is designed to be performed on the portable communication device, subject to the technical limitations of the device.
Newly main blockchain line for personal privilege management which has been established in Main Blockchain System will be ready for use to create its new block, connecting with its previous block and next coming block, according to rules and regulations of Main Blockchain System. Its new block also emerges in Owner Blockchain System and connected with other blocks with the same owner. Eventually its new block can be deleted, edited and forwarded according to rules and regulations of deleting data, editing data and forwarding data respectively.
18. The process of claiming and revoking a personal privilege
A person with identity in the system (131) or a member of the group of persons with identity in the system (151), who aligns with the user type of a specific blockchain line for personal privilege management, can claim that specific personal privilege by taking the following processes.
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System. Select a desired specific blockchain line for personal privilege management and go to functionality of “Personal privilege management”. Then select a sub-function of “Claim the personal privilege”.
- The system will ask to provide his or her information, in the format of inputting data and attach data files, according to its previous setup while creating that specific blockchain line for personal privilege management. Then press “Confirm” to submit his or her request.
In some implementation, a blockchain line for personal privilege management which applies to the lawyers license of members of the lawyers council may ask for inputting name, surname, name prefix, educational record, type of license lawyers, expiration date and lawyers license number, associated with attached a data file of educational record, a data file of lawyers license, a data file of lawyers certification, a data file of bar association membership and a recent person photo file. - The current members of the group of persons with identity in the system (151) who have the right to approve the personal privilege will receive a notification through their portable communication device (102) regarding an approval request for a claim of personal privilege. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for a claim of personal privilege as desired, the system will move to the functionality and screen display associated with the request, which is “Personal privilege management” and a sub-function of “Approval for new claim”. The system will provide the detail information of the request along with attachments if any.
- The current members who have the right to approve the personal privilege will take a consideration and either approve or reject. The system will take the feedback information forward to the claimant.
- When the approval results are exceeding the minimum requirement of “approved”, and less than the maximum requirement of “reject” within a specified period, the request for a claim of personal privilege is considerably approved. The approved request is considered as the initial data which is ready for broadcasting.
- The claimant turns on Multi Dimension Blockchain System and goes to functionality of “Broadcasting an initial data”. Then select the desired approved request and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
- All Nodes (132) will receive the initial data, and then validating for its correctness and compliances with rules and regulations of Multi Dimension Blockchain System, before creating as a data block.
- Once the data block of the claimant is created within the specific blockchain line for personal privilege management, he or she is presently entitled for his or her specific personal privilege completely.
To revoke a specific personal privilege of oneself or others, a person with identity in the system (131), who has that specific personal privilege and being recorded in that specific blockchain line for personal privilege management, can process as follows:
- A person with identity in the system (131), who wants to request for revocation of a personal privilege, turns on the program of Multi Dimension Blockchain System. Select a desired specific blockchain line for personal privilege management and go to functionality of “Personal privilege management”. Then select a sub-function of “Revoke the personal privilege”.
In some implementation, it could be specified that the person who has the right to request for revocation of a personal privilege must be either anyone for revoking oneself, or those current members of the group of persons with identity in the system (151) who have the right to approve the personal privilege. This is to avoid a number of requests without significant reasons, but on emotional judgment, who may dislike each other.
- Select the name of the person whom the personal privilege is meant to be revoked, by using drop-down list of names.
- Specify the reason for the request for revocation of a personal privilege. Attach the document if any and press “Confirm” to submit the request.
- In some implementation, the attachment of a document is for an evidence of lacking of qualification, or the improper behavior of the person which is meant to revoke his or her personal privilege.
- The current members of the group of persons with identity in the system (151) who have the right to approve the personal privilege will receive a notification through their portable communication device (102) regarding an approval request for revocation of a personal privilege. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for revocation of a personal privilege as desired, the system will move to the functionality and screen display associated with the request, which is “Personal privilege management” and a sub-function of “Approval for revocation of a personal privilege”. The system will provide the detail information of the request along with attachments if any.
- The current members who have the right to approve the personal privilege will take a consideration and either approve or reject. The system will take the feedback information forward to the requester.
- When the approval results are exceeding the minimum requirement of “approved”, and less than the maximum requirement of “reject” within a specified period, the request for revocation of the personal privilege is considerably approved. The approved request is considered as the initial data which is ready for broadcasting. - The person requesting for revocation of the personal privilege turns on Multi Dimension Blockchain System and go to functionality of “Broadcasting an initial data”. Then select the desired approved request and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
- All Nodes (132) will receive the initial data, and then validating for its correctness and compliances with rules and regulations of Multi Dimension Blockchain System, before creating as a data block.
- Once the data block of the requester is created within the specific blockchain line for personal privilege management, the specific personal privilege of the selected person is revoked completely.
19. Procedures of the digital signature with personal privilege and its verification
A person with identity in the system (131) shall be verified for his or her personal privilege against the information stored in the blockchain line for personal privilege management, before applying his or her digital signature binding with a digital document as an initial data. Later when it is created as a data block, the signature and its relevant data will be stored in the Data segment inside the data block. The application of digital signature with personal privilege has the significant specifications as follows:
- Verify it firstly whether the signer is holding the personal privilege specified for signing the digital document, before signing.
• The verification session starts with using “Name of the personal privilege” to call a blockchain line for personal privilege management which its dimension is matched.
• Then using the identity of the signer to call the latest block which its “Data Owner” is matched as the same person.
• Finally reading the status of the signer inside “Data” segment, whether it is active or inactive.
- The verification result will enable the system to issue a “Digital confirmation of signer with personal privilege”, consisting of:
• Name of the personal privilege
• Name of the person who holds the personal privilege • Information specifying the block of keeping record, which is Header.
• Information specifying the time of keeping record, which is Timestamp.
• Information indicating the time at when the personal privilege is verified.
In some implementation, name of personal privilege for those lawyers is a lawyer license. Therefore, the person with that personal privilege is a lawyer with personal privilege of lawyer license.
In some implementation, name of personal privilege for those medical doctors is a medical professional license. Therefore, the person with that personal privilege is a medical doctor with personal privilege of medical professional license.
In some implementation, name of personal privilege for those engineers is a license for professional practice. Therefore, the person with that personal privilege is an engineer with personal privilege of license for professional practice.
In some implementation, name of personal privilege for those insurance brokers is an insurance broker license. Therefore, the person with that personal privilege is an insurance broker with personal privilege of insurance broker license.
- In the Data segment inside the data block, four related data parts are stored regarding the use of digital signature. They are a digital document (being signed), digital signature (legal binding the document with the owner of signature), time record of signing and digital confirmation of signer with personal privilege.
- All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored, complying with the legal regulations. This enables the data stored inside the block is effective as original.
- Digital signature can be verified by applying of the pair of electronic key, which is belonging to the specific person. It can be confirmed that the specific person who owns the pair of electronic key signed the relevant digital document with undeniable.
- Creating digital document (to be signed) either on the computer system (133) or Mobile Application System (109) of the portable communication device (102) which is based on the limitations of the data files. The portable communication device (102) may only support some certain types of data files. - Digital signature requires Private Key (121) stored on the signer's the portable communication device (102).
In some implementation for medical practice, it is used to confirm that the signer is a medical doctor with a personal privilege of medical professional license, of which the record is stored within blockchain line for personal privilege management. Therefore, the digital signature is eligible.
In some implementation for justice process, it is used to confirm that the signer is a lawyer with a personal privilege of lawyer license, of which the record is stored within blockchain line for personal privilege management. Therefore, the digital signature is eligible.
In some implementation for engineering industry, it is used to confirm that the signer is an engineer with a personal privilege of license for professional practice, of which the record is stored within blockchain line for personal privilege management. Therefore, the digital signature is eligible.
In some implementation for insurance business, it is used to confirm that the signer is an insurance broker with a personal privilege of insurance broker license, of which the record is stored within blockchain line for personal privilege management. Therefore, the digital signature is eligible.
The process for a person with personal privilege to sign a digital document with digital signature and to verify its correctness is as follows:
Step No.1 Create a digital document that needs to be digitally signed.
A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System. There is a requirement to create the initial data according to the purpose of the blockchain line, such as to record an medical examination of a patient. There are 2 types of data created.
- Data being generated automatically by the system, such as data owner.
- Information of which the person with identity in the system (131) creates. This can be any form of text, audio file, image file, movie file or other digital data, which is relevant to requirements of particular blockchain. Step No.2 Verify a personal privilege of signer.
A person with identity in the system (131) goes to functionality of “Digital signature” and selects a sub-function of “Creating a document to be signed by a person with personal privilege”. The screen display will show the drop-down list of the code number together with the name of the personal privilege. Then select the desired code number or name of the personal privilege. Press “Confirm”.
The system will call the information from the specific blockchain line for personal privilege management according to the code number of the personal privilege.
Once it was discovered that the person with identity in the system (131) has a record of the personal privilege inside a block within the specific blockchain line for personal privilege management, the system will issue a “Digital confirmation of signer with personal privilege”. And proceed to the next step.
In some implementation, the system may allow to apply more than one personal privilege, depending on the purpose of usage. Technically this can be implemented by adding a choice of either “Apply more personal privilege for the digital signature” or “proceed to the next step”. If select “Apply more personal privilege for the digital signature”, the system will repeat the process of verifying the additional personal privilege.
Step No.3 Process the document through the hash function.
Select the document which has been created in Step No.1, from drop-down list. Press Confirm”.
- The system will process the selected document through the hash function.
- The derived hash value will be encrypted with an electronic key of single key type, which is shown on screen display of the computer system (133) for further use of decoding.
- The hash value that is encrypted with an electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) with notification of the hash value of a document pending for signing process.
Submitting the hash value for signing with Private Key is eligible, complying with law, as it has been processed under the control of the same person, whose Private Key is used.
Step No.4 Encrypt with Private Key of signer. The portable communication device (102) has a notification regarding the hash value of a document pending for signing process. Then access through Mobile Application System (109) for a functionality of “Digital signature” and select a sub-function of “Hash value of a document pending for signing process”. Select the desired hash value of the document and press “Sign the selected hash value of the document with digital signature”, (if not want to proceed, press “Cancel”.)
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which shown previously on the screen display of the computer system (133). This enables the decryption of the hash value (of the document to be signed) which having been sent to Mobile Application System (109) of the portable communication device (102).
- The system will process the decrypted hash value (of the document to be signed) with encryption of Private Key (121) of the signer (whose Private Key is stored in his portable communication device).
- The hash value (of the document being signed) with encryption of Private Key is the “Digital Signature” which is attached to the selected document. Time while Private Key is encrypted will be recorded as "Time of signing the document".
- The “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type, which is shown on screen display of the portable communication device (102) for further use of decoding.
- The “Digital Signature” and “Time of signing the document” that is encrypted with another electronic key of single key type, is sent to the computer system (133) with notification of encrypted Digital Signature and its data.
Step No.5 Create the initial data.
The computer system (133) has a notification regarding encrypted Digital Signature and its data. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt digital signature and its data”. Select the encrypted Digital Signature and its data and press “Confirm”.
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which shown on the screen display of the portable communication device (102) in Step No.3. This enables the decryption of the Digital Signature and Time of signing the document which having been sent to the computer system (133).
Then go to the functionality of “Broadcasting an initial data” and select the digital document (being signed), the Digital Signature, Time of signing the document and Digital confirmation of signer with personal privilege. Press “Confirm”.
- The system will broadcast the initial data of the digital document (being signed), the Digital Signature, Time of signing the document and Digital confirmation of signer with personal privilege via internet system to all Nodes.
Step No.6 Create the main block.
All Nodes (132) will receive and then validate the initial data. Eventually, if all validation is correct, the main block is created with the processes as described in section 13. The process of creating a block and determining a Node to create the prototype block.
The Digital Signature which is stored inside Data segment of the block can be verified in the following step.
Step No.7 Verify the personal privilege.
The person who has the right to verify the Digital Signature turns on the program and goes to the functionality of “Personal privilege management” and selects the sub-function of “Verify the digital confirmation of signer with personal privilege”. Select the Digital confirmation of signer with personal privilege and press “Confirm”.
- The system will trace back to specific blockchain line for personal privilege management and the latest block of which store the personal privilege of the signer.
- If the name of the personal privilege, name of the signer and “active” status are correct, it confirms that the signer is eligible to sign the digital document with specific personal privilege.
- If the verification is not correct, it indicates that the signer is not eligible to sign the digital document.
- The system reports the verification result to the person who has the right to verify it.
Step No.8 Verify the Digital Signature. The person who has the right to verify the Digital Signature turns on the program and goes to the functionality of “Digital signature” and selects the sub-function of “Digital signature verification”. Select the digital document and the Digital Signature and press “Confirm”.
- The system will process the digital document through the hash function, which the same algorithm used to create a digital signature. The hash value is derived. (To avoid any confusion in next step, name it as the “hash value of Doc”.)
- The system will decrypt the Digital Signature with the signer’ s Public Key, resulting in the original hash value before being encrypted. (To avoid any confusion in next step, name it as the “hash value of Sig”.)
- The system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and the hash value resulted from decryption of the Digital Signature with the signer's Public Key (hash value of Sig).
- If they are completely the same value, it is technically confirmed that the digital document was signed by the right person (who owns Public Key).
- If there is a mismatch, it is technically telling that the digital document was not signed by the indicated person whose Public Key used in the validation process. This could come from following causes.
• In case of that Public Key of the indicated person cannot decrypt the Digital Signature, the indicated person did not sign on the document.
• In case of that Public Key of the indicated person can decrypt the Digital Signature (getting hash value of Sig) but not the same hash value of the digital document (hash value of Doc), the indicated person technically signed on the other digital document. Not sign on the presented digital document.
- The system reports the verification result of the Digital Signature to the person who has the right to verify it.
20. Methods and procedures for traceability of data within Multi Dimension Blockchain System
The significant feature of Multi Dimension Blockchain System is the traceability of all interrelated data blocks. This includes the verification of data inside the block whether its hash value is correct or not. Also verification of all data blocks being linked together in the same blockchain line, or even being linked across blockchain line of different dimension, whether it is correct or not. One of the tools for traceability is a linked list, which records the structure and order of the block within blockchain line, with internal pointer and external pointer to facilitate the accessing to a desired block for verification.
There are three major methods of traceability as described below.
Method 1: Traceability for the completeness of the data blocks within a particular blockchain line, showing in Figure 20, is as follows:
Select the desired blockchain line to perform the traceability. The system will limit to check only for those data blocks of which Dimension field meeting the criteria.
Select the latest Block within the blockchain line, facilitating by the linked list to point the latest block. It is also possible to find the latest block by using Timestamp value.
Retrieve the hash value of the previous block, which is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Previous Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Previous Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Previous Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Previous Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Previous Owner Block field.
Check the linked list by using the hash value of the previous block as an internal pointer to access through the previous block, whose present hash value is matched. The present hash value is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Present Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Present Delete Control Block field. • For Edit Control Blockchain System, it is stored at Hash of Present Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Present Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Present Owner Block field.
Repeat these processes to access through the previous block one by one.
• Retrieve the hash value of the previous block.
• Check the linked list by using the hash value of the previous block as the internal pointer to access through the previous block, whose present hash value is matched and keep going on.
Once it reaches the genesis block, then stops. The genesis block contains a special system-defined value to distinguish itself. The special value is stored at Hash of Previous Main Block field, Hash of Previous Delete Control Block field, Hash of Previous Edit Control Block field, Hash of Previous Forward Control Block field, or Hash of Previous Owner Block field, depending on the type of blockchain.
In some implementation, a special value for genesis block is the hash value being derived from Dimension value.
In some implementation, a special value for the genesis block is the value of “0”.
The system will perform another round of traceability, but this time is from the genesis block to the latest block as follows:
Select the genesis block within the blockchain line, facilitating by the external pointer of linked list to point the genesis block.
Retrieve the hash value of the present block, which is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Present Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Present Delete Control Block field. • For Edit Control Blockchain System, it is stored at Hash of Present Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Present Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Present Owner Block field.
Check the linked list by using the hash value of the present block as the internal pointer to access through the next block, which stores the hash value of previous block at the same value. The hash value of previous block is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Previous Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Previous Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Previous Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Previous Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Previous Owner Block field.
Repeat these processes to access through the latest block one by one.
• Retrieve the hash value of the present block.
• Check the linked list by using the hash value of the present block as the internal pointer to access through the next block, which stores the hash value of previous block at the same value and keep going on.
Once it reaches the latest block, then stops.
If done successfully, it is confirmed that there is no foreign block being inserted within the blockchain line, and no blockchain fork (where a blockchain diverges into more than one path forward) as well.
This method can be applied to all types of blockchain line, including Main Blockchain System, Delete Control Blockchain System, Edit Control Blockchain System, Forward Control Blockchain System and Owner Blockchain System. Method 2: Traceability for the correctness of data inside the main block within a particular main blockchain line, showing in Figure 21, is as follows:
Select the desired main blockchain line to perform traceability. The system will limit to check only for those main blocks of which Dimension field meeting the criteria.
Select the latest main block within the main blockchain line, facilitating by the linked list to point the latest main block. It is also possible to find the latest block by using Timestamp value.
Process the data inside the latest block through the hash function and compare it with Hash of Present Main Block.
Case No.1: If matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another.
• As shown in Figure 21, MBlock#2104 is the latest main block. When the data inside the main block is processed through the hash function and found that
“hash value” derived from the hash function of the data inside the block = “hash value” at Hash of Present Main Block field.
• It indicates that the data inside MBlock#2104 is correct.
“Process of accessing through the previous main block” starts with that the system will retrieve the hash value of the previous main block, which is stored in the Hash of Previous Main Block.
Check the linked list by using the hash value of the previous main block as an internal pointer to access through the previous main block, whose present hash value is matched.
• As shown in Figure 21 , using Hash of Previous Main Block of MBlock#2104 as the internal pointer to Hash of Present Main Block of MBlock#2103.
Process the data inside the aforementioned main block (the desired previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
The same as in Case No.1, if matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another again. However, if not matched, it indicates that there are some changes on data inside the main block. The system will continue to check Delete Count field.
Case No.2: If Delete Count = “1”, the data inside the main block has been deleted with the delete-command block.
Retrieve the hash value of the delete-command block, which is stored at Delete Hash field.
Check the linked list by using the hash value of the delete-command block as an internal pointer to access through the delete-command block, whose Hash of Present Delete Control Block is matched.
In some implementation, the system can check the linked list by using “Hash of Present Main Block” as an internal pointer to access through the delete-command block, whose “Hash of Deleted Block” is matched.
Process the data inside the delete-command block through the hash function and compare it with Hash of Present Delete Control Block.
If matched, it confirms that data inside the delete-command block is correct and the deletion of data inside Data segment of the main block was performed with correctness. The system will then go through to check the previous main block one after another.
• As shown in Figure 21, MBlock#2103 is the previous main block. When the data inside the main block is processed through the hash function and found that
“hash value” derived from the hash function of data inside MBlock#2103 “hash value” at Hash of Present Main Block field.
• It indicates that the data inside MBlock#2103 is incorrect and the data has been changed.
• When checking and finding that Delete Count = “ 1 ”, it indicates that the data inside Data segment of MBlock#2103 has been deleted.
• Use value at Delete Hash field of MBlock#2103 as the internal pointer to Hash of Present Delete Control Block of the delete-command block, to access through the delete-command block DBlock#2103. • Or alternately use value at Hash of Present Main Block field of MBlock#2103 as the internal pointer to Hash of Deleted Block of the delete-command block, to access through the delete-command block DBlock#2103.
• Once process the data inside the delete-command block DBlock#2103 through the hash function and found that
“hash value” derived from the hash function of data inside DBlock#2103 = “hash value” at Hash of Present Delete Control Block field.
• It indicates that delete-command block DBlock#2103 is correct and the deletion of the data inside Data segment of MBlock#2103 was performed with correctness.
In this case, the system will proceed for “Process of accessing through the previous main block” to access through the previous main block for next verification.
• As shown in Figure 21, use Hash of Previous Main Block of MBlock#2103 as the internal pointer to Hash of Present Main Block of MBlock#2102.
Process the data inside the aforementioned main block (the second-order previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
The same as in Case No.1, if matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another again.
- The same as in Case No.2, if not matched, it indicates that there are some changes on data inside the main block. The system will continue to check the Delete Count field.
However, if Delete Count = “0”, the data inside the main block has not been deleted. The system will continue to check Forward Count field and Edit Count field.
- Case No.3: If Delete Count = “0” and Forward Count = “0” but Edit Count > “0”, the data inside the main block has been edited with the edit-command block.
Retrieve the hash value of the edit-command block, which is stored at Edit Hash field. Check the linked list by using the hash value of the edit-command block as an internal pointer to access through the edit-command block, whose Hash of Present Edit Control Block is matched.
In some implementation, the system can check the linked list by using “Hash of Present Main Block” as an internal pointer to access through the edit-command block, whose “Hash of Edited Block” is matched.
Process the data inside the edit-command block through the hash function and compare it with Hash of Present Edit Control Block.
If matched, it confirms that data inside the edit-command block is correct and the modification of data inside Data segment of the main block was performed with correctness. The system will then go through to check the previous main block one after another.
• As shown in Figure 21, MBlock#2102 is currently the previous main block. When the data inside the main block is processed through the hash function and found that
“hash value” derived from the hash function of data inside MBlock#2102 + “hash value” at Hash of Present Main Block field.
• It indicates that the data inside MBlock#2102 is incorrect and the data has been changed.
• When checking and finding that Delete Count = “0”, it indicates that the data inside Data segment of MBlock#2102 has not been deleted.
• When checking and finding that Edit Count > “0” while Forward Count = 0, it indicates that the data has been modified by the edit-command block.
• Use value at Edit Hash field of MBlock#2102 as the internal pointer to Hash of Present Edit Control Block of the edit-command block, to access through the editcommand block EBlock#2102.
• Or alternately use value at Hash of Present Main Block field of MBlock#2102 as the internal pointer to Hash of Edited Block of the edit-command block, to access through the edit-command block EBlock#2102.
• Once process the data inside the edit-command block EBlock#2102 through the Hash function and found that “hash value” derived from the hash function of data inside EBlock#2102 = “hash value” at Hash of Present Edit Control Block field.
• It indicates that the edit-command block EBlock#2102 is correct and the modification of data inside Data segment of MBlock#2102 was performed with correctness.
In this case, the system will proceed for “Process of accessing through the previous main block” to access through the previous main block for next verification.
• As shown in Figure 21, use Hash of Previous Main Block of MBlock#2102 as the internal pointer to Hash of Present Main Block of MBlock#2101.
Process the data inside the aforementioned main block (the third-order previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
The same as in Case No.1, if matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another again.
The same as in Case No.2, if not matched, it indicates that there are some changes on data inside the main block. The system will continue to check the Delete Count field.
The same as in Case No.3, if Delete Count = “0” and Forward Count = “0” but Edit Count > “0”, the data inside the main block has not been deleted.
Case No.4: If Delete Count = “0” and Edit Count = “0” but Forward Count > “0”, the data inside the main block has been forwarded with the forward-command block.
Retrieve the hash value of the forward-command block, which is stored at Forward Hash field.
Check the linked list by using the hash value of the forward-command block as an internal pointer to access through the forward-control block whose Hash of Present Forward Control Block is matched.
In some implementation, the system can check the linked list by using “Hash of Present Main Block” as an internal pointer to access through the forward-command block, whose “Hash of Forwarded Block” is matched. Process the data inside the forward-command block through the hash function and compare it with Hash of Present Forward Control Block.
If matched, it confirms that data inside the forward-command block is correct and the transmission of data from Data segment of the main block was performed with correctness. The system will then go through to check the previous main block one after another.
• As shown in Figure 21, MBlock#2101 is currently the previous main block. When the data inside the main block is processed through the hash function and found that
“hash value” derived from the hash function of data inside MBlock#2101 + “hash value” at Hash of Present Main Block field.
• It indicates that the data inside MBlock#2101 is incorrect and the data has been changed.
• When checking and finding that Delete Count = “0”, it indicates that the data inside Data segment of MBlock#2101 has not been deleted.
• When checking and finding that Forward Count > “0” while Edit Count = “0”, it indicates that the data has been forwarded by the forward-command block.
• Use value at Forward Hash field of MBlock#2101 as the internal pointer to Hash of Present Forward Control Block of the forward-command block, to access through the forward-command block FBlock#2101.
• Or alternately use value at Hash of Present Main Block field of MBlock#2101 as the internal pointer to Hash of Forwarded Block of the forward-command block, to access through the forward-command block FBlock#2101.
• Once process the data inside the forward-command block FBlock#2101 through the hash function and found that
“hash value” derived from the hash function of data inside FBlock#2101 = “hash value” at Hash of Present Forward Control Block field.
• It indicates that the forward-command block FBlock#2101 is correct and the transmission of data from Data segment of MBlock#2101 was performed with correctness. - In this case, the system will proceed for “Process of accessing through the previous main block” to access through the previous main block for next verification.
Case No.5: This is a combination of Case No.3 and Case No.4 which Delete Count =
“0” while Edit Count > “0” and Forward Count > “0”. It indicates that the original data was edited and forwarded to other user in the system. The verification requires both processes of Case No.3 and Case No.4 as follows:
• Use value at Edit Hash field of the main block as the internal pointer to Hash of Present Edit Control Block of the edit-command block, to access through the editcontrol block. Then process the data inside the edit-command block through the hash function and compare it with Hash of Present Edit Control Block.
• If matched, it confirms that data inside the edit-command block is correct and the modification of data inside Data segment of the main block was performed with correctness.
• Use value at Forward Hash field of the main block as the internal pointer to Hash of Present Forward Control Block of the forward-command block, to access through the forward-command block. Then process the data inside the forward-command block through the hash function and compare it with Hash of Present Forward Control Block.
• If matched, it confirms that data inside the forward-command block is correct and the transmission of data from Data segment of the main block was performed with correctness.
The system will continue to verify the previous main block one after another, by taking “Process of accessing through the previous main block” and applying all those Case No.1 to 5, until reaching the genesis main block. Once hitting the end at the genesis main block, it confirms that data inside all blocks within the desired main blockchain line is correct.
Method 3: Traceability for the correctness of data inside the owner block of each particular data owner, showing in Figure 22, as follows: Select the desired owner blockchain line within Owner Blockchain System to perform traceability. The system will limit to check only for those blocks of which Data Owner field meeting the criteria.
Select the latest owner block within the owner blockchain line, facilitating by the linked list to point the latest owner block. It is also possible to find the latest owner block by using Timestamp value.
“The preliminary verification” starts with that the system will process the data of the owner block through the hash function and compare it with the hash value which is stored inside its own block, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Present Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Present Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Present Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Present Forward Control Block field.
If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.1: Dimension specifies for a type of Main Blockchain System.
• As shown in Figure 22, OBlock#2205 is the latest block. After checking its Dimension field, it specifies for a type of Main Blockchain System, and within the main blockchain line of “A”.
- Perform “Verifying the block before” by retrieving the hash value of the previous block, which is stored at the Hash of Previous Main Block field.
Check the linked list by using the hash value of the previous block as an internal pointer to access through the previous block, whose present hash value is matched. Process the data inside the aforementioned block (the desired previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
If matched, it indicates that data inside the previous main block is correct.
- Perform “Verifying the block after” by retrieving the hash value which is stored at the Hash of Present Main Block field.
Check the linked list by using the hash value of the present block as an internal pointer to access through the next-order block, whose Hash of Previous Main Block is matched.
Process the data inside the aforementioned block (the desired next-order main block) through the hash function and compare it with Hash of Present Main Block of its own.
If matched, it indicates that data inside the next-order main block is correct. It confirms that the owner block is truly within that particular main blockchain line of Main Blockchain System.
- “Process of accessing through the previous owner block” starts with that the system will retrieve the hash value of the previous owner block, which is stored in the Hash of Previous Owner Block.
Check the linked list by using the hash value of the previous owner block as an internal pointer to access through the previous owner block, whose Hash of Present Owner Block is matched. It then becomes the current-focused block for verification.
• As shown in Figure 22, using Hash of Previous Owner Block of OBlock#2205 as the internal pointer to Hash of Present Owner Block of OBlock#2204.
The system will proceed for “The preliminary verification” of the cunent-focused block. If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.2: Dimension specifies for a type of Main Blockchain System, but in the different main blockchain line. • As shown in Figure 22, OBlock#2204 is the current-focused block for verification.
After checking its Dimension field, it specifies for a type of Main Blockchain System, and within the main blockchain line of “B”.
Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1.
If matched, it confirms that the current-focused owner block is truly within that particular main blockchain line of Main Blockchain System.
The system will proceed for “Process of accessing through the previous owner block” to access through the previous owner block for next verification.
• As shown in Figure 22, using Hash of Previous Owner Block of OBlock#2204 as the internal pointer to Hash of Present Owner Block of OBlock#2203.
- The system will proceed for “The preliminary verification” of the current-focused block. If matched, it passes the preliminary verification.
- Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.3: Dimension specifies for a type of Delete Control Blockchain System.
• As shown in Figure 22, OBlock#2203 is the current-focused block for verification.
After checking its Dimension field, it specifies for a type of Delete Control Blockchain System.
- Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1, by using Hash of Previous Delete Control Block and Hash of Present Delete Control Block as internal pointers to access through the desired blocks within Delete Control Blockchain System.
If matched, it confirms that the current-focused owner block is truly within Delete Control Blockchain System.
The system will proceed for “Process of accessing through the previous owner block” to access through the previous owner block for next verification.
• As shown in Figure 22, using Hash of Previous Owner Block of OBlock#2203 as the internal pointer to Hash of Present Owner Block of OBlock#2202. The system will proceed for “The preliminary verification” of the current-focused block. If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No,4: Dimension specifies for a type of Edit Control Blockchain System.
• As shown in Figure 22, OBlock#2202 is the current-focused block for verification.
After checking its Dimension field, it specifies for a type of Edit Control Blockchain System.
Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1, by using Hash of Previous Edit Control Block and Hash of Present Edit Control Block as internal pointers to access through the desired blocks within Edit Control Blockchain System.
If matched, it confirms that the current-focused owner block is truly within Edit Control Blockchain System.
The system will proceed for “Process of accessing through the previous owner block” to access through the previous owner block for next verification.
• As shown in Figure 22, using Hash of Previous Owner Block of OBlock#2202 as the internal pointer to Hash of Present Owner Block of OBlock#2201.
The system will proceed for “The preliminary verification” of the current-focused block. If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.5: Dimension specifies for a type of Forward Control Blockchain System.
• As shown in Figure 22, OBlock#2201 is the current-focused block for verification.
After checking its Dimension field, it specifies for a type of Forward Control Blockchain System.
Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.l, by using Hash of Previous Forward Control Block and Hash of Present Forward Control Block as internal pointers to access through the desired blocks within Forward Control Blockchain System.
If matched, it confirms that the current-focused owner block is truly within Forward Control Blockchain System.
The system will continue to verify the previous owner block one after another, by taking “Process of accessing through the previous owner block”, “The preliminary verification” and applying all those Case No.1 to 5, until reaching the genesis owner block. Once hitting the end at the genesis owner block, it confirms that all data inside the owner blocks of the desired owner is correct.
The traceability system within Multi Dimension Blockchain System would operate in 2 approaches.
Approach No.l : Operate automatically. The system will automatically perform the traceability at every specified period, such as every day, every week or every two weeks. The traceability will carry on as follows:
- Operate with Method 1 : Traceability for the completeness of the data blocks within a particular blockchain line.
• Start with Main Blockchain System for all blockchain lines.
• Continue with Delete Control Blockchain System.
• Continue with Edit Control Blockchain System.
• Continue with Forward Control Blockchain System.
• Continue with Owner Blockchain System for all blockchain lines of each data owner.
In some implementation, the system may not perform the traceability of Owner Blockchain System since all the owner blocks are already overlapping within Main Blockchain System and Control Blockchain System.
- Operate with Method 2: Traceability for the correctness of data inside the main block within a particular main blockchain line. • Verify all main blockchain lines within Main Blockchain System.
- Operate with Method 3 : Traceability for the correctness of data inside the owner block of each particular data owner.
• Verify all owner blockchain lines of each data owner within Owner Blockchain System.
In some implementation, the system may perform only with Method 1 and Method 2, but not with Method 3, because Owner Blockchain System already overlaps with Main Blockchain System and Control Blockchain System.
In some implementation, it may assign to conduct a random verification for some groups of blockchain lines in each round, without verification for all at one time. Those groups which have been verified in this round, will be waived for the next rounds of verification, until that all the rest of the groups are verified.
Approach No.2: Operate manually. A person will command for the execution of traceability as desired, associated with his or her right on the data block. The process of manual traceability is as follows:
- A person with identity in the system (131) turns on Multi Dimension Blockchain System and goes to the functionality of “Traceability” and selects the sub-function of “Verify a data block within a blockchain line”. Then select the desired block. However, it requires the ownership to select the desired block for verification.
- The system will perform verification with Method 1 : Traceability for the completeness of the data blocks within a particular blockchain line. The verification goes through the whole line of that selected block.
• Start verification with the selected block and go all the way back to the genesis block.
• Then start verification from the genesis block and go through the selected block.
• Then start verification from the selected block and go through the latest block.
• Then start verification from the latest block and go all the way back to the selected block. - The system will continue to perform with Method 2: Traceability for the correctness of data inside the main block within a particular main blockchain line.
• Start verification with the selected block and go backward through the previous blocks until reaching the genesis block.
• Then start verification with the latest block and go backward through the previous blocks until reaching the selected block.
The system will present the result of the traceability.
• Report “Correctness”, if everything is correct.
• Report “Data Error” and indicate anomalies found from the verification, if there are something wrong.
- Moreover, It still provides the traceability on owner blockchain line exclusively for the data owner. The person with identity in the system (131) turns on Multi Dimension Blockchain System and goes to the functionality of “Traceability” and selects the sub-function of “Verify the owner blockchain line by the owner”.
- The system will perform verification with Method 1 : Traceability for the completeness of the data blocks within a particular blockchain. The verification will go through the whole owner blockchain line associated with the data owner.
• Start verification with the latest block and go all the way back to the genesis block.
• Then start verification from the genesis block and go through the latest block.
- The system will perform verification with Method 3 : Traceability for the correctness of data inside the owner block of each particular data owner. The verification will go through the whole owner blockchain line associated with the data owner.
The system will present the result of the traceability.
• Report “Correctness”, if everything is correct.
• Report “Data Error” and indicate anomalies found from the verification, if there is something wrong.
All these traceability system helps to confirm the correctness and help to find out if there is an error in the local storage record of each Node, which may come from malfunction or any attack by malicious people. Therefore, the correction and updating good data can be enables promptly.
21. Procedures and requirements for reconciling the data blocks of each Node
Storing the data blocks has been happening in the distributed database of all Nodes within Multi Dimension Blockchain System. Each Node consistently has the same processing program and database system. However, to ensure the consistency and correctness of the data blocks within the Multi Dimension Blockchain System, there are requirements and procedures of data reconciliation between all Nodes, along with the correction and updating good data if required.
The requirements for reconciling the data blocks between all Nodes are as follows:
- Every Nodes broadcast the data blocks being stored in their database system at every specified period, such as every day, every week or every two weeks.
- Every Nodes receive those data blocks to compare with the data blocks being stored at their stations.
- Perform verification for each single data block repeatedly by comparing with the same data block receiving from different Nodes, until getting verification result of correctness more than the specified number. Then it is counted that the validity of the aforementioned data block has been verified.
In some implementation, the system may specify the verification result of correctness more than half of total number of active Nodes.
- Once complete the verification for all data blocks within the blockchain line, the system will record the verification time.
- If verification result of mismatch is more than the specified number, then the data block is treated as an unverified data block.
Perform the further verification on the unverified data block with the methods described in section 20). If an anomaly is found, update the data block with the correct one and record the anomaly. If an anomaly is not found, the system will report it to the person who owns or controls the Node for further investigation.
- The verification result of mismatch will be broadcasted to other Nodes for the following benefits:
• Recognize which Nodes send anomalous data blocks into the system. • Recognize which Nodes have recorded unverified data blocks.
• Recognize which unverified data blocks have not been discovered for any anomalies after further verification with the method described in section 20).
- The person who owns or controls the Node, whose unverified data blocks have not been discovered, must proceed for finding the root cause and report to every other Nodes for acknowledgment.
- The persons who own or control the Nodes, jointly consider for correcting, improving or taking any actions against the issues, such as improving to new version of the program, or removing the Nodes with consistency of anomalous data blocks out of the system, etc.
The procedure for reconciling the data blocks between Nodes consists of automatic operations by the program and actions taken by persons who own or control the Nodes as follows:
The procedure of an automatic verification and correction by the program is as follows:
- The Node broadcasts the data blocks being stored in its database system.
- The Node receives those data blocks from other Nodes to compare with the data blocks being stored at its Node.
- Perform verification for each single data block repeatedly until getting verification result of correctness more than the specified number. Then it is counted that the validity of the aforementioned data block has been verified.
- Complete the verification for all data blocks within the blockchain line. Then the system will record the verification time.
- If verification result of mismatch is more than the specified number, then the data block is treated as an unverified data block. The system will examine the data inside the block to find the error portion.
• In case of that the hash value of the previous block being stored inside its own block is not matched, it indicates that the link is accessing through a totally different previous block.
Check the linked list by using the hash value of the previous block as an internal pointer to access through the previous block, whose present hash value is matched. V If the previous block is not found, it confirms that only the particular block is an error. Update its database system by using the good data block from other Nodes.
If the previous block is found, repeat accessing through the prior previous block, one after another, until reaching the genesis block. If the genesis block, associated with rules and conditions of that blockchain line, is not found, it indicates that the blockchain line is not genuine in the system. Update its database system by using the good blockchain line from other Nodes.
• In case of that other part of data (beside the hash value of the previous block) is not matched, it indicates there may be a change on this part of data.
V Perform a comparison of the hash value of the present block being stored inside its own block. If not matched, it indicates that the particular block is an error. Update its database system by using the good data block from other Nodes.
V If matched, verify the parts of data which have not been processed through the hash function. If those parts of data are not matched, it indicates that the particular block is an error. Update its database system by using the good data block from other Nodes.
V If those other parts of data are matched, process the data of the block through the hash function and compare with the hash value of present block being stored inside its own block. If not matched, it indicates that the particular block is an error. Update its database system by using the good data block from other Nodes.
V If those hash values are matched, it indicates that there is something wrong with the system. It urgently requires the persons who own or control the Nodes to take a corrective action jointly.
The verification result of mismatch will be broadcasted to other Nodes for the following acknowledgements:
• Recognize which Nodes send anomalous data blocks into the system.
• Recognize which Nodes have recorded unverified data blocks.
• Recognize which unverified data blocks have not been discovered for any anomalies after further verification The procedure of verification and corrective actions taken by persons with identity in the system (131) who own or control the Nodes is as follows:
- Persons who own or control the Nodes receive a notification message and report of verification result of mismatch for Nodes broadcasting and storing the anomalous data blocks.
• Carry out a joint investigation to find out the cause of the malfunction and agree on the corrective action.
In some implementation, may agree to improve and upgrade the program.
• Carry out a joint investigation on those Nodes with issues of broadcasting and storing the anomalous data blocks. Then agree on warning or punishment.
In some implementation, if the mistake took place with intention, it may be punished by terminating and eliminating both the Node and the person who owns or control the Node out of the system.
- Persons who own or control the Nodes receive a notification message and report of verification result of mismatch for unverified data block not being discovered for any anomalies.
• Carry out a joint investigation to find out the root cause of the error and agree on the corrective action.
In some implementation, may agree to improve and upgrade the program significantly.
22. Procedures and requirements for printing out a digital document stored inside a data block to use it as the original document
The digital document inside a data block within Multi Dimension Blockchain System is stored with a stability and security system and it is difficult to falsify and edit by any persons who have a malicious intension. The data block is distributed for its storage on every Nodes which have reconciled for its correctness periodically. Eventually, the digital data inside the data block can still be retrieved and accessed for use as an original one without a change on it. However, some work environments require a printout document (on paper). Therefore, it needs to have procedures and requirements for printing out so that the printout (paper) will have the same effect as the original document. The requirements for managing the printout system of Multi Dimension Blockchain System, showing in Figure 23, are as follows:
Publisher (701): There are only 2 types of publishers.
- Owner of the digital data and it is limited to print out his or her digital data only from the Node (132).
- Digital data controller who owns or controls the Node (132) being operated for printing out, with the permission of the data owner.
An import and storage of original digital data (702): The digital data to be printed out must be only stored in a data block within Multi Dimension Blockchain System. Therefore, the import of publication’s original digital data must fall into one of these following categories.
- It starts with an initial data which the other Node broadcasts into the system. Then the Node imports and examines it. Eventually the Node earns the right to creating it as a prototype block, before storing it in its own database system, and broadcasting it to other Nodes.
(This is the data block which the Node creates by itself.)
- It is a prototype block which has been created and broadcasted by the other Node, who has the right to create the prototype block. Then the Node imports and examines it, before storing it in the database system.
(This is the data block which the Node receives from the other after creation.)
- It is a data block which the other Node broadcasts into the system for reconciliation process. Then the Node imports and uses it through reconciliation process. Once the Node finds the error on its own data block, the updating for the correct data block is taking place. Eventually the imported correct one is stored in the database system.
(This is the data block which the Node updates for correction after the reconciliation process.)
Equipment inspection Policy (703): The policy must consist at least as follows:
- Register all equipments and devices associated with the printing out process, such as a list of printers.
- Develop a list of preventive maintenance, testing and inspection of registered equipments and devices, associated with method and duration of each activity. - Record the practices of preventive maintenance, testing, inspection, repair and replacement with details specifying by whom and when the practices were operated.
In some implementation, there may be a common blockchain line to keep record of all Nodes for their practices of equipment inspection policy. This help to confirm the compliance of each Node for its practices on printing-out requirements.
Reference data on the printout (704): To generate the printout, if the publisher wishes some reference data to appear on the printout, there will be one or more selections of reference as follows:
- Printout comes from which blockchain line, such as specifying Dimension.
- Printout comes from which data block, such as specifying Header.
- Printout comes from which Node.
- Printout is prepared by whom and in which status, such as data owner or Node controller who get the permission from the data owner.
- Printout comes from which printer, such as specifying the equipment number as registered under the equipment inspection policy.
- Printout is generated on which date and at which time.
Printout log (705): when the printout is generated, the system will keep the record of printing out in the printout log, with at least the following information.
- The original data comes from which blockchain line and which data block.
- The Node which generates the printout.
- The person who generates the printout, and in which status (data owner or Node controller).
- The printer which generates the printout.
- Time of printing out.
The process of printing out is as follows:
- A person with identity in the system (131) who owns or controls the Node (132) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Printout management and selects a sub-function of “Generating a printout”.
- Select the desired blockchain line and the data block which store the desired original data for printout. - Select the original data which the person has the right to access for printing out.
- Select the references which to appear on the printout.
- Select the printer which is registered under the equipment inspection policy.
- Prepare the printer and paper or material for printout.
- When ready, press “Confirm”.
- The screen will display a preview of characters, letters, lines, images, symbols, and others of the original data along with the selected reference data which would appear on the paper or material for printout.
- If correct, press “Confirm”.
- The printer will generate the printout document.
- The system will record the detail of printing-out process and relevant information in the printout log.
Generating a printout, complying with the aforementioned requirements and procedures, ensure that the printout is correctness and consistent with the original data stored inside the data block within Multi Dimension Blockchain System, with traceability to source of data as well as to a person, a Node and time generating the printout.
Brief Description of Drawings
Figure 1 shows the data structure and relationship in typical blockchain system.
Figure 2 shows the format of blockchain nodes, working together in a collaborative network system.
Figure 3 A shows the data structure and block relationship for the invention of the Rewritable Blockchain System using the Chameleon Hash Function.
Figure 3B shows the example of editing a data block in the Rewritable Blockchain System associated with the application of the Chameleon Hash Function and its trapdoor.
Figure 4 shows the example of deleting a data block in the Rewritable Blockchain System associated with the application of the Chameleon Hash Function and its trapdoor .
Figure 5 shows the structure of Multi Dimension Blockchain System, comprising Main Blockchain System, Control Blockchain System and Owner Blockchain System, along with the block chain lines for each system. Figure 6 shows the relationship between each blockchain system within Multi Dimension Blockchain System, comprising Main Blockchain System, Control Blockchain System and Owner Blockchain System, especially with the same data owner.
Figure 7 shows the data structure and relationship in the Main Blockchain System and linkage between data blocks.
Figure 8 shows the data structure in Delete Control Blockchain System, including the relationship with Main Blockchain System and Owner Blockchain System.
Figure 9 shows the data structure in Edit Control Blockchain System, including the relationship with Main Blockchain System and Owner Blockchain System.
Figure 10 shows the data structure in Forward Control Blockchain System, including the relationship with Main Blockchain System and Owner Blockchain System.
Figure 11 shows the data structure in Owner Blockchain System, which originally coming from Main Blockchain System and Control Blockchain System.
Figure 12 shows the process of emerging a parallel block within Owner Blockchain System, associated with creating a block within Main Blockchain System and Control Blockchain System.
Figure 13 shows the equipments, tools, systems and other important things, being used in the process of identity registration and creating a person with identity in Multi Dimension Blockchain System.
Figure 14 shows the equipments, tools, systems and other important things, being used for sending and receiving data, generating data, processing data, recording and storing data, and all electronics transaction in Multi Dimension Blockchain System.
Figure 15 shows the process of creating a group of persons with identity in Multi Dimension Blockchain System.
Figure 16 shows the process of creating an initial data, before broadcasting to all nodes in Multi Dimension Blockchain System.
Figure 17 shows the process of creating a new data block, which includes the process steps of earning the right to create and broadcast the prototype block into Multi Dimension Blockchain System. Figure 18 shows the process of signing a digital signature and verifying it within Multi Dimension Blockchain System.
Figure 19 shows the process of creating a new blockchain line in Main Blockchain System.
Figure 20 shows the traceability associated with method of checking the completeness of the data blocks, from end to end, within a particular blockchain line
Figure 21 shows the traceability associated with method of checking the correctness of data inside all main blocks within a particular main blockchain line, relating to relevant blocks in Control Blockchain System.
Figure 22 shows the traceability associated with method of checking the correctness of data inside all blocks of a particular owner within Owner Blockchain System, relating to relevant blocks in Main Blockchain System and Control Blockchain System.
Figure 23 shows the key elements of printing out a digital document stored inside a data block to use it as the original document.
Best Mode for Carrying out the Invention
It is the same as being described in the topic of “Disclosure of invention”.

Claims

Claims
1. System and method for creating Multi Dimension Blockchain comprising:
A. Main Blockchain System which stores core data in electronic form as a main block and connecting each block together as a chain. Inside a main block, there is a data field called “Hash of Previous Main Block” which stores the hash value of previous main block. The hash value is derived from the hash function of some certain data inside the main block, associated with the predefined formula of Main Blockchain System. Hash of Previous Main Block is the pointer of the current main block to the previous main block. Once a new main block is created in next order, the same manner is applied so that every main block contains a pointer linking to its previous main block. This enables the connection of block after block, from the genesis main block to the latest main block.
Main Blockchain System consists of different blockchain lines, created for different purposes of use. With another dimension that controls the deletion, modification and forwarding of data inside the data block, according to the right of the data by its owner and the rules of the system. And it also brings data blocks with the same owner and sort them into a blockchain line in another dimension.
Inside the main block, there are other data fields and segments, with minimum of;
Dimension (name of each main blockchain line), Header (identification of each main block), Data Owner (who owns the data inside), Timestamp (time at which the main block was created), Decisive Number (the variable value that make up the block according to the conditions of creating a block), and Hash of Previous Owner Block (the hash value of the previous block of the same owner). Hash of Previous Owner Block is the pointer of the current data block to the previous block, regardless of type of blockchain line, of the same owner.
The heart of the main block is the Data segment, which stored any types of data (text, instruction program, data file, object file, video file, etc.) according to the purpose of that main blockchain line. There is a mechanism to control the deletion, modification and forwarding of data as well as recording of the actions, as follows:
- To record on data deletion, there are a field of Delete Count (the number of times the data is deleted) and a field of Delete Hash (the hash value of the delete-command block) which Delete Hash is the pointer to the block controlling the deletion of data. - To record on data modification, there are a field of Edit Count (the number of times the data is edited) and a field of Edit Hash (the hash value of the edit-command block) which Edit Hash is the pointer to the block controlling the deletion of data.
- To record on forwarding data, there are a field of Forward Count (the number of times the data is forwarded) and a field of Forward Hash (the hash value of the forward-command block) which Forward Hash is the pointer to the block controlling of forwarding data.
It is in accordance with the rules and conditions of deleting data, editing data, and forwarding data that have been specified.
B. Delete Control Blockchain System which stores delete-command data in electronic form as a delete-command block and connecting each block together as a chain. Inside a deletecommand block, there is a data field called “Hash of Previous Delete Control Block” which stores the hash value of previous delete-command block. The hash value is derived from the hash function of some certain data inside the delete-command block, associated with the predefined formula of Delete Control Blockchain System. Hash of Previous Delete Control Block is the pointer of the current delete-command block to the previous delete-command block. Once a new delete-command block is created in next order, the same manner is applied so that every delete-command block contains a pointer linking to its previous delete-command block. This enables the connection of block after block, from the genesis delete-command block to the latest delete-command block.
Inside the delete-command block, there are other data fields and segments, with minimum of; Dimension (name of delete-command blockchain line), Header (identification of each deletecommand block), Data Owner (who owns the command data inside), Timestamp (time at which the delete-command block was created), Decisive Number (the variable value that make up the block according to the conditions of creating a block), and Hash of Previous Owner Block (the hash value of the previous block of the same owner). Hash of Previous Owner Block is the pointer of the current block to the previous block, regardless of type of blockchain line, of the same owner.
The heart of the delete-command block is the Data segment, which stored information commanding for deleting the data inside the specified block within Main Blockchain System. There is a data field called “Hash of Deleted Block” which stores the hash value of, and as the pointer to, the data block whose data is deleted. Once a delete-command block is created associated with the predefined rules and conditions of deleting data, the data in the specified block within Main Blockchain System will be deleted and those fields of Delete Count and Delete Hash will be updated.
C. Edit Control Blockchain System which stores edit-command data in electronic form as an edit-command block and connecting each block together as a chain. Inside an edit-command block, there is a data field called “Hash of Previous Edit Control Block” which stores the hash value of previous edit-command block. The hash value is derived from the hash function of some certain data inside the edit-command block, associated with the predefined formula of Edit Control Blockchain System. Hash of Previous Edit Control Block is the pointer of the current edit-command block to the previous edit-command block. Once a new edit-command block is created in next order, the same manner is applied so that every edit-command block contains a pointer linking to its previous edit-command block. This enables the connection of block after block, from the genesis edit-command block to the latest edit-command block.
Inside the edit-command block, there are other data fields and segments, with minimum of; Dimension (name of edit-command blockchain line), Header (identification of each editcommand block), Data Owner (who owns the command data inside), Timestamp (time at which the edit-command block was created), Decisive Number (the variable value that make up the block according to the conditions of creating a block), and Hash of Previous Owner Block (the hash value of the previous block of the same owner). Hash of Previous Owner Block is the pointer of the current block to the previous block, regardless of type of blockchain line, of the same owner.
The heart of the edit-command block is the Data segment, which stored information commanding for editing the data inside the specified block within Main Blockchain System. There is a data field called “Hash of Edited Block” which stores the hash value of, and as the pointer to, the data block whose data is edited.
Once an edit-command block is created associated with the predefined rules and conditions of editing data, the data in the specified block within Main Blockchain System will be edited and those fields of Edit Count and Edit Hash will be updated.
D. Forward Control Blockchain System which stores forward-command data in electronic form as a forward-command block and connecting each block together as a chain. Inside a forward-command block, there is a data field called “Hash of Previous Forward Control Block” which stores the hash value of previous forward-command block. The hash value is derived from the hash function of some certain data inside the forward-command block, associated with the predefined formula of Forward Control Blockchain System. Hash of Previous Forward Control Block is the pointer of the current forward-command block to the previous forward-command block. Once a new forward-command block is created in next order, the same manner is applied so that every forward-command block contains a pointer linking to its previous forward-command block. This enables the connection of block after block, from the genesis forward-command block to the latest forward-command block.
Inside the forward-command block, there are other data fields and segments, with minimum of; Dimension (name of forward-command blockchain line), Header (identification of each forward-command block), Data Owner (who owns the command data inside), Timestamp (time at which the forward-command block was created), Decisive Number (the variable value that make up the block according to the conditions of creating a block), and Hash of Previous Owner Block (the hash value of the previous block of the same owner). Hash of Previous Owner Block is the pointer of the current block to the previous block, regardless of type of blockchain line, of the same owner.
The heart of the forward-command block is the Data segment, which stored information commanding for forwarding the data inside the specified block within Main Blockchain System. There is a data field called “Hash of Forwarded Block” which stores the hash value of, and as the pointer to, the data block whose data is forwarded.
Once a forward-command block is created associated with the predefined rules and conditions of forwarding data, the data in the specified block within Main Blockchain System will be forwarded to the specified user in the system and those fields of Forward Count and Forward Hash will be updated.
E. Owner Blockchain System is a system that makes a connection of the main block, delete-command block, edit-command block and forward-command block, associated with the same specific data owner. One data owner is for one owner blockchain line. Hash of Previous Owner Block, stored inside the block of every type, is the pointer of the current block to the previous block of the same owner. Once a new block of every type is created in next order, the same manner is applied so that every block contains a pointer linking to its previous block of the same owner. This enables the connection of block after block, from the genesis block to the latest block of the same owner. When the owner of the data wants to delete the data inside the main block, he or she selects that main block from Owner Blockchain System, and then send a command data to delete the data inside that main block. Once passing the verification of the predefined rules and conditions of deleting data, a delete-command block will be created within Delete Blockchain System. That delete-command block will also emerge within Owner Blockchain System, being connected with the previous block of his or her.
When the owner of the data wants to edit the data inside the main block, he or she selects that main block from Owner Blockchain System, and then send a command data to edit the data inside that main block. Once passing the verification of the predefined rules and conditions of editing data, an edit-command block will be created within Edit Blockchain System. That editcommand block will also emerge within Owner Blockchain System, being connected with the previous block of his or her.
When the owner of the data wants to forward the data inside the main block, he or she selects that main block from Owner Blockchain System, and then send a command data to forward the data inside that main block to other user in the system. Once passing the verification of the predefined rules and conditions of forwarding data, a forward-command block will be created within Forward Blockchain System. That forward-command block will also emerge within Owner Blockchain System, being connected with the previous block of his or her.
F. The process of creating a person with identity in the system which is crucial for the ownership, authority and responsibility of the data block. This requires the portable communication device of the person, registered under his or her name. There is a procedure of identity registration, which the person must present his or her personal data, along with identification card or passport issued by a government unit and taking his or her photos. The evident of identification card or passport of the person will be verified with the database of the government unit of which issuing it. Once finishing the verification, the Certification Authority System (119) issues an electronic certificate and generates a pair of electronic key, specific for the person, using as the significant tool for verification of the person, so called the person with identity in the system. Private Key will be stored inside the portable communication device (102) of the person with identity in the system.
G. The process of creating a group of persons with identity in the system which is for the joint ownership, authority and responsibility of the data block. It is initiated by a person with identity in the system (131) to generate the request for creating the group. All members of the group must be the person with identity in the system. The request for creating the group must be submitted to and accepted by all persons named in the request, along with the following rights as a member of the group.
• Right to generate initial data
• Right to approve initial data
• Right to approve new member of the group
• Right to approve the removal of member from the group
• Right to approve the personal privilege
Once all members of the group approve for the request, Certification Authority System (119) issues an electronic certificate. This enables the group existing in the system, named it as the group of persons with identity in the system.
After the existence of the group of persons with identity in the system, there is procedure and requirements for adding new members and removing the current members of the group.
H. List of equipments, tools, programs and persons required for operating Multi Dimension Blockchain System comprises:
- A person with digital in the system (131) or a group of persons with identity in the system (151).
- A Portable communication device (102).
- Mobile Application System (109) being installed on a portable communication device (102) for the use of Multi Blockchain System, with Communication Interfaces System (113) for connecting data through the wireless Internet system.
- Node (132) is a set of computing system, consisting of computer equipments which could be a small set as a personal computer or big set of a data center (integrating system of servers and storage), which is installed a fully set of Multi Dimension Blockchain System, with internet connection.
- Certification Authority System (119) is to validate the authentication of a person with identity in the system (131) and a group of persons with identity in the system (151) by issuing an electronic certification. - Public Key Infrastructure (120) is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for the person with identity in the system (131).
I. The process of creating an initial data by a person with identity in the system (131) or a group of persons with identity in the system (151) associated with the rules and regulations of Multi Dimension Blockchain System. This includes creating a new data and requesting for operating the existing data inside an existing data block. The request for operating the existing data inside an existing data block consists of deleting, editing and forwarding the existing data. The initial data of creating a new data and requesting for operating the existing data will be broadcasted into the system to all Nodes.
J. The process of creating a data block from the initial data which has been broadcasted into the system. The Node will verify the correctness of the initial data, complying with rules and regulations of Multi Dimension Blockchain System, before creating it as a data block according to the structure of each type of data block. There is a method to determine which Node earns the right to create a prototype data block and broadcast it into the system, where other Nodes will receive, examine and store it into their database system. There is a way of updating the new data block, linking with the previous one. Also there is a way to operate with the existing data block for those new delete-command block, edit-command block and forwardcommand block.
K. The process of applying and verifying the digital signature, binding with the digital data inside the data block. The signer, a person with identity in the system (131), operates the system to process the desired digital data through the hash function and encrypts with his or her Private Key, being stored in his or her portable communication device. It becomes the digital signature binding with the desired digital data.
When a desired digital data along with the digital signature is created to the initial data and later formulated as the data block, a person who has the right to the information can verify the digital signature by accessing the information inside the data block. Process that desired digital data through the hash function, and decrypt the digital signature with signer’s Public Key. Then compare both results of the hash value. If both are the same value, it confirms that the digital signature is belong to the owner of Public Key and signing on the desired digital data. There is also the process of joint signing for more than one person and verification, where the desired digital data will be sent to all signers for the similar process of the hash function and encryption with Personal Key of the signers. Then consolidation of desired digital data and all digital signatures of all signer will be created to the initial data and later formulated as the data block. The verification of all signers’ digital signature is performed in the same manner, by processing the desired digital data, and decrypting the digital signatures with signers’ Public Key, before comparing the hash value of all. If all are the same value, it confirms that the digital signatures are belong to those owners of Public Keys and signing on the desired digital data.
L. The process of creating a new main blockchain line within Main Blockchain System. A group of persons with identity in the system (151) performs the process of configuration for characterizing and structuring the new-established main blockchain line and broadcasts it into the system for approval. The Nodes and persons who have the right to approve the new-established main blockchain line will take a consideration and approve according to the specified rules and conditions. The approved blockchain line will then be updated in Multi Dimension Blockchain System, working perfectly within Main Blockchain System associated with Delete Control Blockchain System, Edit Control Blockchain System, Forward Control Blockchain System and Owner Blockchain System.
M. The process of creating a blockchain line for personal privilege management within Main Blockchain System. This is to administer the person with the right to sign on the digital data according to his or her privilege of at least following status.
- Signing a digital signature as a professional rights holder.
- Signing a digital signature of eligible persons by position and duty in an organization.
- Signing a digital signature as a statutory mediator acting on behalf of another person in electronic transactions.
A group of persons with identity in the system (151) performs the process of configuration for characterizing and structuring the new-established blockchain line for personal privilege management and broadcasts it into the system for approval. The Nodes and persons who have the right to approve the new-established main blockchain line will take a consideration and approve according to the specified rules and conditions.
There is also the process of a person with identity in the system (131) or a member of the group of persons with identity in the system (151) claiming or revoking a personal privilege, by submission of the request with specified evident, before approving by the members who have the right for approval.
There is eventually the process of applying and verifying the digital signature with personal privilege, binding with the digital data inside the data block. The system will verify the personal privilege of the signer first, before allowing the person to sign on the desired digital data.
N. The process of total traceability for the related data blocks throughout the system. There are methods and procedures for verifying the data block and traceability for the whole blockchain line, as well as traceability across the blockchain line and across the dimension. There is the linked list which records the structure and order of the block within blockchain line, with internal pointer and external pointer to facilitate the accessing to a desired block for verification.
There are two approaches of traceability. The first one is to operate automatically at every specified period by the system. The second one is that a person will command for the execution of traceability as desired, associated with his or her right on the data block.
O. The process of reconciling the data blocks between Nodes, which technically has the same processing program and database system. Therefore, all data blocks shall consistently be the same. The reconciliation process requires all Nodes to broadcast their stored data block into the system, while receiving ones from other Nodes for comparison. It is a cross check among the whole group of Nodes in the system. If the verification result of consistency with others more than the specified number, it counted for correctness. If not, the Node will update the correct data block into its database system.
P. The process of printing out a digital document stored inside the data block to use it as the original document. The process includes the management on person, database system, printing-out system and record of printout as follows:
- A person with identity in the system (131) who has the right to print out the original document.
- The digital data to be printed out must be only stored in a data block within Multi Dimension Blockchain System
- Equipment inspection policy for those being used for printing out.
- Reference data on the printout is available. - Printout log to record the detail of printing-out process and relevant information.
It starts with that a person who has the right to print out, selects the desired blockchain line and the data block. Then select the original data inside the block to print out. Identify the printer under the equipment inspection policy to perform printing out and specify the reference data to appear on the printout. Once generating the printout, the system will record it in the printout log.
2. The system and method of claim 1 further comprising: the list of equipments, tool, programs and person required to operate the system comprising:
- Person with identity in the system (131), having Private Key (121) stored within his or her portable communication device (102).
- Portable communication device (102) which has been used for identity registration process, with installation of Private Key (121) with a signal for data communication. The portable communication device is installed and ready to use for Multi Dimension Blockchain System.
- Mobile Application System (109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts as follows:
• User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), with the following functions.
Identity registration
Group of persons with identity in the system
Creating data
Deleting data
Editing data
Forwarding data
Broadcasting an initial data Data access
Digital signature
Traceability
Notification • Application System (111) is an operating system to process all functions and instructions, along with workflow, algorithm and record, which have been developed, integrating with User Interface System (110).
• Memory System (112) is the data storage for program and record, including Private Key (121), which need to reserve a memory size within the portable communication device (102).
- Communication Interface System (113) is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future, or via Wi-Fi of any internet service provider
- Node (132) is a set of computing system, consisting of computer equipments which could be a small set as a personal computer or big set of a data center (integrating system of application server, database server, storage system, routing & switching system, and etc.). Node is belong to a person with identity in the system (131) and is installed a fully set of Multi Dimension Blockchain System, with internet connection.
- Computer System (133) which could be a small set as a personal computer or big set of a data center. Computer system is installed a set of fully set of Multi Dimension Blockchain System, consisting of important parts as follows :
• User Interface System (134) is a supporting system that allows the person with identity in the system (131) to perform a program functionality being displayed on monitor of computer system (133), with the following functions.
Identity registration
Group of persons with identity in the system
Creating data
Deleting data
Editing data
Forwarding data
Broadcasting an initial data Data access
Digital signature
Creating-block mode
Creating a new blockchain line within Main Blockchain System
Creating a new blockchain line for personal privilege management V Personal privilege management
V Coin management
V Traceability
V Notification
V' Printout management
• Application system (135) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed, integrating with User Interface System (134).
• Memory System (136) is the data storage for program and record, which need to reserve a memory size within the computer system (133).
• Blockchain Processing Logic System ( 138) i s a processing unit associated with all programs, applications, instructions, conditions and records being set in Multi Dimension Blockchain System to process all following working systems.
Main Blockchain System Delete Control Blockchain System Edit Control Blockchain System Forward Control Blockchain System
Owner Blockchain System
Data Broadcast and Receiving System
New Block Creating System Data Reconcile System Total Traceability System
- Communication Interface System (137) is for data transmission between computer system (133) and internet system, using the communication signal either wired or wireless access.
- Certification Authority System (119) is to validate the authentication of a person with identity in the system (131) and a group of persons with identity in the system (151) by issuing an electronic certification, so that they exist and are accountable in Multi Dimension Blockchain System.
- Public Key Infrastructure (120) is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for the person with identity in the system (131). This pair of electronic key is as below. • Private Key (121) will be stored in a portable communication device (102) of the person with identity in the system (131).
• Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
3. The system and method as recited in claim 1 or 2, further comprising: the main block within Main Blockchain System comprising:
- Dimension identifies the blockchain line within Main Blockchain System.
- Header indicates the name of the block as the identity of each block.
- Data Owner is an owner of information. The owner who has the right to block information, is either the person with identity in the system (131) or the group of persons with identity in the system (151).
- Hash of Previous Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. This is the pointer to the previous block of the same owner.
- Hash of Previous Main Block is the “Hash Value” of the previous block within Main Blockchain System. This is the pointer to the previous main block.
- Node Code identifies a node (132) which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
- Timestamp is the time information when the block was created.
- Decisive Number is such a complement parameter that the hash value of block being created matches the conditions of “Algorithm for proofing the hash value of prototype block” of Main Blockchain System, before broadcasting it into the system.
- Delete Count is a count of the number of times that the information kept inside the block is deleted, with rules as follows:
• Delete Count = 0, is that there is no deletion of information inside the block at all.
• Delete Count = 1, is that the information inside the block was deleted once and for all.
Delete Count can contain either 0 or 1. Delete Hash is the hash value of the delete-command block within Delete Control
Blockchain System, which commands for deleting data kept inside this block of Main Blockchain System, with rules as follows :
• If there is no deletion of information inside the block, therefore,
Delete Hash = 0
• If the information kept inside the block is getting a command for deletion and eventually has been deleted, Delete Hash will keep the Hash Value of the deletecommand block, which exists within Delete Control Blockchain System. Therefore,
Delete Hash = “Hash Value” of delete-command block
- Edit Count is a count of the number of times that the information kept inside the block is edited, with rules as follows :
• Edit Count = 0, is that there is no editing of information inside the block at all.
• Edit Count = “number”, identifies the number of times the information was edited, by an edit-command block which exists within Edit Control Blockchain System.
- Edit Hash - is the hash value of the edit-command block within Edit Control
Blockchain System, which commands for editing data kept inside this block of Main Blockchain System, with rules as follows :
• If there is no editing of information inside the block, therefore,
Edit Hash = 0 e If the information kept inside the block is getting a command for editing and eventually has been edited, Edit Hash will keep the latest Hash Value of the editcommand block, which exists within Edit Control Blockchain System. Therefore,
Edit Hash = the latest “Hash Value” of edit-command block
- Forward Count is a count of the number of times that the information kept inside the block is forwarded, with rules as follows:
• Forward Count = 0, is that there is no forward of information in the block before.
• Forward Count = “number”, identifies the number of times the information was forwarded, by a forward-command block which exists within Forward Control Blockchain System. Forward Hash is the hash value of the forward-command block within Forward
Control Blockchain System, which commands for forwarding data kept inside this block of Main Blockchain System, with rules as follows:
• If there is no forward of information inside the block, therefore,
Forward Hash = 0
• If the information kept inside the block is getting a command for forward and eventually has been forwarded, Forward Hash will keep the latest Hash Value of the forward-command block, which exists within Forward Control Blockchain System. Therefore,
Forward Hash = the latest “Hash Value” of forward-command block
- Data is the information to be kept inside the main block which it could be any types of digital data. It is created and stored according to the purpose of the blockchain line, after data validation for its accuracy.
- Hash of Present Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block.
These “Hash Value” are derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”.
This enables the link between blocks within Owner Blockchain System for the same data owner, which no other strange block can intervene in this owner blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular block, going back to all previous blocks of the same owner and going forward to all subsequent blocks of the same owner as well. Hash of Present Main Block is the “Hash Value” of the current block within Main
Blockchain System.
These “Hash Value” are derived from the hash function as below.
Hash of Present Main Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Main Block, Node Code, Decisive Number, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
This enables the link between blocks within Main Blockchain System for the same blockchain line, which no other strange block can intervene in this main blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular main block, going back to all previous main blocks within the same main blockchain line and going forward to all subsequent main blocks within the same main blockchain line as well.
4. The system and method as recited in claim 1 or 2, further comprising: the deletecommand block within Delete Control Blockchain System comprising:
Dimension identifies the blockchain line.
- Header indicates the name of the block as the identity of each block.
- Data Owner is an owner of information. The owner who has the right to block information, is either the person with identity in the system (131) or the group of persons with identity in the system (151).
- Hash of Previous Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. This is the pointer to the previous block of the same owner.
- Hash of Previous Delete Control Block is the “Hash Value” of the previous block within Delete Control Blockchain System. This is the pointer to the previous delete-command block. - Node Code identifies a node (132) which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
- Timestamp is the time information when the block was created.
- Decisive Number is such a complement parameter that the hash value of block being created matches the conditions of “Algorithm for proofing the hash value of prototype block” of Main Blockchain System, before broadcasting it into the system.
- Hash of Deleted Block is the “Hash Value” (from the field of “Hash of Present Main Block”) of the target main block whose data is subject to deletion. This enables a tool for traceability from the delete-command block to the target main block.
On the other hand, the target main block whose data is deleted, will update its Delete Hash field with the field value of “Hash of Present Delete Control Block” of this deletecommand block. This enables a tool for traceability from the main block to the delete-command block as well.
Data is the instruction to be recorded inside the delete-command block within Delete
Control Blockchain System which command to delete information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules and regulations of deletion under Multi Dimension Blockchain System.
- Hash of Present Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the cunent block.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”
This enables the link between blocks within Owner Blockchain System for the same data owner, which no other strange block can intervene in this owner blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular block, going back to all previous blocks of the same owner and going forward to all subsequent blocks of the same owner as well.
Hash of Present Delete Control Block is the “Hash Value” of the current block within
Delete Control Blockchain System.
This “Hash Value” is derived from the hash function as below.
Hash of Present Delete Control Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Delete Control Block, Node Code, Decisive Number, Hash of Deleted Block, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
This enables the link between blocks within Delete Control Blockchain System, which no other strange block can intervene in this blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular delete-command block, going back to all previous delete-command blocks and going forward to all subsequent delete-command blocks as well.
5. The system and method as recited in claim 1 or 2, further comprising: the edit-command block within Edit Control Blockchain System comprising:
Dimension identifies the blockchain line.
- Header indicates the name of the block as the identity of each block.
- Data Owner is an owner of information. The owner who has the right to block information, is either the person with identity in the system (131) or the group of persons with identity in the system (151).
- Hash of Previous Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. This is the pointer to the previous block of the same owner.
- Hash of Previous Edit Control Block is the “Hash Value” of the previous block within Edit Control Blockchain System. This is the pointer to the previous edit-command block. - Node Code identifies a node (132) which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
- Timestamp is the time information when the block was created.
- Decisive Number is such a complement parameter that the hash value of block being created matches the conditions of “Algorithm for proofing the hash value of prototype block” of Main Blockchain System, before broadcasting it into the system.
- Hash of Edited Block is the “Hash Value” (from the field of “Hash of Present Main Block”) of the target main block whose data is subject to modification. This enables a tool for traceability from the edit-command block to the taiget main block.
On the other hand, the target main block whose data is edited, will update its Edit Hash field with the field value of “Hash of Present Edit Control Block” of this edit-command block.
This enables a tool for traceability from the main block to the edit-command block as well.
Data is the instruction to be recorded inside the edit-command block within Edit
Control Blockchain System which command to edit information of a particular block within Main Blockchain System associated with the right of data. This instruction must be validated and compliance with rules and regulations of modification under Multi Dimension Blockchain System.
- Hash of Present Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”
This enables the link between blocks within Owner Blockchain System for the same data owner, which no other strange block can intervene in this owner blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular block, going back to all previous blocks of the same owner and going forward to all subsequent blocks of the same owner as well.
Hash of Present Edit Control Block - is the “Hash Value” of the current block within
Edit Control Blockchain System.
This “Hash Value” is derived from the hash function as below.
Hash of Present Edit Control Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Edit Control Block, Node Code, Decisive Number, Hash of Edited Block, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
This enables the link between blocks within Edit Control Blockchain System, which no other strange block can intervene in this blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular edit-command block, going back to all previous edit-command blocks and going forward to all subsequent edit-command blocks as well.
6. The system and method as recited in claim 1 or 2, further comprising: the forwardcommand block within Forward Control Blockchain System comprising:
Dimension identifies the blockchain line.
- Header indicates the name of the block as the identity of each block.
- Data Owner is an owner of information. The owner who has the right to block information, is either the person with identity in the system (131) or the group of persons with identity in the system (151).
- Hash of Previous Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. This is the pointer to the previous block of the same owner. - Hash of Previous Forward Control Block is the “Hash Value” of the previous block within Forward Control Blockchain System. This is the pointer to the previous forwardcommand block.
- Node Code identifies a node (132) which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
- Timestamp is the time information when the block was created.
- Decisive Number is such a complement parameter that the hash value of block being created matches the conditions of “Algorithm for proofing the hash value of prototype block” of Main Blockchain System, before broadcasting it into the system.
- Hash of Forwarded Block is the “Hash Value” (from the field of “Hash of Present Main Block”) of the target main block whose data is subject to forward. This enables a tool for traceability from the forward-command block to the target main block.
On the other hand, the target main block whose data is forwarded, will update its Forward Hash field with the field value of “Hash of Present Forward Control Block” of this forward-command block. This enables a tool for traceability from the main block to the forwardcommand block as well.
Data is the instruction to be recorded inside the forward-command block within
Forward Control Blockchain System which command to forward information of a particular block within Main Blockchain System to a certain user in the system, associated with the right of data. This instruction must be validated and compliance with rules and regulations of forwarding under Multi Dimension Blockchain System.
- Hash of Present Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner” This enables the link between blocks within Owner Blockchain System for the same data owner, which no other strange block can intervene in this owner blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular block, going back to all previous blocks of the same owner and going forward to all subsequent blocks of the same owner as well.
Hash of Present Forward Control Block - is the “Hash Value” of the current block within Forward Control Blockchain System.
This “Hash Value” is derived from the hash function as below.
Hash of Present Forward Control Block = Hash of ( Timestamp, Hash of ( Dimension, Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Forward Control Block, Node Code, Decisive Number, Hash of Forwarded Block, Data )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Timestamp”.
This enables the link between blocks within Forward Control Blockchain System, which no other strange block can intervene in this blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular forward-command block, going back to all previous forward-command blocks and going forward to all subsequent forward-command blocks as well.
7. The system and method as recited in claim 1 or 2, further comprising: the data block which emerges within Owner Blockchain System for the same data owner comprising:
Dimension identifies the blockchain line.
- Header indicates the name of the block as the identity of each block. - Data Owner is an owner of information. The owner who has the right to block information, is either the person with identity in the system (131) or the group of persons with identity in the system (151).
- Hash of Previous Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the previous block of the same owner. This is the pointer to the previous block of the same owner.
- Node Code identifies a node (132) which creates the prototype block and broadcast it into the system, before other nodes could deploy and record it into their operation system.
- Timestamp is the time information when the block was created.
- Hash of Present Owner Block is the “Hash Value” of some certain data associated with the owner identity and block identity, of the current block.
The “Hash Value” is derived from the hash function as below.
Hash of Present Owner Block = Hash of ( Data Owner , Hash of ( Dimension, Header, Hash of Previous Owner Block, Node Code, Timestamp )
This equation performs a 2-round hash function. The first round of hash function is for the data set within parentheses, giving the result value for the second round of hash function along with “Data Owner”
This enables the link between blocks within Owner Blockchain System for the same data owner, which no other strange block can intervene in this owner blockchain line. It produces a pointer which becomes a significant tool for traceability of a particular block, going back to all previous blocks of the same owner and going forward to all subsequent blocks of the same owner as well.
8. The system and method as recited in claim 1 or 2, further comprising: the process of creating a person with identity in Multi Dimension Blockchain System comprising:
The list of equipments, tools, programs and persons for creating a person with identity in the system comprising:
Person requesting for identity registration (101) - Portable communication device (102) being registered in the name of a person requesting for identity registration (101), with a signal for data communication
- Personal Identification Card (103) being issued by a government agency.
- Personal Computer (104) for person in charge of identity registration, with a signal for data communication.
Card Scanner (105) for reading information kept inside personal identification card
(103).
- Card Reader Software Program (106) to read ID card data and communicate with database system (107) of the government unit to verify the data within the ID card.
- Database System (107) of the government unit which stores an official personal data associated with personal identification card (103).
- Electronic Key for encoding and decoding data with a single key type (108), which uses the same key value to encrypt and decrypt data.
- Mobile Application System ( 109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts for identity registration as follows :
• User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), including button, selection, drop-down list and data input.
• Application System (111) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102).
- Communication Interface System (113) is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future, or via Wi-Fi of any internet service provider.
- Web Application System (114) that the person in charge of identity registration can access through a browser, consists of important parts for identity registration as follows :
• User Interface System (115) is a supporting system that allows the person in charge of identity registration to perform a program functionality being displayed on monitor of personal computer (104). • Application system (116) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (117) is a data storage for program and record, which need to reserve a memory size within the personal computer (104).
Communication Interface System (118) is for data transmission between web application system (114) and internet system, using the communication signal either wired or wireless access, using cabling via Ethernet, or wireless access via Wi-Fi of any internet service provider, or using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future.
Certification Authority System (119) is to validate the authentication of person requesting for identity registration (101) and issue an electronic certification after validity, so that he or she becomes the person with identity in Multi Dimension Blockchain System.
Public Key Infrastructure (120) is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for a person requesting for identity registration (101) who pass the validation and becomes the person with identity in the system. This pair of electronic key is capable of encrypting data with one key and decrypting it once another key is paired into it. This pair of electronic key is as below.
• Private Key (121) will be sent to the person with identity in the system to store privately in portable communication device (102).
• Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
The process for identity registration comprising:
A person requesting for identity registration (101) comes and presents himself or herself to the person in charge of identity registration, along with his or her portable communication device (102) registered in his or her name.
Download and install Mobile Application System (109) for using Multi Dimension Blockchain System, by filling in the information specifying name, last name and personal identification card (103) number as well as creating a password. Then press confirm for registration.
The person requesting for identity registration presents his or her personal identification card (103). The person in charge of identity registration validates the personal identification card, including comparison of the person photo in the ID card against face of the person.
The person in charge of identity registration open the personal computer (104) and access Web Application System (114).
The person in charge of identity registration use the card scanner (105) to read the information on the personal identification card, operated by card reader software program (106). There is at least the following information, appearing on the monitor.
• Full name
• Date of birth
• Identification number according to the card
• Address
• Photo
The information was stored on the card at the time when the person had applied for the personal identification card (103).
The person in charge of identity registration confirms for continuing the process, by pressing “continue” to submit the request for current information of the person requesting for identity registration (101) to the database system (107) of the government unit.
- The person in charge of identity registration validates the information of the person requesting for identity registration (101) with the current information receiving from the database system (107) of the government unit. If correct, press “Confirm”.
- The information processed on Web Application System (114) will be transmitted through the Internet to Certification Authority System (119) to perform the processing against the information obtained from Mobile Application System (109) whether they are correct.
- If correct, Certification Authority System (119) will send a Pin Code, which is a figure of 3 to 6 digits, to appear on screen display of Web Application System (114). Then the person in charge of identity registration informs it to the person requesting for identity registration (101) for acknowledge.
- Portable communication device (102) has a notification on Mobile Application System (109) asking for continuing the process with Pin Code.
- The person requesting for identity registration (101) fill in Pin Code and then press “Confirm”. - The screen display of Mobile Application System (109) will change to camera mode automatically, along with the camera reference frame of shooting personal photos.
- The person requesting for identity registration (101) may use the front camera to take himself or herself photos, or ask the person in charge of identity registration to use the rear camera to do so. If not satisfied with the photos, the person can select to retry for new shooting photos.
- Once the photos are satisfied, the person requesting for identity registration (101) command for uploading photos. In case of using the front camera, the image will switch left and right automatically, before uploading.
- The photos will be sent to Web Application System (114) and appear on screen display for which the person in charge of identity registration can lastly validate it. If correct, press “Confirm”.
- Photos and its validation information are submitted to Authority Certification System (119) and Public Key Infrastructure (120) will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her personal data, such as name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
- Certification Authority System (119) maintains the Public Key (122) of the person requesting for identity registration (101).
- Certification Authority System (119) will encrypt Private Key (121) of the person requesting for identity registration (101) with an electronic key of single key type (108). Then send it to Mobile Application System (109) on the portable communication device (102).
- Certification Authority System (119) will send information of electronic key of single key type (108) to Web Application System (114).
- The person in charge of identity registration informs the information of electronic key of single key type (108) to the person requesting for identity registration (101).
- The portable communication device ( 102) has a notification on Mobile Application System (109) regarding the existence of decrypted Private Key (121).
- The person requesting for identity registration (101) input electronic key of single key type (108) and the press “Confirm”. Private Key will be decrypted and installed in Mobile Application System (109) completely. The relevant information is submitted to Authority Certification System (119) that the person requesting for identity registration (101) has presently existed and been accountable in Multi Dimension Blockchain System, with readiness of Private Key.
- Mobile Application System (109) will notify for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
- Web Application System (114) will notify the person in charge of identity registration for the completion of process.
9. The system and method as recited in claim 1 or 2 or 8, further comprising: the process of creating a person with identity in Multi Dimension Blockchain System through on-line system comprising:
The list of equipments, tools, programs and persons for creating a person with identity in the system through on-line system comprising:
- Person requesting for identity registration (101)
- Portable communication device (102) being registered in the name of a person requesting for identity registration (101), with a signal for data communication
- Personal Identification Card (103) being issued by a government agency.
- Database System (107) of the government unit which stores an official personal data associated with personal identification card (103).
- Electronic Key for encoding and decoding data with a single key type (108), which uses the same key value to encrypt and decrypt data.
- Mobile Application System (109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts for identity registration as follows :
• User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), including button, selection, drop-down list and data input.
• Application System (111) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102). - Communication Interface System (113) is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future, or via Wi-Fi of any internet service provider.
- Certification Authority System (119) is to validate the authentication of person requesting for identity registration (101) and issue an electronic certification after validity, so that he or she becomes the person with identity in Multi Dimension Blockchain System. There are supporting programs for its operation as follows:
• A program to scan and read the pictures of the personal identification card and then translate to value of name, surname, card number, date of birth, expired date, etc.
• A face recognition program to analyze the face of person.
- Public Key Infrastructure (120) is an infrastructure, supporting operations of Certification Authority System (119), to generate a pair of electronic key specifically for a person requesting for identity registration (101) who pass the validation and becomes the person with identity in the system. This pair of electronic key is capable of encrypting data with one key and decrypting it once another key is paired into it. This pair of electronic key is as below.
• Private Key (121) will be sent to the person with identity in the system to store privately in portable communication device (102).
• Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
The process for identity registration through on-line system comprising:
- A person requesting for identity registration (101) turns on his or her portable communication device (102) registered in his or her name.
- Download and install Mobile Application System (109) for using Multi Dimension Blockchain System, by filling in the information specifying name, last name, personal identification card (103) number and email address as well as creating a password. Then press confirm for registration.
- The screen display of Mobile Application System (109) will change to camera mode automatically, along with the camera reference frame of shooting ID card. The person requesting for identity registration (101) take a photo of his or her personal identification card (103) and press “Upload”. - The screen display of Mobile Application System (109), still in camera mode, will show the camera reference frame of shooting personal photos. The person requesting for identity registration (101) take a photo of himself or herself and press “Upload”. In case of using the front camera, the image will switch left and right automatically, before uploading.
- Information and photos taking from Mobile Application System (109) are submitted to Authority Certification System (119) for processing as follows:
• Read the information that the person requesting for identity registration (101) fill in during installing Mobile Application System (109) such as name, surname, personal identification card number, date of birth, expired date, etc.
• Scan and read the photo of ID card to detect name, surname, personal identification card number, date of birth, etc.
• Compare the correctness of name, surname, personal identification card number, date of birth, etc. from both source of information.
• Execute a face recognition program to analyze and compare photos of person and picture of person in ID card.
• If the information is correct, the program proceeds to the next steps.
- Certification Authority System (119) submits the request for current information of the person requesting for identity registration (101) to the database system (107) of the government unit. Once receive the information per request, the process of validation continues as follows :
• Compare the correctness of name, surname, personal identification card number, date of birth, etc.
• Execute a face recognition program once again to analyze and compare photos of person from three source; one from shooting himself or herself, one from shooting ID card and one from the database system (107) of the government unit.
• If all the information is correct, the program proceeds to the next steps.
- Public Key Infrastructure (120) will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
- Certification Authority System (119) maintains the Public Key (122) of the person requesting for identity registration (101). - Certification Authority System (119) will encrypt Private Key (121) of the person requesting for identity registration (101) with an electronic key of single key type (108). Then send it to Mobile Application System (109) on the portable communication device (102).
- Certification Authority System (119) will send information of electronic key of single key type (108) to email address of the person requesting for identity registration.
- The portable communication device (102) has a notification on Mobile Application System (109) regarding the existence of decrypted Private Key (121).
- The person requesting for identity registration (101) input electronic key of single key type (108) which is informed via email, and the press “confirm”. Private Key will be decrypted and installed in Mobile Application System (109) completely. The relevant information is submitted to Authority Certification System (119) that the person requesting for identity registration (101) has presently existed and been accountable in Multi Dimension Blockchain System, with readiness of Private Key.
- Mobile Application System ( 109) will notify for completeness of identity regi stration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
10. The system and method as recited in claim 1 or 2 or 8 or 9, further comprising: the process of generating a pair of electronic key within Mobile Application System of the portable communication device comprising:
The list of equipments, tools, programs and persons for generating a pair of electronic key within Mobile Application System (109) of a portable communication device (102) comprising:
- Person requesting for identity registration (101)
- Portable communication device (102) being registered in the name of a person requesting for identity registration (101), with a signal for data communication
- Personal Identification Card (103) being issued by a government agency.
- Database System (107) of the government unit which stores an official personal data associated with personal identification card (103).
- Mobile Application System (109) installed on the portable communication device (102) for operating Multi Dimension Blockchain System, which consisting of important parts for identity registration as follows : • User Interface System (110) is a supporting system that allows a user to perform a program functionality via screen display on the portable communication device (102), including button, selection, drop-down list and data input.
• Application System (111) is an operating system to process all instructions, along with workflow, algorithm and record, which have been developed.
• Memory System (112) is the data storage for program and record, which need to reserve a memory size within the portable communication device (102).
• Public Key Infrastructure is an infrastructure to generate a pair of electronic key specifically for a person requesting for identity registration (101) who pass the validation and becomes the person with identity in the system. This pair of electronic key is capable of encrypting data with one key and decrypting it once another key is paired into it. This pair of electronic key consists of Private Key and Public Key.
Communication Interface System (113) is for data transmission between Mobile Application System (109) and wireless internet system, using the phone signal of 3G/ 4G/ 5G/ LTE/ or other technology in the future, or via Wi-Fi of any internet service provider.
Certification Authority System (119) is to validate the authentication of person requesting for identity registration (101) and issue an electronic certification after validity, so that he or she becomes the person with identity in Multi Dimension Blockchain System.
Public Key Infrastructure (120) is for a part of supporting functions of Certification Authority System (119) to operate with a pair of electronic key system of the person requesting for identity registration (101) who has passed the validation and becomes the person with identity in the system. This pair of electronic key is as below.
• Private Key (121) will be sent to the person with identity in the system to store privately in portable communication device (102).
• Public Key (122) will be stored in Certification Authority System (119) and is available for any other users in the system to use it as tool to communicate with the key owner.
The process for generating a pair of electronic key within Mobile Application System (109) of the portable communication device (102) comprising: - A person requesting for identity registration (101) turns on his or her portable communication device (102) registered in his or her name.
- Download and install Mobile Application System (109) which includes the program for generating a pair of electronic key, for using Multi Dimension Blockchain System, by filling in the information specifying name, last name, personal identification card (103) number and email address as well as creating a password. Presenting ID card and taking photos per requirements for identification and authentication and submitting to Certification Authority System (119).
- Certification Authority System will validate information and photos by communicating with the database system (107) of the government unit, for requesting the relevant information.
- If the information is correct, Certification Authority System (119) will generate a Pin Code, which is a figure of 4-6 digits, for authorization to generate a pair of electronic key. The Pin Code is sent to email address of the person requesting for identity registration (101) with notification on Mobile Application System (109).
- The portable communication device (102) has a notification on Mobile Application System (109) asking for continuing the process with Pin Code. The person requesting for identity registration accesses through Mobile Application System (109) for a functionality of “A pair of electronic key” and select a sub-function of “generating a pair of electronic key”.
- The system will ask to repeat entering information, indicating name, surname, ID card number, and date of birth. Then require for inputting a Pin Code, which is informed via email, before pressing “Confirm”.
- The system will generate a pair of electronic key specifically for the person requesting for identity registration (101), by applying his or her name, surname, identification card number, digital value of the photo and random values to process with specific algorithm.
- The system sends Public Key (122) along with information of name, identity ID card number and Pin Code to Certification Authority System (119).
- Certification Authority System (119) receives such the information and validate whether it is the same set of information permitting for authorization to generate a pair of electronic key.
- If the information is correct, Certification Authority System (119) will keep Public Key (122) in the state of “Inactive” or not yet available. - Certification Authority System (119) generates another Pin Code for permission to install Private Key and send it to email address of the person requesting for identity registration, with notification on Mobile Application System (109).
- The portable communications device (102) has a notification on Mobile Application System (109) asking for installing Private Key with Pin Code. The person requesting for identity registration accesses through Mobile Application System (109) for a functionality of “A pair of electronic key” and select a sub-function of “installing Private Key”.
- The system will ask to repeat entering information, indicating name, surname, ID card number, and date of birth. Then require for inputting a Pin Code, which is informed via email, before pressing “Confirm”.
- Mobile Application System (109) will install Private Key (121) into the system, within the portable communication device (102).
- The system sends information of name, identity ID card number and Pin Code which permitting for Private Key installation to Certification Authority System (119).
- Certification Authority System (119) receives such the information and validate whether it is the same set of information permitting for installing Private Key.
- If the information is correct, Certification Authority System (119) will maintain Public Key (122) in the system and change the state of “Inactive” to “Active” for use.
- Certification Authority System (119) will notify to the Mobile Application System (109) for completeness of identity registration process, and the person has just become the person with identity in the Multi Dimension Blockchain System.
11. The system and method as recited in claim 1 or 2 or 8 or 9, further comprising: the process of creating a group of persons with identity in Multi Dimension Blockchain System and its relevant activities of adding and removing its member comprising:
The process and requirements for creating a group of persons with identity in the system comprising:
- A person with identity in the system (131) together with other persons with identity in the system (131) setup a group of persons with identity in the system (151) by one of them turning on the program of Multi Dimension Blockchain System and going to functionality of “Group of persons with identity in the system”. Select a sub-function of “Creating a new group”.
- Select the name of the person with identity in the system to form a group. - Define the rights as a member of the established group for each person, with the following rights at least.
• Right to generate initial data
• Right to approve initial data
• Right to approve new member of the group
• Right to approve the removal of member from the group
• Right to approve the personal privilege
- The right to generate initial data is to grant the member the ability to generate the initial data and present it to the group for approval. If getting approved, then it will be broadcasted to the system on behalf of the group.
- Number of member in the group is not limited.
- Once finish a list of persons to be as member of the group, need to define the name of the group.
- Define rule for approval of initial data on behalf of the group, before broadcasting to the system.
- After completing the list of members and naming the group, press “Confirm”. The system will send a request for a group establishment to all persons in the list of members.
- All persons with identity in the system (131) who are in the list of members, will receive a notification through their portable communication device (102) regarding a request for a group establishment. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system” and select a sub-function of “Create a new group”, the system will display a request with conditions of rights, and other relevant information as follows:
• Group name
• List of persons with identity in the system to be in the group
• Right to generate initial data by each person in the group
• Right to approve initial data by each person in the group
• Rule for approval of initial data on behalf of the group
• Right to approve new member of the group by each person in the group • Right to approve the removal of member from the group by each person in the group
• Right to approve the personal privilege by each person in the group
Then consider to accept the conditions and join the group or to reject it. The system will take the feedback information forwarded to Certification Authority System (119).
- Certification Authority System (119) will process all feedback information from each in the list of members. Once there is a reject or not enough approval feedback within some certain days, the request for a group establishment will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will issue an electronic certification to establish the existing of “the group of persons with identity” (151) in Multi Dimension Blockchain System.
- All members of the group of persons with identity in the system (151) will receive a notification through their portable communication device (102) regarding the approval status of a group establishment. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the establishment of the group of persons with identity in the system. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information regarding the new established group, as well as adding the status of membership.
- If the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). This will enable the person to act as one of the group of persons with identity in the system (151), with joint rights the data.
The process and requirements for adding a new member of the group of persons with identity in the system comprising:
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then select a sub-function of “Application for new member”.
- Select a group of persons with identity in the system which he or she want to apply for a membership.
- Specify for which rights he or she want in the group as follows :
• Right to generate initial data • Right to approve initial data
• Right to approve new member of the group
• Right to approve the removal of member from the group
• Right to approve the personal privilege
Press “Confirm” to continue sending the request.
- The current members of the group of persons with identity in the system (151), who have the right to approve new member of the group, will receive a notification through their portable communication device (102) regarding an approval request for a new membership. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification” the system will show a list of approval request. Select the approval request for a new membership as desired, the system will move to the functionality and screen display associated with the request, which is “Group of persons with identity in the system” and a sub-function of “Application for new member”. The system will display a request with conditions of rights, and other relevant information.
- The current members who have the right to approve new member of the group will take a consideration and either approve or reject. The system will take the feedback information forward to Certification Authority System (119).
- Certification Authority System (119) will process all feedback information from ones who have the right to approve new member of the group. If not compliance with the requirements of the group, the request will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will issue an electronic certification to establish the membership of the group of persons with identity (151). The electronic certification will be sent to the new member of the group.
- The person with identity in the system (131), who gets approval, will receive a notification through their portable communication device (102) regarding an approval of a new membership. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the membership of the group of persons with identity in the system. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information regarding the group, as well as adding the status of membership. - If the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). This will enable the person to act as one of the group of persons with identity in the system (151), with joint rights the data.
The process and requirements for removing a cunent member out of the group of persons with identity in the system comprising:
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Group of persons with identity in the system”. Then select a sub-function of “Removal of current member”.
Select a group of persons with identity in the system.
Select the member of the group as request for removal.
- Specify the reason for removal and press “Confirm” to submit the request.
- The current members of the group of persons with identity in the system (151), who have the right to approve the removal of a member from the group, will receive a notification through their portable communication device (102) regarding an approval request for a membership removal. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification” the system will show a list of approval request. Select the approval request for a membership removal as desired, the system will move to the functionality and screen display associated with the request, which is “Group of persons with identity in the system” and a subfunction of “Removal of current member”. The system will display a request with reason, and other relevant information.
- The current members who have the right to approve the removal of member from the group will take a consideration and either approve or reject. The system will take the feedback information forward to Certification Authority System (119).
- Certification Authority System (119) will process all feedback information from ones who have the right to approve the removal of member from the group. If not compliance with the requirements of the group, the request will be disposed. On the other hand, once getting approval per defined conditions, Certification Authority system (119) will revoke an electronic certification of that certain membership out of the group of persons with identity (151), and send a notification to the person whose membership has been revoked.
- The person whose membership was revoked, will receive a notification through their portable communication device (102) regarding a removal of member from the group with reason per the request. Once turn on Multi Dimension Blockchain System and go to functionality of “Group of persons with identity in the system”, the system will request for updating the removal of membership of the group of persons with identity in the system. Otherwise all other functionalities will be halted. The person must press “Confirm”. Then Mobile Application System (109) will update all those relevant functionalities and information associated with removal of the person from the group of persons with identity in the system (151).
- If the person with identity in the system (131) owns or controls a Node (132), he or she need to go through process of updating the program and information inside the computer system (133), in the manner with Mobile Application System (109). Otherwise all other functionalities will be halted.
12. The system and method as recited in claim 1 or 2 or 8 or 9 or 11, further comprising: the process and requirements of creating an initial data comprising:
- The initial data is information which a person with identity in the system (131) or a member of the group of persons with identity in the system (151) has created in the form of new data or request for action with the existing data in the system, including to delete, to edit or to forward data.
- In case of creating new information, a person with identity in the system (131 ) or a member of the group of persons with identity in the system (151) turns on the program of Multi Dimension Blockchain System and goes to functionality of “Creating data”. This is an entry path through creating a main block within Main Blockchain System. There is two types of data created.
• Data being generated automatically by the system. One of them is data owner.
• Information of which the person with identity in the system (131) or the members of the group of persons with identity in the system (151) creates, which is relevant to requirements of particular blockchain.
- In case of creating initial data for operating with an existing data in the main block, a person with identity in the system (131) or a member of the group of persons with identity in the system (151) is required to have the right of that existing data. Then proceed with following steps according to the objective of action.
• To create an initial data for deleting existing data, the creator turns on the program of Multi Dimension Blockchain System and goes to functionality of “Deleting data”. This is an entry path through creating a delete-command block within Delete Control Blockchain System. User interface system will help to provide a desired main block which is belong to the creator from Owner Blockchain System. Once select the desired block, press “Confirm”. Then, the system will generate initial data as follows: v' Data owner which defines the person or the group creating the initial data has ownership.
V Information of command to delete the data part inside the specified block.
• To create an initial data for editing existing data, the creator turns on the program of Multi Dimension Blockchain System and goes to functionality of “Editing data”. This is an entry path through creating an edit-command block within Edit Control Blockchain System. User interface system will help to provide a desired main block which is belong to the creator from Owner Blockchain System. Once select the desired block, press “Confirm”. Then, the system will generate initial data as follows:
V Data owner which defines the person or the group creating the initial data has ownership.
V Information of command to edit the data part inside the specified block. This can be a modification of or replacement of the existing data.
• To create an initial data for forwarding existing data, the creator turns on the program of Multi Dimension Blockchain System and goes to functionality of “Forwarding data”. This is an entry path through creating a forward-command block within Forward Control Blockchain System. User interface system will help to provide a desired main block which is belong to the creator from Owner Blockchain System. Once select the desired block, press “Confirm”. Then the system will generate initial data as follows:
V Data owner which defines the person or the group creating the initial data has ownership.
V Information specifying which part of data inside the specific block to be forwarded.
V Information specifying to whom it is forwarded.
V Information of command for forwarding.
- Only in case the creator is the member of the group of persons with identity in the system and the initial data is created on behalf of the group, it is required the approval from members of the group who have right to approve the initial data. The system will submit the initial data to all those members with right to approve. They will receive a notification through their portable communication device (102) regarding an approval request. Once those approvers turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request as desired. The approver will take a consideration and either approve or reject. The reject will result in canceling the request. If there are a number of approvals from all approvers meeting the minimum requirement without any reject within required period, the request will be counted as approved and ready to proceed.
- Once the initial data is ready to proceed, the creator of the initial data goes to the functionality of “Broadcasting an initial data”. Then select the desired initial data and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
- All Nodes (132) will receive the initial data, and then validating for its correctness and compliances with rules and regulations of Multi Dimension Blockchain System, before creating as a data block.
13. The system and method as recited in claim 1 or 2 or 12, further comprising: the process and requirements of creating a new block and determining a node to create the prototype block comprising:
- The initial data was created by a person with identity in the system (131) or a group of persons with identity in the system (151) and broadcasted into Multi Dimension Blockchain System through internet system.
- All Nodes (132) then receive the initial data with their Communication Interface System (137) which operates for connecting the signal and transmitting data to the external network.
- Blockchain Processing Logic System (138) of each Node will take the initial data to validate according to types of initial data. In case of creating a new data, the system will check the relationship and the correctness of the information against the information inside the previous blocks, using a linked list. In case of interacting with an existing data for deleting, editing and forwarding data, the system will check the rules and regulations whether it can be performed or not, as well as check the correctness of the information against the information inside the previous blocks. - After pass the validation, the initial data will be created as a block according to the specification of block structure, which is interactively related within all three dimensions of Main Blockchain System, Control Blockchain System and Owner Blockchain System.
- The essence part of the initial data, which is the “new data" for new block or “demand request” for the existing block, will be stored in “Data” segment inside the block, whereas other data will be stored in other different fields and segments inside the block, according to each type of block structure; Main Blockchain System, Delete Control Blockchain System, Edit control Blockchain System, and Forward Control Blockchain System.
- During the process of constructing all data according to the structure for each type of block, there will be one special parameter, Decisive Number, which is a random number. This Decisive Number will vary to derive the hash value of the building block as desired.
- The system requires only one Node to create the prototype block. Then broadcast the prototype block to other Nodes for storing in their database system.
- To determine which node is eligible to create the prototype block, then there is an algorithm for proofing the hash value of prototype block. The first Node which comes with the solution, earns the right to create the prototype block.
- The “hash value” that demand as a solution, is defined by the system for either the specific value or the range of value. The system renews this value in a cycle of certain predefined period.
- Algorithm for proofing the hash value of prototype block is slightly different by each type of block.
- In case of a new main block which is created within Main Blockchain System, data to be processed in the hash function is following.
• Header
• Data Owner
• Hash of Previous Owner Block
• Hash of Previous Main Block
• Node Code
• Decisive Number
• Data Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of
Previous Owner Block, Hash of Previous
Main Block, Node Code, Decisive Number,
Data )
In case of a delete-command block which is created within Delete Control Blockchain
System, data to be processed in the hash function is following.
• Header
• Data Owner
• Hash of Previous Owner Block
• Hash of Previous Delete Control Block
• Node Code
• Decisive Number
• Hash of Deleted Block
• Data
Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of
Previous Owner Block, Hash of Previous
Delete Control Block, Node Code, Decisive
Number, Hash of Deleted Block, Data )
In case of an edit-command block which is created within Edit Control Blockchain
System, data to be processed in the hash function is following.
• Header
• Data Owner
• Hash of Previous Owner Block
• Hash of Previous Edit Control Block
• Node Code
• Decisive Number
• Hash of Edited Block
• Data
Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of
Previous Owner Block, Hash of Previous Edit
Control Block, Node Code, Decisive
Number, Hash of Edited Block, Data ) In case of a forward-command block which is created within Forward Control
Blockchain System, data to be processed in the hash function is following.
• Header
• Data Owner
• Hash of Previous Owner Block
• Hash of Previous Forward Control Block
• Node Code
• Decisive Number
• Hash of Forwarded Block
• Data
Algorithm for proofing the hash value = Hash Of ( Header, Data Owner, Hash of Previous Owner Block, Hash of Previous Forward Control Block, Node Code, Decisive Number, Hash of Forwarded Block, Data )
- All data taken to the hash function is constant, except for Decisive Number which is variable. Therefore, the processing system of Node (132) will keep changing the value of Decisive Number until reaching the desired result.
If the desired result is to get the hash value of XI or less than XI, the Decisive Number keeps changing randomly until that the algorithm for proofing the hash value < XI, it is considerably completed. The first Node achieving the desired result is eligible for creating the prototype block.
- The prototype block is created according the structure for each type of block, by storing Decisive Number and Timestamp of which time the block is created.
- Once the prototype block is broadcasted into Multi Dimension Blockchain System, all Nodes (132) will receive it via Communication Interface System (137). Then take the prototype block through validation process whether it complies with the algorithm for proofing the hash value or not. If correct, Nodes will store it in their database system. The hash value of previous block kept inside the prototype block is an internal pointer to link with the previous block of relevant type. If not correct, each Node will keep processing of creating a new block, unless a prototype block is created and broadcasted by other Nodes once again.
- Creating a new main block within Main Blockchain System, there is nothing to do with any existing block. Creating a command block, Blockchain Processing Logic System (138) will immediately execute the existing main block according to the instruction inside the block, which is different by each type of command block.
- In case of delete-command block, the system will access to the existing block specified in the instruction, and proceed as follows:
• All data in the Data filed will be erased. It is a free-up memory, which the value inside is not “0” so that the memory can be used to store other data.
• Change the value of Delete Count field from “0” to “ 1”.
• Change the value of Delete Hash from “0” to “hash value” of the delete-command block. This helps to enable traceability and check for what the Data segment inside the block is empty, and which block commands for this deletion.
- In case of edit-command block, the system will access to the existing block specified in the instruction, and proceed as follows:
• Modify data in the Data segment to what identified in edit-command block.
• Change the value of Edit Count field from “0” to “ 1”.
In case of not the first time of editing data which there was modification before, the value of Edit Count will be increased by one (+1), representing the current number of time being edited.
• Change the value of Edit Hash from “0” to “hash value” of the edit-command block.
In case of not the first time of editing data which there was modification before, the value of Edit Hash will be changed from previous value to “hash value” of this latest edit-command block. This helps to enable traceability and check for what the Data segment inside the block is edited, and which block commands for this modification.
- In case of forward-command block, the system will access to the existing block specified in the instruction, and proceed as follows:
• Forward data in the Data segment to whom it is identified in forward-command block.
• Change the value of Forward Count field from “0” to “1”. In case of not the first time of forwarding data which there was forward of this data before, the value of Forward Count will be increased by one (+1), representing the current number of time being forwarded.
• Change the value of Forward Hash from “0” to “hash value” of the forwardcommand block.
In case of not the first time of forwarding data which there was forward of this data before, the value of Forward Hash will be changed from previous value to “hash value” of this latest forward-command block. This helps to enable traceability and check which block commands for this forward.
- Multi Dimension Blockchain System has another dimension of connecting data blocks, regardless of type of block, with the same ownership. The new block then emerges within Owner Blockchain System and connected with its previous block with the same ownership.
14. The system and method according to anyone of claim 1 to 13, further comprising: the procedures of the digital signature and its verification comprising:
- A person with identity in the system (131) applies the digital signature to bind a created document which later will be stored in Data Segment of the main block, with significant specifications as follows:
• In Data segment, three related data parts are stored regarding the use of digital signature. They are a digital document (being signed), digital signature (legal binding the document with the owner of signature) and time record of signing.
• All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored. This enables the data stored inside the block is effective as original.
• Digital signature is verified by applying of the pair of electronic key, which is belonging to the specific person. It can be confirmed that the specific person who owns the pair of electronic key signed the relevant digital document with undeniable.
• Creating digital document (to be signed) either on the computer system (133) or Mobile Application System (109) of the portable communication device (102) which is based on the limitations of the data files. The portable communication device (102) may only support some certain types of data files. • Digital signature requires Private Key (121) stored on the signer's the portable communication device (102).
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System. There is a requirement to create the initial data according to the purpose of the blockchain line. There is 2 types of data created.
• Data being generated automatically by the system. This includes data owner.
• Information of which the person with identity in the system (131) or the members of the group of persons with identity in the system (151) creates. This can be any form of digital data, which is relevant to requirements of particular blockchain.
- A person with identity in the system (131) goes to functionality of “Digital Signature” and selects a sub-function of “Creating a document to be signed by one person”. Then select the desired document which has been created. Press “Confirm”.
- The system will process the selected document into the hash function.
- The derived hash value will be encrypted with an electronic key of single key type, which is shown on screen display of the computer system (133) for further use of decoding.
- The hash value that is encrypted with an electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) with notification of the hash value of a document pending for signing process. Submitting the hash value for signing with Private Key is eligible, complying with law, as it has been processed under the control of the same person, whose Private Key is used.
- The portable communication device (102) has a notification regarding the hash value of a document pending for signing process. Then access through Mobile Application System (109) for a functionality of “Digital Signature” and select a sub-fimction of “Hash value of a document pending for signing process”. Select the desired hash value of the document and press “Sign the selected hash value of the document with digital signature”, (if not want to proceed, press “Cancel”.)
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which shown on the screen display of the computer system (133) in earlier step. This enables the decryption of the hash value (of the document to be signed), which having been sent to Mobile Application System (109) of the portable communication device (102). - The system will process the decrypted hash value (of the document to be signed) with encryption of Private Key (121) of the signer (whose Private Key is stored in his portable communication device).
- The hash value (of the document being signed) with encryption of Private Key is the “Digital Signature” which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document”.
- The “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type, which is shown on screen display of the portable communication device (102) for further use of decoding.
- The “Digital Signature” and “Time of signing the document” that is encrypted with another electronic key of single key type, is sent to the computer system (133) with notification of encrypted Digital Signature and its data.
- The computer system (133) has a notification regarding encrypted Digital Signature and its data. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt Digital Signature and its data”. Select the encrypted Digital Signature and its data and press “Confirm”.
- The system will demand for input of the electronic key of single key type.
- Enter the electronic key of single key type, which shown on the screen display of the portable communication device (102) in earlier step. This enables the decryption of the Digital Signature and Time of signing the document which having been sent to the computer system (133).
- Then go to the functionality of “Broadcasting an initial data” and select the digital document (being signed), the Digital Signature and Time of signing the document. Press “Confirm”.
- The system will broadcast the initial data of the digital document (being signed), the Digital Signature and Time of signing the document via internet system to all Nodes.
- All Nodes (132) will receive and then validate the initial data. Eventually, there is only one Node eligible for creating the prototype block with the digital document (being signed), the Digital Signature and Time of signing the document.
- The person who has the right to verify the Digital Signature turns on the program and goes to the functionality of “Digital Signature” and selects the sub-function of “Digital Signature Verification”. Select the digital document and the Digital Signature and press “Confirm”. • The system will process the digital document with the hash function, which the same algorithm used to create a digital signature. The hash value is derived. (Naming it as the “hash value of Doc”.)
• The system will decrypt the Digital Signature with the signer’s Public Key, resulting in the original hash value before being encrypted. (Naming it as the “hash value of Sig” )
- The system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and the hash value resulted from decryption of the Digital Signature with the signer's Public Key (hash value of Sig).
- If they are completely the same value, it is technically confirmed that the digital document was signed by the right person (who owns Public Key).
- If there is a mismatch, it is technically telling that the digital document was not signed by the indicated person whose Public Key used in the validation process. This could come from following causes.
• In case of that Public Key of the indicated person cannot decrypt the Digital Signature, the indicated person did not sign on the document.
• In case of that Public Key of the indicated person can decrypt the Digital Signature (getting hash value of Sig) but not the same hash value of the digital document (hash value of Doc), the indicated person technically signed on the other digital document. Not sign on the presented digital document.
- The system reports the verification result of the Digital Signature to the person who has the right to verify it.
15. The system and method according to anyone of claim 1 to 14, further comprising: procedures of joint digital signing for more than one person and verification comprising:
- Many persons with identity in the system (131) jointly sign on the same document which later will be stored in Data Segment of the main block, with significant specifications as follows:
• In Data segment, three related data parts are stored regarding the use of digital signature. They are a digital document (being signed), digital signatures of each signer (legal binding the document with the owner of signature) and time record of each signing. • All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored. This enables the data stored inside the block is effective as original.
• Digital signatures of each signer are verified by applying of each pair of electronic key, which is belonging to the specific person. It can be confirmed that each specific person who owns the pair of electronic key signed the relevant digital document with undeniable.
• Creating digital document (to be signed) either on the computer system (133) or Mobile Application System (109) of the portable communication device (102) which is based on the limitations of the data files. The portable communication device (102) may only support some certain types of data files.
• Digital signature requires Private Key (121) stored on the signer's the portable communication device (102).
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System. There is a requirement to create the initial data according to the purpose of the blockchain line. There is 2 types of data created.
• Data being generated automatically by the system. This includes data owner.
• Information of which the person with identity in the system (131) or the members of the group of persons with identity in the system (151) creates. This can be any form of digital data, which is relevant to requirements of particular blockchain.
- A person with identity in the system (131) goes to functionality of “Digital Signature” and selects a sub-function of “Creating a document to be signed by more than one person”. Then select the desired document which has been created. Press “Confirm”. Then select a person with identity in the system (131), one by one, whom needs to jointly sign the document. The person who creates a digital document also needs to select himself or herself, if he or she is one of the signers.
- The system will encrypt the selected document with an electronic key of single key type, which has a different code for each person in the list of joint signers. The code of the electronic key will be sent to email address of each person particularly. - The digital document, being encrypted with the electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) of each signer with notification of a document pending for joint signing process
- The portable communication device ( 102) has a notification regarding a document pending for joint signing process. Then each person in the list of joint signers accesses through Mobile Application System (109) for a functionality of “Digital Signature” and selects a subfunction of “A document pending for joint signing process”. Select the document and press “Sign the selected document with digital signature”, (if not want to proceed, press “Cancel”.)
• The system will demand for input of the electronic key of single key type.
• Enter the electronic key of single key type, which is informed via email. This enables the decryption of the digital document (to be signed).
• The system will process the hash value of the digital document with encryption of Private Key (121) of each signer.
• The hash value of the digital document with encryption of Private Key of each signer is the “Digital Signature” of each signer which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document” of each signer.
• The digital document, “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type. The code of the electronic key will be sent to email address of the person who created a digital document and the list of joint signers.
• The digital document, “Digital Signature” and “Time of signing the document” that is enciypted with another electronic key of single key type, is sent to the computer system (133) of the person who created the digital document and the list of joint signers, with notification of encrypted Digital Signature and its data for joint signing.
- The computer system (133) of the person who created the digital document and the list of joint signers, has a notification of encrypted Digital Signature and its data for joint signing, which coming one by one from each signer. Then turn on the program and go to the functionality of “Digital signature” and select a sub-function of “Decrypt Digital Signature and its data for joint signing”. Select the encrypted Digital Signature and its data for joint signing, and press “Confirm”, one by one.
• The system will demand for input of the electronic key of single key type. • Enter the particular electronic key of single key type, which is informed by the particular signer via email. This enables the decryption of the digital document, Digital Signature and Time of signing the document which having been sent to the computer system (133).
- Once completing all decryption processes of encrypted Digital Signature and its data for joint signing of all signers, then go to the functionality of “Digital Signature” and selects the sub-function of “Digital Signatures Verification for joint signing”. Select all digital documents and all Digital Signatures which are coming from all signers and press “Confirm”.
• The system will process the digital document of each signer with the hash function, which the same algorithm used to create a digital signature. One by one, the hash value of the digital document of each signer is derived, until finishing all. (Naming them as “all hash values of Doc”.)
• The system compares all hash values, which are derived from each signer’s digital document. If all hash values are the same value, it is confirmed that all signers signed on the same digital document.
• The system will decrypt the Digital Signature with the signer’s Public Key, one by one, resulting in the original hash value before being encrypted, unit finishing all. (Naming them as “all hash values of Sig”.)
• The system compares all hash values derived from the hash function of the digital documents of each signer (all hash values of Doc) and all hash values resulted from decryption of the Digital Signature with each signer's Public Key (all hash values of Sig). If they are completely the same value, it is technically confirmed that the digital document was signed by each person correctly.
- Then go to the functionality of “Broadcasting an initial data” and select the digital document (picking only one data, as all are the same), the Digital Signatures of each signer and Time of signing the document of each signer. Press “Confirm”.
- The system will broadcast the initial data of the digital document (being signed), the Digital Signatures of each signer and Time of signing the document of each signer via internet system to all Nodes.
- All Nodes (132) will receive and then validate the initial data. Eventually, there is only one Node eligible for creating the prototype block with the digital document (being signed), the Digital Signatures of each signer and Time of signing the document of each signer. - The person who has the right to verify the Digital Signatures turns on the program and goes to the functionality of “Digital Signature” and selects the sub-function of “Digital Signature Verification for joint signing”. Select the digital document and all Digital Signatures of each signer and press “Confirm”.
• The system will process the digital document with the hash function, which the same algorithm used to create a digital signature. The hash value is derived. (Naming it as the “hash value of Doc”.)
• - The system will decrypt all Digital Signatures with each signer’s Public Key, one by one, resulting in the original hash value before being encrypted, until finishing all. (Naming them as “all hash values of Sig”.)
- The system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and all hash values resulted from decryption of each Digital Signature with each signer's Public Key (all hash values of Sig).
- If they are completely the same value, it is technically confirmed that the digital document was jointly signed by all indicated persons (who own indicated Public Keys).
- If there is a mismatch, it is technically telling that the digital document was not jointly signed by all indicated persons whose Public Keys used in the validation process. This could come from following causes.
• In case of that Public Key of any indicated person cannot decrypt the Digital Signature, that indicated person did not sign on the document.
• In case of that a certain Public Key of which indicated person can decrypt its Digital Signature but not the same hash value of the digital document, the certain indicated person technically signed on the other digital document. Not sign on the presented digital document.
- The system reports the verification result of the Digital Signatures to the person who has the right to verify it.
16. The system and method according to anyone of claim 1 to 9 or 11, further comprising: procedures and requirements for creating a new main blockchain line within Main Blockchain System comprising:
Main Blockchain System consists of a wide variety of main blockchain lines, being created for the purposes of the creator, which are controlled under Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System, as well as emerging within Owner Blockchain System for the same data owner.
To create a new main blockchain line, there are procedures and requirements as follows:
- The creator must be a group of persons with identity in the system (151).
- The creator names the blockchain line which will appear in “Dimension” field inside the main block and describes the objectives and scope of uses.
- The creator defines the user type for new blockchain line which there are options at least as follows:
• All is to open for all persons with identity in the system (131) and for all groups of persons with identity in the system (151).
• All Individuals is to open for all persons with identity in the system (131) only.
• All Groups is to open for all groups of persons with identity in the system (151), where the main block is created on behalf of the group only.
• Groups & Members is to open for some particular groups of persons with identity in the system (151) with their members only. This could be defined as one or more groups, but not exceeding the defined limit.
The defined user is a person or a group that is eligible to create the initial data within the new Blockchain line.
- When a person with identity in the system (131) or a group of persons with identity in the system (151) exists in the system later (after the existence of those created blockchain lines), the person or the group is applicable for using those created blockchain lines if complying with its user type.
- The creator defines a condition for ownership. This will appear at the field of Data Owner inside the main block. There are options for ownership at least as follows:
• Only the creator of an initial data has the ownership of the data. This applies for both as the person and on behalf of the group.
• Only other persons with identity in the system (131), but not the creator of an initial data, have the ownership of the data. • Only other groups of persons with identity in the system (151), but not the creator of an initial data, have the ownership of the data.
• All persons and all groups, but not the creator of an initial data, have the ownership of the data.
• All persons and all groups, including the creator of an initial data, have the ownership of the data.
In case of assigning other persons or other groups to have the ownership of the data, once the initial data was created, the system will submit the initial data for the specified person or members of specified group who have right to approve, to accept and approve it first. Then the creator of the initial data can broadcast it into the system.
- The creator defines the working structure in Data section with the options of following items. The creator does not have to select and use them all.
• Define these following Parameters:
V Constant which maintains one fixed value only.
V Variables which can exist in differing amounts or types according to processing conditions.
V Time which are both as the calendar and duration.
• Define an attached file which can be any format of digital file including Data files, image files, animation files, audio files, animation and sound files or program files being developed for a specific machine tool.
Be able to define more than one for attachment.
• Defines a range of data field for entering text.
Be able to define more than 1 data field.
• Define the formula for calculating, by using the specified parameters.
Be able to define more than 1 formula.
• Define and set up an instruction for program execution, by using the programming language, or using the ready-made program of Multi Dimension Blockchain System. Be able to define more than 1 instruction.
- Approval to create a new main blockchain line within Main Blockchain System must consider at least three parts as follows:
• Dimension - The designation of the blockchain name is appropriated.
• Data Owner - User type assignment is in accordance with the purpose of creating the blockchain line.
• Data - All of mechanism, recipe input, parameter, formula, instruction set and processing are practical. It does not cause an error and aligned with the purpose of creating a blockchain line.
- Approval to create a new main blockchain line in Main Blockchain System defines the approver as follows:
• In case of setting the user type as All, All Individuals and All Groups, it requires approval from all Nodes (132) at minimum of specified percentage.
• In case of setting the user type as Groups & Members, it requires approval from Nodes (132) at minimum of specified percentage, plus approval from members of the groups which being designated in user type at minimum of specified percentage.
The process of creating a new main blockchain line within Main Blockchain System is as follows:
- Member of the group of persons with identity in the system (151) turns on Multi Dimension Blockchain System on the computer system (133) and goes to the functionality of “Creating a new blockchain line within Main Blockchain System”. The system will request for defining each parts as follows:
• Part of Dimension field v Name Dimension. v Describe the scope and objective.
• Part of Data Owner field v Define user type. v Define the ownership conditions.
• Part of Data segment
V Define Parameters.
V Set attached files.
V Define the data field.
V Define the formulas.
V Set instructions and execution programs.
- The request for creating a new blockchain line, considered as an initial data, will be forwarded to the members of group who have the right to approve initial data. Once the approvers have submitted their approval exceeding the minimum requirement, without any reject within specified period, the request for creating a new blockchain line is deemed to have been done on behalf of the group. Then broadcast it into the system.
- The request for creating a new blockchain line which has been broadcasted will be considered and approved by the authorized authority, according to defined user type of the blockchain line. The approver will consider on three conditional factors of Dimension, Data Owner and Data whether they are suitable for the purpose of use or not.
- Once an approver has approved it, the approval result will be submitted into the system. At the same time, it will receive information of approval results from other approvers in the system.
- Other users in the system, both with and without permission, will be waiting to receive the approval results as well. If the number of approval results is greater than the number specified by the system, the system of each user will recognize that the request to create a new blockchain line has been approved.
- Once the system of each user recognizes for the approval, Blockchain Processing Logic (138) of Node (132) will update to add a newly main blockchain line with following essences.
• The name of the new blockchain line will be the name given in the request at part of Dimension field. • Eligibility for the new blockchain line must be a person with identity in the system (131) or a group of persons with identity in the system (151) as specified in the request at part of Data Owner field.
• When users who have rights to use the new blockchain line create the initial data, the operation of data input, data attachment, and other executions will be performed along with what have been specified in the request at part of Data segment.
• Update list of main blockchain line into the selection of all the associated functionalities.
• Configure the hash value to be store in “Hash of Previous Main Block” inside the genesis block.
• Configure the hash value to be store in “Hash of Previous Owner Block” inside the genesis block.
- Mobile Application System (109) of the portable communication device (102) will update to add a newly main blockchain line in the same manner. This is in accordance with the functionality that is designed to be performed on the portable communication device, subject to the technical limitations of the device.
- Newly main blockchain line which has been established in Main Blockchain System will be ready for use to create its new main block, according to rules and regulations of Main Blockchain System. Its new main block also emerges in Owner Blockchain System and connected with other blocks with the same owner. Eventually it can be deleted, edited and forwarded according to rules and regulations of deleting data, editing data and forwarding data respectively.
17. The system and method according to anyone of claim 1 to 9 or 11 or 16, further comprising: procedures and requirements for creating a new blockchain line for personal privilege management within Main Blockchain System comprising:
Main Blockchain System also consists of special blockchain lines, being created for the purposes of personal privilege management, which are controlled under Delete Control Blockchain System, Edit Control Blockchain System and Forward Control Blockchain System, as well as emerging within Owner Blockchain System for the same data owner.
A blockchain line for personal privilege management is to store a privilege of relevant persons with identity in the system (131) or relevant members of a group of persons with identity in the system (151) which he or she will apply his or her signature associated with that stored privilege in the blockchain.
To create a new blockchain line for personal privilege management, there are procedures and requirements as follows:
- The creator must be a group of persons with identity in the system (151).
- The creator names the blockchain line for personal privilege management which will appear in “Dimension” field inside the main block and describes the objectives and scope of uses.
- The creator defines the user type for new blockchain line for personal privilege management which there are options at least as follows:
• All Individuals is open for all persons with identity in the system (131) only.
• Groups & Members is open for some particular groups of persons with identity in the system (151) with their members only. This could be defined as one or more groups, but not exceeding the defined limit.
The defined user is a person or a member of the group that is eligible to create the request for personal privilege within the new blockchain line for personal privilege management.
- When a person with identity in the system (131) or a member of the group of persons with identity in the system (151) exists in the system later (after the existence of those created blockchain lines for personal privilege management), the person or the member of the group is applicable for using those created blockchain lines if complying with its user type.
- The creator defines a condition for ownership. This will appear at the field of Data Owner inside the block
- The creator defines the working structure in Data section with the options of following items. The creator does not have to select and use them all.
• Define the code number of the personal privilege.
• Define the name of the personal privilege.
• Define Parameters.
• Define an attached file which can be any format of digital file.
Be able to define more than one for attachment.
• Defines a range of data field for entering text. Be able to define more than 1 data field.
• Define the formula for calculating, by using the specified parameters.
Be able to define more than 1 formula.
• Define and set up an instruction for program execution, by using the programming language, or using the ready-made program of Multi Dimension Blockchain System.
Be able to define more than 1 instruction.
- Approval to create a new blockchain line for personal privilege management within Main Blockchain System must consider at least three parts as follows:
• Dimension - The designation of the blockchain name.
• Data Owner - User type assignment is in accordance with the purpose of creating the blockchain line for personal privilege management.
• Data - All of mechanism, recipe input, parameter, formula, instruction set and processing are practical. It does not cause an error and aligned with the purpose of creating a blockchain line.
- Approval to create a new blockchain line for personal privilege management within Main Blockchain System is done by all Nodes (132) at minimum of specified percentage.
The process of creating a new blockchain line for personal privilege management within Main Blockchain System is as follows:
- Member of the group of persons with identity in the system (151) turns on Multi Dimension Blockchain System on the computer system (133) and goes to the functionality of “Creating a new blockchain line for personal privilege management”. The system will request for defining each parts as follows:
• Part of Dimension field v Name Dimension. v Describe the scope and objective of this blockchain line for personal privilege management. • Part of Data Owner field v Define user type of this blockchain line for personal privilege management. v Define the ownership conditions.
• Part of Data segment v Define the code number of the personal privilege. v Define the name of the personal privilege.
V Define Parameters.
V Set attached files.
V Define the data field.
V Define the formulas.
Set instructions and execution programs.
- The request for creating a new blockchain line for personal privilege management, considered as an initial data, will be forwarded to the members of group who have the right to approve initial data. Once the approvers have submitted their approval exceeding the minimum requirement, without any reject within specified period, the request for creating a new blockchain line for personal privilege management is deemed to have been done on behalf of the group. Then broadcast it into the system.
- The request for creating a new blockchain line for personal privilege management which has been broadcasted will be considered and approved by the authorized authority, according to defined user type of the blockchain line. The approver will consider on three conditional factors of Dimension, Data Owner and Data whether they are suitable for the purpose of use or not.
- Once an approver has approved it, the approval result will be submitted into the system. At the same time, it will receive information of approval results from other approvers in the system.
- Other users in the system, both with and without permission, will be waiting to receive the approval results as well. If the number of approval results is greater than the number specified by the system, the system of each user will recognize that the request to create a new blockchain line for personal privilege management has been approved. - Once the system of each user recognizes for the approval, Blockchain Processing Logic (138) of Node (132) will update to add a newly blockchain line for personal privilege management with following essences.
• The name of the new blockchain line for personal privilege management will be the name given in the request at part of Dimension field.
• Eligibility for the new blockchain line for personal privilege management must be a person with identity in the system (131) or a member of the group of persons with identity in the system (151) as specified in the request at part of Data Owner field.
• When users who have rights to use the new blockchain line for personal privilege management create the initial data, the operation of data input, data attachment, and other executions will be performed along with what have been specified in the request at part of Data segment.
• Update list of blockchain line for personal privilege management into the selection of all the associated functionalities.
• Configure the hash value to be store in “Hash of Previous Main Block” inside the genesis block.
• Configure the hash value to be store in “Hash of Previous Owner Block” inside the genesis block.
- Mobile Application System (109) of the portable communication device (102) will update to add a newly blockchain line for personal privilege management in the same manner. This is in accordance with the functionality that is designed to be performed on the portable communication device, subject to the technical limitations of the device.
- Newly main blockchain line for personal privilege management which has been established in Main Blockchain System will be ready for use to create its new block, according to rules and regulations of Main Blockchain System. Its new block also emerges in Owner Blockchain System and connected with other blocks with the same owner. Eventually it can be deleted, edited and forwarded according to rules and regulations of deleting data, editing data and forwarding data respectively.
18. The system and method according to anyone of claim 1 to 9 or 11 or 16 or 17, further comprising: the process of claiming and revoking a personal privilege comprising: The process of claiming a personal privilege in a blockchain line for personal privilege management comprising:
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System. Select a desired specific blockchain line for personal privilege management which its user type is aligning with the claimant. Then go to functionality of “Personal privilege management”. Then select a sub-function of “Claim the personal privilege”.
- The system will ask to provide his or her information, in the format of inputting data and attach data files, according to its previous setup while creating that specific blockchain line for personal privilege management. Then press “Confirm” to submit his or her request.
- The current members of the group of persons with identity in the system (151) who have the right to approve the personal privilege will receive a notification through their portable communication device (102) regarding an approval request for a claim of personal privilege. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for a claim of personal privilege as desired, the system will move to the functionality and screen display of “Personal privilege management” and a sub-function of “Approval for new claim”. The system will provide the detail information of the request along with attachments if any.
- The current members who have the right to approve the personal privilege will take a consideration and either approve or reject. The system will take the feedback information forward to the claimant.
- When the approval results are exceeding the minimum requirement of “approved”, and less than the maximum requirement of “reject” within a specified period, the request for a claim of personal privilege is considerably approved. The approved request is considered as the initial data which is ready for broadcasting.
- The claimant turns on Multi Dimension Blockchain System and goes to functionality of “Broadcasting an initial data”. Then select the desired approved request and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
- All Nodes (132) will receive the initial data, and then validating for its correctness and compliances with rules and regulations of Multi Dimension Blockchain System, before creating as a data block. - Once the data block of the claimant is created within the specific blockchain line for personal privilege management, he or she is presently entitled for his or her specific personal privilege completely.
To revoke a specific personal privilege of oneself or others, a person with identity in the system (131), who has that specific personal privilege and being recorded in that specific blockchain line for personal privilege management, can process as follows:
- A person with identity in the system (131), who wants to request for revocation of a personal privilege, turns on the program of Multi Dimension Blockchain System. Select a desired specific blockchain line for personal privilege management and go to functionality of “Personal privilege management”. Then select a sub-function of “Revoke the personal privilege”.
- Select the name of the person whom the personal privilege is meant to be revoked, by using drop-down list of names.
- Specify the reason for the request for revocation of a personal privilege. Attach the document if any and press “Confirm” to submit the request.
- The current members of the group of persons with identity in the system (151) who have the right to approve the personal privilege will receive a notification through their portable communication device (102) regarding an approval request for revocation of a personal privilege. Once turn on Multi Dimension Blockchain System and go to functionality of “Notification”, the system will show a list of approval request. Select the approval request for revocation of a personal privilege as desired, the system will move to the functionality and screen display of “Personal privilege management” and a sub-function of “Approval for revocation of a personal privilege”. The system will provide the detail information of the request along with attachments if any.
- The current members who have the right to approve the personal privilege will take a consideration and either approve or reject. The system will take the feedback information forward to the requester.
- When the approval results are exceeding the minimum requirement of “approved”, and less than the maximum requirement of “reject” within a specified period, the request for revocation of the personal privilege is considerably approved. The approved request is considered as the initial data which is ready for broadcasting. - The person requesting for revocation of the personal privilege turns on Multi Dimension Blockchain System and goes to functionality of “Broadcasting an initial data”. Then select the desired approved request and press “Confirm”. The system will broadcast the initial data via internet system to all nodes (132) within Multi Dimension Blockchain System.
- All Nodes (132) will receive the initial data, and then validating for its correctness and compliances with rules and regulations of Multi Dimension Blockchain System, before creating as a data block.
- Once the data block of the requester is created within the specific blockchain line for personal privilege management, the specific personal privilege of the selected person is revoked completely.
19. The system and method according to anyone of claim 1 to 15 or 17 or 18, further comprising: procedures of digital signature with personal privilege and its verification comprising:
A person with identity in the system (131) shall be verified for his or her personal privilege against the information stored in the blockchain line for personal privilege management, before applying his or her digital signature binding with a digital document as an initial data. Later the signature and its relevant data will be stored in the Data segment inside the data block, which being created. The application of digital signature with personal privilege has the significant specifications as follows:
- Verify it firstly whether the signer is holding the personal privilege specified for signing the digital document, before signing.
• The verification session starts with using “Name of the personal privilege” to call a blockchain line for personal privilege management which its dimension is matched.
• Then using the identity of the signer to call the latest block which its “Data Owner” is matched as the same person.
• Finally reading the status of the signer inside “Data” segment, whether it is active or inactive.
- The verification result will enable the system to issue a “Digital confirmation of signer with personal privilege”, consisting of: • Name of the personal privilege
• Name of the person who holds the personal privilege
• Information specifying the block of keeping record, which is Header.
• Information specifying the time of keeping record, which is Timestamp.
• Information indicating the time at when the personal privilege is verified.
- In the Data segment inside the data block, four related data parts are stored regarding the use of digital signature. They are a digital document (being signed), digital signature (legal binding the document with the owner of signature), time record of signing and digital confirmation of signer with personal privilege.
- All data inside Data segment of the main block, once being accessed and read, will always present the same data as original data at time of being stored, complying with the legal regulations. This enables the data stored inside the block is effective as original.
- Digital signature can be verified by applying of the pair of electronic key, which is belonging to the specific person. It can be confirmed that the specific person who owns the pair of electronic key signed the relevant digital document with undeniable.
- Creating digital document (to be signed) either on the computer system (133) or Mobile Application System (109) of the portable communication device (102) which is based on the limitations of the data files.
- Digital signature requires Private Key (121) stored on the signer's the portable communication device (102).
The process for a person with personal privilege to sign a digital document with digital signature and to verify its correctness is as follows:
- A person with identity in the system (131) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Creating data”, which is the entry path through creating a main block within Main Blockchain System. There is a requirement to create the initial data according to the purpose of the blockchain line. There is 2 types of data created.
• Data being generated automatically by the system, which is data owner.
• Information of which the person with identity in the system (131) creates. - A person with identity in the system (131) goes to functionality of “Digital signature” and selects a sub-function of “Creating a document to be signed by a person with personal privilege”. The screen display will show the drop-down list of the code number together with the name of the personal privilege. Then select the desired code number or name of the personal privilege. Press “Confirm”.
- The system will call the information from the specific blockchain line for personal privilege management according to the code number of the personal privilege.
- Once it was discovered that the person with identity in the system (131) has a record of the personal privilege inside a block within the specific blockchain line for personal privilege management, the system will issue a “Digital confirmation of signer with personal privilege”. And proceed to the next step.
- Select the document which has been created in Step No.1, from drop-down list. Press “Confirm”.
• The system will process the selected document into the hash function.
• The derived hash value will be encrypted with an electronic key of single key type, which is shown on screen display of the computer system (133) for further use of decoding
• The hash value that is encrypted with an electronic key of single key type, is sent to Mobile Application System (109) of the portable communication device (102) with notification of the hash value of a document pending for signing process.
- The portable communication device (102) has a notification regarding the hash value of a document pending for signing process. Then access through Mobile Application System (109) for a functionality of “Digital signature” and select a sub-function of “Hash value of a document pending for signing process”. Select the desired hash value of the document and press “Sign the selected hash value of the document with digital signature”, (if not want to proceed, press “Cancel”.)
• The system will demand for input of the electronic key of single key type.
• Enter the electronic key of single key type, which shown previously on the screen display of the computer system (133). This enables the decryption of the hash value (of the document to be signed) which having been sent to Mobile Application System (109) of the portable communication device (102). • The system will process the decrypted hash value (of the document to be signed) with encryption of Private Key (121) of the signer (whose Private Key is stored in his portable communication device).
• The hash value (of the document being signed) with encryption of Private Key is the “Digital Signature” which is attached to the selected document. Time while Private Key is encrypted will be recorded as “Time of signing the document”.
• The “Digital Signature” and “Time of signing the document” will be encrypted with another electronic key of single key type, which is shown on screen display of the portable communication device (102) for further use of decoding.
• The “Digital Signature” and “Time of signing the document” that is encrypted with another electronic key of single key type, is sent to the computer system (133) with notification of encrypted Digital Signature and its data.
- The computer system (133) has a notification regarding encrypted Digital Signature and its data. Then turn on the program and go to the functionality of “Digital signature” and select a sub-fimction of “Decrypt digital signature and its data”. Select the encrypted Digital Signature and its data and press “Confirm”.
• The system will demand for input of the electronic key of single key type.
• Enter the electronic key of single key type, which shown on the screen display of the portable communication device (102) in Step No.3. This enables the decryption of the Digital Signature and Time of signing the document which having been sent to the computer system (133).
• Go to the functionality of “Broadcasting an initial data” and select the digital document (being signed), the Digital Signature, Time of signing the document and Digital confirmation of signer with personal privilege. Press “Confirm”.
• The system will broadcast the initial data of the digital document (being signed), the Digital Signature, Time of signing the document and Digital confirmation of signer with personal privilege via internet system to all Nodes.
- All Nodes (132) will receive and then validate the initial data. Eventually, if all validation is correct, the main block is created with the processes as described in section 13. The process of creating a block and determining a Node to create the prototype block.
- The person who has the right to verify the Digital Signature turns on the program and goes to the functionality of “Personal privilege management” and selects the sub-fimction of “Verify the digital confirmation of signer with personal privilege”. Select the Digital confirmation of signer with personal privilege and press “Confirm”.
• The system will trace back to specific blockchain line for personal privilege management and the latest block of which store the personal privilege of the signer.
• If the name of the personal privilege, name of the signer and “active” status are correct, it confirms that the signer is eligible to sign the digital document with specific personal privilege. e If the verification is not correct, it indicates that the signer is not eligible to sign the digital document.
• The system reports the verification result to the person who has the right to verify it.
- The person who has the right to verify the Digital Signature turns on the program and goes to the functionality of “Digital signature” and selects the sub-function of “Digital signature verification”. Select the digital document and the Digital Signature and press “Confirm”.
• The system will process the digital document with the hash function, which the same algorithm used to create a digital signature. The hash value is derived. (Naming it as the “hash value of Doc”.)
• The system will decrypt the Digital Signature with the signer’s Public Key, resulting in the original hash value before being encrypted. (Naming it as the “hash value of Sig” )
• The system compares the hash value derived from the hash function of the digital documents (hash value of Doc) and the hash value resulted from decryption of the Digital Signature with the signer's Public Key (hash value of Sig).
• If they are completely the same value, it is technically confirmed that the digital document was signed by the right person (who owns Public Key).
• If there is a mismatch, it is technically telling that the digital document was not signed by the indicated person whose Public Key used in the validation process. This could come from following causes.
V In case of that Public Key of the indicated person cannot decrypt the Digital Signature, the indicated person did not sign on the document.
V In case of that Public Key of the indicated person can decrypt the Digital Signature (getting hash value of Sig) but not the same hash value of the digital document (hash value of Doc), the indicated person technically signed on the other digital document. Not sign on the presented digital document. • The system reports the verification result of the Digital Signature to the person who has the right to verify it.
20. The system and method according to anyone of claim 1 to 19, further comprising: methods and procedures for traceability of data comprising:
There are three methods for traceability of data within Multi Dimension Blockchain System, enabling with the linked list and its external pointers and internal pointers to access through each block for verification.
Method 1 : Traceability for the completeness of the data blocks within a particular blockchain line, comprising:
Select the desired blockchain line to perform the traceability. The system will limit to check only for those data blocks of which Dimension field meeting the criteria.
Select the latest Block within the blockchain line, facilitating by the linked list to point the latest block.
Retrieve the hash value of the previous block, which is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Previous Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Previous Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Previous Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Previous Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Previous Owner Block field.
- Check the linked list by using the hash value of the previous block as an internal pointer to access through the previous block, whose present hash value is matched. The present hash value is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Present Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Present Delete Control Block field. • For Edit Control Blockchain System, it is stored at Hash of Present Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Present Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Present Owner Block field.
Repeat these processes to access through the previous block one by one.
• Retrieve the hash value of the previous block.
• Check the linked list by using the hash value of the previous block as the internal pointer to access through the previous block, whose present hash value is matched and keep going on.
- Once it reaches the genesis block, then stops. The genesis block contains a special system-defined value to distinguish itself. The special value is stored at Hash of Previous Main Block field, Hash of Previous Delete Control Block field, Hash of Previous Edit Control Block field, Hash of Previous Forward Control Block field, or Hash of Previous Owner Block field, depending on the type of blockchain.
The system will perform another round of traceability, but this time is from the genesis block to the latest block as follows:
Select the genesis block within the blockchain line, facilitating by the external pointer of linked list to point the genesis block.
Retrieve the hash value of the present block, which is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Present Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Present Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Present Edit Control Block field. • For Forward Control Blockchain System, it is stored at Hash of Present Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Present Owner Block field.
Check the linked list by using the hash value of the present block as the internal pointer to access through the next block, which stores the hash value of previous block at the same value. The hash value of previous block is stored, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Previous Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Previous Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Previous Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Previous Forward Control Block field.
• For Owner Blockchain System, it is stored at Hash of Previous Owner Block field.
Repeat these processes to access through the latest block one by one.
• Retrieve the hash value of the present block.
• Check the linked list by using the hash value of the present block as the internal pointer to access through the next block, which stores the hash value of previous block at the same value and keep going on.
Once it reaches the latest block, then stops.
If done successfully, it is confirmed that there is no foreign block being inserted within the blockchain line, and no blockchain fork (where a blockchain diverges into more than one path forward) as well.
This method can be applied to all types of blockchain line, including Main Blockchain System, Delete Control Blockchain System, Edit Control Blockchain System, Forward Control Blockchain System and Owner Blockchain System. Method 2: Traceability for the correctness of data inside the main block within a particular main blockchain line, comprising:
Select the desired main blockchain line to perform traceability. The system will limit to check only for those main blocks of which Dimension field meeting the criteria.
Select the latest main block within the main blockchain line, facilitating by the linked list to point the latest main block. It is also possible to find the latest block by using Timestamp value.
Process the data inside the latest block through the hash function and compare it with Hash of Present Main Block.
Case No.1: If matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another.
- “Process of accessing through the previous main block” starts with that the system will retrieve the hash value of the previous main block, which is stored in the Hash of Previous Main Block.
Check the linked list by using the hash value of the previous main block as an internal pointer to access through the previous main block, whose present hash value is matched.
Process the data inside the aforementioned main block (the desired previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
The same as in Case No.1 , if matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another again.
However, if not matched, it indicates that there are some changes on data inside the main block. The system will continue to check Delete Count field.
Case No.2: If Delete Count = “ 1”, the data inside the main block has been deleted with the delete-command block.
Retrieve the hash value of the delete-command block, which is stored at Delete Hash field. Check the linked list by using the hash value of the delete-command block as an internal pointer to access through the delete-command block, whose Hash of Present Delete Control Block is matched.
Process the data inside the delete-command block through the hash function and compare it with Hash of Present Delete Control Block.
If matched, it confirms that data inside the delete-command block is correct and the deletion of data inside Data segment of the main block was performed with correctness. The system will then go through to check the previous main block one after another.
- In this case, the system will proceed for “Process of accessing through the previous main block” to access through the previous main block for next verification.
Process the data inside the aforementioned main block (the second-order previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
The same as in Case No.1, if matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another again.
The same as in Case No.2, if not matched, it indicates that there are some changes on data inside the main block. The system will continue to check the Delete Count field.
However, if Delete Count = “0”, the data inside the main block has not been deleted. The system will continue to check Forward Count field and Edit Count field.
- Case No.3 : If Delete Count = “0” and Forward Count = “0” but Edit Count > “0”, the data inside the main block has been edited with the edit-command block.
Retrieve the hash value of the edit-command block, which is stored at Edit Hash field.
Check the linked list by using the hash value of the edit-command block as an internal pointer to access through the edit-command block, whose Hash of Present Edit Control Block is matched.
Process the data inside the edit-command block through the hash function and compare it with Hash of Present Edit Control Block. If matched, it confirms that data inside the edit-command block is correct and the modification of data inside Data segment of the main block was performed with correctness. The system will then go through to check the previous main block one after another.
In this case, the system will proceed for “Process of accessing through the previous main block” to access through the previous main block for next verification.
Process the data inside the aforementioned main block (the third-order previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
The same as in Case No.1, if matched, it confirms that data inside the main block is correct. The system will then go through to check the previous main block one after another again.
The same as in Case No.2, if not matched, it indicates that there are some changes on data inside the main block. The system will continue to check the Delete Count field.
The same as in Case No.3, if Delete Count = “0” and Forward Count = “0” but Edit Count > “0”, the data inside the main block has not been deleted.
- Case No.4: If Delete Count = “0” and Edit Count = “0” but Forward Count > “0”, the data inside the main block has been forwarded with the forward-command block.
Retrieve the hash value of the forward-command block, which is stored at Forward Hash field.
Check the linked list by using the hash value of the forward-command block as an internal pointer to access through the forward-control block whose Hash of Present Forward Control Block is matched.
Process the data inside the forward-command block through the hash function and compare it with Hash of Present Forward Control Block.
If matched, it confirms that data inside the forward-command block is correct and the transmission of data from Data segment of the main block was performed with correctness. The system will then go through to check the previous main block one after another.
- In this case, the system will proceed for “Process of accessing through the previous main block” to access through the previous main block for next verification. Case No.5: This is a combination of Case No.3 and Case No.4 which Delete Count =
“0” while Edit Count > “0” and Forward Count > “0”. It indicates that the original data was edited and forwarded to other user in the system. The verification requires both processes of Case No.3 and Case No.4 as follows:
• Use value at Edit Hash field of the main block as the internal pointer to Hash of Present Edit Control Block of the edit-command block, to access through the editcontrol block. Then process the data inside the edit-command block through the hash function and compare it with Hash of Present Edit Control Block.
• If matched, it confirms that data inside the edit-command block is correct and the modification of data inside Data segment of the main block was performed with correctness.
• Use value at Forward Hash field of the main block as the internal pointer to Hash of Present Forward Control Block of the forward-command block, to access through the forward-command block. Then process the data inside the forward-command block through the hash function and compare it with Hash of Present Forward Control Block.
• If matched, it confirms that data inside the forward-command block is correct and the transmission of data from Data segment of the main block was performed with correctness.
- The system will continue to verify the previous main block one after another, by taking “Process of accessing through the previous main block” and applying all those Case No.l to 5, until reaching the genesis main block. Once hitting the end at the genesis main block, it confirms that data inside all blocks within the desired main blockchain line is correct.
Method 3 : Traceability for the correctness of data inside the owner block of each particular data owner, comprising:
Select the desired owner blockchain line within Owner Blockchain System to perform traceability. The system will limit to check only for those blocks of which Data Owner field meeting the criteria. Select the latest owner block within the owner blockchain line, facilitating by the linked list to point the latest owner block.
“The preliminary verification” starts with that the system will process the data of the owner block through the hash function and compare it with the hash value which is stored inside its own block, depending on type, as follows:
• For Main Blockchain System, it is stored at Hash of Present Main Block field.
• For Delete Control Blockchain System, it is stored at Hash of Present Delete Control Block field.
• For Edit Control Blockchain System, it is stored at Hash of Present Edit Control Block field.
• For Forward Control Blockchain System, it is stored at Hash of Present Forward Control Block field.
If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.1 : Dimension specifies for a type of Main Blockchain System.
- Perform “Verifying the block before” by retrieving the hash value of the previous block, which is stored at the Hash of Previous Main Block field.
Check the linked list by using the hash value of the previous block as an internal pointer to access through the previous block, whose present hash value is matched.
Process the data inside the aforementioned block (the desired previous main block) through the hash function and compare it with Hash of Present Main Block of its own.
If matched, it indicates that data inside the previous main block is correct.
- Perform “Verifying the block after” by retrieving the hash value which is stored at the Hash of Present Main Block field.
Check the linked list by using the hash value of the present block as an internal pointer to access through the next-order block, whose Hash of Previous Main Block is matched. Process the data inside the aforementioned block (the desired next-order main block) through the hash function and compare it with Hash of Present Main Block of its own.
If matched, it indicates that data inside the next-order main block is correct. It confirms that the owner block is truly within that particular main blockchain line of Main Blockchain System.
- “Process of accessing through the previous owner block” starts with that the system will retrieve the hash value of the previous owner block, which is stored in the Hash of Previous Owner Block.
Check the linked list by using the hash value of the previous owner block as an internal pointer to access through the previous owner block, whose Hash of Present Owner Block is matched. It then becomes the current-focused block for verification.
The system will proceed for “The preliminary verification” of the current-focused block. If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.2: Dimension specifies for a type of Main Blockchain System, but in the different main blockchain line.
- Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1.
If matched, it confirms that the current-focused owner block is truly within that particular main blockchain line of Main Blockchain System.
The system will proceed for “Process of accessing through the previous owner block” to access through the previous owner block for next verification.
- The system will proceed for “The preliminary verification” of the current-focused block. If matched, it passes the preliminary verification.
- Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.3: Dimension specifies for a type of Delete Control Blockchain System. Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1, by using Hash of Previous Delete Control Block and Hash of Present Delete Control Block as internal pointers to access through the desired blocks within Delete Control Blockchain System.
If matched, it confirms that the current-focused owner block is truly within Delete Control Blockchain System.
The system will proceed for “Process of accessing through the previous owner block” to access through the previous owner block for next verification.
The system will proceed for “The preliminaiy verification” of the current-focused block. If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.4: Dimension specifies for a type of Edit Control Blockchain System.
- Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1, by using Hash of Previous Edit Control Block and Hash of Present Edit Control Block as internal pointers to access through the desired blocks within Edit Control Blockchain System.
If matched, it confirms that the current-focused owner block is truly within Edit Control Blockchain System.
The system will proceed for “Process of accessing through the previous owner block” to access through the previous owner block for next verification.
The system will proceed for “The preliminaiy verification” of the current-focused block. If matched, it passes the preliminary verification.
Check the data at Dimension field and Header field to go through the blockchain line with the same Dimension and go to the block at the same Header.
Case No.5: Dimension specifies for a type of Forward Control Blockchain System.
- Perform “Verifying the block before” and “Verifying the block after” in the same manner of Case No.1, by using Hash of Previous Forward Control Block and Hash of Present Forward Control Block as internal pointers to access through the desired blocks within Forward Control Blockchain System.
If matched, it confirms that the current-focused owner block is truly within Forward Control Blockchain System.
The system will continue to verify the previous owner block one after another, by taking “Process of accessing through the previous owner block”, “The preliminary verification” and applying all those Case No.1 to 5, until reaching the genesis owner block. Once hitting the end at the genesis owner block, it confirms that all data inside the owner blocks of the desired owner is correct.
The traceability system within Multi Dimension Blockchain System would operate in 2 approaches.
Approach No.l : Operate automatically. The system will automatically perform the traceability at every specified period. The traceability will carry on as follows:
- Operate with Method 1 : Traceability for the completeness of the data blocks within a particular blockchain line.
• Start with Main Blockchain System for all blockchain lines.
• Continue with Delete Control Blockchain System.
• Continue with Edit Control Blockchain System.
• Continue with Forward Control Blockchain System.
• Continue with Owner Blockchain System for all blockchain lines of each data owner.
- Operate with Method 2: Traceability for the correctness of data inside the main block within a particular main blockchain line.
• Verify all main blockchain lines within Main Blockchain System.
- Operate with Method 3 : Traceability for the correctness of data inside the owner block of each particular data owner. • Verify all owner blockchain lines of each data owner within Owner Blockchain System.
Approach No.2: Operate manually. A person will command for the execution of traceability as desired, associated with his or her right on the data block. The process of manual traceability is as follows:
- A person with identity in the system (131) turns on Multi Dimension Blockchain System and goes to the functionality of “Traceability” and selects the sub-function of “Verify a data block within a blockchain line”. Then select the desired block. However, it requires the ownership to select the desired block for verification.
- The system will perform verification with Method 1 : Traceability for the completeness of the data blocks within a particular blockchain line. The verification goes through the whole line of that selected block.
• Start verification with the selected block and go all the way back to the genesis block.
• Then start verification from the genesis block and go through the selected block.
• Then start verification from the selected block and go through the latest block.
• Then start verification from the latest block and go all the way back to the selected block.
- The system will continue to perform with Method 2: Traceability for the correctness of data inside the main block within a particular main blockchain line.
• Start verification with the selected block and go backward through the previous blocks until reaching the genesis block.
• Then start verification with the latest block and go backward through the previous blocks until reaching the selected block.
The system will present the result of the traceability.
• Report “Correctness”, if everything is correct.
• Report “Data Error” and indicate anomalies found from the verification, if there are something wrong. - Moreover, It still provides the traceability on owner blockchain line exclusively for the data owner. The person with identity in the system (131) turns on Multi Dimension Blockchain System and goes to the functionality of “Traceability” and selects the sub-function of “Verify the owner blockchain line by the owner”.
- The system will perform verification with Method 1 : Traceability for the completeness of the data blocks within a particular blockchain. The verification will go through the whole owner blockchain line associated with the data owner.
• Start verification with the latest block and go all the way back to the genesis block.
• Then start verification from the genesis block and go through the latest block.
- The system will perform verification with Method 3 : Traceability for the correctness of data inside the owner block of each particular data owner. The verification will go through the whole owner blockchain line associated with the data owner.
- The system will present the result of the traceability.
• Report “Correctness”, if everything is correct.
• Report “Data Error” and indicate anomalies found from the verification, if there are something wrong.
21. The system and method according to anyone of claim 1 to 20, further comprising: procedures and requirements for reconciling the data blocks of each Node comprising:
The requirements for reconciling the data blocks between all Nodes are as follows:
- Every Nodes broadcast the data blocks being stored in their database system at every specified period.
- Every Nodes receive those data blocks to compare with the data blocks being stored at their stations.
- Perform verification for each single data block repeatedly by comparing with the same data block receiving from different Nodes, until getting verification result of correctness more than the specified number. Then it is counted that the validity of the aforementioned data block has been verified.
- Once complete the verification for all data blocks within the blockchain line, the system will record the verification time. - If verification result of mismatch is more than the specified number, then the data block is treated as an unverified data block.
- Perform the further verification on the unverified data block with the traceability methods for the completeness and the correctness of the data blocks within the blockchain line. If an anomaly is found, update the data block with the correct one and record the anomaly. If an anomaly is not found, the system will report it to the person who owns or controls the Node for further investigation.
- The verification result of mismatch will be broadcasted to other Nodes.
- The person who owns or controls the Node, whose unverified data blocks have not been discovered, must proceed for finding the root cause and report to every other Nodes for acknowledgment.
- The persons who own or control the Nodes, jointly consider for correcting, improving or taking any actions against the issues, including the prevention program.
The procedure for reconciling the data blocks between Nodes consisting of automatic operations by the program and actions taken by persons who own or control the Nodes comprising:
The procedure of an automatic verification and correction by the program is as follows:
- The Node broadcasts the data blocks being stored in its database system.
- The Node receives those data blocks from other Nodes to compare with the data blocks being stored at its Node.
- Perform verification for each single data block repeatedly until getting verification result of correctness more than the specified number. Then it is counted that the validity of the aforementioned data block has been verified.
- Complete the verification for all data blocks within the blockchain line. Then the system will record the verification time.
- If verification result of mismatch is more than the specified number, then the data block is treated as an unverified data block. The system will examine the data inside the block to find the error portion.
• In case of that the hash value of the previous block being stored inside its own block is not matched, it indicates that the link is accessing through a totally different previous block. V Check the linked list by using the hash value of the previous block as an internal pointer to access through the previous block, whose present hash value is matched.
V If the previous block is not found, it confirms that only the particular block is an error. Update its database system by using the good data block from other Nodes.
V If the previous block is found, repeat accessing through the prior previous block, one after another, until reaching the genesis block. If the genesis block, associated with rules and conditions of that blockchain line, is not found, it indicates that the blockchain line is not genuine in the system. Update its database system by using the good blockchain line from other Nodes.
• In case of that other part of data (beside the hash value of the previous block) is not matched, it indicates there may be a change on this part of data.
V Perform a comparison of the hash value of the present block being stored inside its own block. If not matched, it indicates that the particular block is an error. Update its database system by using the good data block from other Nodes.
V If matched, verify the parts of data which have not been processed through the hash function. If those parts of data are not matched, it indicates that the particular block is an error. Update its database system by using the good data block from other Nodes.
V If those other parts of data are matched, process the data of the block through the hash function and compare with the hash value of present block being stored inside its own block. If not matched, it indicates that the particular block is an error. Update its database system by using the good data block from other Nodes.
V If those hash values are matched, it indicates that there is something wrong with the system. It urgently requires the persons who own or control the Nodes to take a corrective action jointly.
The verification result of mismatch will be broadcasted to other Nodes for the following acknowledgements:
• Recognize which Nodes send anomalous data blocks into the system.
• Recognize which Nodes have recorded unverified data blocks. • Recognize which unverified data blocks have not been discovered for any anomalies after further verification.
The procedure of verification and corrective actions taken by persons with identity in the system (131) who own or control the Nodes is as follows:
- Persons who own or control the Nodes receive a notification message and report of verification result of mismatch for Nodes broadcasting and storing the anomalous data blocks.
• Carry out a joint investigation to find out the cause of the malfunction and agree on the corrective action.
• Cany out a joint investigation on those Nodes with issues of broadcasting and storing the anomalous data blocks. Then agree on warning or punishment.
- Persons who own or control the Nodes receive a notification message and report of verification result of mismatch for unverified data block not being discovered for any anomalies.
• Carry out a joint investigation to find out the root cause of the error and agree on the corrective action.
22. The system and method according to anyone of claim 1 to 21, further comprising: procedures and requirements for printing out a digital document stored inside a data block to use it as the original document comprising:
The original data inside a data block within Multi Dimension Blockchain System could be printed out associated with the procedures and requirements for printing out so that the printout (paper) will have the same effect as the original document.
The requirements for managing the printout system of Multi Dimension Blockchain System comprising:
There are only 2 types of publishers as follows:
• Owner of the digital data and it is limited to print out his or her digital data only from the Node (132).
• Digital data controller who owns or controls the Node (132) being operated for printing out, with the permission of the data owner. - The digital data to be printed out must be only stored in a data block within Multi Dimension Blockchain System. The import of publication’s original digital data must fall into one of these following categories.
• It starts with an initial data which the other Node broadcasts into the system. Then the Node imports and examines it. Eventually the Node earns the right to creating it as a prototype block, before storing it in its own database system, and broadcasting it to other Nodes.
• It is a prototype block which has been created and broadcasted by the other Node, who has the right to create the prototype block. Then the Node imports and examines it, before storing it in the database system.
• It is a data block which the other Node broadcasts into the system for reconciliation process. Then the Node imports and uses it through reconciliation process. Once the Node finds the error on its own data block, the updating for the correct data block is taking place. Eventually the imported correct one is stored in the database system.
- Equipment inspection policy must consist at least as follows:
• Register all equipments and devices associated with the printing out process.
• Develop a list of preventive maintenance, testing and inspection of registered equipments and devices, associated with method and duration of each activity.
• Record the practices of preventive maintenance, testing, inspection, repair and replacement with details specifying by whom and when the practices were operated.
- There will be one or more selections of reference data to appear on the printout as follows:
• Printout comes from which blockchain line.
• Printout comes from which data block.
• Printout comes from which Node.
• Printout is prepared by whom and in which status (data owner or Node controller).
• Printout comes from which printer.
• Printout is generated on which date and at which time.
- Printout log will record the detail of printing-out process and relevant information at least as follows:
• The original data comes from which blockchain line and which data block.
• The Node which generates the printout. • The person who generates the printout, and in which status (data owner or Node controller).
• The printer which generates the printout.
• Time of printing out.
The process of printing out is as follows:
- A person with identity in the system (131) who owns or controls the Node (132) turns on the program of Multi Dimension Blockchain System on the computer system (133) and goes to functionality of “Printout management” and selects a sub-function of “Generating a printout”.
- Select the desired blockchain line and the data block which store the desired original data for printout.
- Select the original data which the person has the right to access for printing out.
- Select the references which to appear on the printout.
- Select the printer which is registered under the equipment inspection policy.
- Prepare the printer and paper or material for printout.
- When ready, press “Confirm”.
- The screen will display a preview of characters, letters, lines, images, symbols, and others of the original data along with the selected reference data which would appear on the paper or material for printout.
- If correct, press “Confirm”.
- The printer will generate the printout document.
- The system will record the detail of printing-out process and relevant information in the printout log.
PCT/TH2021/000013 2021-04-20 2021-04-23 System and method for creating multi dimension blockchain WO2022225467A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/TH2021/000075 WO2022225468A1 (en) 2021-04-20 2021-12-28 Multi dimension blockchain

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TH2101002243 2021-04-20
TH2101002243 2021-04-20

Publications (1)

Publication Number Publication Date
WO2022225467A1 true WO2022225467A1 (en) 2022-10-27

Family

ID=83723106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/TH2021/000013 WO2022225467A1 (en) 2021-04-20 2021-04-23 System and method for creating multi dimension blockchain

Country Status (1)

Country Link
WO (1) WO2022225467A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240625A (en) * 2023-11-14 2023-12-15 武汉海昌信息技术有限公司 Tamper-resistant data processing method and device and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190386969A1 (en) * 2015-01-26 2019-12-19 Listat Ltd. Decentralized Cybersecure Privacy Network For Cloud Communication, Computing And Global e-Commerce
US20200160947A1 (en) * 2018-11-07 2020-05-21 Align Technology, Inc. Multi-dimensional cryptographically secured datastores for managing medical records
US20200341702A1 (en) * 2019-04-24 2020-10-29 Kyocera Document Solutions Inc. Image forming system, server, image forming apparatus, and image forming method that reduce server capacity and allows to pull print
US20210090037A1 (en) * 2015-11-24 2021-03-25 L4S Corp. Blockchain solutions for financial services and other transactions-based industries

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190386969A1 (en) * 2015-01-26 2019-12-19 Listat Ltd. Decentralized Cybersecure Privacy Network For Cloud Communication, Computing And Global e-Commerce
US20210090037A1 (en) * 2015-11-24 2021-03-25 L4S Corp. Blockchain solutions for financial services and other transactions-based industries
US20200160947A1 (en) * 2018-11-07 2020-05-21 Align Technology, Inc. Multi-dimensional cryptographically secured datastores for managing medical records
US20200341702A1 (en) * 2019-04-24 2020-10-29 Kyocera Document Solutions Inc. Image forming system, server, image forming apparatus, and image forming method that reduce server capacity and allows to pull print

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240625A (en) * 2023-11-14 2023-12-15 武汉海昌信息技术有限公司 Tamper-resistant data processing method and device and electronic equipment
CN117240625B (en) * 2023-11-14 2024-01-12 武汉海昌信息技术有限公司 Tamper-resistant data processing method and device and electronic equipment

Similar Documents

Publication Publication Date Title
CN111800268B (en) Zero knowledge proof for blockchain endorsements
US10999063B2 (en) Methods and apparatus for verifying a user transaction
US10382205B1 (en) Security system and method for using a blockchain service through privacy-aware blockchain arbitration server
US20210075623A1 (en) Decentralized data verification
CN112069165A (en) Document redaction and coordination
CN108846776A (en) A kind of digital literary property protection method based on block chain technology
US20030217264A1 (en) System and method for providing a secure environment during the use of electronic documents and data
KR102088218B1 (en) Online examination management system and method thereof
CN114365116A (en) Out-of-chain notification of updates from private blockchains
GB2560671A (en) Systems and methods of secure data exchange
US20100023758A1 (en) Document authentication using electronic signature
US11526955B2 (en) Protocol-based system and method for establishing a multi-party contract
US11240003B2 (en) Consent-based data management
US20220141014A1 (en) Storing secret data on a blockchain
US20220360450A1 (en) Data anonymization of blockchain-based processing pipeline
CN114450708A (en) Chain code recommendation based on existing chain codes
US11621858B2 (en) Anonymity mechanisms in permissioned blockchain networks
EP4152197A1 (en) Methods and systems for managing user data privacy
Shakan et al. Verification of university student and graduate data using blockchain technology
DE112021002053T5 (en) Noisy transaction to protect data
Purba et al. Application of Blockchain technology to prevent the potential of plagiarism in scientific publication
JP2024509666A (en) Blockchain data segregation
JP2023551458A (en) Key regeneration in blockchain networks via OPRF
WO2022225467A1 (en) System and method for creating multi dimension blockchain
CN116157796A (en) Alert account

Legal Events

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

Ref document number: 21938069

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21938069

Country of ref document: EP

Kind code of ref document: A1