A method of creating payment channels between nodes in a network, wherein:
- each of a plurality of said nodes belongs to one of a plurality of first sets of nodes, each said first set being cyclically ordered,
- for each first set, one of the nodes in said first set is designated as an initiator node, such that the initiator node is considered to be the first node in said first set and the node immediately previous to it is considered to be the last node in said first set,
- each initiator node has a respective first private key and corresponding respective first public key,
- each said initiator node also belongs to a second set of nodes, said second set being cyclically ordered,
- a node designated as a master initiator node is also a member of the second set, such that the master initiator node is considered to be the first node in the second set and the node immediately previous to it is considered to be the last node in the second set,
- said master initiator node has a second private key and corresponding second public key, and
- comprising the steps of, for a first initiator node in the second set:
- (a) establishing a first commitment channel between said first initiator node and a second node adjacent to and subsequent to it in the second set, such that the first initiator node is a first participant and the second node is a second participant in the first commitment channel, wherein said first commitment channel is locked using a first locking value that is the sum of:
- the respective first public key of the second node,
- the respective first public keys of all nodes subsequent to said second node in the second set, up and including to the last node in the second set, and
- the second public key;
- and
- (b) for the first set of nodes to which said first initiator node belongs:
- (i) distributing keyshares of the respective first private key of said first initiator node to all the nodes in said first set including itself;
- (ii) for each node in said first set, generating a respective third public key corresponding to its keyshare;
- and
- (iii) for a third node in said first set:
- establishing a second commitment channel between said third node and a fourth node adjacent to and subsequent to it, such that the third node is a first participant and the fourth node is a second participant in the second commitment channel, wherein the second commitment channel is locked using a second locking value that is the sum of:
- the respective third public key of the fourth node,
- the respective third public keys of all nodes subsequent to the fourth node in said first set up to and including the last node in said first set,
- the respective third public key of the first initiator node, and
- the first locking value.