Unchained - Dfinity's Dominic Williams on How Its Blockchain Nervous System Is Not an AI - Ep.78
Episode Date: August 21, 2018Dfinity's Dominic Williams talks about how Dfinity is an internet computer that can host our software and data, instead of it being held by centralized services. He describes the consensus algorithm, ...threshold relay, and why he believes Dfinity will be much more secure than Bitcoin. We also dive into Dfinity's governance mechanism, the "blockchain nervous system." Williams, who has written about the "AI-managed environment provided by the blockchain nervous system" and talked about how Dfinity upgrades the "code is law paradigm" to "the AI is law paradigm," explains on the show that the blockchain nervous system is not an AI and is manually controlled by users. Thank you to our sponsors! StartEngine: https://www.startengine.com/unchained The Sun Exchange: https://thesunexchange.com Episode links: Dfinity: https://www.dfinity.org Dominic: https://twitter.com/dominic_w?lang=en Dfinity as decentralized cloud: https://medium.com/dfinity/the-decentralized-cloud-vision-of-the-dfinity-blockchain-f68449c49be2 Dfinity consensus algorithm: https://medium.com/dfinity/dfinity-white-paper-our-consensus-algorithm-a11adc0a054c Threshold relay: https://dfinity.org/pdf-viewer/pdfs/viewer?file=../library/threshold-relay-blockchain-stanford.pdf Posts where Dominic has described Dfinity's governance system as an AI: https://medium.com/dfinity/dfinity-in-a-nutshell-a-non-technical-introduction-ec45ec5967c1 https://medium.com/dfinity/the-dfinity-blockchain-nervous-system-a5dd1783288e Phi: https://dfinity.org/pdf-viewer/pdfs/viewer?file=../library/phi-dfinity-extended-v2.pdf Learn more about your ad choices. Visit megaphone.fm/adchoices
Transcript
Discussion (0)
Hi everyone, welcome to Unchained, your no-hype resource for all things crypto.
I'm your host, Laura Shin.
If you've been enjoying Unchained, pop into iTunes to give us a top rating or review.
That helps other listeners find the show.
Sun Exchange is a solar power marketplace for the crypto economy.
Sun Exchange members all over the world are earning cryptocurrency
for helping to deliver solar power generation to businesses and communities in emerging markets.
Visit the SunExchange.com to start earning.
solar powered money today. StartEngine is a regulated ICO platform with a community of 155,000-plus registered users
that's focused on issuing tokenized securities. Go to startengin.com slash unchained for a 20% discount on
set up services to launch your regulated ICO. This is not legal advice. My guest today is Dominic Williams,
president and chief scientist of DFINITY. Welcome, Dominic. Hi, Laura. Thanks for having me.
Let's start with a simple question. What is DFINITY?
So DFINITY is a project to create a network, open public network that will produce something called the internet computer.
And our ambition is for the internet computer to host the world's next generation of software and data.
And what does that mean to be a world computer?
I mean, we have computers now that host software and data.
Sure.
So it means a lot of things, actually.
So to begin with, it introduces the idea that the internet itself will host software and data,
as opposed to monopolistic cloud hosting providers like Amazon Web Services or Google Cloud or Microsoft Azure.
So that's a big change.
So the idea is that rather than building your systems on the back of another company's infrastructure,
you actually build your systems directly on a public infrastructure.
on the internet itself using the internet computer.
So that's a big change to begin with.
But the internet computer also brings some new properties as a platform.
So actually it greatly simplifies the development of new software systems.
And this addresses one of the biggest problems with the existing technology stack that it's very, very complex.
And if you look at the balance sheet of most IT systems in use today with,
which represents the total cost of ownership.
The vast majority of the cost is actually the human capital involved in developing systems
and maintaining them and administering them.
And so we believe we can greatly reduce that.
But also, of course, the internet computer is based on crypto technologies.
So the internet computer itself is a hack-proof system.
You can't hack the internet computer.
And if you write software doesn't have bugs, then your software will also be,
Pack-proof. So it addresses the need of security. It also has a design that ensures that
applications running on it always available and never lose their data. So that's another big advance.
Systems running on the internet computer are highly interoperable. We have mechanisms that
enable developers of systems to preserve the privacy of data, right? And that could be anything from
private company documents to user data. And we enable people to do that in a way that doesn't
involve them doing anything special or having to write cryptography themselves. And we also support a
new kind of software called autonomous software that we believe will provide a basis to re-engineer
internet services as we know them today. I want to unpack a lot of what you said here. You were talking about
how this internet computer would provide a lot of services that are now offered by businesses.
And I know you've talked about something called open decentralized business infrastructures.
What is that?
Okay.
So, you know, the one hand, you know, the internet computer, we believe, will provide a better
way just to build private business infrastructures.
But we also support a new kind of software that's autonomous.
And this makes it possible to create systems that,
don't belong to any individual or company.
They exist independently.
And essentially, these software systems have an inbuilt governance system,
which is tokenized, that is used to incorporate new updates into the software.
But effectively, you're applying the open source software development model to a running service.
Okay.
So, sort of open decentralized business infrastructures are one of the applications of this technology.
So there are many industries that would benefit from sharing a platform.
You know, commonly talked about application is supply chain optimization.
But as it turns out, there are many, many applications where you can create a platform
that's shared amongst the participants in an industry to deliver efficiencies or new functionality.
I wanted to ask you also earlier you were saying that definitive.
can replace some of these human capital processes or functions of businesses.
One of them that I noticed you mentioned in BlockPost was R&D.
How can a machine do R&D instead of a human?
I was confused by that.
Oh, no, we're not suggesting that the machine does R&D at all.
So with respect to private business systems, and there's like several applications.
So you've got like private business systems, you've got DBIs, which is really a very
corporate application and you have internet services and we want to reinvent internet services
anything from like sales force through to an internet dating app but with respect to you know
reinventing how people build software systems private software systems definitely if you like
strikes a kind of grand bargain okay so the internet computer works um by applying advanced
cryptography distributed computing advanced virtual machine science all kinds of things right um
And under the hood of DFINITY, there's a lot more computation going on.
And there's also a lot more replication of data.
So with respect to computation, as soon as you introduce cryptography,
you're already going to be doing all this processing, right?
It's quite compute intensive.
And also, DFINITY under the hood is running symmetric replicas of applications.
So if you call a function in your application,
actually inside the DFINITY network, you know, there are multiple
instances of your application all running the same function at the same time. And if it's generating
data, you know, saving the same data to the state. And that's how we make sure that applications
are always available and don't lose data. So as a result of this, you know, the DFINITY network
will, you know, cycle for cycle and byte for byte is more CPU, more storage in any task. Okay.
But, you know, we think the simplification of the platform is worth it.
So when you create software on affinity, most people, I believe, will use a new language called ActaScript, which has been created by one of our staff engineers who created WebAssembly.
I don't know if you're aware of WebAssembly, but it's the sort of next generation of the web.
It's already in all the main web browsers.
Yeah, we're going to talk about that in a bit.
Yeah, it's an Internet Explorer, Chrome, Firefox, you know, sparring and so on.
He was the co-designer of that, continues to do the standards process, and he also is an architect of V8, which is the JavaScript's engine inside Chrome that also runs this thing called Node, which is the most widely used, sort of back-end platform at the world currently.
And so you can imagine that you could write this actor script inside of the web browser.
It runs on the WebAssembly virtual machine inside the browser, and that this actor script would be able to sort of seamlessly call into Actorscript running on the Internet computer.
And the Internet computer itself doesn't have any kind of storage API.
There's no database API, there's no file model for file storage or anything like that.
Actually, everything's just kept in software.
So the idea is that when you're writing the back end of your system,
you just write the abstract logic.
And you know, you keep your data in data collections in memory.
And this basically, you know, represents an absolutely colossal.
sort of simplification when you're developing a new system. So today, you know, when people
create systems, you know, unless they, you know, if you're using, you know, software as a service
product like Salesforce, of course, you just connected over the web. But if you want to run your
own system or create your own system, you know, you'll have a database, right, that needs backing up
and replicating and a hot spare and all that kind of stuff. You'll have probably a middleware
server with microservices on it. You'll have maybe a Memcash server. You're going to have web
servers. And again, you know, you need load balancing, a failover. And that's what DFINITY can replace.
Exactly. So, you know, you're going to have business logic that's distributed over that whole
system of multiple components. So if you think about it, you know, in that that kind of system,
there'll be some logic inside the web server that generates the pages. There'll be some logic
inside those microservices. There'll be some logic in the database. Data itself is pretty distributed.
So, and all of these components, by the way, fail independently.
And so it's a complex thing to put together.
And, of course, it's completely insecure.
There's no way you can make that secure.
So what you do is you surround it with a firewall,
and you hope that the firewall will keep everybody away from your insecure system.
But sadly, you know, a firewall isn't much good these days.
And, you know, I can go on to 4chan and put a, you know, Bitcoin bounty up.
And, you know, someone will get me into any company of my choosing if I want,
not that I do want, but, you know, so firewalls don't really work that well.
So you've got a system that is inherently very difficult to develop and maintain.
Right.
And, you know, many software engineers will tell you that sometimes they despair of their job
because most of their time is not just writing the logic involved in the system
and creating a great user experience.
Most of their time is involved with trying to make these different pieces talk to each other
and there's an inherent complexity that's involved in today's IT staff.
Yeah.
So I wanted to ask you, you mentioned your customers, who is using DFINITY technology now
or who are your ideal users?
Well, I mean, DFINITY is currently underdevelopment.
I mean, there's a test network.
I mean, people know what's there at the moment.
It's a complex project.
So we're developing multiple technologies in parallel.
So, for example, when you write software runs on WebAssembly, there's a network that forms
computations and stores data, and there's a test network with some thousands of full nodes running
at the moment.
And, you know, we're pretty clear on what we need to deliver.
And, you know, we just hope that Fortune 500 companies are using DFINITY's technology.
We're working with several companies that are interested in this.
technology. But I mean, the network's not live yet, so it's not possible to, you know, run a system
on it yet. So do you imagine that it's going to be more enterprise or, like, is that your target?
No, I mean, so the internet computer is a much broader thing. So the purpose of the internet
computer, firstly, is just to reinvent the way we create software system and also reinvent the way
that they're hosted, right? So we want the internet itself to host software and data. So that's a
big change. And the whole world runs on software. So you can apply this platform to many different
needs. So one of the most exciting applications of the internet computer is the reinvention of
today's internet services as open source businesses. Okay. So I want to get into more details around
DFINITY. But before we do that, I wanted to ask you about your background. What did you do
before you started Affinity and how did you come to start it?
So I'm a serial entrepreneur.
I've been in the tech industry for quite a long time.
My last venture was a computer game.
It's an MMO.
So it's a massively multiplayer online game.
I grew some millions of users.
And I got a particular interest in distributed computing
and I actually created more of the distributed infrastructure
that supported that game.
And I'd had some prior exposure to crypto.
You know, back in 1999, and I'd been using this library called Crypto Plus Plus, credited by
Michael Wadey.
And I'd come across this paper called B money through that.
So I was kind of interested in the area.
And then in 2013, when, you know, Bitcoin went through one of its dramatic price rises,
and my attention was drawn back to it.
And 2013, I switched over to crypto full-time.
And how did you come up with the idea for DFINITY and start it?
So at the end of 2013, I was.
poking around, looking at the internals of some of the old coins that were being created then,
hoping I could find something that would enable me to create a coin for the games industry.
And I was hoping that, you know, people could sell virtual goods in one game for this currency,
take into another game and buy new virtual goods.
And when I was looking at the internals of these coins, I sort of, you know, saw there are a lot of shortcomings
and unresolved problems.
And so in 2014, I created a project called Pabble.
and the aim was to create a cryptocurrency that, you know, was much faster, scaled to enormous
capacities.
We wanted to do things like recurring micropayments, and the idea was that internet services like
Facebook would turn off advertising exchange for receiving these recurring micropayments.
So, you know, I set about trying to solve that problem.
And initially, I was just drawing on traditional Byzantine-Fault-Torrent consensus, critical science.
and I sort of dug into that and there's a thing called a synchronous leader-free Byzantine-Poltonic
consensus protocols.
And I spent some months initially just studying them full-time and then eventually began to, you know,
repurpose them and devise my own.
And, you know, by the sort of end of the summer of 2014, you know, I felt that we had
pretty good solutions.
And I teamed up with Artier Montball, who's currently chief operating officer of Diffinity.
And there's a guy I'd met.
working at a VC that funded this computer game that grew so much. And, you know, he sort of
looked into raising money for the project and sort of scaling it out. At the time, I think people
were very obsessed with Bitcoin. And if you sort of proposed alternative centralized network
protocols, people looked at you with great skepticism. And the venture community, you know,
had really come to terms with the whole kind of centralization movement at that stage. And so,
you know, we spoke to a lot of people, but, you know, probably just education.
them, very difficult to actually raise money. So at the end of 2014, we decided to give up on Pabell.
But at the beginning of 2015, I devised some new computer science, actually found a way of
creating random numbers in a decentralized network of any size in a way that was totally
unmaniputable, very, very efficient, pretty much unstoppable and so on. So once I found this way
of doing that, it's a technique called threshold relay. I realized that, well, you know, I
I can actually create a decentralized network that could run at much higher speeds and anything does today.
That could be scaled out.
And, you know, I'd been kind of close to the Ethereum project, and I realized as well that, you know, blockchain computers were much more interesting than cryptocurrency ledgers.
So I thought, okay.
And, you know, I pursued that line of thinking.
And I realized that, look, you know, you could create a blockchain computer that is fast, infinitely scalable.
could host software with fantastic properties,
you know, security, availability and all these things,
that could act as a decentralized cloud.
And in an open public cloud computing resource
that would also enable people to develop systems in a whole new way.
And the original aim of affinity was to enable, if you like,
the re-engineering of the internet
so that many of the monopolistic internet services of today
could be recreated as open source,
what we call open source businesses,
where the service itself doesn't believe,
belong to any company or individual, but can update itself.
And I saw a lot of advantages in that.
And so, I mean, if you go back on the way back machine,
at the Internet Archives, you'll see an early DFINITY
with an absolutely horrible DFINITY that I created myself.
But, you know, it's describing exactly this, you know, the decentralized cloud.
And back then, you know, I used to think about how do you create a search engine
on a decentralized network, for example?
How do you create, you know, recreate Gmail, you know, social networks and Twitter?
that was how it all started. And the name of the name of affinity, of course, comes from
decentralized infinity. I wasn't aware of that. That's interesting. So we're going to get into
more details around some of these technical aspects that you mentioned, like threshold relay,
and we're also going to talk about your governance system, the blockchain nervous system.
But first, I'd like to take a quick break to tell you about our fabulous sponsors.
Interested in raising capital through a security token offering, start engine is your full-stack
solution. Start engine, a regulated, I,
with a community of over 155,000 registered users, was founded in 2014 by Howard Marks, co-founder
of Activision Blizzard. Since the implementation of the Jobs Act, Start Engine has helped over 160
companies raise capital. In fact, Start Engine can help a company build its own tokens,
and is creating a secondary market upon which those tokens can be traded. In short, Start Engine
provides a complete token ecosystem. If your company wants to launch a security token offering,
just go to startengin.com slash unchained for a free consultation and a 20% discount on future regulated ICO setup services.
That's start engine.com slash unchained.
The scorebed app here with trusted stats and real-time sports news.
Yeah, hey, who should I take in the Boston game?
Well, statistically speaking.
Nah, no more statistically speaking. I want hot takes. I want knee-jerk reactions.
That's not really what I do.
Is that because you don't have any knees?
The score bet.
Trusted sports content, seamless sports betting.
Download today.
19 plus, Ontario only.
If you have questions or concerns about your gambling or the gambling of someone close to you,
please go to conicsonterio.ca.
Local news is in decline across Canada, and this is bad news for all of us.
With less local news, noise, rumors, and misinformation fill the void.
And it gets harder to separate truth from fiction.
That's why CBC News is putting more journalists in more places
across Canada, reporting on the ground from where you live, telling the stories that matter to all of us,
because local news is big news. Choose news, not noise. CBC News.
This is not legal advice. Sun Exchange is a solar power marketplace for the crypto economy.
Sun Exchange members all over the world are earning cryptocurrency while solar powering businesses
and communities in emerging markets. Through this Sunexchange.com, for as little as $10,
And in just a few clicks, you can purchase solar cells and lease them to projects in the world's sunniest regions, earning you an income stream of monetized sunshine, paid in Bitcoin.
Sun Exchange members can earn between 10 and 15% IRA, backed by the power of the sun.
Founded in 2015, Sun Exchange is operating solar projects across Southern Africa, entirely powered by our members' solar cells.
Our partners include SolarCoin, the United Nations Development Program, and the Energy Web Foundation.
Visit www.Thesunexchange.com to check terms and eligibility to join the crypto solar revolution.
Start earning solar-powered money today.
I'm speaking with Dominic Williams of DFINITY.
So let's talk about your consensus mechanism, threshold relay, and the decentralized randomness beacon and all the other aspects.
And describe to me how your consensus mechanism differs from the other consensus algorithms.
Well, first of all, consensus is a difficult branch of computer science.
And to put it in perspective, you know, I'm undergraduate level and so on.
I've got a whole bunch of prizes.
I've been, you know, working in sort of field of distributed computing, one form or another,
for more than 20 years.
And, you know, it took me some months of studying to really understand just traditional
Byzantine-voltonic consensus, right?
So I think there's a lot of different protocols out there.
I think a lot of them should be looked at quite a bit of skepticism, frankly.
But, you know, the definitive system is surprisingly simple.
We lean on traditional cryptography to make things possible.
You couldn't do with traditional distributed computing techniques.
So the foundational technique is known as threshold relay,
and it works by applying something called unique deterministic threshold signatures
to generate a sequence of random numbers.
but the clever bit is that the sequence of random numbers is completely unmanipulable.
So even if you had a network of computers and they were all controlled by the bad guy, right?
The adversary, even he couldn't manipulate the sequence of random numbers.
So that's obviously a valuable property.
The other great property is that Threshold Relay works with a network of any size.
So, you know, we aim for DFINITY network to incorporate tens of millions of computers.
So that's a very important piece.
and it's super efficient.
So each successive random number is produced by a broadcast of only 22 kilobytes of data.
And you can run it extremely quickly if you want to.
Now, the marvelous bit about it is through Threshold Relay,
we're able to have a network of any size,
agree upon this sequence of random numbers,
which is generated in an unstoppable way and is completely unmanipatable.
without running a consensus protocol.
So in terms of the difference with Bitcoin, Bitcoin also is random,
but in order to get that randomness, you have to waste a lot of,
or not waste, but you have to use up a lot of electricity.
Is that the difference?
So proof of work actually performs a number of different product functions at once.
So the cost of generating a block is it provides something called civil resistance.
It makes it difficult for an adversary
to come into the network and achieve 51% of the mining power
and sort of break the fault bounds of the network and take control.
But it's also a random number generator, right?
So the idea is that everyone's beavering away,
you know, spinning the nons in their block until the hash,
which is a number, obviously, falls beneath a target.
And because you can only find a nonce that brings the hash of the block
beneath the target by brute force, you know, effectively it's a kind of random number generator,
you know, where your chance of finding a winning nonce is proportional to the amount of
computing power you're applying. But ultimately it's a random number generator. So, you know,
nobody knows who's going to create the next block, and that's very important for a variety of
reasons. But you could call it a kind of caveman method, right, of producing random numbers.
It's extraordinarily expensive. The numbers are produced in something called a press-on
distribution. So, but just actually, I want to ask you something because the Bitcoin mining process
has long been credited with giving the Bitcoin network its security. So does DFINITY give up anything
in terms of security by using this other method that doesn't require as much computer power or
electricity? Because simply the investment that you need to make in Bitcoin to do that is I think
what people say gives it its security?
I mean, you know, the Bitcoin community is obviously very keen to make the case for proof of work.
I personally believe it's not very secure, and Infinity will be much, much more secure.
I would have been satisfied.
But what makes it secure?
Well, I mean, I think there's, I forget the numbers, but, you know, the studies out there
that show that, you know, with an investment of, say, you know, $100 million, you could easily
overwhelm, you know, easily achieve 51% of the hash power of the Bitcoin network, right?
Wait, just for the money equipment or including the electricity?
Well, that's just, you know, once you've got the equipment, if you've got the electricity,
you don't have to run it forever in order to disrupt the network, right?
I mean, someone bought the equipment, you know, got the agreements with the electricity providers
and, you know, turned it on and switched off the Bitcoin network for a day.
Well, you know, the Bitcoin network's probably toast because, you know, one of the USPs
of any decentralized network.
Wait, I'm sorry, I don't understand how you would turn off the Bitcoin network for a day,
just by buying mining equipment, that doesn't make sense to me.
Well, so any decentralized protocol has something called fault bounds, right?
So it can continue producing agreement so long as the adversary, you know, some notional attacker,
controls less than a share of the network.
So if you control 51%, actually, you don't even need that, the hashing power in the Bitcoin network,
and you're an adversary, you can turn it off.
You can break the agreement, you know, you can break the protocol.
So the protocol won't produce agreement anymore.
Oh, kind of like wipe out attacks, like where you're mining on a different chain
and then you wipe out the chain that all the non-bad actors are on?
Is that what you're talking about?
Well, so for example, I mean, you know, sort of widely known that there's a thing called a double spend attack
that can be performed if you have 51% of the network.
Turns out that you can actually do some attacks with less than that.
But, you know, let's say you've got 51% of the network, you can now,
You could just double spend by continuously building a new longest chain.
But if you continually forked the tip, it wouldn't progress.
And the system would become unusable.
Okay.
Yeah.
I mean, okay.
I mean, it's still different from turning off.
No, it turned off.
No, I mean, the mining, I mean, everybody else, let's say you have 51%.
The 49% would still have their mining equipment.
But you could effectively turn off the network in the sense that.
it wouldn't be processing transactions anymore.
Okay.
But so to go back to DFINITY,
so I understand that you are able to get the same kind of randomness
as proof of work without the expenditure of electricity.
But then how does the security come in?
So, you know, we're using just more advanced computer science.
So first of all, with respect to the sequence of random numbers,
even if the adversary controlled 100% of the network,
they couldn't manipulate that sequence of random numbers.
It's unmanipulable.
by the mathematics involved.
So that's one example of how, you know, we achieve greater security.
But with respect to...
But if they are controlling 100% of them, then once each, for each block reward, they get,
couldn't they, you know, exclude certain transactions and only include certain ones or,
you know, whatever it might be, or no?
Sure.
So that's another aspect, right, of these systems, which is that.
If the adversary controls a majority, you can form censorship.
But that's just, I mean, I'm just looking, focusing on one particular aspect.
The generation of random numbers is unmanipable.
So that's a great foundation.
But with respect to ensuring the adversary doesn't control the majority of the network,
that's like a civil resistance.
And, you know, you want to make it as expensive as possible for an adversary to build up that kind of presence in the network.
He would have to acquire an enormous amount of definities.
So the current cap, if you like, in the last pre-sale round of the project is $2 billion.
And quite possibly, you know, the network in production will have an even higher token cap.
So a lot of that will be staked in various ways in the network.
So you can create a very large capital impediment to the adversary.
And what's more, I mean, if you were an adversary wanting to attack the DFINITY network,
Let's say you are some, you know, a Gens Bond villain.
You would have to acquire that stake and then use it to break the network.
But in the process of doing so, you would be destroying your own investment.
Yeah.
So that's pretty expensive.
Yeah.
I mean, this isn't actually that different from Bitcoin because a lot of people say if
somebody attacked the network, then of course the value of Bitcoin would drop.
And so the benefit that they would get from attacking the network wouldn't, the financial
benefit wouldn't be there.
And it's similar with staking. But actually, let's talk about the staking.
Just just one last piece. I mean, there's many other differences. So, I mean, it's true
that Bitcoin has some nice properties, but they're very basic, frankly. I mean, one of the
problems is that because of the pooling of mining, in practice, you know, the network is
driven by a relatively small number of participants. And by contrast, for example, in DFINITY,
the network will launch with tens of thousands of individual participants.
And you don't have this handful of points of failure, right?
So if you wanted to hack, say, the software,
but critical pieces of software running the network,
it would be much harder because it's a much more distributed and decentralized network than you see today.
And that's one of the key features of affinity.
we were able to combine millions of individual participants.
Or some of these participants may be owned by the same entity,
but nonetheless there are many, many more individual nodes in the network,
all of which are participating and producing blocks.
So there's a number of different ways.
What I don't understand is why would you expect that you wouldn't still
also end up with mining pools in DFINITY?
Because there's no economic advice.
So DFINITY doesn't work like Bitcoin.
There's no proof of work.
So first of all, Bitcoin and Ethereum work by placing miners into a competition where they try and solve proofs of work, if you like.
And if they're lucky and they solve the current puzzle, they get a reward.
That doesn't happen in divinity.
Right.
But what I'm saying is, so with both Bitcoin and Ethereum with proof of work, as far as I understand, the reason why people enter mining pools is because the payments that they would receive if they were mining on their own would be spaced out uneven.
But if they join a mining pool, then the pool will know over time, okay, this person has like 1% of all the hash rate.
Obviously, nobody, I don't know if an individual has that much, but they can say over time, we will pay you 1% of the hash rate in an even fashion, rather than, you know, one block reward now and then one six months from now and then one two weeks after that and, you know, whatever.
So with DFINITY where it's also done randomly, then wouldn't the payouts to individual?
miners be similarly not evenly spaced out? And so wouldn't there still be incentive to join a mining
pool? I mean, definitive is just generally speaking a much more sophisticated system. So it's
difficult to draw lessons from a very simple proof of work system and apply them to the DFINITY network.
So each node in DFINITY has an approximately similar hardware specification. And each node in the
network acts as a replica, right, for in some shard that stores some number,
some subset of the applications hosted on the internet computer.
And the protocol has cryptography schemes incorporated into it that enable it to apply
a service level agreement, if you like, to each individual node.
So let's say you were running a affinity node.
It would look something like a mid-to-high-end server machine.
It would be required to have a certain amount of storage and a certain
amount of processor capacity. Once that's added to the DFINITY network, the network will fill
its storage space with cryptographic junk that's predictable, that you have to encrypt in a special
way. And this enables the network to interrogate you, to check that. Indeed, you have performed the
role and you've uniquely stored this data. And economically speaking, the most efficient way of
doing that is with a dedicated machine. It's designed in that way. So,
How could you pull it? How could you pull that? I mean, each machine has to exist as a separate
economic entity. It performs a role and it gets rewarded for providing, for performing that role.
Okay. You know, Bitcoin's a completely different thing. And same with Ethereum. I mean,
you know, everyone's performing the same, every node in the network is applying the same transactions
to some shared state, right? There's no notion of individual, there's no notion of individual nodes
that perform some discrete role. So, you know,
let's say if you want to increase your economic presence in the
DFINITY network, you have to connect more nodes to the network.
So each node has the same role as every other node.
And you increase your earnings by installing more nodes.
There's no way you can pull those, right?
Because you can't consolidate them.
Whereas, you know, in Bitcoin or Ethereum, people are able to have some
hashing hardware and sort of collaborate with other people with hashing hardware in a pool
so they get some kind of stream of income with less variance. But that's a completely different
kind of system. Hashing has no functional purpose, remember? It's just what you're doing is just
burning as much electricity as you can to try and increase your chances of getting the next
block reward. Right, which has the side benefit of adding security to the network. So let's move
find to...
Well, only, just to be able to go there.
You know, DFINITY will provide much, much better security than that.
We don't believe that just, you know, having a competition to burn electricity,
which also has hugely a negative impact on the environment, provides the best security.
And there are, you know, a bunch of, you know, clear, theoretical, scientific reasons
why that doesn't provide the best security.
It's just that, you know, Bitcoin took off.
It was a mechanism for making...
early decentralized networks work and these tokens got enormous values so all kinds of people around
the world started joining the competition to try and find the next block to get the block award but
you know that that doesn't mean you know that's not scientific evidence or a reason that this design
produces the best security for a decentralized network it definitely doesn't and it also doesn't produce
the performance predictability and it's very very difficult also to discuss
it out and so that you can increase the capacity of those kind of networks.
You have a system for making protocol upgrades that you call the blockchain nervous system.
How does that work?
How does it decide to upgrade the protocol?
So the blockchain nervous system is actually a much broader system.
It's what you might describe as an algorithmic governance system.
And it actually controls all aspects of the network.
So it can adopt or reject proposals that are submitted to it.
And those proposals can touch on pretty much.
anything, you know, it can adjust the economic parameters of the network. It can freeze
miscreate systems. Say, for example, someone discovered something terrible like an ISIS slave
market running on the platform. It can help broken systems fix themselves. And among other things,
it can also upgrade the protocol itself. And it does that by adopting a proposal to run a
installer described by a hash that essentially installs a new version of the full node software
on the machines backing the protocol. That makes sense? Well, I actually have a number of questions
about this for you because so one thing that I noticed was when you described it, you said that
this blockchain nervous system could have what you called quote, privileged control over token
ownership and it could do things like repatriate stolen funds.
That sounds like centralized control. So how does that work?
So in a sense, it's, you know, decentralized, centralized control.
So the blockchain nervous system plays the role of network administrator.
And in that sense, you know, it is a central entity that controls the network.
However, you know, it's an algorithmic government system that's controlled in a decentralized way.
The basis of this system are things called neurons.
A neuron is a voting unit whose voting power is proportional to the number of
definities locked up inside.
And these neurons can be configured to follow each other.
So let's say you wanted to get involved in the covenant system, for which you get rewarded,
by the way.
So every time your neuron votes, you receive rewards.
probably you wouldn't feel qualified to vote on proposals relating to cryptography.
So you would configure your neuron to follow other neurons when proposals submitted to the system with the cryptography topic.
So for example, you might pick five neurons whose addresses have been published by, you know, individuals who are sort of experts in the field and who are members of the DFINITY community.
So let's say, you know, you might configure.
your neuron to follow, you know, Timohanky, minutia overhedy, Jan Kamenish, those kind of people.
And so let's say there are five of them, right? So your neuron follows five cryptographers in the
community. You might configure it so that if three of these other neurons vote to adopt a
proposal, your neuron votes to adopt the proposal too. If three of those five vote to reject
the proposal. Your neuron votes to reject the proposal too. And if none of those,
neither of those conditions occur before a timeout, then you vote to reject the proposal.
So you will have states and definities to create this neuron. You can only get those
definities back by dissolving the neuron. Actually, the time it takes you to dissolve the
neuron is configurable. And the longer it takes you to dissolve the neuron, the greater the rewards you
receive in relation to the number of definities you state each time you vote and the greater
the voting power. So let's say you wanted to achieve the maximum possible returns from your
definities, you might create a neuron that takes four years to dissolve. And that will maximize
the voting power and the rewards you receive in proportion to the definities you've staked.
So, you know, your objective as a neuron holder is for the blockchain nervous system to take
decisions that ultimately increase the value of
definity tokens, which, you know,
probably is a proxy for
network adoption.
And, you know,
obviously, if you've created a neuron
which takes four years to dissolve,
you know, you're very keen that the value
of those definities locked up
in the neuron increase, right?
And that decisions are adopted that
will increase the value of each
definity token. So, in a sense,
the objective of the blockchain nerve system is just
simply to increase the value of definities, although that's a kind of proxy for adoption.
But something that I don't understand is you've called the blockchain nervous system an AI.
But when I read how it worked, it seemed more like delegated proof of stake.
And what you just described also sounded like delegated proof of stake.
And you've also described the blockchain nervous system as liquid democracy,
which a lot of people use typically as another term for delegated proof of stake.
So where does the AI come in? I don't understand that.
Well, I wouldn't call it an AI.
I'd call it an algorithmic governance system, first of course.
all. But, you know, it certainly has elements of proof of stake, although it's nothing to do
whatsoever with consensus. It's just a governance system. And it has elements of, you know,
liquid democracy. But there are significant differences, right? So, you know, each neuron is an
economic entity, you know, which wraps and definities. And, you know, if you're a holder of one
these neurons, you can't get the definitors inside back without dissolving it, that takes
some time.
So you're very keen, you know, the incentive structure is set up, so you're very keen that this
neuron takes, you know, votes for proposals that will ultimately increase the value
of the network.
The neurons themselves are managed on client devices.
So you'll configure your phone or your laptop with neuron client software.
So the neurons, if you like, you know, distributed around the edges of the network, nobody really
knows what the follow relationships are, and it all sort of cascades decisions. But, you know,
it has some interesting properties with respect to AI in the sense that, you know, neurons are
following other neurons. It's not quite like delegated proof of state or liquid democracy.
You say, hey, this person's got my vote. I wanted to ask also about how the BNS will learn from
market feedback. You had given this example in a medium post about how, for instance, a demagogue neuron
might persuade other neuron owners on Reddit to follow him.
And then that could result in a stupid proposal being adopted.
And you said that then the markets would not be fooled for long,
and I'm quoting here, and react negatively,
leading people to examine how and if their neurons voted for the proposal.
The neuron of the demagogue would be removed from follow relationships.
And over time, through such actions,
the follow relationship shall tend to.
toward more optimal forms. But who would remove the neuron of the demagogue? Like you use the
passive voice there, but who is removing this demagogue neuron? Well, you don't, I mean, the denigog
can keep his neuron, the people will just unfollow it. So in the example with cryptography follows,
let's say that you followed some individual who was a loud mouth on Twitter and you
configured your neuron to follow this dude. And, you know, somehow he was a sort of, uh,
fraud, if you like, and he got lots of people to follow him.
And eventually somehow, because lots of people followed him,
he was able to submit a proposal to the blockchain nervous system
that made some rather dubious technical changes.
And these were adopted.
And because of all the people following him,
the system started using this stuff.
Well, you know, the consequences could be quite dire
and no doubt it would impact the value of DFINITY tokens.
Right? So, you know, you might look at this and think, crikey, why on earth is my neuron following this guy?
Okay. But to understand, so when you said that the BNS will learn from market feedback, it's not really learning, right? It's just that people are unfollowing that neuron, right?
Well, I mean, it's an algorithmic governance system, and it makes proposals as a result of neurons voting.
And neurons vote for the most part by, you know, automatically as a result of their follow relationships.
So if a proposal is adopted by the blockchain nervous system that results in some kind of negative market impact, people may look at the, you know, the follow relationships they've configured into their neuron and say, oh,
hang on. My neuron voted for this stupid proposal, right? And voted for this stupid proposal
because I'm following these people or this person. I'm going to reconfigure it to follow someone
far more sensible. Right. So it's people learning, not the BNS itself, right?
Well, people are responding to market data effectively and changing the follow relationships
between the neurons so that it makes better decisions.
So in that sense, you know, in the sense, it's an algorithmic governance system where, for the most part, neurons, you know, act completely automatically.
You know, it's kind of learning.
These follow relationships between neurons are being reconfigured.
So if I'm running a neuron and I have made this error of following the demacog neuron, I don't unfollow it.
My neuron will unfollow it by itself?
No, you will yourself reconfigure the follow relationship.
So you've got, let's say, the, you know, the makes affinity great again, dude,
who's, you know, got tons of people to configure their neurons to follow his on some topic
and maybe some stupid proposals being adopted by the system.
You know, the consequence, if there are a negative market consequences,
which you'd expect, at least over a sort of medium to long term,
you'd expect people to reconfigure their neurons so they're not following this guy.
So in that sense, you know, the system is evolving because remember, for the most part,
these neurons vote automatically, right?
Okay, right.
But there is that moment where the change happens manually.
Oh, sure.
It's not a completely, you know, it's not a sort of general purpose intelligence.
This is a hybrid system.
Okay.
There's more I want to ask about this, but we're running out of time.
So I'm going to just move on.
I want to ask you, we mentioned WebAssembly before.
Why did you guys choose WebAssembly as your programming language?
And first of all, also just if you want to explain it for listeners who don't know and then explain why you does it.
So WebAssembly is sort of one of the first open standards for universal software that can run anywhere.
and it was originally conceived to allow much more sophisticated web applications to be created.
So you can think of a bit like Java for the web, right?
But, you know, it's been designed with the benefit of all of the kind of learnings of the past 20, 25 years or something.
So it's a really nice specification for a virtual machine for which you can create bytecode, right?
and in principle you can create that byte code using any computer language, any programming language.
So that's nice. So, you know, the idea is that you can create like a WebAssembly outlet
using the programming language of your choice, and this will run inside the browser at near native speeds.
And does that lead to any sort of imprecision, which would be a bad thing if you're obviously dealing with money?
Well, so the computations performed on the Internet computer has.
have to be completely deterministic. So for the most part, web assembly is completely deterministic.
I think there's one instruction relating to floating point operations that isn't deterministic.
Okay. I don't know what that means.
Floating points like a number with a decimal point, right? And so that particular instruction
can't be used in software that runs on the internet computer.
Okay. But for money, there's often decimal points.
Yeah. So we're talking about a virtual machine, right? So it's nothing to do with money.
We're talking about a virtual machine, a virtual computer that you can run bytecode software on.
So, yeah, it's roughly equivalent to say the Java virtual machine. So, you know, you can compile the Java programming language down to Java bytecode and you can run it on a Java virtual machine.
And that virtual machine might be implemented in an IOT device on a laptop, on a server,
whatever, right, on lots of different kinds of operating systems.
So, you know, that was the great thing with Java.
I'm just confused because I think oftentimes these different crypto networks or the different
blockchain systems usually are dealing with money.
So are you saying that DFINITY is going to not be used as often for financial transactions?
No, no, not at all.
I don't, there's just no relationship between the.
virtual machine and money.
A virtual machine is like a virtual machine is like a virtual computer that you can, it's a
standard that you can use to create software that runs on any instance of that virtual
machine wherever it may be hosted.
So, you know, all of the main web browsers now have implementations of the WebAssembly
of the WebAssembly virtual machine.
And that means that you can compile, you know, WebAssembly.
software from some programming language, and it will run in any web browser on whatever platform
that web browser is running on, right? So it's just a standard for creating software,
and it's an important standard because the first time, really, we've had an open spec for a
virtual machine that can be implemented absolutely everywhere without any kind of licensing
restrictions and so on. So basically, the developers will be using this to create.
different decentralized applications on DFINITY?
Yeah, so we've got a language called ActaScript,
which we're going to release at some point,
and we expect that people will use Actorscript
to create WebAssembly software that runs inside the web browser,
and they'll also be able to use the same programming language
to create WebAssembly software that runs on the Internet computer.
Okay. All right, so we're going to have to move super quickly
through the last questions.
But you proposed a crypto-fiat system called the fee system, P-H-I.
How does that work?
So, FI is really a DAP that would run on top of DFINITY, although it could also run on top
of Ethereum.
And it's a really kind of algorithmic implementation of commercial banking.
So it's a system that produces what we call crypto-feet.
So it produces tokens that mirror, you know, local fiat currencies.
So you have like FIUSD, Phi CHF, Phi, Chi, GPP and so on.
And it does that in the same way that commercial banks create money.
So what a lot of people are so aware of is that, you know, the money we use in, you know, in a modern economy is created by commercial banks, not the government.
So, for example, in the US or the UK, 98% of the money, you know, dollars or pounds is actually
created by commercial banks when they issue loans.
So the way it works is, let's say, I'm a bank and you're a borrower and you want to borrow
$100,000.
I will simply create the $100,000 for you.
And that goes on to my balance sheet as a liability.
And then I'll make you sign a loan agreement.
So you will promise to pay me back, say, $110, $120,000 with interest.
And that legal document, the loan, is an asset on my balance sheet.
So let's say, you know, I've created $100,000 to give to you.
And now I've made you sign a loan agreement.
And you've got to pay me back $120,000.
Well, there's some credit default risk.
So I'll book that as an asset worth $110,000.
So I've made nominally a $10,000 profit.
Now, the interesting thing is that really that means that fiat money, you know, dollars and pounds,
is really an IOU.
Okay.
So all of the pounds and dollars are collateralized by these, you know, debt relationships.
So let's say, you know, in order to convince me to create this $100,000 for you,
you had to sign a loan agreement, which gave me a call on your collateral.
That could be your personal guarantee.
It could be your house, your car, or whatever.
number. And probably you'll
supply more collateral than you're
borrowing, right?
And there's lots of interesting
properties. You know, if the
value of the economy falls, well,
as the value of those assets that you've provided
as collateral fall,
so does the value of the
fee of currency in synchrony, right?
Because, you know, it's backed by collateral
and that, you know, denominated in
the same units, same currency
units. So anyway,
it's a powerful system.
because it enables you to create large amounts of fiat, right?
Right.
It's a fractional reserve system.
Yeah, so it is a fractional reserve system.
I think the, like, if you look at traditional economics textbooks,
they show a kind of, you know, a rising triangle.
That's the traditional way of explaining it.
But in practice, you know, for example, in a modern economy,
the banks are less constrained by the sort of fractional reserve aspect of it.
than by risk. So in the UK, for example, there are no reserve requirements at all.
The limiting factor is actually risk because if the bank becomes insolvent because the liabilities,
i.e., the money that it's created, are greater than its assets, i.e. the book value of those loans,
it has to stop operating immediately. So when banks are thinking about how much they can lend,
they're really looking at the risk of insolvency.
And that's the limiting factor.
So as you know, something that's fueled the rise of Bitcoin and some of these other
cryptocurrencies is the cap on the monetary supply and the fact that you cannot do the
fractional reserve system.
So do you feel like that runs any risks for you?
And obviously there's this whole flashback to the financial crisis that I think talking
about fractional reserve banking brings to people. So do you have any worries about that? And how will
you kind of prevent crises like that with this crypto fiat system you're building?
So, you know, the notion of Bitcoin is very different. You know, Bitcoin, in essence, is very different
to a fiat currency. You know, essentially, you fix the supply and then the value fluctuates with
demand. And that's why it's so volatile. And that was the, you know,
the magic trick that Satoshi pull to create value in cyberspace.
You just said, look, we're going to create these tokens.
It will only ever be this many.
And thus, you know, if demand for these tokens increases, the price will rise.
And that in itself actually creates demands for the tokens.
But when you're talking about, you know, more, you know, standard economic sort of business requirements,
you really need something like Fiat, which is much more stable.
and where the unit of account matches the value of assets in the economy, right,
or is linked to the value of assets in the economy.
So it's certainly true that if the FI system, you know, made lots of unwise loans,
the system could break.
So the equivalent would be the financial crisis where banks were able to create all kinds of silly loans to people in subprime housing
who had no chance of paying the back.
And they were able to say, right, look, you want a million dollars.
a mortgage say, I'm going to create the million dollars and I'm going to book this this mortgage
is something.
But are you building something into definitive or into this FI system to prevent that?
Yeah, sure.
So the design of FI aims to originate loans in a decentralized manner in a much more rational
way such that we, you know, reduce the risk inherent in the system while creating effectively
mirror fear and much lower.
cost. Okay. So I wanted to ask you, between your pre-sale and your public sale, what was the markup
on your tokens? Well, between the public seed round and the private round. So I think you're
referring to, we did this public seed round at the beginning of 2017. It sort of predated the
ICO craze. It was a very naive time, you know, we actually put a soft cap on it of one million
We said, look, we just need like a $1 million in the foundation of or raise more money later.
Once we've reached, or one million Swiss francs, actually, and once we've reached that target,
and you know, people could contribute using Bitcoin, ether or Swiss francs.
Once we've reached that one million, then we're going to switch the systems off in a few hours.
And we did that.
And by the time the system switched off, I think we've collected like 3.9 million Swiss francs.
But then, you know, the ICO market exploded and we sort of slightly, um,
of some of the practices.
And so we sort of decided to stand back.
And we raised further money from, you know, hedge funds and venture capitalists and so on.
And there's some really big name investors involved in the project.
So I think between the C round and the last round, which has raised, I mean, not quite ready
to announce it, but it's sort of like, the original target was like $90 million.
It was oversubscribed.
It's like more than 100x markup.
Okay, and how do you feel about having such a large markup for the everyday investor?
Well, you know, I think it's certainly true that, you know, there's like 400 people
participated in that seed round, and they've been very well rewarded for their faith in the
project.
And, you know, that's the nature of, you know, capitalism.
Sometimes there are big winners, and, you know, it's certainly true that seed investors
have done very, very well indeed.
I still think there's enormous upside of the project.
So I think it's just the beginning.
But yeah, seed investors have done very well.
From a lot of your blog posts and also previous conversations I've had with you,
it seems that technical innovation is one of the differentiators for DFINITY,
if not the main differentiator.
How do you plan to become the dominant platform on technical strength
in an open source environment where any other team can take the technology you've built
and added to their platform when they may already be starting out with a greater network effect?
Yeah, so it's a very good question.
And I think any organization like DFINITY that's investing a huge amount of money into,
you know, the research and development of new science and development software and so on has to think
about that carefully.
But first of all, you know, networks can, you know, accrue network effects, okay?
and, you know, the DFINITY network, first of all,
will launch a scale, I think, that will surprise a lot of people.
The technology involved will be very complex,
and we are building a kind of NASA for decentralization.
So, you know, the DFINITY Foundation has, for example,
you know, research centers in Palo Alto, Zurich,
and people all over the world, people in Germany, UK,
even got three people in Japan.
And, you know, one of the factors that,
people wanting to build on the internet computer or a platform like that will take into
consideration is what kind of group of people are standing behind that network right and
honestly um the technology has become so complex it's it's very unlikely that you know some
team out there that just wants to create a quick fork will even understand you know the systems
that the software are implementing right but it could be like really good developers
like from Ethereum or something?
Look, I mean, I think, well, there's two bits of this.
So first, I mean, when the network launches in beta,
it may be that some of its closed source
and it's sort of progressively revealed with bounties
for people who find bugs and things like that.
So there will be a window where the network has an opportunity to, you know,
establish itself.
It's, the technology involved is far too complex for you just to sort of dip in
and just take some piece and add it, say, to Ethereum.
in order to give it some huge boost, right?
You'd really need it just to take the entire affinity system
and use it to credit your network.
But then, you know, if anyone looking to build on the internet computer
has to ask the question, well, look, here's the real internet computer
with this large network of, you know, miners,
which will be like professional hosting centers,
you know, running tens of thousands of computers
that's got this fantastic NASA for decentralization
that's dedicated to continuing to develop it and help support it in production.
You know, I think most people would choose to build on that network,
rather than just some network of a few nodes backed by some people that can't develop their own technology.
So I think...
Right, but what I'm saying is what if it's like a robust network that adopts some of the technology?
Well, so I don't think adopting some of the technology is pretty tough.
So, you know, the things engineered as a whole,
And what I think people are going to see in the coming years is that, you know,
the original simplicity of something like Bitcoin is replaced by things that are vastly more complex and sophisticated.
So it's not just like you can just take the protocol and run it yourself on your network to improve it, right?
You'd have to just sort of take the entire affinity stack and then, you know, with your own miners, create a competing network.
So that would be possible.
it's true. But, you know, people will have to, I think people looking to build on the internet
computer will have to consider whether they want to build on the sort of imitation network,
or they want to build on the network, which has vastly more, you know, computational power
and also is backed by, you know, this NASA bit of centralization.
Right. Okay. Great. Well, that's all the time we have, but this has been a fascinating
discussion. Where can people learn more about you and DFINITY?
Thanks, Laura.
Well, we're trying to make as much information available as possible.
So I think there's a series of appearing on YouTube.
I think there's one called Inside Diffinity.
We're trying to push more and more information onto the website.
There are social media channels, Reddit, Telegram and so on.
And we also, you know, attend a lot of conferences.
There are even DFINITY meetups where, you know, you can go and meet members of the team.
But those have been taking place all over the world.
Okay.
Great.
All right.
Well, thanks for coming on Unchained.
Thanks, Laura.
Thanks so much for joining us today.
To learn more about Dominic and Definity, check out the show notes inside your podcast episode.
New episodes of Unchained Come up every Tuesday.
If you haven't already, rate review and subscribe on Apple Podcasts.
If you liked this episode, share it with their friends on Facebook, Twitter, or LinkedIn.
And if you're not yet subscribed to my other podcast, Unconfirmed, I highly recommend you check it out and subscribe now.
Unchained is produced by me, Laura Shin, with help from Raylene Golapoli, fractal recording, Jenny Josephson, Rahul Singh & Ready, and Daniel Nuss. Thanks for listening.
