🎙 Fabian Vogelsteller, father of the ERC20 Standard, on the Shift from Blockchain Addresses to Social Profiles with Lukso

Fabian Vogelsteller is a Blockchain veteran who was part of the Ethereum community in its very early days. He helped shape the Ethereum space, building an ETH Wallet and a web3 Browser, that were one of the first of their kind. Fabian is the co-founder of ...

Fabian Vogelsteller is a Blockchain veteran who was part of the Ethereum community in its very early days. He helped shape the Ethereum space, building an ETH Wallet and a web3 Browser, that were one of the first of their kind. Fabian is the co-founder of the Lukso blockchain and together with Vitalik Buterin, created the ERC-20 standard, a foundational building block for Ethereum.

The next standard Fabian is excited about is ERC725, which he says will help introduce blockchain-based profiles as opposed to accounts. Fabian believes this approach would be a seismic shift, improving usability and protecting users’ assets. We also talk about a web3 built on infrastructure that’s made up of proof of stake, sharding and zero-knowledge proofs, which Fabien believes will enable a more scalable and decentralized blockchain ecosystem. We chat about how sustainable this model is and how close we are to see it come to life and being used by the masses.

Podcast audio and video was edited by Daniel Flynn and Gary Leuci. Transcript was edited by Samuel Haig.

🎙Listen to the interview in this week’s podcast episode here:


🙏 Thanking our podcast sponsors:

  • Zerionis Mission Control for Web3: an intuitive DeFi portfolio manager, multichain tracking & trading and the best place to show off your NFT collection
  • Unstoppable Domains is The #1 provider of NFT domains. Get YourName dot crypto, dot x, dot nft or a range of other endings for as low as $5
  • Nexo: Invest in crypto, earn interest of up to 20%, paid out daily, and use crypto as collateral to receive a credit line at premium rates.
  • Step Finance's portfolio management dashboard enables Solana users to visualize, analyze, execute and aggregate transactions across all Solana contracts at the click of a button.

👀 Only paid subscribers have access to the full interview transcript below.


Cami Russo: All right, here we are with Fabian Vogelsteller, the author of the ERC-20 and ERC-725 standards — the most popular token standards probably — and the co-founder of the Lukso blockchain. Fabian, it's so great to have you here on The Defiant podcast!

Fabian Vogelsteller: Hi, nice [for] you to have me!

CR: It's nice to be chatting. So we were just saying it's probably been a couple of years since we talked, I interviewed Fabian for my book, The Infinite Machine, as he… played such a key role in the development of Ethereum and the Ethereum ecosystem, so it was about time that we caught up and I'm interested to hear what's your latest!

To start though, can you get into explaining what the latest is? What is the Lukso blockchain? How is it different from other blockchains? Just give us a recap, and then we'll go all the way back into how you got into crypto.

FB: The latest is basically [that] I'm working on this project called Lukso. We're building an EVM blockchain, Ethereum-like network for the digital lifestyle, new creative economy — these kinds of use cases.

And it's basically starting a network, but also coming with new standards, and new basic ways of how you do things on the blockchain, because… all the other blockchains… are still running on Ethereum [and] the same core standards that we have proposed like five years ago.

So Lukso is not only a blockchain for the next wave of use cases — more social, more community-oriented, and more content creators, artists, metaverse digital, passion — we are all of these things, but also with the right building blocks to make that possible in the first place. So a whole new network… with a bunch of new standards and a bunch of cool tools to do that.

CR:Nice. We'll definitely get into the specifics of those standards and tools, but first, how did you get started with crypto and Ethereum?

Architecting Ethereum’s core standards

FV: I got some crypto in 2013. [I had] heard about Bitcoin, followed all of this, got super excited about Bitcoin because first off, the price went literally from $10 to $260 in a month — that was already impressive enough, but I realized it's super cool tech. And then all of these altcoins popped up, so it was really interesting to follow the whole altcoin era, the copies of Bitcoin that happened, and it became my hobby in 2013, in 2014, and 2015.

And I was fortunate enough to join the Ethereum Foundation and was able to transition from being a web developer to being a web3 developer. And that early on, and in the position that I was — I was to lead the dapp developer off Ethereum — I could build a lot of very early tools that the space is using today together with Alex Van De Sande and other people at the team.

We basically built the building blocks, and as one of the more internally vocal developers, I happen to create a lot of standards and define a lot of things that still are the way we do things today on Ethereum. ERC-20 is one thing you mentioned — I just wrote this spec, initially, the draft came from Vitalik, and it became the first smart contract standard, we called it Ethereum Request for Comment, ERC. The whole idea was we discussed and then we made a standard, the ERC-20 became the actual standard in the end. This kicked off this whole blockchain wave, including the ICOs, DeFi, and NFTs that we have today.

I worked on the first web3 browser. I worked on tools like web3.js, which is how you build dapps on the javascript level, and also defined the communication of how like a Brave browser or Metamask talks to a dapp. [I worked on] a lot of things on this low level because Ethereum was kind of the core people building the nodes, and then there were people like Alex, me, Marek [Kotewicz] — a few that were building these tools that make things easy to use for developers. When you are one of these few people you happen to do a lot of things that are important today in the space.

CR: Amazing. Fabian, what makes you defiant?

FV: What is defiant?

CR: Defiant means challenging the incumbent, or the normal order of things, or the way things are usually done.

FV: I'm interested in the future. I'm interested in what's coming next, and I have a very good intuition of what's coming next. I mean, that's what I’ve learned throughout my life, and I'm also very anti-authority. I don't like being told rules and I like to challenge rules, and blockchain tech is a really good way of doing that on a ground level.

