From Budapest, I flew to Berlin to join Arthur’s presentation on DFINITY at FOAM in Berlin. Being in the audience for once, I really enjoyed following Arthur’s narrative about what ‘Web 3.0’ means and what problems it will solve. For all the details – dive in and enjoy the talk!
I’ve just made it to Budapest Airport. Flying EasyJet today which makes me a bit uneasy because I’m not sure if they will check the weight of my bag and 64 things. But let’s see. The gate will be announced in about 5 to 10 minutes. So I have a bit of time just to chill.
Airplanes and Byzantine Fault Tolerance
One thing that came to mind on the way here is that airplanes have a lot to do with Byzantine Fault Tolerance. Because the way airplane systems evaluate their sensors is often also by a majority. So typically you have three or more redundant systems for each and every sensor on an airplane. Of course – many, many sensors that work together in order to produce one result. And the way the airplane system decides which outcome to use is also by a Byzantine Fault Tolerant system.
Budapest to Berlin Tegel
It’s definitely an interesting setup. Gate A19- must be an outdoor gate. At least you walk through this outdoor area. This is where I’m headed.
So I got worried for a quick second. Back here, they’re checking everyone’s bags. They do not check backpacks. That was one of the main reasons why I switched to a backpack.
Back on the ground in Berlin.
DFINITY and Web 3.0 – A talk by Arthur
I’ve always been kind of looking at the blockchain space and trying to figure out where it’s gonna go. And what are the dominant design paradigms or what are the dominant design choices that we’re going to see provide a competitive advantage to different platforms to allow them to move forward and succeed.
DFINITY has made some of the best choices, I think, or all of the misc choices in my opinion. This presentation specifically, first of all, it’s full of a bunch of new stuff, it’s a bunch of old presentations kind of chopped together.
To really understand it, if you think about the choices that you make when you set up your hosting infrastructure and then you think of the consequences of those choices, none of them are appealing. No matter what you do, your data can be stolen and your infrastructure may collapse, right? Or may break down at some point.
And that means intermittent service provision for you. It’s just certainly suboptimal. And so if you outsource to, say, Amazon Web Services, which has a pretty good record of uptime, you know you’re still going to have some downtime, you know your data still may be stolen and your system penetrated. But you also know that Amazon Web Services may choose to just deny you service at any time, leaving you with without this critical partner. And this is a business dependency. And one of the clear kind of choices in the way that we define business in the future, is not relying on other businesses to allow us to do business.
Again, when I say business, really this could be the provision of any service that any of us use. All of these things rely on a network of organizations to provision. And the more organizations that are required to provide that service, the more frail or the more intermittent we should expect that that service to be in terms of its availability.
So let’s imagine now that we have this completely agnostic programming interface or this completely agnostic execution environment. What this now lets us do is write one program that can run not only on your phone but also in the cloud and literally share resources between these two environments.
So what say instead of having an application downloaded on your phone, you just had a little icon and a pointer to where that application lived in its cloud hosting. Then what we can do quite wonderfully is every time we open the application, download an interface that is likely to be a new one or an updated one or one that’s been improved by UX experts and actually connects to a new more advanced, possibly updated application in the background without us ever having to worry about updating ourselves.
And this is one of the most kind of compelling visions for a new application and programming paradigm. And you know you can imagine that this gives us the ability to host or perform the extremely heavy computation in the cloud while our kind of measly little processor on our phone, just deals with the graphics display and our storage just handles kind of critical user data or login data. One of the benefits we can imagine, of course, is never having to update an app again.
In the case of the threshold signature, we wind up with three different pieces of a verifiable signature, each on their own completely meaningless. These are just pointless, useless pieces of data. But if we can combine two of those together, two of those three pieces, we can create a verifiable signature. And this is the magic, right? It means that you can have…
Imagine a board or a jury. So you’ve got a jury. And you need a unanimous verdict. This would be a different threshold of certainty. You need a unanimous verdict in order to convict someone. And you want to digitally sign a document, a digital document, that has the verdict on it. And, say, you get your 11 signatures but there’s just one holdout and they never sign, then that will never… that validatable signature will never be able to be created. It will be just the same as if no one signed at all. And this is the magic of threshold signatures.
But they have one more trick up their sleeve and that is that no matter which group sign, you still wind up with exactly the same signature at the end. And that is really pretty tripped out. The idea that you could have, provided you just have more than half of these participants, each of which has a weird different part of the signature, you know it’s all random jumbled, you know, it looks like just total randomness, it’s gobbledygook. But you put it together and you get the same signature, no matter what group… it’s pretty amazing. And this is at the core of how we generate randomness.
Is this making sense so far?
Quick Q&A with Moritz
I flew to Berlin today to participate in the DFINITY meetup organized by this guy who we all know – Moritz. We decided to do a spontaneous quick Q&A. Moritz, you had a couple questions for me.
When is DFINITY going live?
Cédric: Yeah, so roadmap, as I’m sure you all know from any kind of technology project, is a thing that’s constantly moving but I can update you guys on the current targets. So we’re currently working on a private SDK which we will hopefully be able to share with a wider audience in about a couple months. So that’s when you guys can first get your hands on DFINITY technology and start developing apps. The way it works is it will be something that you can run on your local machine. So there’s no network necessary but it will give you all the environment that your applications will have once the network goes live.
So that’s like the first milestone that we’re working towards. The second milestone, probably in Q3, so maybe September, is to launch a test net. So a test where you can deploy applications and test stuff.
And then, fingers crossed, we’re hoping to go live with the main net in Q4 of this year. Personally, I believe it’s going to be February of next year because every big milestone so far has happened in February.
First – ICO, Second – fundraise and adding a lot of people to the team this year and so my gut feeling just tells me it’s gonna be February, let’s see.
What is the marketing strategy of DFINITY?
Cédric: We do very little marketing, right? Especially if you look at other projects, like, you find a lot less stuff about DFINITY just because we’ve always focused on building great tech vs. great marketing strategies. Nevertheless, or maybe especially because we do it like that, we have quite a big community. We have a lot of people that are looking forward to seeing DFINITY come live and are asking more and more questions. To your point – how do we think we’re gonna incentivize people to come over?
I think one is – we believe that we want to tap into the largest group of developers out there which is web developers. I think there are various initiatives. One is using WebAssembly. We believe that’s technology that will be easy to learn and even if you’re not going to build on DFINITY for the rest of your life, learning WebAssembly is something that you’re going to be able to use when you go back to just a browser.
And the second thing is, I’m personally working on something we call the DFINITY Academy. Which is maybe a 20-day course at small segments each day where we go from knowing nothing about blockchain technology or the distributed, decentralized space to building your first WebAssembly app and deploying it on DFINITY. So that’s something that I and the team are working on right now.
There’s no release date yet, we hope that we’ll have a first version out in a couple months. We’re just working on really, really good content and we hope that that will itself attract a lot of people.
Are there any more plans on doing scholarships?
Cédric: If you have great ideas, if you have ideas for what you want to build or research, then just get in touch with us. I think we’re always looking for great people, we’re trying to expand our team by a lot in the next 12 months. And then especially if you have ideas for applications that you want to build or stuff that you want to experiment with in terms of apps, get in touch with me. We are working on a developer portal where you can formally submit ideas but even before then, just get in touch with me and I’ll make it happen.
Thanks, Moritz, for organizing this meetup. I’ve had a great time and hopefully, there will be many more. Alright guys, cheers!
You can listen to the audio version here: