QAN Research, Streamr and SuperRare Keynotes (Combined Recording)

EDCON 2020 · August 2020 · 39:41

Three EDCON 2020 keynotes share this recording: Silur introduces identity-based encryption at 0:04; Streamr founder Henri Pihkala discusses data unions at 15:00; and SuperRare CEO John Crain addresses NFTs and art at 30:02. These are separate presentations, with chapter times supplied by the uploader.

Speakers

Topics

From EDCON 2020, hosted by EDCON.

Transcript

[Music] hi everyone hope you enjoy adcom 2020 virtual edition i'm silur and this is a 15 minute detour into identity based encryption and friends on our agenda we have a short motivation and history for ibe we're going to discuss the pros and cons for for ibe two instantiations one with standard elliptical pairings and one with lattices then we gonna talk about how to eliminate the trusted third party that's currently the pain point

for ibe which is why i selected this topic for this event then we're gonna address how to make signatures with a little abuse of protocol out of encryption and talk about how to make hierarchical identity based encryption later so how it all started it turned out that when you put power back into the user so when you are responsible for your own data that responsibility usually manifests with responsible uh handling of your own keys and in recent years or not just with blockchain applications since pgp and and

since rsa turned out that responsible handling of private and public keys are not very trivial for not uh tax saving people so for this ux issue xiaomi rain84 asked for a public encryption system with the twist that the public key should be arbitrary string for example your driver's license number or or a passport number or just your email so before sending out pgp emails you don't need to exchange the pgp pub key because the email should be the uh the public key for for the recipient so before talking about the how

generically ib is constructed and get into specifics with curve pairings we have to address how it differs or how it is similar to attributes based encryption so in both cases we reversed the the order of key generations so instead of generating uniform random private key and making the public key with some form of generator from this uniform random private key first you ask usually a trusted third party how you want your public key to look like and then with some trapdoor information

your private key is gonna be generated for you that that's gonna map into the public key that you asked for but this can't be just one arbitrary string it can be a set of attributes where you can define for example that all bus drivers with yellow have scanning decrypt a message and you can represent these attributes in a merkle tree or something or or a hash accumulator for example so identity identity-based encryption is basically a form of attribute based encryption where the attributes

are so strict uh that your that these attributes uh specify the decryptor into one single identity so the take over here is that identity based encryption is just a form of attributes based encryption and for both the common layout is that we have four polynomial time algorithms uh one for the trusted third party the setup with the security parameter which will generate our master secret and public keys usually this doesn't really differ from usual elliptical development or alcohol

type case which we will see later we have the interesting part is this extract algorithm that which would access the master secret key and given an arbitrary string or a list of arbitrary attributes an id can generate your secret key for you and for the rest we have uh the usual public key encrypt and decrypt algorithms with the twist that we see here that for encrypt now we don't use the public key but the identity directly which is the whole idea behind ibe so use cases why

why it is useful besides having uh having access to a public key without an additional step or an additional interactive step one is asymmetric broadcast encryption so broadcast encryption recently got some traction because of this coffee the coffee tremor and will likely to get even more in the future because broadcast encryption currently is mostly symmetric for example it's used in television companies where you can't store so many

symmetric keys for your users especially not in a dynamic way because your viewers are usually stateless and we've been waiting a long time for an asymmetric variant for this because currently this these keys are derived from steiner tree so the user identities are some weird and not trivial arrangement or arranged in a non-trivial way another example i oh and and done a for example in the next slide thought of is forward secrecy so before you go to a holiday you can

generate uh an attribute or set or seven attribute based keys with timestamps attached to it so so timestamp can just be an attribute for attribute based encryption and you don't need the the ratcheting and stuff uh non-trivial protocols for forward security because timestamp here is just another attribute you have to attach to your keys and if you lose your case during your trip uh you only risked the information encrypted by those intuitive key delegation at the very end we are gonna dedicate one slide

