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

Loading player…

Next gen blockchain UX by Alex Shevchenko

Ethereum DenverMon, Oct 9, 2023, 12:00 AM

Speaker

Alex Shevchenko

I'd like to share our observations about current blockchain UX pain points and how we can improve it right now right there to onboard the next billion of users. Alex Shevchenko

Transcript

that is uh pretty close to what you're thinking about it. To start with, I would like to give you a very very short overview of Aurora. So this is a solution that is working on top of near protocol, a layer modern layer 1 solution that is sharded uh scalable. Uh and what we are providing for this solution is an ability to launch your solidity smart contracts on top of it or actually integrate with all of the Ethereum stack. So we provide web3 compatible RPC on top of it.

Uh you are able to connect your usual tools like Ramix, like hard hat uh to Aurora and for all of the developers and for all of the users who are using Aurora, it looks and feels like a separate network though it is implemented as a smart contract on top of Near. It is a probably the most complicated smart contract in the world because it has the full EVM inside of it. Now you can think of it also as an L2 with a decentralized sequencer because the thing that sequences transactions in Aurora are near validators and there are more than 400 of them, right? And the reason why I'm saying that this is an L2 and obviously I mean that this is an L2 to Ethereum because we also have a trustless and generic rainbow bridge that is working between Near and Ethereum and it works on top of the concept of light clients. These light clients are implemented as smart contracts on corresponding networks.

So literally in order to break near you need to break near light client that is a smart contract on Ethereum which means that you need to break Ethereum too. um it is not fully um the concept of L2 here is not fully um kind of applied but in simple world words you are able to think of Aurora as as this dec L2 with decentralized sequencer and the core differentiator for for Aurora network because everything that I was saying to you before is well yet another EVM network right so the thing that we are focusing on is the actual convenience of usage of Aurora for businesses and for their clients. Um and because of this a user experience topic is very very important for us and that's why we are focusing on it a lot. This is a pretty famous painting. You probably know it's from Polock.

Um and this is what blockchain user experience is all about right now. Um people need to think about base tokens. They need to do KYC in order to buy them. uh move potentially through the bridges from time to time, replenish the accounts and this is only to get the tokens because after this you need to send transactions, you need to sign them potentially through multisix. Um sometimes transactions got stuck and that's why you need to increase and bump the gas prices.

Um and you need to think of all of this stuff for sure. Ordinary housewife is incapable of thinking through all of these complexities. Why? Because non-blockchain user experience looks like that. There is one button.

You just need to click it. And that's okay. Just think of this device. I'm looking at it and it already unlocks. I'm swiping and then I see all my applications and I'm able to do anything with it.

Blockchain user experience is complicated while web 2 user experience is not and this is the truth that we need to just admit and learn from it. Now there are reasons why this happened. Uh and first of all and the core reason there is that the natural technology evolution uh is happening from bottom up right uh and by saying so is like bunch of technical people are developing a nice concept and then product people are coming after this once the technology is there delivered and then you are able to do something with it. I remember uh when I was a PhD student and uh general purpose computation was only appearing on on GPUs. Uh nowadays it is just a pretty straightforward concept and people and developers are able to run their their code on GPUs sometimes even without knowing that they running uh their code on GPUs.

many SDKs and frameworks are actually doing it and you don't understand that GPU is speeding up your computations. Back then around 15 years ago, you needed to think uh about shaders and all of the complicated aspects that do not have that have nothing in common with calculations in order to make sure that your GPU is calculating things. So it is just a natural evolution of technologies. We are just pretty early from that standpoint. On the other hand, we have this thesis of blockchain trying to disrupt web 2.

We are kind of against monopolies that are in web two against Facebooks and Googles of the world. We are trying to bring back the governance powers to the users. And that's why everything that we are doing here is like it feels and looks like rebellion. And that's why it is very easy for us to say that oh these old don't know anything and let's discard everything that they are they have been doing and that's a natural natural and straightforward way for us to think. However, uh we don't have any time to spend on these teenager problems, these teenager rebellion motives.

We need to move forward fast as an industry or we are going to be disrupted. We are going to be disrupted by web two companies that are already picking up our thesis uh the thesis of privacy, the thesis of decentralizations and so on. By the companies that know nothing in in in the blockchain ecosystem and and they are not investing in the decentralized ecosystems, right? So it is super super important for us to again understand that there is a problem there. Understand what are the causes and uh just you know let go um try to learn from web two companies about good things that they are doing for example user experience um and actually be in time for a disruption before they are going to disrupt us.

From my point of view, in order to move to the better blockchain user experience, there are several things that we need to do. First of all is that we need to eliminate the concept of per transaction payment for the for the access to the blockchain. Every time when we are using internet nowadays, we are not paying per megabyte. We have a internet provider. There is a subscription plan that is associated with it.

Usually it is something like whatever $50 per month for this device and you don't think uh every time when you are loading a website that you need to click and approve and think about how much money you are paying for downloading the information. Moreover, uh web 2 uses much more complicated concepts right now. So for example in many mobile data plans they are including something like a free traffic to social networks right so they even not counting this and what it means that is just these social networks are paying to your internet providers for this traffic that's why this this transformation of the RPCs instead of just kind of nodes that are relaying your uh transactions to the blockchain network it needs to shift into the perception of that RPCs are blockchain providers. They are giving you access to the blockchain and the way how you're paying for this access is something like um a subscription right uh and then you don't have any transaction fees. This is possible with the tech that is heavily discussed uh which is the account abstraction or uh or protocol level meta transactions and by saying metatransaction I mean that the payment for the transaction is detached from the um approval of the transaction or yeah um and that is super super important tech.