With all of this standardization, I got kind of pulled into the standards space. It was never my intention to create standards. It was really just like I happened to propose this standard and then it became popular, but I really learned over time that there's a certain way to think if you want to create a standard, there's a certain way you have to think these things through. You don't want to create something that's overly biased towards what you want to do, because then nobody wants to adopt it, and it can also not be too flexible because then it's hard to use, but it can also not be too specific. So you have to find a balance — it has to be open, it has to be neutral enough, unbiased enough, but it also has to be specific enough, and open enough at the same time.

And I happened to have some ideas that seemed to make sense. And out of this, later came other standards that I created like ERC-725, which is literally the basis of Lukso and probably the basis of future blockchain identity. And now it's basically almost like an explosion of standards ideas, because once I realized how much you can do with just this ERC-725 standard and what you can build on top of this — you can now standardize so much stuff on top of that standard, and because it is very flexible, [there is] a massive amount of extra things you can standardize. So now I'm in the massive standardization bubble, [I] standardize a lot of things, and there are a lot of things possible later on.

But the interesting thing about this standardization is you build Lego blocks. And with Lego blocks, people can build a lot of cool things. And the whole blockchain space still runs on the same lego blocks, let's say there's like three — there are tokens, and then there's NFTs, and maybe there's some kind of like protocol things that we use, or DAOs you could see as a lego block. And the whole space is literally working with these three lego blocks, and everything else is more like a combination of those. That's first [a] very [small number of standards], and second, they have the problem that they were created, not with a lot of thinking, but they were created because there was demand.

We created the token standard because people wanted to make tokens, it's not because we had a lot of time thinking ‘hey, let's think this through’, and then we made tokens, it was like ‘oh my god, people want tokens, let's come up with something’... And the beautiful thing is that if you create this next wave of standards, you can actually correct the mistakes of the past — rethink what was done wrong and how you can do it right. You can also do a lot of clean-up that you cannot when people want to be always backwards-compatible.

That is, I think, also a problem. People try to always be backwards-compatible because now there's Metamask, there [are a handful of] wallets that can use these tokens, and now you always want to be compatible with that. [But] if you rethink this from scratch, and you can make it better, and you have a new network, and you have a new set of use cases which will bring a completely new user, you don't even need to bother that much. I mean, you can make these things backwards-compatible, it's not hard, but there's also no real need to do that. That's a good thing actually.

CR: Wow, ok. So we'll get into how you're looking to improve the standards [later], but taking a step back, [what is] the story behind how these standards were created?

So starting with the ERC-20 token, it's interesting that you said the standard was created because there was demand — people just wanted to issue tokens. And before the ERC-20 standard, what happens to those tokens today? Are they incompatible with the way applications on Ethereum works, or like with Metamask? And what problem does having these specific standards for tokens solve?

Life before the ERC-20 standard

FV: I mean, the thing is there weren’t a lot of tokens before ERC-20. There was one token, there was the Digix protocol that wanted to make a token for their gold, like a gold representation for those assets they created. They didn’t want to, or couldn’t wait before people agreed on a standard. So as we started with the ER-220 proposal and discussion, they decided to go with their own way of doing it. So once ERC-20 became a thing, they actually had to migrate the whole token in order to be compatible.

I don't actually know of any other token before Digix… it was October 2015, so the [Ethereum] network was six months old or something like that, so there was not a lot of massive activity before that in terms of tokens or any of these things, people [had] just figured out how to do smart contracts and do things like that. So there was no token economy on Ethereum before that, ERC-20 literally started the token economy. There was some more limited version of ERC-20 I guess.

And the ones which were totally incompatible, they redeployed that token eventually to be compatible, so there was no life before ERC-20 on Ethereum for tokens.

CR: Wow, very cool. Okay, so then Vitalik proposed this token standard?

FV: He wrote the initial draft, and he wrote it on the wiki page. So basically we were discussing in this Ethereum wiki page. He actually wrote three different specs — one for registry, one for tokens, and so on — and we discussed things, and I changed a few things for the order of the parameters, and so on.

And at the same time, there was this EIP repository being created by Martin Becze. So Martin Becze wanted to create this repository to discuss Ethereum Protocol Improvements called EIP, and I thought ‘hey, this is actually a great space to also have this standard discussion because now this is an official place where you can discuss these kinds of things’.

I wanted to differentiate it from an EIP because EIP is more like how to improve Ethereum as a protocol, and this was more a smart contract of standards discussion. So I called it ERC, which leaned on the RFC process in web2.0 — there's this Request For Comment process when they are discussing web standards — and called it Ethereum Request for Comment, wrote a proper specification, changed a few things up, and we started discussing it there… There were like 60 people or so participating, but we didn't usually change much from that initial spec that I wrote on the wiki page there, which we discussed a bit there… And we had a lot of these discussions, but in the end, we tried to keep it simple because first, you need to get adoption…, and we didn't even know how this kind of thing works, how adoption works, and how do we agree on the standard.

And today, it is still a very organic process, if somebody comes up with a standard then there's no final ‘ta-dah’, and now it's ready, and everybody jumps[into] using it. It's more like an organic thing — people using it, it gets a bit adopted here and there, and then people see it gets traction, and it moves from a quasi-standard to an actual standard. In fact, we only put the final tag on the ERC-20 in September 2017 — that was 2 years into the ICOs, by that time, I thought that nothing would change anymore so let's make it final. It was already literally final… like five months after the proposal I would say.

CR: Crazy that it was finalized after the whole ICO thing happened, so people were issuing all those tokens.

FV: I mean it didn't really change right…, it just said like the final tech note [added] on there.