to hierarchical identity based encryption so you can even use attributes or identities where you say that anyone below this person or these attributes in the hierarchy can decrypt this message so for example your cto at the company and everyone else every developer under him in the hierarchy can decrypt a message that's sent to the development department for example but the the catch here which why is it's not very common or not common at all and not used at all in blockchain is that it needs a trusted third party so it's it's really um

not only un intuitive but really risky to have someone else generate your private keys for you which can be actually mitigated and we are gonna dedicate some slides for this but before that through practical constructions the first is with elliptic curve bearings to stay in standard assumptions so it's a chosen cipher text secure constructions in the random oracle model it's important for the setup itself we have two elliptic curves or an elliptic curve group

equipped with a pairing as usual with pairing based constructions and the generator for the master key setup we have the usual process we'd get a uniform random scalar from our finite field and we mask it uh melt the generator with this scalar to get the master public key nothing unusual uh for the identity secret key we're gonna use the previous master secret key h1 here is a hash on to g1 so it's a hash function that maps arbitrary b strings into g1 we map it onto the elliptic curve and we also mask

this point with the master secret key for the cipher text we have uh uh a little similar to algamal type encryption but we see here that for the generation of gid we eq we utilize the elliptic curve bearing here so we lift it into g2 and we als so and and the other part the second parameter of the the pairing is the most republic key because we have to bind to uh twist to this mpk because anyone can hash bob evilcorp.com into g1

and you also have to bind this identity to the one authority that maps these identities for the keys because infinite infinite amounts of case can exist for above that evil corp otherwise and you need you still need the authority of this trusted key generator to to restrict the decryptor's identity so just one slide for cox we know that there is a way to make identity based encryption

out of quadratic residues why i omitted the specifics here is that it works bit by bit so it encrypts bits and in a highly unefficient way it's a really cool theoretic construction by the way but we already know that it's it's highly unefficient and unusable in blockchain applications so even if we would would read and sacrifice very decryption and encryption time we will very soon run into out of gas exceptions had we implemented this so the next because of this the next

construction i selected from the literature of ibe is a lattice version and the reason for that is that they are highly parallelizable quantum safe which is not not an unimportant thing in my opinion and uh but because parallelization and quantum safety are kind of a religious war in uh crypto or in within researchers one of the most important takeaways is that hierarchy is easier to define we're going to see later that you define hierarchies with a twist on the extract

algorithm that we defined prior to include some vectors and uh representing elliptic curve pairings and samples for them uh in the form of vectors and operating on them are a little more or more unefficient than doing it with lattices because with lattice primitives your trapdoors and keys are already in vector form so for the construction itself we have a uniform random lattice a0 and the base is ta a short basis this is

very important for it so the short pieces will be our most important trap or information because uh without access to these uh short praises you will need the lateral extra alloys or the big ac algorithm to calculate short vectors in the in the lattice uh which is assumed to be uh even uh quantum hard so ta will be our secret uh key for the for the trusted key generator this short basis for the other uh public parameters we have two other uniform random lattices and random vector in the finite field that

we used to define our lattices so this will be mpk for the identity secret key we also have a trapped or sampling algorithm which i just replaced with ts here because the original uh bpa construction used ts um as a basis delegation uh sampling and the basics the location problem but since the original publication there has been many more efficient the smaller and even constant time trapdoor functions on top of lattices with better uh

sampling and short so yeah let's uh let's let's see what the future have us for ethereum on ibe and see you next year bye [Music] [Applause] [Music] [Applause] [Music] all right hi i'm henry co-founder of streamr

welcome to this 15-minute talk during which you'll learn what the heck are data unions and how you can start one yourself so sit back make yourself comfortable and let's get started so first of all what is a data union it's a framework for building applications that pay users for sharing valuable data it's an implementation of a data crowd selling pattern for builders such as yourselves it's a potential business or perhaps a way to

