Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR THE SECURE TRANSFER AND VERIFICATION OF OWNERSHIP OF DIGITAL SEQUENCES
Document Type and Number:
WIPO Patent Application WO/2014/165925
Kind Code:
A1
Abstract:
A system and method are described which provides the ability to securely transfer ownership of digital sequences, or verify ownership, without the need to place trust in a third party, and without risk of anyone stealing or modifying the digital sequence. The system uses hash functions and linked records to create a transaction history for a digital sequence. The digital, sequence may be used to represent another digital object. Each record contains fields generated using one or more hash values known to the owner. An owner transfers ownership by publishing an additional record or records in which the hash values are revealed and the new owner inserts fields generated using one or more hash values known to the new owner. An owner can demonstrate ownership by publishing a further record or record which reveals the hash values used to generate fields in the previous record.

Inventors:
MAZONKA OLEG (AU)
Application Number:
PCT/AU2014/000402
Publication Date:
October 16, 2014
Filing Date:
April 11, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HASQ TECHNOLOGY PTY LTD (AU)
International Classes:
H04L9/14; H04L9/16
Domestic Patent References:
WO2006117806A22006-11-09
Foreign References:
US8229859B22012-07-24
US20080149518A12008-06-26
Attorney, Agent or Firm:
MADDERNS (Adelaide, South Australia 5001, AU)
Download PDF:
Claims:
7

CLAIMS