Dissecting down the ERC-20 standard

CR: What are the key features or parameters of the ERC-20 token?

FV: It's really a simple thing. There's just a ‘balance’ function, so [a] function can read what balance a person has or an address has. It has a ‘transfer’ function [so] if you have a balance you can transfer. And the ‘approve and transfer from’ [function], and that's kind of like the hack that we build in to allow a smart contract to understand that it gets tokens, and that's also one of the big problems that we have today which makes ERC-20 a bit inflexible.

So if you want to transfer a token to a decentralized exchange smart contract, for example, the problem is you actually only talk to the token contract, and you say ‘hey, can you please just move this balance from my address to this decentralized exchange address’. But this token contract does not talk to the decentralized exchange contract, it literally just subtracts internally the balance from my address, and adds it internally to the balance of the decentralized exchange.

The decentralized exchange has no idea that you just got the new balance, and that's why you use this ‘approve and transfer from’ [function], and the idea is that you approve the decentralized exchange for a certain amount, and then you call a function on this decentralized exchange, say ‘hey, decentralized exchange, talk to the token contract and pull in this amount from my balance because you're now allowed to do that’. And because the contract can do that and you can check that it actually got the balance, it then can act on this and do something — for example, put an order, or swap a token, or whatnot. Obviously, this requires two transactions right, it's not a very convenient use of flow and that, for example, is something that we have changed in these new token standards, and these were already proposed in other token standards.

Basically, what you do is every single time there's a transfer, the token contract has to inform that receiving contract, and you obviously need to agree on that function that informs the other contract. And that's I guess where this new standard differs from what other people have tried on Ethereum today because everybody came up with their own function name — which makes implementing a generic wallet, or a generic profile, pretty complicated.

So there are a lot of things that we can improve, and we have now improved on. Just these simple things… There's Ether, or the native cryptocurrency… of the blockchain, that's inherently built-in so you transfer this from ‘A’ to ‘B’ and a smartphone knows when it receives this. But a token is just a smart contract with a balance. So if you talk to that smart contract, then if this smart contract doesn't inform any other, then they don't know about that, so it's literally its own little isolated registry. It works very differently than Ether does, for example, because… one is built into the system [and] the other is a smart contract basically.

CR: I see. It's so crazy to think that tokens are just these very simple smart contracts that just have a balance.

FV: It's just registries with a bunch of entries. And smart contracts can have a lot of entries, which is quite impressive. If you look at the USDT ERC-20 token, I think it has over a million holders. So there are over a million entries in the smart contract that say address so-and-so has this amount in address so-and-so, and so-and-so has this dollar amount.

CR: And all that happens when there's a transfer is that the internal balance of that smart contract changes? It says this address now has this amount, and this new address now has whatever it was sent?

FV: Exactly. And for an NFT, it's really just saying ‘okay, this ID now maps to this address, and now it maps to another address.

CR: Okay, definitely we'll get into NFTs. But let's finish with the ERC-20… so what you're saying is that it's inefficient to have these transfers and then, in addition, it calls to other smart contracts?

FV: Well no this is the actually more efficient way of [it]. So there is this big cool thing in Ethereum called composability. Composability means that I can have a lot of smart contracts talking to each other.

So for example, if I talk from a key to a smart contract, my key signs a message and talks to the smart contract, for example, calls a transfer function… But the address that owns the balance could also be a wallet smart contract — it could be not just a key, but it could be a wallet that has a bit more functionality. So now the wallet smart contract talks to the token and says ‘hey, transfer my balance’. And you can actually have up to 1,024 calls within one transaction… Obviously, you mostly don't get to the 1,000 calls because your gas is already used up after five or whatever, but you technically can do that. And the thing is if I transfer a token, the other smart contract that receives it doesn't know that it received any balance. And this is solved as a complicated proof and transfer from where you need to make two transactions — and this is something that you can easily do by making the token contract talk to the other contract that receives something. These are all very technical problems, but they are making a big difference. They're making my token easy to send around, and easy to be understood by protocols, [otherwise] it's a limited complicated flow.

CR: Okay, so the difference with the new token standard that you're creating for Lukso is that now tokens directly speak with other smart contracts?

Forging a new universal token standard

FV: Basically. But this is actually not the really new thing, because already other token standards like ERC-223 and ERC-777 did the same. The new thing here is [that by contrast], all of them came up with their own function.

For example, if you use 223 I think it's called ‘token received’, so if you want to be a decentralized exchange that now wants to be able to receive a 223 token, it needs to have a ‘token receive’ function. And that token function will be called when a new 223 token comes in, and then this DEX can do something and act on it. And then 777 called it ‘tokens received’ or the other way around — I don't remember which one called it, but they call it almost the same but there's an ‘s’ in there ‘tokens received’ not ‘token received’. ERC-721, the NFT, calls it on ‘ERC-721 token received.’

So that's all okay if I build a protocol that should only work with one type of standard or these three types of standards — I can just add these three functions and now I can receive them. But if you want to build a generic wallet or a universal profile on a blockchain that can receive any asset, and that can also be assets that may or not get invented, we have a problem. If we now have a function that we have to build in for every asset that comes up, then I cannot have a profile that's not even lasting a year, because maybe after the year there is a new standard that now requires the ERC-1500 received or whatever it's called, and I don't have that function so I can't receive this asset and I can't act on this asset.