liberate data from centralized monopolies and from users point of view it's a way to earn by providing data to give a concrete example i'll show a ready-made data union called swash and afterwards i'll show how you can build a data union too so one day late last year when the data unions framework became available in private beta a team shows up in the streamer community with an idea they applied for grant from the streamer community fund and built swash swash is a browser plugin that shares and sells your web behavior data anonymously and in real time most applications

collect and sell user data secretly on the side but this is the opposite its sole purpose is to collect data in a fully transparent fair and configurable way we can see here i've earned 74 streamer data tokens so far which is around four bucks with the plugin active if i for example do a search on google the plugin produces data points on what i search for and which results i clicked on i can fully inspect the contents of all data before it gets sent and there's an endless amount of privacy settings which i can tweak to something

i'm personally comfortable with with enough users participating this kind of data would be interesting to web analytics companies retailers for analyzing their competition and well maybe even crypto speculators to see what projects are getting attention right now of course there are many kinds of data that can be shared and sold from people using digital services to iot and environmental sensing such as weather or pollution data broadly speaking there are two categories of end user apps there's dedicated apps like swash where data sharing is the main feature of the

app but the data unit features can also be added on top of existing apps as a sort of side benefit for example imagine a fitbit data union where the framework would be part of the fitbit app and give the users the option to share and monetize their wellness data data unions are built on two main technologies of course ethereum where smart contracts are used for storing and transferring value as well as maintaining the data in your state and doing all kinds of bookkeeping then there's the streamer network which is a decentralized pub sub message broker

for actually transporting the data from the crowd of data producers to the consumers or buyers of that data additionally there's the streamer core web app that provides a friendly interface for setting up and managing things and a marketplace where access to data streams is sold to interested buyers what basically happens is that data providers interact with the end user application which is data union specific like swash for example and the rest of the components are part of the framework the application

pushes individual data points to the streamer network buyers interact with the marketplace d app where they can purchase access to the data content and afterwards start receiving it via the streamer network the payment goes to the data union smart contract which keeps a record of each user's cumulative earnings and allows the tokens to be withdrawn the data union admin can set a fee which is a way for getting compensated for developing and maintaining the app and potentially making a business out of it the admin is usually the party who created the end user app

but could also be for example a dal consisting of the data union members this talk is more about how to use the framework than the details of how it works under the hood so i won't go too deep into it but perhaps worth drilling down for a quick look into the ethereum side of things one thing important to understand is that currently data unions can't run fully on mainnet due to high costs and lack of scalability and there's two ways in which we've solved this the currently on currently in use 1.0 version maintains the data union state of chain and uses an operator slash validator

model and has a plasma-like interface for withdrawals which means users can withdraw by presenting a merkle proof of their earnings to the mainnet smart contract now in 2.0 coming out later this year the data union state is fully on chain with the parts that need scalability in a proof of authority side chain run together by all the admins of the different data unions and the token bridge built by the poa network guys bridging between the chains now they should improve both usability as well as security of the system so but how do you actually

use this so there's basically four steps to creating a new data unit first you set up your streams then you deploy the data union smart contract the most involved part is integrating the actual end user application which is usually the data source and also acts as a wallet and finally you publish your data union as a product on the marketplace to start selling the data and earning revenue so first you need to figure out how to model your data into streams streams are sequences of messages so you need to decide which events go into which streams

a typical approach is the fire hose where a certain type of data from all users goes into the same stream in swash for example all web searches go into one stream and you know youtube behavior goes into another then you simply use the core ui to create the streams you need you basically give them a name and hit create so easy enough so far okay now our streams are created but they remain empty until we start sending data into them in step three first however we create the data union itself so also using the core ui we go to create new product and choose

the type data union instead of the basic one which is used for b2b data sales usually now we give our data union a name a cover image a description and whatnot and in particular we bind the streams we created in step one to this product so we're saying these streams contain the data for this data unit then we set a price per time unit for subscribing to the data for example one usd per hour the price can be defined in data tokens or pegged to usd and finally we set the admin fee which

