Tokenized Asset Transfer Rights
ETHCC 6 · July 2023 · 13:43
Naim Ashhab examines tokenizing the right to transfer an asset. The speaker argues that separating this right could improve borrowing, renting and security in DeFi applications.
Speakers
Topics
From ETHCC 6, hosted by Ethereum France.
Transcript
[Music] thank you [Music] 10x security non escrow renting crypto mortgages proof of trustless claim those are some use cases which you can get if you break the unbreakable rule that the owner cannot transfer normal transferable token my name is Naim Asha I'm a smart contract deaf at pawn and today I'd like
to talk about token tokenization of assets transfer rates so let's start with the question what's that if we talk about asset transference in general that's the right to change the owner address of the asset currently only the owner and the address approved by the owner can actually do that in some cases it can be a protocol for example ens if you don't pay or don't yeah don't pay your domain it can be transferred from you if we tokenize this uh this right it's still the right to change the owner's address but now it belongs to the total
token holder to the ATR token holder uh and the owner is getting rid of this right so owner cannot transfer the asset without this token you can you can think of it as a southbound token with a key or like exclusive approval uh this ATR token is a standard token so any D5 protocol know how to how to transfer it how to store it and the only owner can mend this ATR token and we have one only one ATR token per one unit of asset why I'm saying per one unit of asset because it doesn't uh doesn't work just for nfts but also for semi-fungible and fungible tokens so the
advantage of that the pros of that is that the ATR token is easily transferable and there is no need for additional role as a locker and if you are familiar with the eip-5058 or 5753 that's more or less exactly what that what they are doing so uh why it's useful now talk about a few of these botch phrases I mentioned at the beginning or you have uh you might see it at the beginning so first is 10x Security in game five uh right now you have to make a trade-off basically not just for a game fire asset but with with any asset with utility
you can store it in your multisig or code wallet or in your hot wallet in case of hot wallet it's super convenient you can sign whatever transaction with the click of a button you can even do like several transactions per minute and it's still fine but it's super insecure in case of uh somebody can hack you your private key is leaked you get you you lose basically whatever you had in the wallet the other option is keeping that in a multisig it's 10x secure that's cool but it's very inconvenient to actually use the game or whatever utility the asset brings with the tokenization of transfer right you can have the best of the both the
world what you can do is actually hold the asset in your hot wallet but keep the transfer rights in your multi-sig so you can you can go that far so you would even like put the private keys to the Games server to the project server and let them sign all the transactions and you still know they cannot like steal your stuff because they nobody with the knowledge of the private key can actually transfer it so even in case of private key leak nobody can steal your own asset other use case in uh is non-isco renting and Landing uh in these days if you want to rent some asset you you have basically three options you can wrap it in this case the
rapper is the owner so if there is an airdrop or let's say NFD gated access you won't be able to actually like access this this utility the asset can have renting implemented natively in this case you are locked with one rendering model and it a little bit breaks the money Lego narrative we are building in the space and the last one is provide extracolateral in this case if you don't basically colorate the correlate the price of the collateral with the asset itself you're risking risking liquidation which is also something you don't want and you need the collateral you need the extra collateral so it can
be a blocker for for some use cases in landing it's very similar basically if you you need to lock the collateral so if I have some token with utility I need to I want to leverage that I want some extra liquidity I need to get like I need to give up the utility of the collateral used in the loan if we use ATR token as a collateral rentings looks much much better and lending looks much better with renting the tenant is the still true owner but the collateral is one to one correlated with the with the asset itself so um so there is no no risk of liquidation
and uh the the tenant cannot sell it or transfer it somewhere else at the end of the at the end of the rent uh the the asset is simply transferred back to the to the original owner and you are not with one we are not locked with one renting uh renting model in a landing case the borrow working kit still keeps the ownership of the collateral he can use all the utility and everything is nice in case of default lender can claim the collateral and uh yeah it's like a proof of trustless claim let's say it goes down to the fact that ATR is the ultimate collateral it's yeah it's it's very nice to use it in this non escrow
renting and Landing use cases other use cases could be subscriptions trial periods crypto mortgages but it's not a silver bullet it would not work for tokens with mutable States unless there is a way how to lock the mutability for example this Unice of V3 LP or token bundlers I want just to like this disclaim that I was thinking about some use case for fungible tokens I thought about investing voting something which I called besting boating imagine a Dao with good old token voting all right investor have some vested tokens locked but if the tokens are
vested they cannot they don't have a voting power basically if you tokenize the transfer rights and lock the transfer it into the vesting contract instead the investors still can vote and uh get the utility of the fungible token but they cannot sell it before the end of the vesting period so that's one one use case for the for the fungible tokens levitating cars yeah in this case I was just curious who is actually listening so yeah we cannot we cannot do anything with the ATR tokens in this case but it would be cool though so uh how we can build that uh we have one one approach with this
which is natively so asset contract supports Mythic of the ATR token natively this is the safest way uh you can allow you can even allow some non-standard transfer so let's say there is a project where you can stake your asset and if if the project is able to guarantee that the ATR token holder is always able to transfer it back to himself you can let the original owner to actually stake it and unsake it back to the original address that's fine the problem with this approach is that immutable Legacy assets can never support this approach there is another approach which is smart contract wallets this approach basically builds a contract wallet that can MIM the HR
tokens on the behalf of the owner and enforce the transfers transfer constraints uh the good thing is that you can use whatever you want in that uh in that safe and you can you can use it right now the problem is that it cannot revert transfer initiated outside of the wallet so it has a big problem with approved addresses and with big problems I mean the the wallet cannot allow you to actually approve the address because if the approved address initiates the transfer that would be a transaction initiated outside of the wallet and it cannot tokenize transference of something which actually already has an improved address so the wallet needs to track that
another issue with uh is with ERC 1271 the is valid signature is taking two uh two inputs hash and signature and from that hash we don't really know what what the user tries to sign so it could be another permit it could be maybe a transfer we don't know so that's another big issue with that so what we can do natively is great but takes time to adoption smart contracts the straight-offs but they're available now and by available now I mean really now because that's what we build uh we built a smart contract which is uh basically two which is built on top of a
safe wallet with the module and the guard which allows you to tokenize transfer it it's uh it was announced at Defcon and we already released the product so you can play with it on the app.pawn.xyz it's under Tools and you can start to tokenize transferrites and use them use them in the landing protocol so what's next go learn more about the atrs I've built a proof of concept that uh do the ATR build ATR enabled tokens for erc20 721s and 1155s go to my GitHub the repo is called ATR
and go check out the pawn save the app the repo the code is publicly available there is a YouTube video explaining all the important things about Pawn safe and ATR or tokenization of transfer rights in general and check out this blog post and that's it my name is smart contract effort Pawn uh you can you can find me everywhere on this under this handle ashanai uh uh yeah follow upon uh at Twitter pondell and if you have any questions you can ask now [Applause]
yeah I was wondering why the ATR token is 11 55 rather than 721 and what the purpose of that is yeah because it has for fungible tokens you can still keep some fungibility it's not on the whole collection but it's per owner so let's say I tokenize some fungible token and you have some ATR tokens and somebody else has some ATR tokens you can you can trade them freely they're fungible between you but if you are holding ATR tokens of the same asset but from two different owners you it's it's not the same thing right if I give you the ATR tokens it's not fair if you're taking them from from somebody else so that's why the 1155
helps here because you have the ID and the amount oh okay so like if you have five oh sorry sorry if you have like five wrapped each you'd get five eleven fifty five ATR tokens or something like that yes under some ID which like for the 1155 for if you are actually tokenizing the trans price of 1155 there is an ID and now you need to uh like include the owner somewhere in the ID right so you can do it by hashing it and creating a new one for example but for the simple erc20 or like eth wrapped eth whatever the ID could be just the owner okay cool
thanks thank you very much [Music] foreign [Music]