So we came up with something called a Universal Receiver function… So by having a universal function that has a type ID and some data you can pass in, every asset can just call the same function, and the type ID then determines how a smart contract will act on it. And what we can do in smart contracts is we can say ‘okay…, I can’t change the logic of this function… so the function is now built into my profile or my wallet… but what I can do internally in my wallet is I can delegate my logic to another contract that I can upgrade’. So every time somebody tries to call my Universal Receiver function, I can now change the logic of how I behave, because I have that in another contract setting which I can then change over time. If I can change this one over time, I'm now able to act on any future asset and I can even build logic, like reject the token, reroute a token — do whatever I want right? If I build a DEX I can make the DEX be compatible with any future asset, because every future asset will have to use the Universal Receiver function because it's a common interface that everybody understands. So that’s the standardization thing that makes a lot of things flexible, or a lot of things very inflexible.

CR: So the new token that you're using not only speaks with smart contracts directly, but is also able to be flexible in the kinds of assets that it can interact with, and what it does with those interactions?

FV: Actually the other way around. So the Universal Receiver is always on the receiving contract, so if it's a wallet, or profile, or whatever. But the token standards, be it an NFT or be it just a token, both of them will call the same Universe Receiver function on whatever smart contract they want to interact with and that makes them very much the same. They behave the same even though that's different types of standards. Actually, the really big deal is that not only have we created this Universe Receiver that we added to these tokens, but we also unified the names.

For example, all the functions are called ‘transfer’. They only have one different parameter, so they all look very much the same between an NFT and a normal token… We only make the changes that are necessary, the rest looks the same which actually makes it easier for developers to kind of guess the names… we just said it's called ‘transfer’ and the only difference is one parameter in your function.

The other thing, and I think this is the most valid for normal people because we're now living in this world where the basis of your accounts will be blockchain-based profiles, not accounts anymore, you can basically say ‘okay, you can now transfer tokens only to either blockchain-based profiles or to smart contracts that can actually receive your token and know what to do with it’. And by making this restriction in this standard by default, we literally prevent people from losing assets. Because today, you can send your token to any address, and that means also you can send it to an address that nobody owns

There are so many smart contracts that have tokens on them. They can never move them away because these smarts kind of don't have the logic for that. So by saying by default [that] tokens can only be sent to contracts that implement the Universal Receiver, you literally prevent these losses because every smart contract that has a universal Receiver will either reject the token if you allow it, or reject it if it doesn't understand it, and therefore you don't lose so easily your assets.

Also, everybody should have a blockchain-based profile. So everybody should have their assets on smart contracts rather than on keys, and that's actually the big shift. And I guess this is the big statement that I'm doing now all the time — we should not store anything on keys. Storing things on keys is a very stupid idea because the chance of losing your assets is extremely high. It makes onboarding very hard because if you tell people ‘hey, here you create this wallet, but there's this super secret that you should never lose nor you can ever expose, and the only way to change your secret is to move all of your assets away from that address to another address,’ that's obviously not cool.

If you make a smart contract-based account that can be not just a wallet, but a profile that looks like a user profile in web2.0, you can actually make these things very easy to use, because now you can start out with a very simple security. Because, in the beginning, you have nothing of value on these profiles, and then you upgrade security as the value increases, and you can literally switch the keys that control this profile without a problem.

So the keys are not so important anymore, they’re switchable. They are something you can replace. And on a pure key, when you just store your stuff on an address, you can't replace it. There's only one password for it, that's the private key.

That’s what these universal profiles which are based on the 725 standard that I mentioned before basically make possible. They completely change the user experience of how we can interact with blockchain. And I think this is direly needed because using blockchain is hard and most people do not use blockchain, they may have like some assets on an exchange, or they may have managed to move it to Metamask, but that's where the interaction of blockchain stops for most people because everything beyond that is very scary and it's really easy to lose your stuff.

CR: So how do these profiles differ from wallets, what can they do? So you mentioned upgrading or changing your private key, but are you still required to have a seed phrase to recover your funds? Or is there something different there, and in what other ways is it different?

FV: So, where to start? So basically you can obviously have a backup phrase if you want to, so one of the controlling keys of your profile can be based on a backup phrase if you want.

But now you can basically have multiple keys controlling your profile, and even other smart contracts. So multiple keys mean your profile can be controlled by multiple devices — losing one device is not the end of having access to your profile because there's maybe another device [that has] access.

You could now have a custodian service that you trust, that you may pay a yearly fee, that has a recovery key, [and] if you lose your stuff you go to them, you prove that you're you, and you get back to your profile. Or you could even have social recovery, so you can have a smart contract that says ‘hey if your friends agree, they can give you back to your profile’. You could even have a smart contract that somehow uses some clever algorithm to give you access to your profile, or some time-lock system, or whatever else.

CR: Is this like what smart contract wallets like Argent are doing?

FV: So in a basic form, yes, in the more detailed form, no. So Argent is a wallet that has different keys that can access it, and they also for sure have built a lot of extra features.

The difference to an ERC-725 account, or these universal profiles, is that it's purely based on standard components, and everything is standardized from the core contract, how it looks, from the key manager, from the Universal Receiver delegate, and all of these things are standard-based pieces. So there can be many implementations of those, that's just a clear way of how they work together and this is all standardized.

Argent wallet is technically meant [to be] a wallet, and you could ask the question ‘so why is this thing called the profile and the other is called the wallet’? I guess the big difference is that an ERC-725 account as a universal profile also has the ability to attach an endless amount of information on it. So your core smart contract has a generic key value store that you can extend as much as you want.

So you can now write all kinds of information into your profile. For example, you can link a JSON file that has a name, a description, links to your websites or social media, and links to a profile picture and a background picture. Or you can reference assets that you have received because, for example, if you now want to know what your Argent wallet owns, or you want to know what your key owns, you have to go to Etherscan, enter the address, and you say ‘oh, I have all of these tokens’.

