Splittable Security Tokens
Splittable Security Tokens
Glossary
Definition of TermsSecurity TokensA cryptographic token that represents a security and can represent ownership, a debt relationship, or ownership represented by an option.BlockchainA distributed ledger that uses cryptography to link blocks of data together to form an immutable record.Smart ContractA piece of code stored on a blockchain that executes automatically when preset conditions are met.ERC20A general technical standard for implementing tokens on the Ethereum blockchain.SplitThe act of a company increasing the number of outstanding shares, including forward splits and reverse splits. A forward split company increases the number of outstanding shares in proportion, and the value of each share decreases accordingly. A reverse split company decreases the number of outstanding shares in proportion, and the value of each share increases accordingly.Gas FeesThe fees required to execute transactions or smart contracts on the Ethereum blockchain.Split RatioThe ratio of the number of shares before and after the split, for example, 2/1 for a forward split and 1/2 for a reverse split.Split Update BalanceThe latest token balance after the split calculation.Global RegistryA database that stores data related to the security token system (such as investor information, token attributes, etc.), which can be an on-chain or off-chain database. The holder split data structure records the index of the last time a split was applied to each token holder address, and is used to track the token balance update status of each holder address. Short answer question
What is a security token and how is it different from traditional securities? Security tokens are encrypted tokens that represent real-world assets (such as stocks, bonds, etc.). Unlike traditional securities, they use blockchain technology to digitize ownership and decentralize transactions.
What role does the ERC20 standard play in security tokens? The ERC20 standard defines a set of common methods and events to ensure that different types of tokens are compatible with each other on the Ethereum blockchain, facilitating the issuance, transfer and management of tokens.
Why is it impractical to directly update the token balances of all holder addresses to achieve splits? Every token balance update operation on the blockchain requires a gas fee. If the number of holders is large, directly updating the balances of all addresses will incur high gas fees and take a long time to execute.
How does the split method described in this learning material solve the problem of high gas fees? This method records the split ratio and the index of the last split update for each address, and calculates and updates the token balance only when the actual transfer is made, avoiding the high gas fees caused by frequently updating the balances of all addresses.
What role does the "splits" data structure play in the split process? The "splits" data structure stores all the split ratios in the history of the security token, and each split operation adds a new split ratio object to the data structure.
What is the role of the "holdersSplit" data structure? The "holdersSplit" data structure is used to track the index of the last split applied to each token holder address, ensuring that the balance after the split update can be correctly calculated when the token is transferred.
What is the role of "currentSplitIndex"? "currentSplitIndex" points to the latest split ratio object in the "splits" data structure, which is used to identify the latest split ratio currently in effect.
What is the function of the balanceOf(address addr) function, and how does it calculate the balance after the split update? The balanceOf(address addr) function is used to query the token balance of the specified address. It will multiply the token balance of the address by all unapplied split ratios according to the index recorded in the "holdersSplit" data structure to obtain the updated balance after the split.
When performing a token transfer, how to update the "holdersSplit" data structure? When performing a token transfer, the "holdersSplit" index of the addresses of both parties will be updated to "currentSplitIndex", indicating that their token balances have applied the latest split ratio.
What are the advantages of this split method compared with the split operation in the traditional securities market? This method uses the advantages of blockchain technology to realize the automation, transparency and low cost of split operations, and improve the efficiency of securities token transactions.
Short answer questions
Securities tokens are digital certificates representing real-world assets (such as stocks, bonds, etc.), which use blockchain technology to realize the digitization of ownership and the decentralization of transactions. Compared with traditional securities, securities tokens have higher transparency, traceability and programmability, which can reduce transaction costs and improve transaction efficiency.
The ERC20 standard defines a set of common functions and events to ensure that different types of tokens are compatible with each other on the Ethereum blockchain, facilitating the issuance, transfer, and management of tokens.
Each token balance update on the blockchain requires a gas fee. If the number of holders is large, directly updating the balance of all addresses will incur high gas fees and take a long time to execute, which is inefficient.
This method records the split ratio and the index of the last split update for each address, and only calculates and updates the token balance during the actual transfer, avoiding the high gas fee problem caused by frequent updates of all address balances and improving the efficiency of the split operation.
The "splits" data structure stores all the split ratios in the history of the security token. Each split operation will add a new split ratio object to the data structure for subsequent query and calculation.
The "holdersSplit" data structure is used to track the index of the last split application for each token holder address, ensuring that the balance after the split update can be correctly calculated when the token is transferred, and ensuring the accuracy of the split operation.
"currentSplitIndex" points to the latest split ratio object in the "splits" data structure, which is used to identify the latest valid split ratio and ensure that newly added token holders can apply all historical split ratios.
The balanceOf(address addr) function is used to query the token balance of the specified address. It will multiply the token balance of the address by all unapplied split ratios according to the index recorded in the "holdersSplit" data structure to obtain the updated balance after the split.
When performing a token transfer, the "holdersSplit" index of the addresses of both parties will be updated to "currentSplitIndex", indicating that their token balances have applied the latest split ratio to ensure the accuracy of subsequent transactions.
This method takes advantage of blockchain technology to achieve automation, transparency and low cost of split operations, improve the efficiency of securities token transactions, and provide investors with a more convenient and efficient investment method.