Patent ID: 11961067
Assignee: TZERO IP, LLC
Field: IT methods for management (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 0:
1. A computing device comprising:
at least one processor;
at least one memory communicatively coupled to the at least one processor;
at least one network interface communicatively coupled to the at least one processor;
wherein the computing device is configured to be within a plurality of computing devices communicatively coupled in a peer-to-peer network of computing devices implementing a distributed ledger; and
wherein the computing device is configured to be communicatively coupled to at least one remotely located computing device through the at least one network interface;
wherein the at least one processor is configured to:
determine a split ratio for a new split of security tokens held in at least one address of the distributed ledger;
store an indication of the split ratio without updating token balances on the distributed ledger for all of the at least one address in a list of addresses holding at least one of the security tokens, comprising:
storing a splits data structure with split ratio objects, each of the split ratio objects having at least a numerator element and a denominator element;
storing a holdersSplit data structure, the holdersSplit data structure being indexed by a holder address on the distributed ledger and pointing to a holderSplit index in the splits data structure that has most recently been applied to a token balance for the holder address; and
storing a currentSplitIndex value that indicates a current split index in the splits data structure corresponding to a split ratio object of a most recent split;

determine that a new transfer of a quantity of the security tokens, from a first address of the at least one address to a second address, has been requested;
determine a split-updated token balance for the first address based on at least a current first token balance and a current first indication of the split ratio for the first address by:
determining a set of split ratio objects in the splits data structure to include all split ratio objects including and between (1) a first split ratio object after a first holderSplit index in the splits data structure at an index of the first address and (2) a second split ratio object at the current split index in the splits data structure corresponding to the split ratio object of the most recent split as indicated by the currentSplitIndex value; and
for each respective split ratio object of the set of split ratio objects having a respective numerator element and a respective denominator element, updating the current first token balance by:
(1) multiplying the current first token balance by the respective numerator element of the respective split ratio object of the set of split ratio objects to update the current first token balance; and
(2) dividing the current first token balance by the respective denominator element of the respective split ratio object of the set of split ratio objects to update the current first token balance; and

wherein the split-updated token balance is the current first token balance after updating the current first token balance for each respective split ratio object of the set of split ratio objects;

update the token balances on the distributed ledger for at least the first address based on the split-updated token balance for at least the first address as part of a transaction associated with the new transfer; and
send the transaction to other computing devices in the peer-to-peer network of computing devices implementing the distributed ledger.