But if you want a decentralized system and you look at the address on the blockchain, you have no way to know what assets this address owns because if you look just on the blockchain and the current state, you would have to traverse all smart contracts on the blockchain to find out if there are some tokens that have a balance of your address. Or you have to go back in history, go through all transactions that ever happened, and see if there's ever a transaction that made a token transfer to your address. That's also changing because we have this key value stored in our profiles — when you receive an asset, and because the asset informs your profile, the profile actually writes into the storage of the profile that it received this asset. So now we can write inside the profile itself of what smart contracts have a balance of this profile… and that means I can now reestablish not only a profile on a website that looks good and has a profile picture and some text and everything, but also I can literally decentralize read all the assets that it owns, and check all the right smart contracts for the right balances because it's already within the profile. So I have basically a really truly decentralized account/profile.

And the beauty is in the generic things, so if somebody comes up with some cool protocol like a follower system protocol or a decentralized posting feed like Twitter or Facebook, if somebody builds any of this kind of stuff, attaching this to your profile is as simple as defining a new key, standardizing it — we can all agree what this key name looks like, and what the content looks like, and we all have a good protocol attached to it.

Lukso’s ERC-725-powered wallets

CR: So these universal profiles [will] be able to attach social media links to your blockchain profile, or maybe an NFT avatar that you want to use for it. It can automatically keep an up-to-date track of all your assets and also have the full history of your activity and all these things in one place —I think it's really cool.

So this is based on the ERC-725 standards, these universal profiles? And that's what you're using for Lukso, as in like these are like Lukso's wallets analogous to Ethereum wallets? These are kind of Lukso’s wallets but they are profiles?

FV: Yeah, we call them not wallets [but] they're not wallets… they're profiles.

Lukso is an EVM blockchain, so you can use Metamask and you can just use standard keys, but that will be a very stupid idea because of all the fallacies that we know they have. And when you make a blockchain-based account, you can actually have a proper account that looks like something you want to gain reputation on — something that has a face and that you actually stop liking.

If you're a creative artist, if you're an NFT artist, you will care about your account, you will start issuing NFTs only from that one account once you have followers there. You start really caring about your blockchain-based identity.

CR: You can have followers on your profile?

FV: I mean, we haven't built that kind of standard yet, but it's a standard you could build, it's not hard to do right? This is more a matter of somebody can do it, we can do it, it's just a matter of time because we're building a lot of core standards.

But yes, you can obviously build it, you can build a decentralized follower system. I mean, building this in a decentralized way is a bit more complicated and different, and also has different properties because here your things are a bit different.

So I can say that I'm following you, but your profile doesn't need to accept the request to write into your profile that I follow you. So that means I can either allow people writing to my profile that they are starting following me, or I can also reject that. So now you have to think about this differently because there's no central database [that] says ‘hey, this is following that guy’. You could build a registry that says this, but the question is do you want to accept this following or not, there's a lot of thinking that you have to do around that.

This is the same with NFT authenticity. If you want to build NFT Authenticity in a decentralized way, it's a bit more complicated if you want to make this readable by other smart contracts. Because what smart contracts cannot do is they cannot go into the past, look through all transactions, and then figure out if you ever created a certain smart contract and did something — a smart contract cannot know that.

Neither can the smart contract go to the internet and ask questions. I mean, maybe with an oracle like Chainlink, but that's very expensive and slow. But a smart contract can not easily look at this smart contract address and say ‘hey, this was deployed by this address’. I mean, Etherscan can do that, but Etherscan is a centralized service. A smart contract cannot know that, so in order to make a smart contract be able to understand if an NFT is authentic or not, you actually have to create two things.

First, you have to have the universal profile that points to the NFT that it created. And second, you have to have the NFT pointing back to you to the universal profile that it was created from. And basically, smart contracts need to read in both of their flexible ERC-725 storages, again, the key value store. Any smart contract that wants to check if this is authentic needs to check on both sides, ‘hey, are you saying that you were created by this guy, and that this guy says he's created you'. And only when both say yes, this model can be certain that it was created by that guy. And that's something that's impossible right now with these current standards on Ethereum.

People say ‘oh, I created my NFT and I can always go back in time’ — sure, if you use a centralized service that you trust, but also this is not really forward-thinking, because what if we have blockchain pruning tomorrow, what if we have the ability to create a new anchor block and throw away the whole past, but have a super secure way of reading our blockchain from like one month ago on? That will be very useful if you want to be GDPR compliant, for example. So if you want to have a bit more privacy on the blockchain, forget the past basically. But now you have a big problem proving that this NFT was actually created by you.

If this was written in the state of the smart contract, if it's written in the profile, and written in the NFT, it is always verifiable. And it's verifiable by contracts and that's the most important thing actually.

CR: Right, because you can have a system that automatically tells you if an NFT is legit or not, which has been such a major issue for OpenSea and for all the [NFT] marketplaces. Like all the scams on it — if this [data] was in the smart contract, then there wouldn't be an issue, NFTs would be automatically legitimized and verifiable.

FV: Exactly. And the thing is you can build a true DEX now, a true decentralized exchange where let's say, a community votes on a certain list of artists, and they [could] enter the artists into the DEX by just adding their universal profile addresses.

So now the DEX can also always automatically verify if someone tries to sell an NFT [whether] it is an authentic one… And these smart contracts can do this on the fly at the moment you send the NFT and try to sell it, and that's something that's not possible right now at all. I mean, right now, it's really just a massive guess.