is your percentage share as the admin for creating and maintaining the thing and the rest of the revenue gets automatically distributed to the users okay now we're ready to deploy the data union to the blockchain and for this we need a mainnet transaction the deploying address becomes the admin address for the data you need cool now our data union exists so we can start integrating the end user app which allows people to join the data union and send data into the streams so to do the integration we'll be using the streamer sdk

for javascript which provides easy to use wrappers for everything we need including the data unions functionality as well as publishing data to the streamer network when your app starts for the first time it should generate an ethereum private key and store it locally the key will be used to sign withdrawal transactions for example as well as to sign the data that gets sent to the streamer network before you interact with the system you create an instance of the streamer client object and pass it the private key also part of the initial setup you call

a method join data union to have the user join the data you need you only need to do this once this calls the default gatekeeping service that validates a secret that should only be known by your app now you can replace the simple default gatekeeping with your own for example to include captcha to defend against bots or or something like that okay now that the user has joined the data union as a member we can start actually publishing data points to the streams by calling streamer.publish with the actual data payloads whatever they are

in your use case since the end user app acts as a wallet you probably want to display the user's balance and earnings somewhere in your app and you can easily acquire those with the get member stats function members accumulate earnings for as long as they want and they can withdraw them from the smart contract at any time the tricky bit is that the withdrawal of course requires a mainnet transaction so the user needs to have eth in their address

to pay gas which is tricky from a ux point of view now for better usability there's another function that allows the data union admin to sponsor the withdrawal by paying for the gas they might cover it from the admin fee for example needs to be said though that with the current you know through the roof gas prices users need to accumulate a fair bit of value before they can even cover uh withdrawal costs but obviously the current gas price situation on ethereum will eventually be solved one way or another

i hope anyway that's it our app is now fully integrated to the framework including initial setup joining data production and withdrawals the final bit is to publish the data union as a product on the marketplace so to do that you go back to the core app and hit the publish button on your data union product and do another mainnet transaction this makes your data union publicly visible and the data streams are now on sale the public product listing shows stats about the product such as you know member count and total earnings

people can now unlock access to the data by purchasing a subscription for a time period of their choosing so that's it we're all done with creating the data union one thing though as the admin your job is to create supply and demand by marketing your app to users as well as finding buyers for the data you should also keep your data union tidy and there's some supporting tooling available to for example kick out members who are no longer producing data the framework is currently in public beta

so you can just go and start building the best place to start is the docs which you can find under the project website at streamer.network and there's also a bunch of screencast tutorials coming soon all right um that's the end thanks for joining this session keep building and stay safe [Music] [Applause]

[Music] hey everybody my name is john crane i'm the ceo and co-founder of super air and today i'm going to be talking to you about nfts an unlikely catalyst or a revolution in art so not many people know that art has a data problem the independent estimates that up to 20

of art in major uk museums might be fake and this might be understandable with some of the older pieces in their collection they might be hundreds of years old how can they possibly actually know who created the art and when it was created but this extends beyond really old pieces art and goes into the contemporary art market so just in general getting good data about the market is really expensive and you can't really be sure how high quality the data is so there's a number of proprietary data providers uh you can pay them a subscription and you can get access to their pricing data for example if you wanted to know what

was the average price of a picasa that was sold last year and how many picassos were sold last year you'd need a subscription to one of these proprietary data sources this is the problem because it makes it very difficult to actually audit the data that they're giving you in addition to that auction houses one of the few parts of the art market where they're required to have public data are known for what they call chandelier bids so these are bids that are posted on the chandelier in the back so even when you're bidding on a piece of art you don't actually know if you're just bidding against yourself and the auction house is facilitating that