Uh we have built Aurora two years ago with this concept in mind. So count abstraction on Aurora is not an abstraction. It is real world. Um exactly because of this reason I do believe that in order to uh to work in a convenient way with the keys, we just need to reuse all of the tech that is available right now in all of our devices. Um more than 80% of all modern phones have in one way or another security chips that are able to store the keys.

Uh it is absolutely not a rocket science. Uh it is available in SDKs for all of the popular platforms. You can just store keys there and then use ordinary authentication mechanism like biometrics or pin codes in order to sign transactions. Right? And in case you don't have the payment per transaction then well that's it.

you just authorize and then the transaction can be executed. Um and the solutions that we've developed inside of Aurora so everything that I was saying before is just a generic knowledge and generic opinion right uh it was translated into into what we have developed for Aurora uh specifically just because we have this um protocol level metat transactions right and we are able to detach the payment for the execution from the authorization of the transaction. So we have two tools that are available inside of Aurora ecosystem. Uh one is Aurora pass and this is a web3 compatible wallet that doesn't have a concept of per transaction payment. Unfortunately it is not working with Ethereum by default but once account abstraction is going to be there it can be integrated.

It works right now with Aurora and all of the forks of Aurora that we call Aurora silos in in its interface. There is once again just stressing it out there is no concept of cost of the transaction. It is completely eliminated together with the stuck transactions and stuff like that. Um and the way how it works is that it sends the transaction to the RPC that has a thing that is called a rules engine. This rules engine is completely offchain.

It analyzes uh who needs to pay for the execution of this transaction. It matches the entity who is paying for it um and does the internal accounting and then it wraps this transaction um into the kind of near transaction right or signs or attaches some near tokens for the execution of this transaction and sends it to the network and then this transaction is executed. Now who are these mythical entities who are paying for the execution of users transaction? Well, there are two options literally and both of them are available. So first one and as a default option is a user himself.

But this payment is not happening on again on a per transaction basis but instead user is able directly in his application purchase a bundle of 100 transactions for some some amount of money that he can spend with his bank card with Apple Pay or Google Pay. So users just buying transactions not and not buying crypto. And this is a pretty straightforward thing that users actually want in case they would like to execute execute something on the blockchain. Uh crypto is an additional concept that complicates uh the thinking for the user. Um this is a kind of backup plan for the user to have these transactions additional transactions.

Uh but this straightforward thing to do is actually for the dabs to pay for the execution of the transaction. And for this specific use case, we have an additional tool that is called Aurora Borealis. And this is the tool through which the apps are able to specify for which transactions that are going to which particular smart contracts in which amounts they are would be willing to pay. This information is encoded in in things that we call deals and these deals are input inside of the rules engine uh that matches the transaction with the the party who is paying for the transaction. Um why such a complicated concept was introduced?

Well, it's just because that's the way how businesses are working in web 2. Every time when I'm opening YouTube and I'm watching a video, there are quite a lot of things that are happening there. YouTube retrieves the video from the CDN network, content delivery network. There is a server that is chosen to deliver the video to to my device. There are also there is also cloudflare that is that is working on on on there in serving in serving the endpoints to me and every this single use of these additional pieces is actually paid by YouTube to them not by me.

It is YouTube who pays a fraction of a cent to Cloudflare to serve endpoints. It is YouTube who pays to CDN to serve me videos. And what they do, they aggregate all of these costs into one single simple and understandable business model that is exposed to me. Either I watch ads or I'm paying five bucks for the premium subscription. That's it.

All of the internal things are not exposed to the end users. This is the way how web two businesses are working right now. And we as an industry unfortunately forget about it. We are exposing the guts of the business model of L1's to the users directly. This leads to us distracting users from the products and paying lots of their attention towards the protocol on which they are working.

Unfortunately, the result the result result of this this move is that users are not very interested or like it is very complicated for them to on board and they are losing their attention towards the products the actual things that are delivering value to them and that's why this complicated scheme was there only to simulate and showcase how to how to implement the proper management of the business models of different layers of the stack of blockchain technology. Um we believe that this is a proper way to to implement it and uh in general these uh thoughts are this is something that everyone need to think of. Gladfully lots of different projects are thinking about these problems and they implementing their own solutions and our approach is not the only one that is possible. So, I'm super happy about this and uh yeah, let's fix blockchain user experience and uh finally move towards the mass adoption. Thanks everyone.

[Applause] We have a couple of minutes um for for generic questions in case you have any. Yes. Yeah. The question is if a transaction gets stuck with Aurora pass how would you do this? What what would you would do?

That's absolutely the same question for any any particular wallet right in case the transaction gets stuck with the wallet. What are you going to do? This may happen because of the corrupted RPC. For example, the RPC is not a sensor in your transaction is not sending. Well, the proper thing to do in this case is just to change the RPC provider and change the RPC endpoint that is and you know send transaction once again that is the kind of backup mechanism for the blockchains.

glad that it it exists and this is actually the reason why blockchains are invented right. Um uh yeah but this this should be not for uh you know everyday uh experience of the users only in case of the major malfunctions of the system. Okay, one more or Okay, thanks. Um I'm I'm going to be around to answering the questions in case you have one. Um, thanks and have a good rest of the u conference.

[Music]

Automatic transcript — names and jargon may be misspelled.