Also when you have a universal profile, and if a universal profile creates an NFT, you start to actually have an identity that's not only in a website present, but it's also on-chain present. So that profile can appear on many websites and will always be that artist. When they have a follower system or a decentralized reputation system, you will know ‘this is the real guy. this is the fake guy’. Today, all of these NFT artists bet on the idea that their profile website will still be around like two years from now. If that thing is gone, they are just a random key on the blockchain and nobody will know who they were. And if they don't even have to take care of that key, which they probably haven't, they can't even prove anything anymore. Then anybody left that like cloned that NFT could say ‘that was just a test, I'm the real guy, and this is the real and this is the fake NFT.

So the standards around how this stuff works right now are a big joke. If you understand it technically, it's not the right basis for creating any creative economy. So all of these tools that now come with Lukso, and these standards and so on, those will fix all of this. It's now thought through, and it hasn't been thought through before — it just evolved that way and people just went that way.

CR: Right. But can the ERC-725 standard be used on Ethereum as well?

Taking on Ethereum

FV: Sure, I mean it’s a smart contract standard that can be used anywhere. The reason why it won't, for now, is because it's massively expensive to do something like this on Ethereum.

So creating a smart contract-based account is obviously a bit more complicated than creating just a key. Generating a key and then putting some Ether on there… is obviously cheaper than creating a smart contract-based account.

If you do it cheaply and you can make a proxy-based account, you at least pay 60,000 gas for the core contract. You want to write some profile data in there, let's say you will pay 120,000 gas for your profile. If you want to have a proper profile with key managers and everything, you probably pay more like 300,000 gas. So, right now, that 300,000 gas would be $100 on Ethereum, so you obviously can't ask people to spend $100 just to get going, right?

The other thing that's a massive feature of universal profiles, or this group of standards that we've created, is the key manager of a universal profile can accept relay transactions. Relay transactions mean that you, as a controller of your profile, can sign a message, but anyone can send this transaction to the network. When you have this, now other people can pay for your transaction, but you're still in control. So other people in this case [might] be the app you're using — maybe they can pay for your transactions. So you don't even have to have LYXE on Lukso or Ether on Ethereum to actually do something on the network, you just sign messages, your app will pay for it happily because they obviously want you to.

Or you can have public relay services. Or you can have relay services for some certain business model. For example, add your relay service to your profile browser extension, and then you basically get some free transactions… for the first 10 transactions. We create your profile for free, do something for free, and after that, you pay us a $5 subscription per month, and you have 5 million gas, 50 million gas per month available — it’s more like mobile minutes or internet minutes, where you can use your quota up. And when you have this, you can really make blockchain feel more like the internet, rather than these complicated five-step processes that people have to do right now.

CR: Yeah, it really does feel like gas costs should be something that the app at least subsidizes at first. It's just like a huge onboarding pain.

FV: There will be many ways of how this can be subsidized. I mean, there can be a relay service that makes you watch ads and gives you free transactions, and all you need to do is go to a website, watch an ad, and you have 10 transactions…

Right now, you wouldn't do a lot of transactions because we don't want every [social media] ‘like’ on the blockchain. We want important actions on the blockchain because using blockchain is a premium service, like using the internet 1990 was a premium service. It was something where you didn't download gigabytes of movies, we just [viewed] some websites. Now, blockchain is at that level, so it's expensive.

But it provides a very useful functionality that other systems cannot provide. That's why we are willing to pay for it. For example, we can create assets that are totally uncontrollable or totally decentralized — so that's a big feature.

The other thing is we need usability and onboarding, and that's exactly why this won't happen on Ethereum. You need to be able to not only make contract set-up cheaper than a hundred dollars… Your profile shouldn't cost a hundred dollars, it should cost you a few cents. But also the apps should pay for it, and they cannot obviously subsidize a hundred dollars per user.

But the other thing is that because we created a new network and we obviously created a token with a certain amount of tokens upfront, we can subsidize the ecosystem in the beginning. So we can run a relay service that actually pays for users' transactions, and give them some quota for free. And that's something that the initiators of the network, and in this case, us, can subsidize, and that's only possible on a new network. And then once people see that these universal profiles are the way to go, that this is the only way, how we have real control — web3 control plus actually UX, or web2.0, and a proper easy onboarding, all these possibilities that come out of smart contract-based accounts, I haven't even mentioned half of them, then people will see that. And this can only happen once you show them, and that's why you need to subsidize this.

And eventually, when this becomes super popular, then there's a massive economy around relay services and different ways of how transaction fees are paid. These standards support all of this. It's so simple, so basic. So simple that anything could come out of that, and that's when you don't have an economy. I mean. for example. today, we used the internet [and] in the past it was quite complicated… Today everybody just pays for their service provider.

The internet in the past was complicated. To watch movies today, we pay for Netflix. And with movies, it will be the same — you want to use blockchain, you pay for your relay service or whatever the one you like the most, and you have your blockchain transactions [but] you don't care and think about this.

CR: That does make sense. So how will Lukso be cheaper than Ethereum?

FV: First off, because it's an empty network initially. But also I think this is an interesting metric. So the thing is Lukso will work like Ethereum 2.0. So we're very much following the Ethereum 2.0 development with things like the beacon chain, Casper, and a smart contract execution engine. So that's already more scalable than today's Ethereum with Proof of Work.

But there's an interesting thing as well. If you look at Polygon, for example, Polygon is actually a network that's already full. I mean, it's massively cheaper than Ethereum. So this is not just the simple metric of ‘hey, look, the network is full and therefore now it's a hundred dollars’, people also value the security of the network, and the higher they trust the security of the network — and they do that of Ethereum — the higher they value the transactions.

