|
1 | | -# EthGild |
2 | | - |
3 | | -## High Level |
| 1 | +# rain.vats |
| 2 | + |
| 3 | +VATS = Verifiable Asset Token System. |
| 4 | + |
| 5 | +## High Level (VATS) |
| 6 | + |
| 7 | +There are two dominiant _representation_ systems in defi today: |
| 8 | + |
| 9 | +- Fungible tokens: Ideal for trading/investment concerns such as liquidity, |
| 10 | + interoperatiblity, transerring, swapping, both large/small scale operations, |
| 11 | + generalized/bulk behaviours, etc. |
| 12 | +- Non-fungible tokens: Ideal for auditability/provenance concerns such as mapping |
| 13 | + onchain to external/offchain entities, _specific_ mint/burn histories, |
| 14 | + "physical allocation"-esque legalities, etc. |
| 15 | + |
| 16 | +For many use cases, one of these will be the clear preferred representation. For |
| 17 | +example an onchain token minted purely to represent voting power in some DAO fits |
| 18 | +a fungible model well. A token minted to represent individual and unique |
| 19 | +collectable items fits the non fungible model best. |
| 20 | + |
| 21 | +Some use cases need properties of both, notably many RWAs (real world asset) have |
| 22 | +concerns relevant to both representations. |
| 23 | + |
| 24 | +Almost every RWA, except those that already have global adoption and relevance |
| 25 | +such as USD pegged stables, or gold backed tokens, have hard liquidity |
| 26 | +constraints. Hard in the sense that there is always some upper limit of capital |
| 27 | +that can be absorbed by the RWA meaningfully due to physical constraints. For |
| 28 | +example, we could tokenise a house that could be sold for $500k and then |
| 29 | +investors and traders can buy/sell tokens ultimately backed by the sale price of |
| 30 | +the house offchain setting a floor on the token value, but the maximum size of |
| 31 | +their trades at a liquid price can only ever be some small percentage of $500k. |
| 32 | +It is hard to imagine a $100k swap going through without significant slippage, |
| 33 | +as this represents 20% of the entire supply. |
| 34 | + |
| 35 | +If every asset on the planet needs to be individually tokenized and build a |
| 36 | +liquid market for itself, with its own risk/reward profiles, market participants, |
| 37 | +issuer/management, etc. then it is clear that pragmatically the friction is too |
| 38 | +high for adoption by anyone except the most motivated and resource rich |
| 39 | +participants. |
| 40 | + |
| 41 | +From this perspective we clearly favour the standard ERC20 fungible token. We are |
| 42 | +going to want to start grouping similar assets together. Perhaps 100 houses |
| 43 | +in the same area of similar investment quality can back a token with a $50M |
| 44 | +liquidity cap, rather than the $500k from a single house. |
| 45 | + |
| 46 | +This is certainly an improvement for trading, but it introduces a meta problem. |
| 47 | +The nature of a basket of assets is fundamentally different from an individual |
| 48 | +asset. |
| 49 | + |
| 50 | +Consider our above example, we have 100 houses in the same area. In one sense |
| 51 | +this makes them all similar to each other, which justifies their "sameness", an |
| 52 | +important feature of any fungible token. In another sense we have simply shifted |
| 53 | +our liquidity problem offchain. What if there is a bank run on the token and a |
| 54 | +significant percentage of these 100 houses all need to be sold in a short period |
| 55 | +of time in order to maintain the backing. Selling 1 house in a good area is |
| 56 | +relatively simple, although still might take months, selling 100 houses in the |
| 57 | +same area could take many years to do in a way that doesn't crash the sale price |
| 58 | +due to sudden oversupply. |
| 59 | + |
| 60 | +This example even applies to assets that are generally considered to have |
| 61 | +essentially infinite liquidity and are commodities, such as gold or silver. There |
| 62 | +exists many times more claims on gold and silver in the financial system via. |
| 63 | +derivatives and other "paper" than there is real gold and silver sitting in |
| 64 | +vaults that can be physically delivered if there was ever a global bank run on |
| 65 | +the metals. Different setup, same problem, the quality of the aggregate asset |
| 66 | +during times of stress is only as strong as its weakest component. |
| 67 | + |
| 68 | +So now we want some kind of ability to curate or assess the quality of the |
| 69 | +investment at the level of a token that is behaving more like a fund that holds |
| 70 | +many assets than some specific asset. The ERC20 token doesn't provide any |
| 71 | +information or guard rails around the many individual specific assets offchain or |
| 72 | +elsewhere that back the liquidity. |
| 73 | + |
| 74 | +For this kind of provenance and audit trail we would typically use a non-fungible |
| 75 | +token standard such as ERC721 or ERC1155. |
| 76 | + |
| 77 | +The VATS approach specifies that, at the point of minting and burning, we always |
| 78 | +create and destroy _both_ an ERC20 and associated ERC1155 pairwise in equal |
| 79 | +amount. This protects the "bridge" between the tokenized representation and the |
| 80 | +externally referenced assets, while allowing fully decoupled behaviour of both |
| 81 | +tokens onchain outside the bridge processes. |
| 82 | + |
| 83 | +As both the ERC20 and ERC1155 tokens exist onchain and are not simply handled |
| 84 | +offchain, e.g. via some system of event emissions, there can be onchain guard |
| 85 | +rails and governance enforced at the smart contract layer. The VATS concept is |
| 86 | +agnostic to the specifics of governance, other than the requirement that tokens |
| 87 | +are created and destroyed in lockstep to maintain supply integrity. |
| 88 | + |
| 89 | +V: Verifiable => "Anyone" can compare the onchain ERC1155 NFT IDs/data/supply |
| 90 | + against the offchain assets to check the integrity of the system. |
| 91 | +A: Asset => The system is designed to work referencing/backed by real assets. |
| 92 | +T: Token => The system is fundamentally a tokenization approach to building |
| 93 | + liquidity for the referenced assets. |
| 94 | +S: System => This is a system of tokens, both an ERC20 and ERC1155, and cannot |
| 95 | + provide all promised features/guarantees without multiple tokens bound together |
| 96 | + logically somehow (e.g. at mint/burn time) |
| 97 | + |
| 98 | +## Implementation |
4 | 99 |
|
5 | 100 | Defines and implements the concept of a "Receipt Vault". |
6 | 101 |
|
|
0 commit comments