New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Large, Updatable & Extensible NFTs using IPFS + KSPEC - Fastackl

ETHGlobalSat, Oct 9, 2021, 12:00 AM

Fastackl of Kanon discusses his new innovation around updatable and size-unbound NFTs, and how that work is currently revolutionizing the way artists let NFT owners experience art. ---------------------------------------------------- Follow us: https://twitter.com/ETHGlobal​ Check us out: https://ethglobal.co​ Email us at: hello@ethglobal.co

Transcript

um next up we were we have fast tackle here in the chat um a presentation on nfts using ipfs um i'll let him let them give the introduction that i i cannot um more than welcome to start your presentation when you're ready great great meeting you luke thanks uh thanks a lot do you mind if i um share screen go for it go for it um it's telling me here you cannot start screen share while the other participant is sharing oh here we go there we go [Music] great um yeah so thanks uh thanks luke uh great meeting you um um so uh uh yeah today so we launched a protocol on wednesday uh called uh k-spec so this presentations come together pretty quickly uh sort of hacked it together overnight um but uh before before we jump in i'll just give a very quick background uh on myself and the uh collective that i'm contributing to um so uh for the pe since uh march uh well from the very beginning i've been contributing to this collective called canon which is um a group of uh senior uh museum curators and conservators who are uh operating pseudonymously so they all sort of work at uh at the top art institutions of the world uh and then a few of us are also um uh you know technologists and and with background in uh uh crypto teachings uh basically sort of react engineers and solidity engineers myself personally i'm not an engineer but i've spent a lot of time uh sort of developing uh software products um uh and sort of you know semi-proficient in you know a node but also a very avid nft collector since about december so very briefly i uh topped the charts in super rare until you know the real whale started the actual real whales uh started moving in um uh around january was when it really started taking off um but you know the the protocol that we've developed really came out of the uh sort of the issues that i was seeing in my own collecting so when you when i started collecting i found myself developing a very close uh and fun relationships with a whole bunch of uh nft artists um and we were running up into a lot of uh constraints and uh you know in satisfaction with the way that these uh nfts are are structured so um casepic is uh first of all it's open source it's uh permissionless it's completely uh on chain um and what it does is it gives artists unconstrained uh freedom to create so we'll go into some of the constraints the most common constraints that they then they end up encountering uh and then for collectors so for people like myself um uh also you know these things i made the mistake very early on of uh peaking under the hood and uh there's some real serious issues there in terms of um how long these things will actually last and also uh providence is very brittle as it will which will which we'll get into and then for nfts i mean uh the protocol gives them adaptability and update ability so normally nfts as many of you might be aware they're immutable both at the token level and also at the contract level and so the protocol gives you know the artwork that these artists are creating um uh updatability and adaptability so that the protocol actually works with any nft so it's super important to me because you know i you know spent either an irresponsible amount of eth on on nfts so this protocol works with any nfd even if they've already been minted and there's no need to stake or burn or otherwise encumber your nft it's it's non-invasive um uh so you know as i said we launched on wednesday and uh i thought you know when we were putting this together i had an inkling that this might uh be big and i'm getting more and more conviction that um that actually this is a game changer um uh for for nfts um so you know diving into like you know what what the actual problem was that we were that we were looking to solve um you know a lot of you might be familiar with this but i'll just you know go through it just uh make sure that everybody's awareness and how these things work uh you know at the low level uh so typically a an nft uh you know is a smart contract and you know there's thousands of these that have been deployed and each one of them so say that the structure of an erc721 which is uh the most common standard um it's effectively you can think of it as like a a table with rows and each row is a token and tokens have a uh your token uri property that then returns a single link uh or you can also pass like bytes or the token uri can respond with a with a package of bytes but effectively it's just like a static response uh string response that is returned by the contract uh and then it also tracks uh you know a an address right that that controls the ownership of each of each token so that's at the contract level and practically the way that platforms implement uh the uh the contracts is uh you know when if you're an artist and you want to create um nnft you um uh you know to put it put a file best practice obviously save it on on ipfs uh sometimes you know or uh you know or you can return bytes directly so you know because obviously that's unchained um but you know for practical purposes uh the platforms restrict uh what you can upload uh this is wearable so it's 100 megabytes super rare uh you know we're restricted to 50 megabytes and crucially it's you know generally just one file that you can um then you can upload so basically an nft at the moment if you're trying to create an nft and you're trying to create art you have to squeeze everything into a single 50 to 100 megabyte file so when you're trying to do that you know that that really chokes uh creativity and um one thing that for me because i'm not from an art background uh right the very first nft that i collected was the very first piece of art that i collected that was in december 2020 and um [Music] what took me a bit a while to a bit of time to realize and then obviously then working very closely with these museum conservatives um is that uh you know digital art has been around for you know decades right uh and uh artists have not been facing you know they don't face constraints when they're creating so for them it's really torturous to you know have these wonderful creations and then you know having to try to like jam it into a single megabyte file so that ends up meaning that for instance like this um anima uh uh music video uh normally the artist is working in pro res uh you know uh or or 4k and those files are you know this this file is actually four gigabytes and so you know how are you going to squeeze that into 50 megabytes well you're facing the choice of that either really degrading the the art uh you know the degrading the uh the resolution or clipping the or clipping the uh uh you know the length or both uh which is just uh which is just awful right uh so you know you can serve the file offline but then it's not connected to the nst so that's probably the most common limitation uh that i encountered in my own collect and collecting and also that i hear artists i'm most frustrated by um but then actually you know in the real world art is is actually you know often more complex than just a single file so for instance this is a an arc by uh an art piece by an artist called rachel rose which is actually a multi-part installation so you know how do you how do you represent something that's like multiple parts uh in an nft uh that's that's very challenging uh and then you know with um an area that's that's particular of interest uh to uh to me uh given um you know i i really love these um uh uh you know sort of like 3d avatars um is you know these it's basically the the three 3d at the moment is in a very nascent stage so the um ecosystem's evolving very rapidly and the formats change and you know as an artist uh it's very risky right to commit to any particular format because you know right now sort of glbs glts uh you know are the formats but even those have like all sorts of variations to change over time so if you have to commit to a file up front and then you can't update it um you're you're not going to stick it into the nft so you know some of the solutions that you're seeing are off-chain like amiibos for instance uh you know this is just coming off their own uh their own server um so um uh you know there are some hacks around it but know you can see here this is you know to me at least when i see this is awful this is sir tim berners-lee uh nft uh so sometimes you know solutions that people come to is like try to jam everything into the description field uh of an nft but even this you know you can't change uh subsequently so our um the solution that we came that we came to i by the way this is a a problem that's very well understood um and uh the um you know there are some you know solutions that a lot of people that a lot of the solutions that we've seen are you know sort of hacks right like this one where you try to jam everything into a description the other the other one is like trying to attack the problem at the smart contract level uh but the problem is that then you know obviously everything that's been created before you know you're not gonna you're not gonna be able to uh uh take advantage of that um so say my nfts do not benefit from somebody launching a new smart contract uh but also these smart contracts they're difficult to untangle difficult to understand and if you've got like three four competing alternatives and you're an artist and you know it takes me it took me two hours right to disentangle uh you know how how the smart contract for temperature temperatures uh how that contract worked um and then you know if you're on super rare if you uh uh you know use another contract uh then you're migrating away from that platform so yeah so this it's get pretty messy pretty quickly to start trying to solve this at the at the smart contract level um so for us the you know the solution came from two uh insights uh one of them is philosophical and one of them is um is technical so from a philosophical perspective the insight is that the nft is not actually the artwork so all the nft is a it is is it's a certificate of ownership that gets passed back and forth um and there's no point trying to jam uh your artwork right into a into yeah unless your artwork's like just simple just like a gif or an image or a single you know low resolution video uh you know that then it might work um but if it's anything more complex than that and uh you know as i said like the vast majority of the art outside of nsts this is generally much more complex um uh you know then then you're just gonna end up massacring your art and trying to squeeze into that so um you know just treat it treat it as a certificate and then develop the art in a fully expressive uh parallel state and that is where the artist has complete freedom uh to decide what to do to decide and to describe and to and to secure what the art what the art is and have that parallel stage being inextricably tied to the nft uh so that's all very well said and very you know that's all very well and but uh you know how do you actually pull that off um so that's where the technical insight came in where uh all nfts so all nft contracts erc 721s erc1155s they have a function called self transfer uh sort of self trans sorry safe transfer from and uh the parameters for that function are a from address a to address and a token id so those are the three ones that normally get used and then there's a fourth parameter in there called the data parameter and sorry i should have screenshotted here but um it did put it in here but uh that fourth parameter is the key to unlocking this parallel state because in that fourth parameter that data parameter you can pass it any arbitrary uh you know uh uh string oh sorry that has been bytes but but you can pass it any arbitrated data and that's what we use to construct this uh parallel this parallel state so we pass a carefully constructed data package uh where we then describe on chain uh what the artwork is so what you're looking at here is uh you know an actual live example uh of an artwork by an art artist called uh yenna sutila so we created the token uh and then in the parallel stage uh we i mean we created a data package which i'll show you shortly because it actually relies very heavily on ipfs uh we've had pass a data package where we described the artwork and it includes a 1.8 gigabyte prores version of the artwork which doesn't fit into the super um nft uh and then we had the we defined a valid case pick transaction as a transaction where jenna where yana sends the nf teacher herself uh and so that records the dotted package on chain uh and uh then you know she sent us the uh you know the nft imagine right like in six months time jenna comes up with like a cool idea about uh adding like a 360 uh version uh videos like a vr version of the of the video uh what we would do is we would send the uh token back to jenna and obviously you know they're non-custodial ways of doing this but at the moment uh we're just manually doing it right where we send the nft back to yena uh and then uh she burns uh you know uh an updated data package so that will uh again this is all on chain uh and uh that will add the additional assets to the um uh to the nft she does self transfer to record that and then she sends it back uh back to us uh so you know if this were for instance like a 3d avatar and uh you know some new platform had emerged uh or filed uh formats that moved on uh then as an artist you know you're not too stressed about that because you can always um uh you know update the update the parallel state and it's also much more expressive you can express uh whatever you want in that in that state uh so i'll go through a a quick demo we've got a quick as i said we launched that wednesday and we've got a quick demo application so um uh anima uh and marigold they actually created this uh music video so this is the first full resolution full length uh nft of a certain nft of the music video uh that we used k spec for uh and what i'll uh link to now is our demo application which is uh we've called iddqd and um uh you know you can pass it any uh any nft smart so any uh 7201 or 1155 smart contract and a token id and it's going to read directly off chain whether it finds any valid case spec data package so in this case it found one and you can see here that uh you know we've defined the case back as having three components this just described what kind of case pick it is and this is a a header and then you know the body is where we actually store the metadata and the and the actual data so there's one one area that i'll just quickly take you to which is the credits because this this in and of itself is a collector uh you know i personally find this uh super excited so what you're seeing here uh this is adama's uh address and this is marigold's address so immediately here we can see that there they're both signing this and actually in the header i'll go into the detail in the header you can actually see a hash confirmation a signature confirmation from marigold to the co-author so here you already have a system for you know multiple people attesting to the providence of this and if you go to um if you follow that transaction actually here in our application if you type the path parameter id at the end it will actually take you to who made this um uh who made the senate team again all this is on chain uh and here let me inspect uh uh the second result which is marigold uh it will go all the way to her records i mean there's metadata on her identity which i will go into but you can explore i'll link this um i'll link this in the chat if you want to uh if you guys want to explore that um everything that's in there uh but uh just very quickly i'll show you uh again this is all on chain so um uh here in the in the storage what we have is uh data replication so we've got fallbacks uh so we've got a centralized url which will uh you know facilitate fast sharing uh but also uh you know decentralized uh alternatives uh as i said like um ipf it relies heavily on ipfs are we for use as well but you know anything bigger than a gigabyte uh really it's not practical to use uh to use our weave so just click here just to quickly show uh what that looks like so this is marigold um you know reading her um uh reading her uh uh you know id so you know the beauty of this as a collector is i don't have to rely on you know say sotheby's or or even super like i i i trust them right to verify this but i can now uh verify for this for myself on a you know on chain uh but uh and even more importantly the machines right can uh can pull this information you know without having to send an email right to sotheby's and going like hey you know how did you verify that this thing uh you know is actually uh is actually made by the person who made it who says they made it and also it allows people to use platforms like say like zora or openc to create these things and have like an inbuilt uh provenance change so basically there's no reason there for there to be fake nfts now basically which is a one of the big problems in um uh you know these permissionless um environments um uh actually so i think i've covered the storage component right but yeah as i said like you can go through um uh you know and inspect this i mean um you know there's there's a lot packed in there let me see if there's anything quickly interesting oh one thing that's interesting here is that you know we've defined like a distribution element so you know that pulls things from storage as required so again like if there's some new application that emerges uh that requires a particular format for the nft to be ingested you can just define a new uh element here you know that serves that particular applications with you know could be like decentralized or spatial or something like that um and uh uh yeah so every um every nft you know that has like you can define like an arbitrary number of records and you know also uh define an arbitrary number of components to the uh to the artwork um so yeah i can leave some you know i'll leave it there but you know if there are questions as to you know this actual structure we cannot uh we can cover that um i think i um yeah here it is uh okay so um uh what as i said we launched on wednesday so what sucks for us is to uh at the moment we're implementing these manually uh in you know in collaboration with uh platforms and um you know selected platforms of selected artists but we want to put this in everybody's hands so first step is developing a docs um we need to create a you know graphical user interface to sort of broaden the number of people that can actually use this um we need to build applications so for example like you know what this enables is like cross-platform staff aggregators and sort of attribution as well which is a big problem right now where you know if you're a mentor and you have a collaborator the mentor is going to get the the the uh the stats for the sale which has a big impact on on uh artists earning capabilities so those are the things building applications um and uh yeah we've got a fantastic uh you know team of engineers working with us uh but uh uh yeah we're looking for help as well to help uh build out this uh protocol because uh yeah we're gonna need a lot of hands we're already seeing a ton of demand and we've been warned uh you know by some platforms that uh you know to get ready to scale up because we're gonna uh we're seeing a lot of demand from the uh artists on the collector's side um so uh yeah i'll pause there and uh yeah luke thanks uh thanks a lot for the opportunity of course i um we're happy to have you we're excited for the launch and you know sort of following up on that i know you mentioned there's been a positive reception so far but um how have things been going i mean you just launched you know i guess for some of the hackers here who are interested uh what could you use specific help with or potentially what could they could they use this tech for in their projects uh going forward for the next three weeks yeah um so we're we're trying to work that out uh uh work that out ourselves i mean i think we're going to start um i think any application right that sort of uh helps uh someone create this uh this data package like imagine an artist right that you know doesn't know how to handle json doesn't have like hash deep or whatever installed on the command line uh uh an application that would um uh you know construct this validate the schema uh for it uh that would be uh that would be that would be you know something super super interesting and that artists would find because what we're seeing right now right is uh we've got uh a ton of artists who are dming us with like the the stuff that they haven't been able to create because you know they were facing the limitations that they did in nfts and they're saying can we uh can we how do i create a case pack and uh you know the best i can tell them is like okay we're gonna get you docs like soon pretty soon uh so anything that can help them uh uh create this thing for the for themselves i could basically give you like a list of 10 people uh who would be ready tomorrow to start uh to start implementing it that's excellent yeah um there's been so so much uh expansion in the nft space specifically over the past year i think everyone like the the question on on everyone's tongue is sort of like what will be next um you know where i guess do you expect things to be maybe next year in a perfect world yeah so um well in a in a perfect world everybody all artists we can even handle anonymous identities as well we feel like an attestation uh uh system that that we can use with this so i think all artists have uh you know verified their identity on chain um uh and and uh uh and then you know our um you know for for anything more complex than a video or a gif then uh you know creating these um this structure for those nfts on chain uh and then you know then that just opens up like um you know a whole ton of possibility i mean you could use it i mean you could use this for journals for instance i'd love to see this uh being implemented for um uh academic journals uh right um and uh you know vr ar uh yeah just i would you know okay let me put it this way i would love to see um the complexity of the art just explode uh and explode and and to be surprised to like in a year from now uh going like holy crap like how you know we thought that uh we thought that this you know we thought that 3d avatars were cool and we thought that in a year's time you know everybody would be like you have like their 3d avatars in an nft and which we're working on by the way but you know being there in 12 months ago like yeah we did that but this other thing that we just never saw coming that would be that would be pretty cool yeah i i there's just a myriad of possibilities um a sort of super nuanced question for you here um if you could explain for for us in in the call right now how the parallel state works how the parallel state works uh yeah yeah so um by parallel state we basically mean uh uh as a state for the for the artwork right so at the moment uh here so at the moment here it um uh so this is a a token right so token26090 on super rare so that's a real that's a real token and that this all exists right now and the state of the art work at that at this point includes a 50 megabyte file which is a low res file used for serving on the internet and it includes a uh pro res uh you know almost two gigabyte uh two gigabyte file so that's you can think of it as like you know how ethereum's state machine right so at any particular point in time it's like a snapshot of what of of what what the data is so that's what we mean by parallel states at this point this is the state of the artwork then if you want to modify that uh because so uh caseback has like a like permissioning built at the lowest level uh so that for instance like i can't just like modify this myself so the way we uh enforce that is by uh defining a violent a valid case pick is one where the artist has to send the artwork to herself um uh so you know so say if k21 sent this to themselves it just would be ignored by the protocol but because here she sent it to herself we know that both k21 which is our you know collection uh and uh the artist consented to this updating of the of the artwork so here this was the state before and this is the state now in the the new state includes an additional uh file so i don't know if that answers the um no that makes sense i i appreciate the definition being pretty synonymous with the syntax chosen um as as far as next steps for you guys i know you've sort of mentioned what your plans post rollout are um maybe delving back into that a little bit first for case back you've got the the applications you're you're hoping to build and if you could just i think go a little bit further into that for people who are still with us i'd be pretty interested to see what you're what you're working on yeah sure so um i mean i could definitely you can always take you step by step where we're where we're going so uh uh i think first we're going to start with an application that allows people to create their caseback ids um because those data packages are very standardized uh that's a that's a good place to start and also you know it also helps artists prepare right for when they have a a product because you require a caseback id to create a valid case deck um so an application so you know we've got a product designer right and so again we launched this on wednesday so we haven't really exactly defined how that looks like but you know our product designer is fantastic and you know we'll come up with a great ux right for creating that um that uh ui then um i think the next step would be creating a ui that tackles like 90 you know the 90 use case which is um you know that artists uh run into this like 50 megabyte hundred megabyte limit and what they actually want to do is like they want people to experience you know a three gigabyte a three gigabyte file on an lcd screen uh you know whether it's at a gallery or or um or in the collector's home uh and uh uh yeah so there we're talking about actually constructing you know a a graphical interface for constructing um a standardized case spec so i always i think there's always going to be like a like room for someone like canon but doesn't have to be just us but someone like cannon creating like these more bespoke ones like we did one for instance for a website you know that the artwork is actually like an entire self-contained website right so that takes a bit more thought and it's going to be those are going to be a bit harder to handle like on in a standardized way but 90 of the artwork is at the moment anyway right uh 90 of artists will be able to use like this uh graphical interface and get their their artwork done and it also might serve as like a reference implementation for any platform that wants to just build that uh you know sort of build that in into their own uh uh you know applications um and uh you know we also are quite interested in uh this idea of like matching collectors and uh and uh artists um and then sort of like developing a non-custodial way of because at the moment you know as i mentioned the permissioning system requires you to send the token to the artist we're not particularly i'm not particularly concerned about uh you know the security of that because most of the time right the likelihood that like a legit artemis artist is gonna like run away with the own their own token right a little bit disastrous for them [Music] and uh but still you know obviously for completeness would be it'd be good to have like a non-custodial solution but more than that it's the just to be able to do it asynchronously i think is important uh uh and hence why i think you know if you've got that capability for the non-custodial word you know someone could deposit the you know the token and then have that performed at some point and then uh you know uh that would be that would be super useful and then as i mentioned like um these applications that uh you know read uh sales so sales sales statistics in particular and this is something that we've that artists have actually uh shared with us right that it's very difficult right now because each platform has their own uh way of tracking sale sales statistics even though everything's on chain or should be unchained um but also things like say in this anima uh video this is a collaboration between anima who's the music artist and the and marigold who she's the visual artist or the 3d animator and anima minted the work on super rare and he received the credit for whatever was like uh 21 ether or something like that uh and marigold had did not like on the platform she did not there's no way for you know for super rare at the moment right to make that attribution uh you know because the credit uh is provided like in the description this is not machine readable uh but uh with k-spec it's completely machine readable because it's you know very well structured and uh and defined and so you know you and it's uh acro across platform so you'll be able to um so yeah so that's that's one application we're very interested in uh because it directly helps artists to have somewhere where they can show you know the track record of the sales and everything which is super critical to um you know what they can expect to get for subsequent works i love it that's a i can immediately see the value for for the creators going forward and especially in this sort of decentralized economy that's going to be incredibly important um i want to thank you for for presenting today and showing us everything that is that you've been working on i'm really excited for your team and really you know i guess we can also we're proud of the developments being made on your side so thank you thank you again for all of your time today appreciate it thank you very much luke thanks uh thanks everyone

Automatic transcript — names and jargon may be misspelled.