And that's exactly what I think we are seeing now with why Polygon is cheaper than Ethereum when both of them are full, and both of them have a lot of activity… I think it's that kind of thing, so initially, Lukso will be cheaper and will probably be very much comparable to Polygon, or cheaper even. We have to see how this evolves — it's [an open] gas market that's determined by validators and users and something that's really hard to predict, but it will probably be in the range of Polygon transactions which are in cents, like zero-point-something cents.

Onboarding one billion people to blockchain

CR: Okay, but if it's only cheaper because there's not that much activity. In the beginning, it's not very sustainable, right? I mean, is the idea when you say you will follow the Ethereum 2.0 model, does that mean that you will have sharding? How exactly do you want to scale in the long term?

FV: Yeah, exactly. I mean, [Lukso] is basically a network that is sharding-ready. So when sharding comes, we will also have that, and we will overtake that. So if sharding is solved, which is a technically hard problem to solve but something that's solvable, then you have a parallel system. [That] means you can run multiple chains at the same time, and they can process more transactions per second as a single chain.

So sharding is the solution to solve scalability, but the thing is, every single blockchain has that transaction limit problem. And the only way this balances [out] is blockchains that are not as decentralized, mostly are a bit faster because they run more centralized, and blockchains that are more decentralized are a bit slower. So it's a balance.

I mean, basically… in simple terms… it's sharding-ready, it will be evolving with Ethereum. If sharding comes, we will have sharding, and sharding means you have parallelization, and you have multiple chains at the same time. And that really makes this network more scalable. But at the same time, every network has that limitation. It's just a limitation of the technology right now, and even though there are some projects who claim they’re super-fast, mostly that just means that they're more centralized.

Solana, for example, requires very beefy machines to run a network. So if I say ‘here, look on Lukso, you have to have like 64 gigabytes of ram and a superfast internet connection before you can become a validator, we can like pump up the network speed by like 5x, or 50x — not a big deal. But it's always this balance, if you want to have decentralization, that means ideally anybody can join the network and become a validator. Then you need to go with common hardware, and common hardware is eight gigabytes or six gigabytes of ram plus what they have as an internet connection, and your network should still run stable within that environment.

So it's a question of centralization versus decentralization… and the balance. There are limits left and right. So either I have more centralization [and] it can go faster, or I have more decentralization and then I'm a bit slower. But the slower end is still massively fast because if you just look at how many transactions are happening on Ethereum, how much activity is on Ethereum, it's a lot of activity. If you now scale that 10x or 100x, which these Proof of Stake networks will be able to do, then you have even more activity.

Can we onboard a billion people on blockchain right now? Probably not right now, maybe in five years, maybe three years — it really depends on the technology and we are evolving this technology together. Blockchain is open-source. Open-source means whenever somebody improves something, everyone else can actually benefit from that right?

And here it's not about ‘oh, I'm hiding my solution and putting a patent on it and that's why I'm now the winner’, it works differently here. It's about if there's a good solution, and if it's really good, people will adopt it. But all these blockchains, they claim they have found the solution. Why is no one is adopting it even though it's open-source? Because it's maybe not a good solution. That's the simple answer. It's maybe not a perfect solution. So there are always trade-offs, and this is not patent-land. This is literally open-source. So if there is a good solution, people adopt it. That's exactly why all money blockchains are EVM blockchains. They copy the Ethereum protocol for that reason because it's a good protocol.

CR: So you're saying that we can't onboard a billion people right now, but the tech is evolving. It’s open-source software where everyone involved is contributing to it. And as the tech evolves, the goal is that we will be able to onboard a billion people onto these blockchains?

FV: Eventually we will obviously be able to. It’s like every tech, I mean, chip development takes time. There are incremental steps to increase it, the same with an LCD display… So there's always tech improvement and there's obviously steps to get there, but it will take time to evolve this because we're trying to build not only fast systems, but we're trying to build fast decentralized systems, and you don't want to sacrifice decentralization just because everybody now wants fast. That is a bit more the tricky part.

There are a lot of different smart ways [that] people try to do things. For example, Dfinity has a certain threshold signature system where they try to sign and fold blocks together, and then they run it in the massive data centers to get a very high throughput. It does suffer from other problems, composability is not as easy. The thing I described in the beginning, can you easily make one smart contract talk to another, there are other problems that they are having that need to be solved.

For example, the sharding idea is basically users run multiple parallel chains at the same time, but now that's also a bit tricky with composability. So if I have a smart contract on shard one and I want to talk with a smart contract that’s running on another shard, we need an asynchronous transaction. So my transaction cannot just execute at once, it has to wait for another transaction to hop to the other chain, execute this one, and hop maybe to another shard, execute this one, and then it hops back, and then my [transaction] is final. So these kinds of cross-shard transactions are the tricky part.

The other thing is, obviously if you have a thousand shards, you don't want your validators to have to run a thousand chains. Therefore, what we need is, actually real zero-knowledge proofs to verify these chains. If you have real zero-knowledge proofs, that means I can basically now be a validator, verify a shard, create blocks and stuff — I can create a proof, and everybody, every validator, and the whole system can just run the block that I produced in milliseconds and know if it's correct or not without running all the transactions [and] without doing all the complex work, just by verifying the proof. And this way every validator could literally verify every shard, but only you have to produce it. This is the solution that we currently are working on, and the space is working on, and mainly ethereum is working on, which is cross-shard transactions in the future and zero-knowledge proof verification for shards.

And once this is there, we will have sharding, so that means a thousand [times] more throughput or whatever than we have right now, or maybe even more if you want it. But it will take time to get there, and right now, we already have proper Proof of Stake in Casper, which is a huge step away from Proof of Work — which is this massive energy-wasting economy. And it's already faster because you do not need a lot of hashing and all of this stuff.