1 , A method for generating the next set of N published records from a published record in transaction system for recording owiiership of a di gital sequence, the published record has a first owner of the digital sequence, and after publishing the V* record the digital sequence is owned by a second owner, the published record having a first set of N transfer hash values known to the first owner, and the published record comprises at least a record number field, the digital sequence, transfer hash field, and JV owner hash fields, wherein Nis at least one, the record number field has a value selected from an ordered sequence, and for each of N first owner hashes in the N owner hash fields, the * first owner hash was generated from a hash based on the ''' record number in the next N ordered sequence of record numbers after the first record number, the digital sequence, and the * transfer hash in the first set pfJV transfer hash values, the method comprising:

obtaining, by the second owner, a second set of N transfer hash values;

generating at least∑LX i second i second owner hashes are generated from a hash function provided with an input based upon a record number in the next 2N ordered sequence of record numbers after the first record number, the digital sequence, and one of the transfer hash values in the second set of N transfer hash values; and

progressively i second owner hashes to the first owner in N steps, wherein in the / step, / second owner hashes are sent to the first owner, wherein upon receipt of the / second owner hashes, the first owner initiating publishing of a record comprised of at least roe next record number in the ordered sequence of record numbers, the digital sequence, the ' transfer hash in the first set of N transfer hash values, N-i first owner hashes, and the / second owner ha hes sent b the second owner, or progressively providing the N transfer hashes to the second owner in N steps, wherein in the ' step, the first owner sends the " transfer hash in the first set of N transfer hash values, and N-i first owner hashes associated with the fh transfer hash to the second owner, and upon receipt the second owner initiates publishing of a record comprised of at least the next record number in the ordered sequence of record numbers, the digital sequence, the " transfer hash in the first set of N transfer hash values and the N~ i first owner hashes received from the first owner, and i second owner hashes generated by the second owner,

wherein after the N* record is published all of the transfer hash values in the first set of N transfer records.

2. The method as claimed in claim I , wherein the step of generating at least £fL x i second owner hashes is performed recursively, and each of the X _T t second owner hashes are recursively generated b a hash function provided with an input based upon a record number in the next ordered sequence of record mimbers after the first record number, the digital sequence, and one of the transfer hash values in the second set of N transfer hash values.

3. The method as claimed in claim % wherein the step of generating at least∑£L i second owner hashes comprise generating 0,„y.. C).¾,vnsing 0# - hash(N,÷ DN, Ou-ι,μ) where hash is a hash function, N/^ s the i+l record number in the ordered sequence of record numbers after the record number in the published record, DN is the digital sequence, and the second set of N transfer hash values are QH+LO - Q- o a»'d act as base eases which terminate the recursion of the hash function.

4. The method as claimed in any preceding claim, wherein the hash function is selected from the group comprising MD5, SHA- l, SHA-2 and SHA-3,

5. The method as claimed in any preceding claim, wherein the record is published in a distributed network of nodes.

6. The method as claimed in any preceding claim, wherein the published record further comprises a data field for storing data associated with the digital sequence.

7. The method as claimed in any preceding claim, wherein the step of obtaining, by the second owner, a second set of JV transfer hash values, is obtained by taking a hash function of a passphrase known to the second owner.

8. The method as claimed in any preceding claim, wherem the first set of N transfer hash values is generated by the first owner by taking a hash function of a passphrase known to the first owner.

9. The method as claimed in any preceding cl im, wherein the first owner and the second owner are the same owner.

10. The method as claimed in any preceding claim, wherei the second owner verifies ownership by publishing at least one further record, the further record comprising at least one hash value used to generate a hash value in the preceding record,

11. A method for generating the next record from a current record in a transaction history of a system for recording ownership of a digital sequence, the current record comprising a plurality of fields comprising at least a record number field, the digital sequence, a transfer hash field, and /V owner hash fields, wherein JVis at least one, the method comprising:

generating a new owner hash value from a hash function of an input based upon a new transfer hash value; obtaining the transfer hash value used to generate the first owner hash field;

obtaining the N-1 generating hash values used to generate the remaining N- I owner hash, fields in the current record; and

publishing the next record wherein the next record comprises the next record number in the record number field, the digital sequence, the transfer hash value used to generate the first owner hash field of the current record, and ,/V owner hash fields comprising the N- generating hash, values and the new owner has value.

12. The method, as claimed in claim 1 1 , further comprising repeating the method to generate a further N-J records, wherein in each further record a further new owner hash value is generated based upon a further new transfer hash value.

13. The method as claimed in claim 12, wherein the digital secfuen.ee is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and further comprises sending the new owner hash value to the first owner, and the step of obtaining the transfer hash value, obtaining the N-1 generating hash values, and publishing the next N-1 records is pertbrmed by the first owner, wherein for each further record, the N-1 generating has values are obtained from the first owner and i generating hash values are obtained from the second owner.

14. The method as claimed in any one of claims 1 1 to 13, wherein the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and the step of obtaining the transfer has value is performed by the first owner.

1 5. The method as claimed in claim 14, wherein generating a new owner hash value is performed by second owner by taking a hash function of a passphrase known to the: second owner, and tlie step of obtaining the transfer hash value is performed by the first owner by taking a hash function of a passphrase known to the first owner.

16. The method as claimed in any one of claims 1 1 to 15, wherein the first owner and the second owner are the same owner.

17. A computer readable medium comprising instructions for causing a processor to perforin the method of any one of claims 1 to 16.

18. An apparatus comprising:

at least one processor; and

memory operatively coupled to the at least one processor and comprising instructions for causing a processor to perform the method of any one of claims 1 to 1 6. 19, A system comprising a plurality of networked computer nodes, each networked node comprisi ng at least one processor, and a memory operative! y coupled to the at least one processor and comprising instructions for causing a processor to perform the method of any one of claims 1 to 16, and each of the computer nodes communicates with one or more other computer node to distribute the transaction history of a digi tal sequence throughout the system.

Description:
METHOD AND SYSTE FOR THE SECURE TRANSFER AND VERIFICATION OF

OWNERSHIP OF DIGITAL SEQUENCES

TECHNICAL FIELD

100011 The present invention relates to secure transfer of digital sequences. BACKGROUND

[0002] A digital sequence, such as a sequence of letters and numbers of a certain length, can be used to represent other digital data or any real or virtual object that has value for its owner and others. As such, the value of a digital sequence is determined by the value of the underlying object. Since a digital sequence represents another object or data, the transfer of ownership of digital sequence becomes equi valent to transferring ownership of the underlying ob ject or data. For this to happen the digital sequence issuer must guarantee a permanent and unbreakable bond between digital sequence ownership and the right to own the underlying object or data. In some cases the digital sequence can be used as a form of online currency.

[0003] However, establishing, proving and reliably and permanently transferring ownership of digital objects or digital sequences representing digital objects, remains problematic. For example, if a bank note i gi ven to someone as payment for goods, i t cannot be given again by the same person to someone else as another payment. Similarly, if an object is given to someone else, the o wner no longer has it in his physical control and cannot pass it onto another person. Similarly, once the owner of a digital sequence has transferred ownership to another person that person becomes the new owner and the previous owner should not be able to transfer the digital sequence back to themself or transfer it to someone else.

However, given the ease with which digital sequences or objects can be electronically copied, ensuring that the transfer is permanent is difficult (the so called double spending problem with electronic currencies).

[0004] One approach to the double spending problem is to set up a trusted party who will be indirectl involved in all transactions and who will prevent any attempts to double-spend. In order to use a system like this, two parties involved in a transaction must first identify themselves to the third party and both parties must place trust in the third party.

[0005 ) However, one problem with such systems is that there is a risk of the third party becoming compromised (hacked), acting dishonestly, or ceasing operations. Further transactions cannot be made anonymously, transactions are traceable if history of transactions is saved, and can.be reverted. All of the above may not be desirable in some eases and considerable effoits over the years have been invested into designin decentralized systems which do not require a trusted third party in order to complete a transaction. Typically, these systems are based on the use of cryptography, it is worth noting that such systems cannot be owned and/or controlled by a single person or organization since this could compromise the security and stability of the system. The system must consist of a large numbe of independently owned serv ers working in accordance with internal system rules.

[0006] One such system is know as Bitcoin which has been designed to be digital currency. The authors of the system successfully resolved the double-spendin problem by implementing certain mechanisms which guarantee that transaction history, stored on every Bitcoin server in the form of linked records, is the same- At the core of Bitcoin 's soluti on lies the idea of solving a computationally difficul t

cryptographic task. The complexity of the task is dynamically adjusted so that on average it takes approximately 10 minutes to sol ve. Ever Bitcoin server tries to solve the task, so 10 minutes of solving represents the efforts of many Bitcoin servers.

[0007] However, there are a number of disadvantages with the Bitcoin approach. First, every transaction takes up to 1 minutes to be confirmed reliably. Second, every transaction has to be signed by a digital signature of a coin owner. This creates a potential problem with anonymity. If somehow the signature gets associated with, a person, all other transactions of that person can be easily seen. To eliminate the problem it is recommended to use different signatures for every ' transaction. However, this creates the problem of managin many different signatures. Third, the signatures are essentially long sequences of letters and numbers which arc impossible to remember. This creates the need to store them on a storage device. Losing access to that device means unrecoverabiy losing access to coins. Fourth, in order to use the Bitcoin network, a user must install a piece of software on their computer. This makes it difficult to access coins from a public computer where installation of your own software is usuall not permitted. Fifth, Bitcoin uses a public key cryptography based approach for linking transaction records which can in principle be compromised.

100081 There is thus a need to provide an improved method and system for the secure transfer and verification of ownership of digital sequences,

SUMMARY

[0009] According to a first aspect, there is provided a method for generating the next set of Λ ? published records from a published record in transaction system for recording ownership of a digital sequence, the published record has a first owner of the digital sequence, and after publishing the N"' record the digital sequence is owned by a second owner, the published record having a first set of N transfer hash values known to the first owner, and the published record comprises at least a record number field, the digital sequence, a transfer hash field, and owner hash fields, wherein /Vis at least one, the record number field has a value selected from an ordered sequence, and for each of N first owner hashes in the N owne hash fields, the f h first owner has was generated from a hash based on the ' record number in the next N ordered sequence of record numbers after the first record number, the digital sequence, and the ' 1 transfer hash in the first set of " N transfer hash values, the method comprising;

obtaining, by the second owner, a second set of N transfer hash values;

generating at least∑- i i second owner hashes, wherein each second owner hashes are generated from a hash function provided with an input based upon a record number in the next 2N ordered sequence .of record numbers after the first record number, the digi tal sequence, and one of the transfer hash values in the second set of N transfer hash values; and

progressively providing the £ = t i second owner hashes to the first owner in N steps, wherein in the h step, / second owner hashes are sent to the first owner, wherein upon receipt of the / second owner hashes, the first owner initiates publishing a record comprised of at least the next record number in the ordered sequence of record numbers, the di gital sequence, the * transfer hash in the first set of N ti ansfer hash values, N-i first owner hashes, and the I second owner hashes sent by the second owner, or progressively providing the iVtransfer hashes to the second owner in N steps, wherein in the f step, the first owner sends the t Jh transfer hash in the first set of jV transfer hash values, and N-i. first owner hashes associated with the * transfer hash to the second owner, and upon receipt the second owner initiates publishing of a record comprised of at lea st the next record number in the ordered sequence of record numbers, the digital sequence, the ' transfer hash in the first set of N transfer hash values and the N- i first owner hashes received from the first owner, and ./ second owner hashes generated by the second Owner,

wherein after the N Jl record is published all of the transfer hash values in the first set of N transfer hash values, and the second owner hashes are published in the iV published records.

10010] n a further aspect, the step of generating at least " ∑-i i second owner hashes is performed recursively, recursively generated by a hash function provided with an input based upon a record number in the next 2N ordered sequence of record numbers after the first record number, the digital sequence, and one of the transfer hash values in the second set of N transfer hash values.

[0011] In a further aspect, the step of generating at least∑fL, i second owner hashes comprise generating 0;, : .. 0;V;A ! ' using O / - hash(N;»./ s DN, 0 /+ .j /} where hash is a hash function, is the t+1 record number in the ordered sequence of record numbers after the record number in the publ ished record, DN is the digital sequence, and the second set of N transfer hash values are Qx .,;. .. Osv.» and act as base cases which terminate the recursion of the hash function. [0012] In a further aspect, the has function is selected from the group comprising MD5, SHA- 1 , SHA-2 and SHA-3,

[0013 ] In a further aspect, the record is published in a distributed network of nodes.

[0014] In a further aspect, the published record further comprises a data field for storing data associated with the digital sequence.

[0015 ] In a further aspect, the step of obtaining, by the second owner, a second set of N transfer hash values, are each obtained by taking a hash func tion of a passphrase known to the second owner.

[0016] In a further aspect, the first set of N transfer hash values is generated by the first owner by taking a hash function of a passphrase known to the first owner. j 00171 in a further aspect, the first owner and the second owner are the same owner.

[0018] In a farther aspect, the second owner verifies ownership by publishing at least one further record, the further record comprising at least one hash value used to generate a hash value in the preceding record.

[001 1 According to another aspect, there i provided a method for generating the next record from a current record in a transaction, history of a system for recording ownership of a digital sequence, the current reeord comprising a plurality of fields comprising at least a record number field, the digital sequence, a transfer hash field, and Nowner hash fields, wherein iVis at least one, the method comprising:

generating a new owner hash value from a hash function of an input based upon a new transfer hash value;

obtaining the transfer hash value used to generate the first owner hash field:

obtaining the Ν-Ϊ generating hash values used to generate the remaining Λ-/ owner hash, fields in the current record: and

publishing the next record wherein tire next record comprises ' the next record number in the record number field, the digital sequence, the transfer hash value used to generate the first owner hash field of the current record, and ./Vowner hash fields comprising the N- generating hash values and the new owner hash value.

[0020] In a further aspect, the method further comprises repeating the method to generate a further N-l records, wherein in each further record a further new owner hash value is generated based upon a further new transfer hash value. j 0021 ] In a further aspect, the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and further comprises sending the new owner hash value to the first owner, and the step of obtaining the transfer hash value, obtaining the Λ' -1 generating hash values, and publishing the next record is performed by the first owner, wherein for each further record, the AW generating hash values are obtained from the first owner and i generating hash values are obtained from the second owner.

(0022 j In a farther aspect, the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and the step of obtaining the transfer hash value is performed by the first owner.

[0023] In a further aspect, generating a new owner hash value is performed by a second owner by taking a has function of a passphrase known to the? second owner, and the step of obtaining the transfer hash value is performed by the first owner by taking hash function of a passphrase known to the first owner.

[0024] In a. further aspect, the first owner and the second owner are the same owner.

[0025] According to another aspect, there is provided a computer readable medium comprising

instructions for causing a processor to perform any of the above methods. j 0026] According to another aspect, there is provided an apparatus comprising:

at least one processor; and

a memory operatively coupled to the at least one processor and comprising instructions for causing a processor to perform any of the above methods.

[0027] According to another aspect, there is provided a system comprising a plurality of networked computer nodes, each networked node comprising at least one processor, and a memory operative iy coupled to the at least one processor and comprising instructions for causing a processor to perform any of the above methods, and each of the computer nodes communicates with one or more other computer node to distribute the transaction history of a digital sequence throughout the system.

BRIEF DESCRIPTION OF DRAWINGS

[0028] Embodime ts of the present invention will be discussed with reference to the accompanying drawings wherein:

[0029] Figure I is a diagram illustration of the process of transferring ownership of the digital sequence from a first owner to a second owner according to an embodiment; j 0030 ] Figure 2 is a schematic diagram of the process of generation of the fields in a first record which includes one additional transfer hash field according to an embodiment;

[0031] Figure 3 is a schematic diagram of the process of publishing and transfer of ownership of a digital sequence from a first to a second and to a third owner in system using one additional transfer field according to an embodiment;

[0032] Figure 4 is a schematic diagram of the records used in transferring o wnershi for the case where the transfer requires the new owner to generate one private key according to an embodiment;

[0033] Figure 5 is a schematic diagram of the records used in transferring ownership for the case where the transfer requires the new owner to generate two private keys according to an embodiment:

10034] Figure 6 is a schematic diagram of the records used in transferring ownership for the case where the transfer requires the new owner to generate three, private keys accordi ng to an: embodiment; j 0035 j Figure 7 is schematic diagram of a computing device according to an embodiment;

[0036] Figure 8 is a schematic diagram of a network of nodes according to an embodiment;

[0037] Figure 9 is a flowchart of a method for generating the next set of /V published records from a published record in transaction system for recording ownership of a digital sequence according' to an embodiment; and 0038 j Figure .10 i s a flowchart of a method for generating the next record from a current record in a transaction history of a system for recording ownership of a digital sequence.

DESCRIPTION OF EMBODIMENTS

[0039 j A system and method will now be described which pros ides the ability to securely transfer ownership of digital sequences, or verify ownership of a digital sequence, without the risk of anyone stealing or modifying the digital sequence. The system uses hash functions (or more strictly algorithms uti lising hash functions) and linked records to keep track of transaction history and authentication of digital sequence owners, in this context, hash functions are one-way functions, which can take an input such as arbitrary binary or textual byte sequence (eg string of text), and generate a sequence of letters and numbers of a certain length (eg a fixed size bit string, sometimes referred to as a digest). Hash functions are one way functions in that the same input will always p oduce the same output hash value, but knowledge of the output hash value cannot be used to detennine the input to the hash function (or at least it is extremely difficult or computationally infeasible to do so, and in some cases may be impossible). Where the term hash function is used it is to be understood that this will include procedures, modules, executable code that implement an algorithm utilising a hash function to generate output having a hash format. Further a change to the input data to a hash function will, at least with an extremely high

probability, generate a different hash, value. Further hash values are, to an extremely high probability, unique (ie it is extremely unlikely that two different inputs will generate the sam output hash value).

[ 0040] The digital sequence is a sequence of letters and numbers of certain length. In some' embodiments it-may be a sequence produced by one way hash functions, or at least, have the appearance of the output of a one way hash function. The digital sequence can be used to represent other digital data or any real or virtual object that has value for its owner and others. Third parties ma assign a value to a digital sequence and thus it may be referred to as a Digital Note or DN, which reflects the similarities between a digital sequence and a bank note - specifically the inability to access a digital sequence (or DN) once ownership is passed on to another patty. For example, if a bank note is given to someone as payment for goods, it cannot be given again by the same person to someone else as another payment. Similarly, once the owner of a digital sequence has transferred ownership to another person, that person becomes the new owner. The previous owner cannot transfer the digital sequence back, to them or to someone else. Much like a bank note, a digital sequence must be unique within the system. This uniqueness can be achieved with the use one of the well-known and proven hash functions such as MD5, SHA-i , SHA-2, or SHA-3. For example the hash values produced by the .D5, SHA-l, SHA-2 256 and SHA-2 512 hash functions from the word "Test" are, respectively:

"0cbc661 If5540bd0809a388dc .5a615 b";

* k 6 ' «ab2bae07bedc4c 163f67¾746f7ab7ffa 5di fa";

"532eaabd9S74880dbf76b.9b8cc00832c20a6ecl l3.d682299550d7a6eOe45e25"; and

"c6ee9e33ef5c6715al d.I48fd73†73188!^

fb0ce4c8d2c54b5f37b30b7dal 997bb33b0b8a31

However any other hash function including a custom one-way function can be used. However it is to be understood that the digital sequences may be used for a variet of other uses besides digital currency. For example a digital sequence may be used as a self-signing object to prove something happened at a particular time (eg an email was sent), or as proof of the content of digital object at a particular time (eg the content of an email or a message). The digital sequence may also be used to store reference information, such as a URL reference or P address, or any other data which can be changed in time but is well-defined at any moment in time. The digital sequence can be a sequence associated with or linked to a physical object, for example a serial number on a physical object, in which case the digital sequence can be used to prove ownership of a physical object.

[0041 1 There are several advantages of using a hash value for the digital sequence. These include the low risk of generating a digital sequence that already exists . Further a digital sequence will be mathematically tied to the data it was generated from which can serve as proof of bond between the digital sequence and the underlying data. Also digital sequences will be of equal length provided that they are generated using same has function regardless of the size of the original data. Additionally, a relatively short phrase (passphrase) can be used to generate a digital sequence which potential iy eliminates the need to store a digital sequence on any storage device (which can fail or be stolen). Further due to the one way nature of hash functions it is not possible to decode a digital sequence in order to get data it was generated from (eg the passphrase).

[0042] The digital sequence, along with a plurality of hash values which are used to establish ownership are published in a record. The record will include several fields. Some of the fields contain values produced by one way hash functions, or at least have the appearance or format of the output of a one way hash function. The record may also include additional data associated with the digital sequence (this may relate to the digital object, or it may be relate to the system itself). The system stores a transaction history for each digi tal sequence which is a sequence of linked records. Every record corresponds to a step in the transfer of ownership of a digital sequence (DN) from one party to another party. The number of steps in the transfer of ownership depends upon the number of pri vate keys used to generate the record. If there are N rivate keys (stored as hash values) known to the owner, transfer will involve publishing N sequential records, with publishing of the final record completing the transfer of ownership from the old owner to the new owner. That is an ownership transfer process is an Nstep process involving the publishing of Vrecords in the transaction history. The private keys are hash values, or sequences having a format that matches the output format of a predefined hash function. The private keys may be generated by providing information to a hash function, such as a passphrase, other information known to the owner, or data easily locatahle by the owner which can be provided as input to the hash function. This avoids the need for the owner to remember or physically store long hash sequences which are produced by hash functions. Rather, all they need to remember is how the private keys (hashes) were generated.

[0043 ) During an ownership transfer the private keys (or hashes) of the current owner are progressively published (typically one per record) until all of the private keys are published. Each record published in the sequence also includes at least one hash value obtained using a pri vate key of the ne owner. Thus, each published record contains previously private information used by the previous owner to generate a part ( eg a field) of the previous record, and information generated using pri vate informatio known only to the new owner. When the new owner transfers the digital sequence to a subsequent owner or publishes a record or a new set of records to prove ownership, or alter data in the record, these private keys (hashes) will be revealed in the records. I the number of private keys is more than 1, then the each record except the last record is published using a combination of information (e fields) which was generated from, information known only to the current owner, and information (eg fields) which was generated from information known only to the (intended, or soon to be) new owner. The last record contains information which was generated from information known only to the (now) new owner, and does not contain any information which was generated from information known only to the previous owner. It does however include a previously private key (hash) of the previous owner. The records are thus constructed and linked in such a. way that effecti vely prevents anybody except the owner of a digital sequence from making the next record (since it requires a impersonator to guess the private keys used to generate a field in a record) so that only the .legitimate digital sequence owner can transfer ownership to someone else. 00441 The fields of a digital sequence record and one embodiment of the structure of the fields, is described below in Table 1. The fields comprise a record number field, a digital sequence field (which may or may not be in hash format), a transfer hash field (hash format), one or more optional additional hash fields (hash format), an owner hash field (hash format), an optional system field for system tags, and an optional data field for data associated with the digital sequence. The record has one or more associated hash functions which are used to produce the hash values. That is a hash format is the format of the output produced by a predefined hash function. Typically, all fields having hash formats will use the same hash format (ie are generated using the same hash function), but some fields may use different hash functions and thus have different hash formats to other fields. Fo example, one hash function could be used to produce or define the format of the digital sequence field, and another ' hash function used to produce or define the format for the transfer hash field, optional additional hash fields, and the owner hash field. The hash is the value produced by a hash function. This typically has a binary format meaning that every byte of a hash can have value ranging from 0 to 255. In order to make those values readable by a human it is conventional to map them into printable characters, such as the ASCII character set and there are various different ways as to how this can be achieved.

TABLE 1

Record structure for transaction history for a digital sequence according to an embodiment

N DN K [ {Gt G 2 } ] 0 [T] [D]

Record number field. This ma be sequential between records (ie incremented

N based upon the value in the previous record) or be selected from an ordered

sequence so that records can be arranged in publishing order.

Digital sequence which represents other real or virtual object or data. This may be a

DN

hashed value but does not need to be a hash.

The transfer hash field (hash format) which is the private key (in hash format) of the

K previous owner of the digital sequence which was used to generate one of the

additional hash fields } {Gi G? ... } ] or owner (0) hash field, of the previous record. Additional hash fields (hash format; optional). Any number of optional additional generated values in hash format may be i ncluded and used for creating additional

links between records. The can b recursively generated from one or more fields in the next record to be published.

Owner hash field (hash format) representing the digital sequence owner. This is

0 ultimately generated using a private key known to the owner. The private key may itself be generated using a hash of a passphrase known to the owner.

Optional tags for storing internal system information. For example this could include a field to indicate the hash function used to generate or define the hash

[T]

format, and flags indicating how fields are to be combined to form an input to a hash function, or other inputs used by implementation engines.

Optional data associated with the digital sequence. This may be a website URL,

10] reference, link to other data, owner contact details or an other data up t certain length.

[0045] As will be outlined below, the tratisfer hash fields, additional hash fields, and owner hash fields are related and will be collectively referred, to as ownership hash fields. There will be Ν+ί ownership fields in a record where Nis the number of private keys (transfer hash values) used to establish ownership. Note that the number of private keys Nis different to the record number field . To distinguish the two (if it is not apparent from the context) the number of private keys TV will be italicised. The ownership fields will be arranged in an ordered sequence., with the first field in the sequence being the transfer hash field and the last field in the sequence being the owner field. However, other arrangements of the ownership fields could be used provided the arrangement was consistent for all records i the transaction history, and the ordering of fields was known. j 0046] The digital records stored in the system databases are linked. Importantly only the owner of a published record knows the required information to generate the value of the hash stored in the digital sequence owner field O, and any additional hash fields. The owner is effectively die person who can demonstrate how to calculate the owner hash and the additional hash fields from a published record by providing the private key or keys and previously hidden hashes used to generate each additional transfer hash present (if any) and the owner hash field.

[0047] Figure 1 is a schematic illustration of the process of transferring ownership of the digital sequence from a first owner to a second owner ' accordmg to an embodiment and illustrates how the fields in three records 1 , 2 and 3 are generated and f inked according to an embodiment, in this embodiment, π

there are two ownership fields (Λ-1) and alt optional fields | Gi, T, D] have been omitted for clarity. Figure 1 illustrates a first record .1 representing a published record owned by a first owner, The record includes a record number A¾ in die ordered sequence of record numbers in the record field, the digi tal sequence (DN), the private key of the previous owne K 0 and the owner field Of . The owner field is the output hash value from a hash function 6 provided with an input sequence 4 comprising the next record number N s in the ordered sequence of record numbers, the digital sequence, and a private key Kj known to the first (current) owner, i.e. 0 5 - hash( ], DN, ( ) where hashi) is a predefined has function 6. From now on hash function implies an algorithm of collecting arguments and using a defined hash function to produce the output in predefined hash format. The three values can be combined into a single input sequence to the hash function such as concatenating the three fields and inserting a field separator such as a space. Variations may be used (eg different separators) and other data added to the input sequence provided the input sequence is consistency constructed for all records. The private key K { can optionally be generated by providing a passphrase 5 known to the first owner to the hash function 6, i.e. K = hash(passphrase). The same outcome can be achieved by the first owner revealing j to the second owner. Note that in both cases the optional passphrase is not revealed by anyone. j0048 ' | Figure 1 also illustrates the process of transferring ownership of the digital sequence from a first owner to a second owner. The second owner calculates a. ew value for the owner field Q? using

information from the published record. The new value for the owne field 0 2 is the output of the hash functio 6 provided with an input sequence 8 comprising the next record number in the ordered sequence of record numbers after the record number to be used in the next record to be published to transfer ownership (ie two positions from the currently published record number No), the digital sequence, and a private ke 2 known to the second owner, ie 0?= hash(N 2 , DN, 2 ). Agai the private key K 2 can optionally be generated by providing a passphrase 7 known to the second owner to the hash fiinction 6. Once the second owner has generated the new value for the owner field <¾ this can be sent to the first owner. The first owner then initiates publishing of the next record using the next record number N t in the ordered sequence of record numbers, the digital sequence, the (previously) private key , and the owner field ( ¾ provided by the new owner. This record is then publ ished in the transactio history of the digital sequence by the system. Once published the previously private key Kj of the first owner is re vealed, alon with the new owner field generated using the private key K 2 of the second owner, and thus ownership is effectivel passed from the first owner to the second owner.

[004 ) Figure 2 illustrates generation of the first record 1 which in this embodiment includes one additional transfer hash field. As before the record 1 includes a record number N 0 in the ordered sequence of record numbers in the record field, the digital sequence (DN), and the private key of the previous owner K (! . However, in this embodiment an additional hash field G t is included in the field prior to the owner field (¼. The additional hash field Gi is the output hash value from a hash function 6 provided with an input sequence 4 comprising the next record number N ( in the ordered sequence of record numbers, the digital sequence, and a first private ke t known to the first owner. The owner field 0 5 is the output hash value from a hash function 6 provided with an input sequence 9 comprising the next record number t in the ordered sequence of record numbers, the. digital sequence, and the additional hash field G% which is to be included in the next record to be published.- The additional hash field G 2 is provided to the first owner from the second owner as part of a transfer process. The additional hash, field G 2 is the output hash value from a hash function 6 provided with an input sequence 8 comprising the record number 2 which is two records along the ordered sequence of record numbers from the current published record number N 0 , the digital sequence DN, and a second pri vate key K 2 known to the second owner,

[0050] Figure 3 illustrates publishing and transfer of ownership of a digital sequence from a first to a second to a third owner in a system using one additional transfer field. Time runs down the page. The records published at 5 time points tj ... t-j are indicated, along with the ownership status, of the digital sequence DN, At time ti the digital sequence is owned by Owner 1 (Οχ). The record is published with the use of bash keys K f j and K J2 (ie first and second private hash values grouped in the upper dotted box) which were used to generate Gu and 0 ! 2 , The hash functions are represented with the arrows, with the boxes with solid and dashed lines containing the input fields used, and the arrows pointing to the output of the hash function. Thus G H = hash(N n! ! , DN, K n ) and 0 !2 = hash(N n -.-t, DN, G ]2 ). At this point in time, the private hash keys .K f , and K (2 are known only to Owner 1 , and unknown to anybody else. To transfer ownership of DN from ..Owner 1 to Owner 2 (Oi→ <¾) the following -steps arc performed:

• Or requests G 2 to supply the value of 0 2)

• 0 3 generates 0 2 t (also generating G 2J in the process) using his key K 2i

• 0 2 sends 0 2t to Oj via open communication channel

• Oi publishes record N n ; i at time t? - DN is owned by nobody at this stage

» Q[ requests 0 2 to supply the value of Q 22

• 0 2 generates Q 22 (also generating G 22 . in the process) using his key K 22

« {¾ sends 0 2 to Oi via an open communication channel

• Oi publishes record N„ ÷2 at time t 3 - DN is now owned by 0 2

[0051 ] Times t* and illustrate tire DN ownership transfer from Owner 2 to Owner 3 ( 0 2 → O s ).

[0052] The transfer of the ownership in this embodiment is performed as a two stage process (as there are two private keys). The two stages are indicated by brackets {} . The first stage comprises publishing a first updated record. The record number field comprises the next record number in the ordered sequence of record numbers, the transfer hash field comprises a first private hash generated by the current owner, and the owner hash field comprises a hash calculated by the new owner using the published record and a third private hash generated by the new owner. Similarly the second stage comprises publishing a second updated record. The record number field comprises the next record number in the ordered sequenc of record number fields, the transfer hash field comprises a second private hash generated by the current owner and the owner hash field comprises a hash calculated by the new owner using the published record and a fourth private hash generated by the new ner. U on publis ing the second updated record, ownership of the digital sequence is effectively transferred from the current owner to the new owner.

[ ' 0053 ] The method requires the current owner to reveal the first and second private hash value they used to obtain ownership, and the new owner generates a third and fourth private hash value which are used to generate the owner fields in the first and second records published as part of the transfer process. These hash values can be generated in any way, such as taking a hash of a passphrase. in one embodiment the passphrase is combined or concatenated with the digital sequence hash (DN) and the record number ( ), and a hash value of this string obtained. In this way the owner needs only to remember a passphrase, and when combined with information in the record a unique hash is generated. The way this hash is generated is only known to the owner providing enhanced security comparing to public key based systems which re uire the owner to securely store a private key. Further, the passphrase does not need to be very long and can be meaningful to the owner, and thus can easily be remembered by the owner and so does not need be written down or stored on a device.

[0054 J Looking at the first stage in more detail, first stage comprises the new owner accessing the published record for the digital sequence to be transferred. They then generate an interim ownership transfer hash by applying a hashing function to a partial record comprising at least tire record number corresponding to the record number two positions ahead of the current record number, the digital sequence and the third private hash. The new owner then sends the generated interim ownership transfer hash to the current owner and a first updated record is published. The record number field comprises the next record number in the ordered sequence of record numbers, the transfer hash field comprises the first private hash and owner hash field comprises the interim ownership, transfer hash. At this stage neither the current owner nor the new 7 owner effectively owns the digital sequence, as neither has sufficient information (alone) to generate the owner hashes from the published transaction history,

[0055] The second stage of the transaction process is similar. The new owner accesses the updated published record for the digital sequence to be transferred. They then generate an ownership transfer hash by applying a hashing function to a partial record comprising at least the record number corresponding to the record numbe two positions ahead of the current record number, the digital sequence and the fourth private hash. As previously the same passphrase could be combined with the digital sequence and the updated (eg incremented) record number as this will generate a different hash value, as the value of the record number has changed. Once the ownership transfer hash is generated it is sent to the current owner, and a second updated record is published wherein the record number field comprises the next record number in the ordered sequence, the transfer hash field comprises the second private hash and owner hash field comprises the ownership transfer hash,

[0056] As can be seen in the method described above, and illustrated in Figures 2 and 3, the new owner needs to know the future values of the record number which will be published. Th is is most easily achieved usin a sequential field, in which each subsequent record number is an increment (+1) of the previous value. Alternatively the record numbers could be selected fro an ordered sequence of values, in this ease, the owner need only to define how many records in ad vance of the current record they need (eg. two records in advance) and can look up the value in the ordered sequence.

10057] As can be seen in the examples shown in Figures 1 to 3, the ownership fields in a record are recursively generated from fields in further records to be published. As mentioned previously, when there are V private keys used to establish ownership, there are N+l ownership fields in a record. The process of generating a new set of records, for example to transfer ownership, or to record a change in the object the digital sequence is representing ownership of, comprises publishing Nrecords. The ownership records to be calculated can be viewed as a matrix: O, where there are 2 V rows ( =\ ..2 A and N+l columns (f=Q..N), with elements O- which are each hashes (the currently published record is row zero and not in matrix O).

100581 The transfer process comprises calculating the first A r rows of matrix O. As each row is calculated it is published within each record (with ownership transferring when the last row is published), The first column Oj ¾ > comprises the private hash keys (hash transfer fields), with the first owners hash keys stored in rows L..N, and the second owners hash, keys stored in rows N+1.. N At the start of the process the first owner knows, or know how to calculate, the upper left hand entries of the matrix, as these are based upon the private keys known to the first user stored in the first column of the first Nrpws.

1005 1 The second owner needs to calculate the first A " rows of the last, column, starting with the first row Qi.A') and the entrie diagonally down and back to the first row. Once the value of the last column is obtained, the hash value is. provided to the first owner who initiates publishing of a record comprising information i the first row, along with the record number field, digital sequence field, and any other optional fields (thus reveals further elements of the upper left hand portion of the matrix). The second user then begins calculating the last col umn of the next row and the entries diagonally down and back to the first row. Once this is done the second owner provides the last column of the second row, and the second to last column of the second row which was obtained in the previous step (calculating the last column value of the first row). The first user then combines this with any other columns in this row known to the first user (calculated previously to establish ownership) and the next row is published. Publishing thus reveals further elements of the upper left hand portion of the matrix. This is performed repeatedly until the last column of the N* row is calculated. [0060] Mathematically, this process comprises calculating 0 # = hash( N,..-.?, DM, 0;,./,,·./) for i-l..Nmd j~N. That is we calculated 0 >. ¾ O a .. ¾ ·· C¼ ; v. Calculation (or generation) of each element is performed recursively by using the same formula to calculate the 0 /+/ ^ values required until 0? ¾ΰ is required. The values, act as the base value for recursion, and stops recursion at this point as these elements are the known private keys of the second owner. This is further illustrated in Figures 4, 5 and 6 which are schematic diagrams of the records used in transferring ownership for the case where the transfer requires the new owner to generate one, two and three private keys respectively.

[0061 J In each figure, the published records are shown with the optional tag and data fields [T, D] omitted. The first row of each figure (N 0 ) represents the most recently published record in the transaction history for the data sequence DN. The- elements of the matri O, which is spread over several records, are outlined. A solid dark line represents the border between information provided by the first owner (abo ve and to the left of the dark line) and the elements to be calculated by the second owner during the transfer process, and based on private keys known to the second owner. The information provided by the first owner was obtained whe the first owner obtained ownership, and becomes published during the transfer of ownership. The dashed lines indicate the recursive chain of hash functions used to generate the ownership fields in the last column. Private keys in the first column are shown in bold font - the first .'V are known to the first owner and become revealed during publishing, the next JVknown to the second owner and are not required to be revealed until the second owner wishes to transfer the ownership to a new owner or to generate anew set of records whilst still retaining ownership.

[0062] In this context publishing a record comprises initiating publishing by transaction, system by providing trie required fields for building a record. This may be performed by an owner entering the information into a user interface, ft will also be realised that whilst information is provided by the second owne to the first owner so the first owner can publish the. information, these roles may be reversed. That is the first owner could provide transfer hash and N-i first owner hashes to the second owner, who combines with the / second owner hashes to generate the required information to enable publishing of the next record.

[0063] An example set of hash calculations are illustrated in Table 2 below. In this example we choose the MD5 as the hash function, which produces binary output in which each byte has a value ranging from 0 to 255whic.h is mapped to a printable character to make them human readable (eg ASCII characters), m the following example below we use standard lower case hexadecimal representation without a hexadecimal prefix or postfix (e.g. 5a is used instead of 0x5a). has a decimal representation. The input- to the hash function is always a set of ASCII symbols even if it represents a. hash value produced earlier. For example 0x5a is hexadecimal representation of decimal value 90. if this value needs to be hashed again, the input to the hash function will be a string consisting of two ASCII symbols: '5' (ASCII code 35) and 'a' (ASCII code 61). Symbol is treated as a single delimiter with ASCII code 32. (space). TABLE 2

Example hash calculations according to an embodiment.

[0064] The values in Table 2 were calculated as follows:

N, = 134, N 2 = 135,N 3 = 136

D.N = HashC Example') = b66068cf75e5acb6cflaf2adld0642 K| = HashfKcyl ') = " f64f4f750f097b442 Ia050c9dlld9cl4 K 3 - Haslif; ey2') = c31650 e34686S37Q20 ee3619 Oe71daSb K, = Hash('Key3 ! ) =· 3d81009a6cd9a27e5ee8Q43024070dfb

Hash( 135+b66068cf75e5aeb6cf1af2adldO642 ed+ c31650e34686537Q20ee36190e71daSb) = 6£ f7ae80e284cdd01845a9ec89£285£b

Hash( 136+b66068c f75e5aeb6c f1a f2adld0642ed+ 3d81009a6cd9a27e5ee8043 24070dfb) = c0d£337 f6643284c076a211ee95 f16bd

O, = Hash(N 2 +DN+G 2 ) = Hash( 135+b66068cf75e5acb6cf1 f2adld0642ed+

cOdf337f6643284c076a211ee95f16bd)

= 6ff7ae80e284cdd0l845a9ec89f285fb.

| ' <K)65 ' J Figure 9 is a flowchart of a method for generating the next set of A'published records from a published record in transaction system for recording ownership of a digi tal sequence according to an embodiment. The published record has a first owner of the digital sequence, and after publishing the Λ record the digital sequence is owned by a second owner, the published record having a first set of N transfer bash values known to the first owner, and the published record comprises at least a record number field, the digital sequence, a transfer hash field, and owner hash fields, wherein ./Vis at least one, the record number field has a value selected from an ordered sequence, and for each of N first owner hashes in the N owner hash fields, the ί" first owner hash was generated from a hash based on the f h record number in the next A/Ordered sequence of record numbers after the first record number, the digital sequence,, and the ' transfer hash in the first set of M transfer hash, values. The method 210 comprises the step 212 of obtaining, by the second owner, a second set of N transfer hash values. The method further comprises, at step 214, generating

owner hashes are generated from a hash function provided with an input based upon a record number in the next 2N ordered sequence of record numbers after the first record number, the digital sequence, and one of the transfer hash values in the second set of i\T transfer hash values-. The method further comprises, at step 2.16, progressively providing the £ / L t i second owner hashes to the first owner in N steps, wherein in the F' step, i second owner hashes are sent to the first owner, wherein, upon receipt of the I second owner hashes, the first owner publishes a record comprised of at least the next record number in the ordered sequence of record numbers, the digital sequence, the ' transfer hash in the first set of N transfer hash values, N-i first owner hashes, and the / second owner hashes sent by the second owner,

progressively providing the N transfer hashes to the second owner in N steps, wherein in the f 1 step, the first owner sends the transfer hash in the first: set of N transfer hash values, and N-i first owner hashes associated with the * transfer hash to the second owner, and the second owner initiates publishing of a record comprised of at least the next record number in the ordered sequence of record numbers, the digital sequence, the f transfer hash in the first set of N transfer hash values and the N-i first owner hashes received from the first owner, and / second owner hashes generated by the second owner, wherein after the . h record is published all of the transfer hash values in the first set of N transfer hash values, and the published in the Npublished records. Verification of ownership can be performed by requiring the owner to demonstrate knowledge of the private keys used to generate the ownership keys displayed in a public record, by publishing a record or a new set of records . For example a user could be challenged to publish a new record, or a new set of records within a defined time period such as 1, 2, 5, 10, 15, 30, 60 minutes or even longer such as 1 day, o at a particular time. The defined time period is much less than the time period to crack a hash output (eg by brute force estimation or other means), and thus generation of records which reveal the hash keys used to generat them acts as de-facto proof of ownership. Alternatively the owner could be required to publish a new record, or a new set of records which includes specific data or challenge information provided to the owner. Thus ownership can established if the owner can generate and publish a new set of records with the challenge information included in the optional data field (Dj. A time limit can also be defined within which the records must be generated. In ei ther case, the generation of a set of new published records can be used as proof of ownership. In the ease where there are multiple private keys (ie N>1) only the next record in the sequence needs to be published to establish ownership. Publishing the next record in the sequence will reveal the previously hidden pri vate key in the transfer field, and the hashes in the owner hash fields which were used to generate the first owner fields in the published record. For example with reference to Figure 6, if the new owner had to establis ownership of record N 3 , they need only publish record N*, which contains 0« it 0 4i and 0« used to generate 0 ; Qy, and Or? .

} 006 J A flow chart of a method 220 for generating the next record from a current record in a transaction history of a system for recording ownership of a digital sequence is shown in Figure 10. The current record comprises a plurali ty of fields: comprising at least a record number field, the digital sequence, a transfer hash field, and N owner hash fields, wherein Nis at least one. The method comprises, at step 222, generating a new owner hash value from a. hash function of an input based upon a new transfer hash value. At step 224, obtaining the transfer hash value used to generate the first owner hash field. At step 226, obtaining the N-1 generating hash values used to generate the remaining N-l owner hash fields in the current record. At step 228 publishing the next record wherein the next record comprises the next record number in the record number field, the digital sequence, the transfer hash value used to generate the first owner hash field of the current record, and /V owner hash fields comprising the N~l generating hash values and the new owner hash value. This method could be used to verify ownership. For the sake of clarity, where N-1, which corresponds to the case where there arc no optional fields G), step 226 is effectively omitted as Nl-i), and thus no further records need to be obtained (this is evident from Figure 4).

[0067] The method call further comprise repeating the method to generate a further N-1 records, wherein in each further record a further new owner hash value is generated based upon a further new transfer hash value. This can be used to transfer ownership. Ln one embodiment the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and further comprises sending the new owner hash value to the first owner, and the step of obtaining the transfer hash value, obtaining the N-J. generating hash values, and publ ishing the next record(s) is performed by the first owner, wherein for each further record, the N-i generating hash values are obtained from the first owner and i generating hash values are obtained from the second owner. j 0068] In one embodiment, the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and the step of obtaining the transfer hash value(s) is performed by the first owner. In one embodiment generating a new owner hash value is performed by a second owner by taking a hash function of a passphrase known to the second owner, and the step of obtaining the transfer hash value(s) is performed by the first owner by takin a hash function of a passphrase known to the first owner.

[0069] Tn one embodiment, the first owner and the second owner are the same owner. This may be used in tile case where the owner wishes to record a change in data associated with the digital sequence. In this case publishing one new record is sufficient regardless of N.

[0070] The preceding examples have generally referred to the generation of new sets of records to allow transfer of the digital sequence. However, it is to be understood that the owner can initiate generation of a. new set of(iV records, whilst still retaining ownership. That is the first owner and second owner can be the same. This may be to create a record (or group of records) associated with a change in the object the digital sequence relates to, or to verify the content of a document or digital object at a point in time. For example, an owner might send an email message and wish to record the time and content of the email The owner can take a hash of the email message and include this in the additional data, or use it to create a new digital sequence . The records will thus include the hash of the message, and publishing of the records can be time stamped by the system. Thus, the transaction history will store the hash of the message and the time the record was generated, and this information will be distributed throughout the network. If the user needs to verify the authenticity of a message, a hash of the message can be taken and compared with the hash in. the record. The owner of the record can then verify they are the owner. It will also be understood that a variety of hash functions may be used. However, for ease of implementation, most embodiments will use only the same hash function for all fields. A default hash function will be selected during implementation. (eg one of MD5, SHA-1 , SHA-2 and SHA-3) and will be used in all transaction histories. An input format may be defined for the hash function., and a one or more input conversion functions can be implemented which combine fields to generate a suitable input for the hash function. These can insert: defined field separators or eon vert data to a specific data format (binary, hex, etc). Implementatio tags in a record may be used to signify the hash function used to generate the ownershi fields, or other fields. Give the recursi ve nature of the method the use of the same hash functio shnp!ifies implementation. It should also be noted that fields in a record may be arranged in any order, pro ided the ordering is used consistently for all records in a transaction history.

[0071] In one embodiment, the transaction system checks data supplied to the system by user (eg an owner). As data (fields) for a new record is submitted to the transaction system for publishing, the system (or components that receive the fields) perform data cheeking. This may be using hash functions and to cheek that tha fields in the current record were in fact generated by the supplied hash values. If there is a data inconsistency the data can be rejected and no new record is published until the correct data is submitted.

[0072] A computer readable medium comprising instructions for causing a processor to perform the above method can be provided. Similarly an apparatus comprising at least one processor and a memory operativcly coupled to the at least one processor and comprising instructions for causing a processor to perform the method described herein can be provided. This can be a general purpose computer, a computer server, or some other computing device such as smart phone. An application with a user interface could be executed on the computer to manage storage of transaction histories, publishing of records, distributio of transaction histories, generation of hash values etc. The computer device could be a webserver (or a server) and the user interface could be via a web browser or a client application (eg an app on a smartphone). An embodiment of a computing device 100 is illustrated in Figure 7. A client server based system could be provided in which servers are used to store and publish transaction history- records, and client applications communicate with the servers to access transaction history records, generate hash values, and initiate publishing of new records, for example to transfer ownership or to record a change. Client applications could be provided which connect, to servers over http or https protocols. The elicnt applications could be pro ided as a web plugin, a smart phone application or app. A standalone system could also be provided which stores transaction histories and provides a user interface to access and publish records. When a new record is created on a server, the server can time stamp the records and then distribute the data to other nodes in the network. Time stamp data, and data identifying the server node the data was first entered on can be included in the record (in the additional data field), or the system can store and publish this information along with the transaction history,

[0073] The system may be a computer implemented system comprising one or more computing de vices (or apparatus) each comprising a display device (optional for servers), a processor and a memory and an input device. As the method ca be performed by a single owner, or two owners on two computing devices which communicate with each other. The memory may comprise instructions to cause the processor to execute a method described herein, or relevant steps ' of the method, for example one sends information and the second device recei ves and processes the information. In some embodiments, both owners access the same server, or alternative they may access separate severs of the system, which then communicate information to implement the method. The processor memory and display device may be included in a standard computing device, such as a desktop computer, a portable computing device such as a laptop computer, tablet or smart phone, or they may be included in a customised device or system. The computing device may be a unitary computing or programmable device, or a distributed device comprising several components operativcly (or functionally) connected via wired or wireless connections. An embodiment of a computin device 100 is illustrated in Figure 7 and comprises a central processing unit (CPU) 1 10, a memory 120, a display apparatus 30, and may include an input device 140 such as keyboard, moose, etc. The CPU 1 10 comprises an input/Output Interface 1 12, an Arithmetic and Logic Unit (ALU) 14 and a Control Unit and Program Counter element 1 16 which is in communication with input and output devices (eg input device 140 and displa apparatus 130) through the Input/Output interface. The Input Output Interface, may comprise a network interface and/or communications module for communicating with an equivalent communications module in a user input device using a predefined communications protocol (eg Bluetooth, Zigbee, IEEE 802.15, IEEE 802.11, TCP/IP, UDP, etc). A graphical processing unit (GPU) may also be included. The display apparatus may comprise a flat screen display (eg LCD, LED, plasma, touch screen, etc), a projector, CRT, etc. The computing device ma comprise a single CPU (core) or multiple CPU's (multiple core). The computing device may use a parallel processor, a vector processor, or be a distributed computing device. The memory is operatively coupled to the proeessor(s) and may comprise RAM and ROM components, and may be provided within or external to the device. The memory may be used to Store the operating system and additional software modules that can be loaded and executed by the processor(s).

[ 0074] The methods described above can be implemented as part of a robust distributed system, including, a globally distributed system. In one embodiment, the system comprises a plurality of networked computer nodes, each networked node comprising at least one processor, and a memory operatively coupled to the at least one processor and comprising instructions for causing a processor to perform the method described herein can be provided. Each of the compute nodes can communicate with one or more other computer node to distribute the transaction history (published records) of a digital sequences throughout the system Figure 8 illustrates a network of nodes 201, 202, 203 , 204, 205 which publish and share transaction histories (ie datasets). The servers share informatio so each record is stored in. multiple nodes of the network to provide redundancy in. case of data corruption or loss of a node or nodes. This ensures that consistent datasets are shared between server nodes. Each node may be

controlled by a different entity (these could be commercial competitors). However, whilst the nodes may be controlled by different entities, consistent data and interfaces can be shared between the nodes.

[0075] Sever nodes can also be configured to automatically handle conflicts as they are detected (eg attempts to transfer the same record to different parties). For example, nodes can be given trust ratings by other nodes, and in the event of a. conflict the data from the more trusted server can be used. The more trusted node can then propagate its data through the network overriding any conflicting records. It is noted that the system is an open system - no private information (eg passphrases, private keys, digital signatures, or user information) are stored on the nodes, only the fully public records. Any private information (ie keys to generate a record) is retained by the individual owners (ie the users of the system). Further as long hash values can be generated from short passphrases, users can memorise the passphrases without needing to store the pri vate ke (hash) on a device where it could be accessed. This reduce the risk, of hackers targeting the sy stem as there is no hidden user information to target - only public records. Further security is achieved by implementing a distributed system with data redundancy across many distributed nodes.

[0076] The system described herein has a number of advantages over prior art systems. The use of linked records and a hash based system allows for the rapid transfer of sequences. Transfer can occur in seconds or less, as compared to 10 minutes with Bitcoin. Owners typically onl need to remember a relatively short passphrases used to generate the private keys (hashes), and do not have to store a wallet of digital signatures. Transactions and owners can remain anonymous if desired, although data in the optional data field can be used to identify owners if desired or required. The hash values (and other information) can be sent over open communication channels between the current owner and the new owner. Alternatively, a secure- communications channel could be used, or the data encrypted and sent over an open channel. The system can also be easily implemented as a web service (or other service) and does not require special client software to be installed on a. computin device. For example, a simple: http web interface can be provided allowing users to access the system via a web browser or other application.

10077] The system and method described herein allow anybody to create a digital sequence (or digital object, or a digital sequence associated with/linked to a physical object) and/or securel transfer ownership to another party without risk of someone stealing or modifying the digital sequence. Transfer can be fully anonymous or owners can choose t reveal, identifying information. The system has application in many digital environments such as the issuance and tracking of financial instruments including derivatives; digital currencies and registration of any kinds of interests in an entity. The system can also be used to time stamp documents or verify documents. The digital sequences' data fields can be used to store infonnation to serve as an intermediary between users and other data. This feature allows for creation of 'floating' web sites which are impossible to block or for providin permanent storage for information leading to some other data. The digital sequence can be a sequence associated with or Jinked to a physical object, for example a serial number on a physical object, in which case the digital sequence can be used to prove ownership of a physical object. The system can be configured to use well known and trusted hash functions (although any hash functions can be used, provided it is used consistently for a set of records). The sys tem uses linked records which c ontain fields based on information known only to the owner to keep track of transaction history and for authenticating digital sequence owners. Transfer of ownershi is performed by the current owner gradually revealing previously hidden information used to generate the previous record, and the new owner gradually providing hash values known only to the new owner until all of the previously hidden information of the first owner is revealed. Further, a robust system can be developed fay using a large decentralized network of independent nodes which can be configured to automaticall resolve conflicts when they are detected. j 0078 ] Those of skill in the art would understand that information and signals may be represented using any of a variety of technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips, may be referenced throughout the above description ma be. represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical .fields or particles, or any combination thereof.

[0079 ) Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangcability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention .

[0080] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination, of the two. For a hardware implementation, processin may be implemented within one or more appi.iea.tion specific integrated circuits (ASICs), digital signal, processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereo Software modules, also known as computer programs, computer codes, or instructions, may contai a number a number of source code or object code segments or instructions, and may reside in any computer readable medium such as a RAM memory, flash memory, ROM memory, EPROM memory, registers, hard disk, a removable disk, a CD- ROM, a DVD-ROM or any other form of computer readable medium, in the alternative, the computer readable medium may be integral to the processor. The processor and the computer readable medium may reside i art ASIC or related device. The software codes may be stored in a memory unit and executed by a processor. The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art. j 00811 Throughout the specification and the claims that follow, unless the context requires otherwise, the words "comprise" and "include" and variations such as "comprising" and "including" will be understood to imply the inclusion of a stated integer or group of integers, but not the exclusion of any other integer or group of integers.

[0082] The reference to any prior ait in ibis specification is not, and should not be taken as, an acknowledgement of any form of suggestion that such prior art forms part of the common general knowledge. j 0083 ] It will be appreciated by those skilled in the art that the invention is not restricted in its use to the particular application described. Neither is the present invention restricted in its preferred embodiment with regard to the particular elements and/or features described or depicted herein. It will be appreciated that the invention is not limited to the embodiment or embodiments disclosed, but is eapable of numerous rearrangements, modificatiotis and substitutions without departing from the scope of the invention as set forth and defined by the following claims.