so i like to think about nfts as a simple standards-based solution so late 2017 erc 721 came out a standard interface for non-fungible tokens so for those of you who don't know a non-fungible token is basically a token with a unique identifier so you can say here's the specific token i can know every address that's ever had it i can know every address that's ever placed a bid on this token it's a unique object i like to think about it like an internet artifact and you know what's exciting about these is they're very simple but also very powerful so just because we can issue

this unique object as a certificate of authenticity for a piece of art creates a public permanent record of the piece of art and this is a really big deal for lots of industries but especially art where provenance is so important you know the value of a piece of art might change depending on who previously owned it uh or you know you want to see you know what's been the average price for art of this type you know we now have this public record of these pieces of art and that's a big deal so i kind of like to think about it like nfts create identity for

internet artifacts uh so here's an example of a piece of art on super air this looping gif was created by the artist pack it's now owned by whale shark and he's put it in his vault and you can see an amazing provenance history right there so just one simple standard here just erc 721 allows us to build all this information on top of the standards so we now you can start to you know just by having the standard and having wallet addresses interact with these tokens you can kind of build a lightweight identity and reputation system on that so yeah

you can know what type of collector is this or you know how often is uh this artist transferring works to different people you know like you can build a lot of insights on top of the fact that we have these standards and can see who's interacting with these tokens so it's a super simple concept but it kind of allows for this beautiful industry to evolve on top and you know if we look at oops if we look at the data you can see that you know the numbers are growing quickly so digital art has historically been a

subset of the contemporary art market so it's estimated that 2019 the contemporary art market was about 16 billion and digital art was about 500 million so a very small subset of that and you know why is that because lots of the new art forms and new art that's being created is actually natively digital and so using nfts as certificates of authenticity for these pieces of art give collectors that you know they've actually bought an original right the the artists themselves digitally sign these tokens when they're created so you can be sure you know you can know that this a

certain address created a specific token you can see what block it was created in so you have just a rich set of data around the art piece itself that you never had before and you know you're looking back there have been a number of attempts to build you know communities around the digital art markets and they've mostly failed but i think what we're seeing with you know these nfts being used as certificates of authenticity that it's actually different this time uh so you know digital art looking into the future what are we what do we think is going to happen so we're just seeing more and more

digital art uh or more and more rb natively digital so you know gifts probably the most popular art form on the internet um you know having certificates of authenticity for those hugely powerful ar and vr sculpture you know this is something that doesn't translate at all to a canvas that you'd hang on your wall so you know having something like an nft make it so you can uniquely identify a specific ar sculpture created by a specific artist is hugely powerful and then again video you know a format that's been around for decades now has verifiably scarce certificates of authenticity and and you know in addition to just

kind of like issuing these certificates of authenticity these also allow for new models of patronage so with super air for example we pay 10 royalties anytime an art a piece of arts traded in the secondary market and we think this is just the beginning lots of folks are starting to experiment with new models and you know this is all built on top of the fact that we do have this nft this unique object that we can track and measure uh and then in addition you know kind of similar to how bitcoin is 24 7 compared to the old financial markets that are closed on the weekends you know this art community is 24 7.

it's already around the world people interacting in real time so what's next there's a lot of work being done this r d building out really nice ux experiences for in-home displays so this is rapidly improving i think over the next two years we're gonna see you know people's art collections moving into their home additionally there's been a huge proliferation of virtual reality galleries and exhibitions and this was partially accelerated by covid but basically every art fair that was supposed to happen in 2020 had an online viewing room this year so this kind of just

sped up the timeline in my opinion almost five years so we're just the art industry is really starting to embrace digital and you know what does this mean for collectors i think because we have so much art moving online there's more access more people can go appreciate the art you now can have anybody in the world with an internet connection go to a virtual exhibition whereas if you have an exhibition at moma new york you have to be in new york so i think there's greater access to art and this is really exciting so if you want to get in touch with us uh you know on twitter we're super rare underscore co and you know definitely go check out

supermare.com we have a lot of amazing artists and i'm looking forward to seeing you there thanks so much [Music] [Applause] [Music]