So it's going step-by-step right now, and blockchain is basically a premium market where you can do very specific things. It's expensive, but you can do things you can't do anywhere else.

CR: Do you believe this model of Proof of Stake sharding and zero-knowledge proofs prove that this will be the standard going forward for web3 and DeFi, and that mainstream adoption will be achieved with this model spearheaded by Ethereum?

Driving towards mainstream adoption

FV: So first off, I don't think it’s spearheaded by Ethereum the mainnet, but it's probably spearheaded by the people that work around Ethereum protocols, and that actually includes Lukso and other EVM chains. So it's spearheaded by a lot of people working within that field. It's not the mainnet. People always think Ethereum is the Ethereum mainnet, but Ethereum is mainly the foundation, a lot of people they pay, and a huge ecosystem of other projects and chains that are also using the same protocol — that's Ethereum. The mainnet is just one instance of that Ethereum.

Do I think this is the future? I mean, it's a potential evolution, and there will probably be many different ways and approaches. Right now, that looks like it will be a successful approach, the Dfinity approach might also be a successful approach. The thing is, I guess we have to get away from this notion that one blockchain or one winner takes all. Because what we have so far seen is that the world is very big. There are a lot of different interest groups, people, and communities, and they will eventually find their network where they feel home, where they feel that it fits their community needs, it has the protocols and the apps and the tools that they find relevant for them. And this way, everybody will find their home within a certain network. That's my personal belief.

And there will be many approaches, and when and how we get to the billion users on blockchain, I don't know. How long will it take, I don't know.

We have to see it's a tech that needs to evolve. That can take a few years, but it will already show its impact on society no matter what. I mean, I don't know how many people use blockchain right now — maybe it's 10 million, maybe it's 50 million, maybe it's 100 million, I don't know. But when we actually have not only blockchain users that trade, DeFi, and now buy little giffies, but actually our economical actors using this technology on a daily basis, that's when real impact is made. And that's exactly why Lukso’s universal profiles and all of these standards we're building are essential because this will bring in the real user to use blockchain that does not use blockchain right now. Right now it is mainly early edge-traders, early adopters of NFTs, and all of these things.

CR: What kind of impact do you want Lukso to have in the future? Do you see Lukso being one more in like this constellation of EVM chains? Maybe Lukso will have a specific use case that it focuses on?

LV: I do believe so, I actually talked about this ‘internet of blockchains’ in 2015 and 2016 at some conferences. I do believe that's the case. I think I mean every blockchain will be its own niche for its own community.

The question is how big is your niche? For example, the social media niche is quite big... it's billions of people. So even though, yes, I do believe certain use-cases will form around certain networks with certain types of people.

So if I have, for example, a network that's very much for DeFi and money things, is that the same network with the social media activity, and the culture currencies, and the NFTs will happen? Probably not, because they do not really have that much overlap. Are there assets that are replicated on that DeFi network to be traded there and then maybe move back to the other network? Yes, very possible. But do they need to work on the same network when they have so little interference except on trading sometimes? Probably they will not be on the same network, so networks will have their own niche, and will have their own groups and users that will flock around them. And I think that will be the way going forward for the next few months and years.

CR: Makes sense. And for Lukso, the niche is social media?

FV: I mean, maybe Niche does sound a bit wrong, maybe there's a better word for that. But basically every space that we have, every interest group is somewhat of a niche. It really depends on the perspective [through which] you are looking.

If you’re not into social media, there is totally a niche for you. If you're into social media. You think it's the whole world. If you’re into Twitter, you think everybody's on Twitter. If you're not into Twitter, you think nobody's on Twitter. This is always a matter of perspective.

And these networks, some will be larger, some will be smaller. Some will have more mainstream use-cases. Others will have whatever niche use-cases that are less mainstream, and so on. And I do believe that there will be this internet of blockchains, lots of networks. They all attract different types of communities and different types of use cases. And they will also be interconnected to some degree.

And that's how I see the blockchain space for the next five years looking. [Will] we eventually merge into the super ai-driven network, or whatever, that is super decentralized and whatnot because some AI actually came up with the solutions? Maybe, but that's a bit too far out to really judge that right now.

CR: Got it. Super interesting to hear what you're up to. When should we expect Lukso to be live, and all of this to be up and running?

FV: ‘When mainnet’, the big question of our community. I mean, we can't really tell, we're working on it. We're working on the architecture. We're working on running the network. We're actually working right now on running the L16 test network, which is the next iteration of the test network before mainnet. And then we will see how fast we get, [if we get] to a point where we [feel] comfortable launching the network.

We're already doing the preparation for the mainnet as well. If you're a developer and you want to build on Lukso, and you want to build on these kinds of new tools, we have a Docs page — http://docs.lukso.tech/ — where you can literally read about the new standards, learn how to build with them. You can already start building your stuff right now, you can use our L14 test network, or you can do this on an Ethereum test network — wherever you want to build your stuff. And once Lukso is ready, it's an EVM chain, you go there and you deploy your thing.

But the new standards will be the change, and also the way of the ecosystem and the tools that we provide around that. So I don't know when, but definitely, 2022 is the year of Lukso.

CR: Well, we'll be certainly keeping track and covering it in The Defiant. So interesting to see how your huge impact on Ethereum was creating all these different standards, and how now you are moving these standards forward with your own blockchain — super interested to see how that plays out.

Thank you so much for spending time with me and walking me through all your latest progress. It's been great catching up, and thanks again for coming on the podcast!

FV: Thanks, and thank you for having me, it was a very nice chat!