This is epicenter episode 406 with guest Dominic Williams.
Welcome to epicenter the podcast where we interview crypto,
Founders, Builders and thought leaders.
I'm Frederick ants. And I'm here with Martin carbon
as a special guest co-host. Today, we're speaking with
Dominic Williams, Chief scientist, and founder of
divinity, Divinity, builds the internet computer, a layer one,
smart contract, enable blockchain, that achieves,
remarkable scaling properties the way.
That the internet computer does that is through native shotting.
They call it somewhat differently but that's basically
what it is. The compromise they end up
making is that the security guarantees are not as strong as
on bitcoin or etherium, requiring, some trust in a
majority of validators. But before we talk with Dominic
about Affinity, let me tell you about our sponsor this week,
gnosis safe is a smart wallet for securely managing digital
assets. What?
Makes gnosis safe different is that it allows you to Define
customized access permissions digital assets on web.
Three are usually controlled by a single private, key posing, a
challenge as private Keys may, get lost or compromised on top
of that. Users are forced to trust
individuals, holding single private keys to govern highly
valuable digital assets and protocols.
Also, save enables users to control digital assets.
With much more granular, permissions, involving multiple
private keys. Subset of which is required for
executing transactions, these keys.
Can then be stored on different Hardware or software wallet.
So, even shared across multiple people.
Additionally, custom permission modules can be added to enable
even more use cases such as setting, transfer allowances for
individual keys or automatically executing transactions decided
on by a snapshot Community vote. Gnosis saves extra layer of
security and personalization makes it the most Most trusted
web three Asset Management solution for individuals, teams
and ours, who already use it to store more than fifty seven
billion US dollars worth of fungible digital assets.
So that's ether and ERC 20 tokens.
Additionally, it can also store and manage nft sir on top of
that. Nosa save also provides a lot of
opportunities for deduct developers to plug into the
platform. Developers can extend the no
safe interface with their own deaths and even build additional
permission modules. Ecosystem of safe apps and the
costume modules extends the usability of noses, safe.
As a portal to D5 Financial trading organizational
management and Beyond visit gnosis - safe dot IO to learn
more and get started. And we're setting up your own
safe. Dominic you are the founder of
divinity and you have been on this podcast before I looked it
up and was almost five years ago.
So it's super good to actually have you back.
I think seeing that had. It's been quite a while.
I think it would warrant to have a fresh interaction on you.
So Dominic Williams, who are you?
Well firstly, it's very good to be back.
I think it's just over four and a half years since I was last on
your show and you know I'm working on exactly the same
thing today that I was then back then it was just called
Affinity. Today the network is called the
internet computer and the foundation is still called
affinity and of course definity stands for decentralized
Infinity. You just, you know, remove some
letters and stick them together. And you get the word affinity
and the objective which was really first.
Formulated in 2015, was to really implement this idea of a
world computer a blockchain that would be fast and have infinite
capacity, or at least its capacity could be scaled without
limit as needed. And I'm, you know, that's what
we produced. It was, you know, tough job took
many years. That's probably introduced
several years more than I expected but you know, I'm
pleased to say with three months into the fully operational,
public, internet, computer blockchain network and it's
going very well. So I mean it's been quite a
while. So what was so challenging about
it? Well, I mean there's another way
of looking at that, right? Which is why do no other
blockchains scale as yet even though everyone recognizes that
it's desirable to scale and the capacity for smart contracts but
to date, nobody can scale smart contracts, blockchains are slow
and inefficient. And there's some other things
that the internet computer can do that other networks caught
match yet such as serving interactive web.
So smart contracts on the internet computer can actually
service HTTP calls which gives you an idea, you know, a measure
of the enormous progress that's been made and to deliver
something like this. You you have to rethink
blockchain architecture and blockchain science from the
ground up and you also actually have to develop a lot of Novel
cryptography. So you can't, you know, just go
into the existing cryptography toolbox and say, I'll take this
and that That and plug them all together and produce the
internet computer. You actually have to develop
novel cryptography. And if you want to do that, you
have to, you know, build a team of eminent cryptographers and
who can create the math and you have to find Engineers who are
capable of implementing the complex schemes, they produce,
and so on. So even building, you know, a
research and development organization, capable of
implementing. This kind of thing takes years.
Of course, have to have done the research and development to.
And so that's why why? It's taking so long.
So, maybe let's talk about what definity set out to do.
So let's talk about what you mean.
When you say in her computer, and what's wrong with the
Internet as it is, and what's wrong with web three, Well, it's
not there's anything wrong with it.
It's just that, you know, we believe there's a lot more
potential that blocked blockchain can unlock.
So I believe in this thing called blockchain Singularity
and you know I guess I sort of started out on this path back in
2014. You know when I heard the
expression World computer from the theorem folks and wow, you
know, wouldn't it be fantastic If there really was a world
computer and everyone could Build everything on it.
And you know, inspired me a great deal.
And then on top of that, you know, I began to think very hard
about the nature of smart contracts and I came to the
conclusion that small contracts are.
In fact, a very new, very novel and massively Superior Form of
software. And I realized that given the
advantages of small contracts, if you could remove the
limitations of their implementations at the time, and
today outside of the internet computer, then eventually
everything would be rebuilt and reimagined using smart,
contracts and run entirely from a blockchain.
So, you know, I decided to make it my mission to implement this
world computer it and not not Thinking I mean, like a theory
mr. Day which can do is sort of a
handful of transactions. A second that a real world
computer that can handle you know, if necessary billions of
transactions a second run efficiently and quickly, scale
its capacity upon which we could re-implement absolutely
everything. And that's what I mean by
blotchy and Singularity. So if you think about smart
contracts for a moment, Outside of the context of Legacy block
chains which are very limited. First of all, of course, smart
contracts software runs on a, an open public network which in
itself is an advantage, actually much better to run on on a
public network than on Amazon web services or Google or
Microsoft Azura wherever it is. You become a captive customer.
So that's the first Advantage but there are even more powerful
advantages. Small contracts are
tamper-proof. You can't hack a smart contract
where you can hack a smart contract, but it will always run
as written. Okay?
Smile contract gives you the guarantee that the logic that
you've created will always run against the correct data.
And, of course, you can't encrypt a smart contract with
ransomware. So, this is going to become
increasingly important, because traditional it is in the process
of a rolling meltdown. You can't make it secure.
And we seen problems. For example, in recent months,
the colonial pipeline hack in America, cut off the east coast
of America, America's oil supply and the, the gas refineries ran
dry. And there were these huge
thousand car tailbacks with mothers.
With young children, sitting in line, trying to get some gas for
their car. That was the result of you know,
the pipeline companies. Server machines, being infected
with ransomware and and an encrypted and eventually they
were released after some weeks in exchange for a Bitcoin
Ransom. There was a solar winds hack in
that hack, pretty much worldwide.
Every imaginable form of confidential content was stolen
and put in the hands of hackers on an ad, leave a scale.
So there's this rolling meltdown in security and it just gets
worse and worse and inevitably the only Around that is to move
to block chain where you can build a smart contracts which
are tamper-proof. And because traditional it
whenever you build something always starts off completely
insecure, you start off with a web server and a database into
this and that and then you know you try and make it more secure
by surrounding it by firewalls and having a security team but
that's the wrong way around you. If you were if you start off
with insecure systems and you try and make them secure sooner
or later something will go wrong and and they hack or get.
In and encrypt all your systems with ransomware or still your
content. So tamper-proof, of course,
smaller, contracts are unstoppable, and the internet
was designed to withstand a nuclear strike the internet.
Computer blockchain is also designed to withstand a nuclear
strike. So that's a fantastic property
and the other one people Miss, which I think is probably the
perhaps the biggest is smaller, contracts are composable.
So every small contract can plug into every other smart contract,
which creates immense Network effects and a small contract is
Static software and dynamic software.
So, small contract if you like is is, is static software like
the word dot exe file that you see on your C drive.
But it's also the running Word program in which you're editing
a document, it's both of these things simultaneously.
And what that means is you can assemble running systems in the
same way that you used to assemble static software.
So in the same way that you build software, Statics offer
from software libraries, you can now assemble compose running
systems in the same way. And every smart contract can
connect to every other smart contract.
And a smart contract can be part of multiple systems.
At once. So this is a simply an immense
advantage. Let me jump in.
So I I think the listeners if our podcasts are completely
convinced of the usefulness of smart contracts.
And I think also a theory, mm, but has demonstrated that there
are people willing to pay millions.
They force the use of smart contracts and obviously if well
obviously currently it is extremely expensive on the
theorem to use it in, only really kind of a, handful of
people can actually use those might contract so if you Say,
well, we can bring those advantages to everyone and kind
of scale, it enormously the the advantages is obvious.
So I'm really looking forward to now jump into kind of the
technical, Deep dive and figure out.
Well, how you achieve those, as you said earlier, things that
lots of other chains are have tried to do and so far no one
has achieved. So, maybe to put things Into
perspective at least where I'm coming from.
And I think many listeners are familiar with three other chains
that etherium polkadot in Cosmos and kind of my mental model of
it is you have aetherium with the idea of shared security and
then homogeneous execution environments and well, we are
not fully there yet but you could see well they would be the
sharding and every show it would run the evm but they are all
kind of Yeah. Homogeneous.
Then you have something like polka dot.
We say, okay, you have also shared security of something
like a, they don't, they call different but conceptually it's
similar to a beacon chain. But then you have heterogeneous,
execution environments, and the execution environments.
Yeah, can have their own rules. They don't need to be all
something like evm. They, they could have different
rules and then finally you have Cosmos which says, okay, there
are kind of sovereign blockchains in.
They there's a light communication protocol between
those So it's blockchains. So in that perspective where
does the internet computer fit? So do we have a question?
We have a shared security. Do we have?
What are the execution environments?
Can you compare it in this way of thinking?
Yeah. So you know the internet
computer, of course shares some similarities.
It has a virtual machine within which smart contracts run, but
it's different in many ways and actually the differences are
necessary. And, you know, it's interesting
looking at, you know, the scaling efforts are many
existing block chains because you realize that The path.
The path they're pursuing, won't lead them to their destination.
They want to reach so I'll give you some simple easy to easily
understood examples one is that if you want to create a
blockchain that can scale smart contracts, the small contracts
need to be asynchronous. Okay, which essentially means
that, you know, I'm a smart contract and Martin's a smart
contract. When my code wants to call
Martin's code, it essentially packages the function call in a
message, which, of course, is a kind of transaction and files
that. And this gets sent across the
network because it, you know, the internet if it is a
blockchain, a block chains will get back to how that works.
Securely is very different to other systems with similar
visions. And, you know, Martin small
contract will process the function call and produce a
result and that will be send back.
And, you know, when that function result is received by
my smart contract. If you like, it's woken up and
it processes it, but at any one time, my code can have several
of these calls to other smaller, contracts outstanding.
So Ashley the This has some other benefits and then just
worth mentioning before going into the details of parallelism,
but the one of the big benefits of this is there's no
re-entrance e and re-entrance e is in my view.
One of the greatest security vulnerabilities that theorem
smart contracts have to deal with.
So we all know what happened with the Dao in 2060 needed.
That was exploited by a reaction c bar.
And they can be very subtle and difficult to deal with.
My conception is of it is, of course, they need to be at some
layer as a chronicity, I mean that, that's otherwise, it's a
hundred cleared, it won't scale. There's no question about it.
The question is on what layer do you introduce some chronicity so
in, for example, Cosmos would say, well, within one chain,
there are synchronous asynchronous calls possible.
But between chains, of course, is the communication is
extraneous. And And potentially same with
the theory eventually that you have those shards and within a
short you can have synchronous communication.
So you are saying you are pushing your pushing the the
synchronicity on a smart contract level or you call it
canister, right? Of course, yes.
Well we call. Yeah.
Canister smart contracts and and for the listeners, the reason we
call or nickname are smart contracts canisters, is that
each law contract, implements the software actor model and is
in fact, a bundle of webassembly bytecode and pages of memory
that are exclusive to that smart contract.
And because, you know, it's not contract as a bundle of
webassembly bytecode And memory Pages, we call it a canister but
look at, you know, you absolutely have to implement
this at the level of the smart contracts and the key property
that you need to implement a blockchain is just a term in ISM
and the reason people today have synchronous smart contract
models, it's nothing to do with it being better as to do with it
being complex. A crate determinism when you
introduce a synchrony, that's the truth of it.
So you know if you look at an internet computer, subnet
blockchain, which I suppose, in some ways very, very
approximately equivalent to an ethereum shot but it they're
more sophisticated. They are no.
The replicas the nodes are processing.
Numerous small contract, computations in parallel but
they're doing it in a deterministic way, so, The
moment we have a relatively simple system that relies upon
introducing determinism in the order of messages shuffled back
and forth between the different smart contracts as they run the
computations, but we'll move to full deterministic time.
Slicing in the future, for a bunch of reasons, to maximize
the performance and efficiency of our nodes.
And then when one subnet black, you know, when it when one
subnet blockchain hosts, you know, a smart contract, a and
it, To send a message to, you know, smart contracts shouldn't
be on another subnet Block Chain.
Of course, that message goes into a serialized Q between the
subnets and, you know, the network provides a guarantee
that if you make a call to another spot contract, you
always get the response. So I should just be clear to the
listeners as well. When I talk about measures, I'm
talking about the network at a lower level here.
I mean a smart contract just sees Function calls and function
call results. I think I only heard it between
the lines but maybe to make it explicit, sounds like you're
also use, it's very useful thing to have a separation between
contract execution and kind of a transaction ordering.
So on some level you use you mentioned there's a determinism
achieved on the subnet that says kind of exactly what is it
ridiculous. All right and then I don't know
how technical you want to get but the there's a sort of each
you know, node replica poor You know, and I'll speak client
software is implemented in four layers at the bottom, there's
Peter P. Then there's a stateless
protocol layer. We call the consensus layer but
it actually does lots of different protocols.
Then there's a message routing layer and then above the
message. Routing layer, you've got the
execution environment. That's where you'll find the
wasm virtual machine and all of the other stuff that creates the
execution environment. So the message route, Laughs of
course can route messages to local smart contracts.
I smart contracts executing on the same subnet blockchain or it
can route them to other subnets but yeah, of course.
It's all deterministic has to be.
It's a blockchain and all done in ways that enable that kind of
cryptographic verification that is essential to block chain
systems to be performed. Let's maybe carry on comparing
it with your room which I assume that listeners are most familiar
with. So you already said that.
It's a wasn't based system so basically each subnet has its
own evm so to speak. Oh he was.
Mmm. Is that correct?
And this is a concept of gas and not of course.
So there's a lot of differences. So it's so first of all, we know
we didn't try and use e wasm, it's everything within the
internet computer is new, and it's been designed for a
specific purpose. And you know, as I mentioned,
you know, if you want to create a blockchain, the scales, just
more contracts have to be asynchronous and therefore it
wouldn't have been possible to, you know, reuse any existing
virtual machine. So yeah, we do of course, have a
gas model there, instead of it's not called gasps.
It's called Cycles on the internet computer and we also
use something called a reverse gas model.
So that means that the small On tracks pay for their own
computation, you know, you charge, you know it's like
filling up a car right? You know, the cars burning the
gas from its fuel tank and when it runs out as we filled up
again, there's a number of reasons we do that.
But I mean, most obviously it allows blockchain to approximate
some sort of cloud computing model and provide much better
user experiences. So for instance, you can look at
a look at open chat, open, chat is a chat system that runs
entirely from the I can get a blockchain which I think will
give that the list of some measure of the differences here,
right? So you know, open chat is
implemented using smart contracts.
These smart contracts are efficient enough and run fast
enough that they can actually move chat messages around and
these small contracts also can serve HTTP requests so they
serve the interactive user experience that loads for
example into your browser window that enables you as a user to
send receive. The message.
Now, what's actually happening there is is you're
authenticating yourself using this thing called internet
identity. And whenever you interact with
the backend smart contracts they're paying for their own gas
or here cycles. And you know can you imagine if
you have forced to use metal mask?
I mean every time you wanted to send a transaction to send you
know a chat message as a transaction, right?
So every time you want to set a chat message, you'd have to sort
Configure the signature and say how much gas you want to say
with a just, just wouldn't work. Just doesn't work so it doesn't
doesn't work. Yeah.
Currently currently clearly a theorem predictions are
something, that is probably well at least worth a thousand dollar
otherwise not. Not that kind of doesn't make
sense, doesn't make sense to to use it because you will pay ten
fifty dollar. Ten to fifty dollars, prediction
fees. And of course, if you want to do
something as small as a chat message, of course, the the
model needs to be very different.
So let me, let me summarize. So Or at least make a.
All right. What do we have so far?
So we have subnet that are somewhat may be comparable to
shards. Not exactly.
But somewhat then they run on was mmm.
They have they have them canisters that are kind of
similar to Smart contracts but already on that level we have
the assume Christian T. So, what is the buff?
So parent, I mean, I guess there, she needs to be something
that is holding the subnets together and and how does
communication work on between subnets?
Well said, the one of the most important, if not the most
important innovation in Internet computer is this thing called
The Chain key system and that actually involves novel
cryptography and it's evolved from that original work.
They used to talk about in 2015. You know, I was using there are
many other. Well yeah, yeah, I tend to
Generate random numbers, you know, we just kept on burning
down that you no longer pharaoh and it just became more
advanced. And so Let's just step back a
moment and think about some of the other challenges that you
see with existing Legacy blockchain architectures, like
theorem or proposed architectures like a theorem 2.0
or haven't spoke architectures like polka dot.
So, you know, one of the issues. So so you know the cop the polka
dot concept is that you have some Central Hub, blockchain the
charges toll fees and then everyone else creates their own
blockchain. A pair of chain.
Plugs it in. So the Hub blockchain and it's
made easy because they're all built, this thing called
substrate, and then they can send messages to each other.
You know, via the Hub and obviously, you know, Gavin would
sits there. Collecting the toll fee is
basically a norm, you know. So obviously from my
perspective, I'm very interested in this idea of a world computer
and, you know, if you you don't really want a hub and spoke
architecture, if you want to write a well computer, because
you're going to create a bottleneck naturally, The Hub is
a bottleneck, right? So that's not a good way of
going and the same problem exists with Cosmos to, you don't
want to have to you know, for doll trap.
Vic through a hub. But why does the same?
Why does it the same problem exists with the cosmos?
Because, I mean, you can have with the with IBC enabled
chance. You can just have chain two
chain communication, right? You don't need Beacon, Shea.
And oh, yeah, I think it was it was at some point proposed that
it would go through the have, but maybe that's changing my I'm
not up to date. Maybe they tried.
Maybe they've seen the error of their ways and they're trying to
get rid of the central Hub. Yeah, I haven't been following
those projects. But look, there's another
Another problem as well, which is actually much worse than
that, and it's that if everybody's creating our own
blockchain, every block chain will have a different trust
model. So let's imagine, you know,
Frederick your the polka dot Hub.
I'm a, I'm a pair of chain and Martin's a parent chain, right?
So, I learned as a smart contract on me, that wants to
send a message to the smart contract on Martin.
It's okay, so creates the message, sort of delivers it to
you predict the pocket, huh? You and I pay the toll fee and
then you take that message and you send it to Martin and then
hopefully Martin processes the message and sends it back to.
You pays the fee and then you fall it to me right now.
There are a number of problems with this.
The first is that it's no longer a blockchain.
We've got three different trust zones here.
There's my trust Zone, which is based upon, you know, whoever my
validators are and my staking system.
As and so on there's frigid, you'll do the Harbin.
That's another the second trust Zone and then Martin is the
first trussing and it's very becomes very difficult to reason
about things, you know? So if small contract on me, you
know, wants to call the small contractor on Martin.
Well somehow, the designer of that's got to be aware that
perhaps The Hub might fail or well, at least they have to
understand. Um what the mode of operation is
for the Hub, can a message be delayed and and then, you know
what about Martin? I don't know what.
I don't know anything about his trust so and what does Martin
guarantee that the message that I sent is my contract will
generate a response. So this gets very, very
difficult. Not only that, of course that
begets becomes very clunky for smart contract developers.
You know, if there's a smaller contract on me and it wants to
call a smart contract on Martin, And it should be very simple, it
should just be, you know, I can create a Define that says, you
know, Define this contract that the address of Martin's contract
and I should just be able to go this contract.
Cool function, right? And process, the result, I
personally see. I personally very much see this
argument for Cosmos. I think the theory of Mind
pocket are trying to kind of have a shared security model but
maybe switch. Yeah, it didn't computer.
So how does it work? Here coding, right.
It's not just I mean this is the security model.
Well, you know, the scale abilities.
The first problem when you when you introduce a hub that doesn't
work out too. Well, the security becomes a
mess because you all these different trust sounds.
And then, of course, worst of all developers are faced with
trying to deal with all these complexities themselves and
sending messages are the function of us.
Although again, here again year I think we had to my mind
setting. We have the two approaches with
a theorem that's trying to say, well, we always use evm and kind
of have a shared, well, homogeneous execution
environment. It seems like you also are going
for homogeneous execution environment, while in polkadot
they say. And of course there are also
arguments. I would say for that to say well
different applications need different Might might benefit
from different. Yeah.
Something like that. Not vm's.
Yes. But shot look.
I mean going back to you know the advantages of smart
contracts and what got me into this in the first place.
The key advantage of smart contracts as they exist within a
single seamless universe and, you know, one smart contract and
call another smart contract. And there's no concept of
partitions and different trust zones.
And that's why, you know, despite despite the
extraordinary limitations of the Of the ethereum blockchain
today. It's been immensely successful
because, you know, people for the main create defy contracts
in systems and then anybody else can extend them and plug into
them. And the network, effects effects
are just immense. And that's why despite
limitations is been so successful, even absolute
tragedy if we went forward with, you know, Paul cotton Cosmos
star models, where we get rid of that, great advantage of smart
contracts that they all exist, within the single I'd seamless
blockchain environment. So it's very important to me
that on the internet computer. There's no concept of different
chains and hubs that you have to send messages to.
And you can see by the way that this concept is embedded in
these Legacy blockchains and because they've got synchronous
smart contract models. Now, if you have, for example, a
theorem 2.0 all these shards and these shards are running,
synchronous smart contract calls.
Well, you know, in the end there's always going to have to
Be some kind of boilerplate that you use to send messages between
shards, you break, one of the most important properties of a
blockchain that the small contracts exist within the
seamless unified environment, and there's no concept
partitions. Everything can everything's
composable everything called everything else.
That's one of the most beautiful things I've ever saw.
Not been coding for 40 years and to remove that and abandon that
property. It would be a tragedy.
So it's good in how you are removing this because So, you
have different subnets with canisters.
So, how does it work on eaten computer?
How do does Smart contract or canister?
Call another smart contractor canister on another subnet?
Yeah. So is it?
Yeah, I mean, those are the internet computers, very complex
thing. But you know, at a high level,
you know, the network can derive very efficiently, derive the
location of a smart contract from its identity.
Kind of its Global position. Yeah.
Exactly. What shot.
Not shot some that it's on. So basically the position of
each canister is known to each other canister in whatever.
Subnet? No.
No, of course not, no. The canisters are unaware of the
Southern. Yeah.
Okay. What contracts are aware?
That would be a terrible mistake.
That's what's happening with his legacy.
All these sort of even know you don't want shards and you don't
want para chains and you don't want hubs.
You look, it's very simple. Like, you know, if you're a
small contracts and I'm a smart contract, I just called
Functions, that's it, right? There's no cut within, you know,
there's no, you know, the level of smart contract code.
There's no cop. There's no concept of at Harbour
chapter para chain or a shot or anything like that.
It's just a seamless unit Universe for comb.
Does it mean that if I deploy a canister I don't need to make an
active decision on what's happened.
I go a kind of it will just be determined by the system.
Or is it an conscious decision? Yes.
Oh okay so that's a good question and you don't know.
That's correct. You don't have to decide where
it goes. Complexities, of course, always
happen around the edges. Not you know, where you have
very specific requirements. So if you are, if you are a
company and Wanted to implement not a defy system, not, you
know, tokenize social media but an Enterprise System, your
enterprise system might component.
Be comprised of lots of smart contracts and that interact with
each other and it would run faster.
Of course, if all they're smart contracts were on the same
subnet work. So we are introducing means that
will allow people to hint. They're smart contracts at the
service ID, and the network will tend if it can, of course.
Because it can't guarantee it if it can, it will co-locate those
small contracts. But, you know, that's just an
optimization thing. Like if you're building is great
we're going to persist in and out of hundreds of small
contracts, it's going to run better if they're all on the
same subnet work or at least a lot of them on the same sort of
network. So we're going to give people
ways of achieving that but it won't be you know, it doesn't
exist at the the level of the code.
Now when you're writing a smart kind you could move them apart,
it was still continue. Okay, that makes sense.
That makes sense, but maybe that need button here.
So basically what's the difference then between a
transaction between two canisters that are on the same
subnet and two canisters that are not on the same subnet.
How do they differ? There's no difference.
So why do you have this Nets? And how do you make it such that
a canister can call her another canister on a different subnet
equally efficiently or nearly equally efficiently?
Well, so there's a there's a lot to there.
So I mean I should probably just rewind a little bit to what a
subnet is, a subnet is a blockchain.
And, you know, we call it the purpose.
The internet computer is to achieve a blocking Singularity,
so we want everything rebuilt reimagined on blockchain, so it
has to run very efficiently. So we actually recycle
deterministic deterministic centralization which means that
what we call node providers, people running a special node
machines identify themselves and the Governance system with an
era of the internet computers called the network nervous
system. Essentially combines nodes to
create new subnet block chains, which add capacity, it combines
nodes observing. This decentralization hierarchy
which is first of all node provider naturally.
I mean let's say you created a subnet blockchain with 16 nodes.
Say if all 16 nodes came from the same node provider and that
no provider turned evil or went bankrupt, obviously the subnet
would break so that's no good. So the first, you know, the
first First the top of the decentralization hierarchy is
the no provider. You want the nodes to come from
different? No.
Priors. Second is data center.
You know, it's all very well, you know, combining nodes from
16 independent node providers. But if all those nodes are in
the same Data Center and the data center blows up.
Well, that's not much good either, right?
So then so there's no provider Data Center and then geography
now actually, we care a lot about this because the something
for example called Anna, Electromagnetic pulse sounds
far-fetched but it's not. There was one.
I think in 1875 is called the Carrington event.
Something you have to look it up on Wikipedia, get the correct
date. That is around then and it was
created by a solar flat and you know in the hot spots where this
thing, you know, hit the earth, it would wipe out data centers.
In fact, it would cause an awful lot of damage to Information
Technology generally. So you don't want all your data
centers in the same geography. And by the way, I think it was,
again, you can look this up at the 2009.
Nine. A solar flare of a similar
magnitude to the one that caused the kangan event passed through
Earth's orbit and we missed it by three days.
So and there are other ways, you know electromagnetic, pulses
could be credit. For example, you can detonate a
nuclear bomb in the App Store and all kinds of things.
So and we're climate change. Introduced it infrastructure
bill. Yeah, that's right.
Exactly, yes, that's right. All kinds of things can go
wrong. So we want to make sure things
are geographically, dispersed or actually.
This is the fourth one not in its jurisdiction.
So you could say, well, you know, One I just want to know.
Okay independent no providers in a you know independent data
centers and the data centers are all dispersed to the four
corners of Europe. Well guess what?
These states are all member the EU and there's a possibility,
they could ban blockchain. So actually you don't want to do
that either. You know you you want to make
sure you've got some nodes from Amsterdam and Zurich and you
know you know computer per se and you also want to get include
some notes from places like Singapore and America.
So you've got this hierarchy you know no provider data center
geography. Restriction, that's how, that's
how nodes are combined. And by using deterministic to
centralization, which does, of course, you don't make the
sacrifice that the people running these machines are
identified. That's the sacrifice, that's the
trade-off. The advantage though, is that
you can create much higher levels of security and
resilience with much smaller numbers of nodes.
And so, first of all, these nodes independent nodes are
combined to create these subnet blockchains.
Now, the into as Internet The grows.
I mean, you know, in a few years you could see 100,000 subnets or
something, how on Earth you couldn't teach any?
Subnets are talking to each other directly.
There's just no way of course. And that, each subnet could be
aware of the data on the other subnets impossible.
So we use something called chain key, cryptography.
One of the, this is one of the biggest Innovations in the
internet computer. So, for example today, you know,
when you build a Dap typically, you know, on it with if you're
not building etherium dab, of course, the website the
interactive component runs on the cloud.
So you know, theorem dap to be clear is not fully decentralized
because you run the website on the cloud, then it will talk
typically to don't have to, but it will not, it went 99% do,
then it talks to in fuhrer, which are etherium nodes running
on Amazon web services run by consensus.
But if you wanted to, at least you could run your own etherium
node and that thing basically A Slave people mistake, the
theorem nodes and Bitcoin nodes for the centralization there.
Nothing to do at a centralization, their slaves,
that consumed the blockchain produced by the block makers,
which typically a mining pools in the case of Bitcoin ethereum.
So they consume the blockchain and they keep a copy of it.
And typically, what you do is you interact with that with
that, local copy. Now, what does that mean?
It means that if, you know, if you have a local Bitcoin or
etherium node, you can you can because you're running the local
node, you can trust trust it and you can interact with That too,
as a source of Truth, regarding the state of the blockchain.
So the put the challenge there is that if I am creating a Dap
and I don't want to just I'm already my websites on the cloud
and if I don't want to now interact with in fuhrer, which
is just more you know, is all on Amazon web services and its
concerns. If I want to run my own node to
be more decentralized these, so I've got my own local source of
true that's going to download the etherium state, modern.
What is it right now? What is what is it today?
I run a note. It's probably 500 gigabytes.
Okay, so you get a download 500 gigabytes and is really worse
than that, in reality. It's going to download all the
old blocks going to replay them. It's going to be awfully
computational expensive and you got to check out the hashing and
everything else. Okay?
So yeah, it's an awful lot of data and a lot of computation
probably. In fact it would take you your
node a day or two to catch up with the theorem chain so by
contrast yeah a few more people are getting.
There you go. So by contrast in order to
interact with an internet computer, subnet blockchain In
order to know that the subnet blockchain is correct and in
order to know that your interactions with that
blockchain are cracked, all you need is a 48 B, chain key,
that's it. So we've gone from the need to
download 500 GB to a local node before you can start interacting
with etherium say or anything on a theorem chart, we've gone from
that situation to one where you only have to have this 48 by
Light chain key and that's chain key cryptography.
It's absolutely revolutionary and changes the whole and
meaning, but I've locked and that's how I shards can
interact. Sorry, not sure Hots up that can
interact directly with each other.
They don't need to have copies of each other's blocks, and they
also don't need there to be trusted validators and bridges,
which of course, is completely insecure.
And as we've just seen with is it, what's the defy thing that
just went wrong today? The ploy Network, what do you
know, Polly Network. Yeah, it's probably yeah.
I know move stuff between mattock and ethereum and finance
matching table or something. Yeah, it's a just so that's
owned by net. So you don't want to do that.
I mean we don't want to introduce trusted validators and
bridges. We just want to have
cryptographic security and that's why we have this chain
gear system, but it makes it possible for subnet to interact
with each other at just directly without having to see each
other's blocks and absolutely what uncorks the whole thing.
But you're comparing apples and oranges to a certain extent,
right? So basically, it's kind of like,
if you're traveling in furor, in a way, it's just like having
more in furor. So more trusted, third parties
that you trust to have a. Well, I think, I think that's
currently the point that changed that you've cropped, right?
Cryptographic proofs that don't discuss that, you don't have to
trust. So basically, it's basically the
compare the comparison with running your node is somewhat
somewhat 40, right? But Let me get back to my core
question. So basically, if I'm a can of
soda on one chain, how do I use this?
What's it called? Key chain gear on YouTube now,
become a knight or how do I use it to find Martin on a different
subnet will? But the report on, just just
really clear what the question. You're asking, is presupposing
that, you know, the internet Computer Works in the way, these
Legacy, blockchains do with shards and hubs, and things like
that. Just look.
I mean, I'll be absolutely Frank.
I think there's architectures are Awful and very misguided.
It, the whole advantage of smart contracts.
Or one of the key advantages of smart contracts is that they
exist within a single seamless unified Universe, you know, I'm
a smart contract, you're a smart contract.
I want to interact with you or just call your function.
There shouldn't be any concept of different subnets, or chains,
and hubs. And shards, this is ridiculous.
So, on the internet computer contracts are completely unaware
of the actual Kings of the network.
It's not what, what you're describing.
So this is a very common thing in blockchain people.
Look at the limitations of the cryptography involved and the
architectures involved and they extrapolate from the limitations
features. People actually sometimes begin
to think that the limit, you know, the these shortcomings
become a features are not, there's absolutely nothing no
Advantage. When you write a smart contract
and you want to interact, another smart contract in.
You're needing to know on what chard that other smart contract.
Is this is a very bad design. Obviously, like coge.
My contract bills, interact, your contract and, and know
nothing about the underlying Network architecture.
Dominic, I have to say it still sounds a little bit like magic.
And I'm trying to kind of bring it to Concepts.
I kind of understand, I think it could be maybe similar.
So, what I do understand is that there are, for example, of
course, what you describe is absolutely true.
It takes well actually took me. I'm on my fifth day of currently
sinking in the theorem note and still sinking and well.
Yeah, that that That's how it is currently.
And I understand there are promising, new ideas and maybe
you have already achieved that to completely, get rid of that.
So this concept I know is is one concept.
I know our zero-knowledge proofs that you kind of make a proof
that the state transition was correct and you can maybe even
do recursive zero-knowledge proofs so that you in the end
just have to kind of check the final proof and that kind of
gives you a recursive or through.
Vision. The idea that all previous state
transitions are correct. So that is one concept.
I could imagine how that works. Is that related to that?
Or I mean, you say it's a key. I mean, first of all, a
signature as a kind of zero, knowledge proof in a way, right?
You're sort of proving that, you know, you've got it, you hold a
private key. That is that corresponds to the
public Key by producing a signature.
And the signature is that proof like without showing my private
key. I'm showing to you that I have
one that corresponds publicly. So, So yeah, I mean optimistic
Roll-Ups and all that kind of stuff.
I think again it's just a red herring.
It's not the way to go is just introducing yet more complexity.
I don't believe in these latter two solutions, I don't believe
in optimistic Roll-Ups or any of these things.
I just think that's more contracts should just run
quickly and efficiently and with an unbounded capacity, right?
Then maybe try to give us an idea of how this is work.
So you said, you said I don't need to You have my full note, I
can immediately verify from very little data that all computation
are kind of all state changed was done.
So, so how does it work at a high level?
So of course, it's all derived from Treasure cryptography, as
usual? Yeah, the project hasn't
changed. It's just become more advanced
and, you know, it's a subnet blockchain.
Recall is composed, you know, runs on a set of nodes that are
independent and have been assigned by the network nervous
system, which is the kind of sort of government government
system that runs with it governance system that runs
within the internet computers protocols.
So you know a subnet it comprises of these nodes and the
nodes have identities and when they're put together they run a
setup. Procedure in concert with no
nervous system and their shared public key.
The chain key, which is essentially a BLS special.
Key is added to this thing called the registry by the
network nervous system. And that means that the chain,
you know, depending how its configured.
So it's super majority of the nodes in that chain can
collaborate to sign something. So, now before moving on, of
course, BLS is a standard, you know, cryptography, skins, very
well-known. Of course, been Lynn works
definity. He's one of the inventors and
though, down, Bonnie, well, he's be the bee, but, you know,
alone. It's not nearly sufficient to
create the change key system. So, you know, blockchains have
Dynamic membership. So, you need things that let me,
let me, let me jump in here because there are two very
important distinctions. There is, there's one verifying
signatures and saying, kind of, well, this was signed by at
least, two thirds, or maybe even 80% of the Shareholders.
And that I can totally understand that.
That can be I mean layered and and some that that's work but
that's different from giving you a guarantee.
I mean, what would you do if you run the full?
Not only theorem you are not just verifying the signatures or
verifying the proof of work if you would only do that.
Well then it will actually be quite fast.
What you are actually doing. Is you are you are doing the all
the computational tools, the computations yourself at
verifying that the computations are the correct?
So, Ask directly, are you guaranteeing that the
computations are correct? Or are you guaranteeing that the
specific thresholds of signatures was reached?
And that could mean that, if, if 80% are compromised, they could
sign wrong State because that those are two different.
Yeah, sure. We different from absolutely.
So I mean first thing people remember is there's a thing
called Byzantine fault tolerance.
And sometimes in blockchain we get you know, a little bit
muddled. You know, there's a lot of
jargon and Woolly thinking and look, I mean, you have to base
systems like this on mathematics.
And if you base things on mathematics and the designs are
mathematics, you can verify and create, you know, that your
designs work correctly with mathematical proofs.
So Byzantium fault, tolerance course, refers to the model
where you assume that some proportion of participants are
faulty and politic means they can behave arbitrarily.
And that's why Called Byzantium, and they can also that that
includes colluding to break the system.
So you know, internet computer subnets are Byzantine fault
tolerant that is based upon the mathematics mathematical
assumptions. There is a chain of notarization
and so long as at any stage the subnet hasn't been taken over by
faulty nodes the signature, the Translation signature,
sufficient to show that the blockchain is correct in your
interactions with that plot chatter crack.
So you know, of course, if the a sufficient number of
participants in the blockchain become faulty, they could
produce, they could corrupt the bottom, but that's true of any
other Block Chain by the way. And if you end the same with
vanity, to think it's not, I would say, if 99% of the theory
of miners would be kind of malicious, they could, Still not
trick my, full note for note into accepting their block
element. So the theorem theorem is
controlled by three parties. Three parties, three.
My, there are three mining pools.
There are 330 mining pools that together, a few more, but no, no
things together. Have over fifty, one percent
between them over 51% of the hatches, okay?
And the important thing is, okay, they even if they could
loot, they cannot. Well, let's just get to My
footnote, you know. No, that's not true.
I think this is one of the biggest myths and Longevity.
You know, it's okay. You can expect Sunday.
So, this is another great example of what happens about to
let. You know.
Some people want to say, well, our networks are super
decentralized. Look at all these nodes.
Look, we would 1,000 Bitcoin nodes running on Amazon web
services, and inferior or something.
This is not a centralization, okay?
If you control, if you're a minor and you control 51% of the
hash rate you can arbitrarily Thoroughly rewind.
The chain and rewrite it and every single mode will accept
it. That's that's the way it works.
That's just the way proof of that's the way it works.
So if you have 51%, yes, you can to some extent rewrite history.
What you cannot do and I think that is still a very important
difference is even if I have now 51%, I cannot kind of introduce
a transaction where I let's say spin right and then Is a big
difference? Yeah, okay.
So just him down sure. So, let's address that.
So you are right that a difference here is that if if
instead of just signing the state, everybody replace the
transactions that created the state, while it is possible to
double spend and arbitrarily recreate the state at least in
this completely recreated state, it won't be possible to for
example, steal my Bitcoin. Or ether.
That's very true. Now, that's true.
We shouldn't be too pleased about that though.
Because with something like a, well, computer, if the state is
around, and then Rewritten, that's a catastrophe.
So in the case of the internet, in the case, of sorry etherium,
you know, if you know, we're each one state and then those
three parties that control etherium rewound it and rewrote
it while it's true, that You know, nobody could steal my
ether by signing a faulty state in which the balance of changed
and my teeth wouldn't be worth anything.
Because if you can rewind and rewrite the blockchain, it's
such a catastrophe. Nobody would care.
So just to be clear about that. So I think that's it is true
that that is a tactical advantage in one sense, but
let's just let's just fall back to mathematics for a second
because clearly, what will this? Well, let's just stand back and
see the distance mountain and answer the Ian are we ever going
to produce an infinitely? Scalable blockchain?
If in order to validate it we have to rerun every transaction
that ever happened. The answer is no, it's not
possible. And therefore, we have to
abandon, raise it straight away and look for more advanced math
solutions that solve the problem.
I'd say two things to this. First of all, if I wouldn't kind
of, if I would just run my full node and kind of would just well
verify the signatures in the way and takes the latest State.
And See what it does is provide work then it will actually also
be much much faster than it is today.
So currently really this five days comes from re-executing and
and you can argue whether that is necessary at all, you can
also say Well I obviously kind of can trust the latest state
that has so much proof of work behind it, I can just take this.
That's one thing. And the other thing is I still
haven't ruled out the up the possibility to say.
We might have this recursive snarks or Or kind of those
correctness proofs that I still think that's exciting, exciting,
a nice idea to and look for any kind of practical.
Well, computer to exist. You actually need the well
computer to hold the data that that's involved in online
services, Define science. So, I've got a great deal of
skepticism about the practicality.
I mean, they sorry they can be made to work, but they create a
very unusual system. It just it's the same thing as
with Roll-Ups and, you know, plasma and everything else.
But I just sticking on this question of security for a
moment. And I'm going to ask you a
question. So, today ethereum is controlled
by these three mining pools and you're quite right.
Eventually, we could, if once - had realized those three mining
pools had turned evil, they could join other mining pools,
eventually it be fixed. But nonetheless it would take
quite some time. And those three mining pools
control. Ethereum could arbitrarily
rewrite rewind history, and rewrite it now, and break
everything. So it is nonetheless, the Case
that you're, you know, the state would the state would have to be
calculated in in a legal way that is and they could only
select transactions that had really been submitted to the
blockchain to create a new state.
But nonetheless the whole you know, everything could be
around, you could rewind by day and go forward in the known, no
one, no one give it is over. That's why we need to get rid of
fruitive work as soon as possible and introduce proof of
stake. Because then the story is
different again. So that's the situation today.
Anyways, regardless of what new systems were Was and I've got
some big worries about those two.
I mean, looking at the designs occasionally, now let's take the
internet computer. So actually the ICP Ledger for
example, runs on the same subnet as the network nervous system
and I believe it's got about thought 34, replica machines,
and they're all from independent, no providers and
you know running an independent data centers around the world.
So you know, it's not perfect yet because the net It's only
three months old but you know, essentially this you've got this
to centralization hierarchy of node provider data center
geography, geography in jurisdiction in order for that
to this is a complex. So presenting fault tolerance is
basically fails. Once you've got a third of the
nodes being faulty the internet computer actually uses a multi
layered architecture. So the higher levels will fail
before the state level fails without going to deal.
So, essentially in Access to state level.
You mean, subnets did the blue chain itself is actually
multi-layered. So, first, you have transaction
ordering and only when The Ordering of transactions is
finalized at, they actually apply to the state by the
replicas and a few things like that.
So, that's a complex topic, buddy.
You know, internet could be a block chains, have three layers,
the random randomness layer, which is Tresor really, of
course, which I started talk about 2015, then you have
blockchain. Formation, is a thing called
probabilistic slot. Consensus, where You know, the
chain is, of course, eventually consistent, but it's actually
highly consistent compared to traditional block chains.
And then you have a finalization there which has depends on
cycled - is optimistic - attestation anyways, ligands are
details in practice. You're looking at 2.
F plus 1, nodes becoming faulty in order for the state to be
arbitrarily modified in practice.
And this is a complex topic which I won't go.
Genetics would end up in a rabbit hole but so let's I yeah,
you know, I go back to I think, as I last heard, it was running
34 nodes on that subnet. So, yeah, you know, level,
you're basically going to need 23 of those 34 to become
malicious and collude in order to break the network nervous
system and the ICP, you know, governance token Ledger that
that, that it maintains. So So you know, let's think
about that. You know, you've got these 34
independent nodes run by you know different, no providers
from different independent data centers in different geographies
and different jurisdictions. What's more?
Likely that whatever it was twenty three of these.
No providers are actually going to turn evil and collude to
corrupt the state of the ICP Ledger.
Or that three aetherium mining pools.
Get hacked and Rewind the chain and do some double spins.
I mean, honestly. No.
When you really get down to it and, you know, these arguments
are just pretty straightforward. I mean, look, yeah.
Okay. You can, we can have as many,
you have 100,000 aetherium nodes copying.
The Block Chain that comes out of the block makers.
I the mining pools and it doesn't really change the
security of the system. The floor in the system is that
At just three mining pools have over fifty one set of the hash
rate and they can arbitrarily rewrite the chain and actually,
in practice, and in practice is much more secure doing it.
The way we've done it. In practice, once you look at
the mathematics, I think no one's arguing for the
centralized mining pools but maybe we've gone down a rabbit
hole, pretty deep. There's one more thing I would
really like to understand about the internet computer and that's
the token Amex. Okay so basically as you already
said the Entire Computer is a proof of stake mother and
there's a token associated with it and can you talk a little bit
about what the token does? And What?
I need the token for as user and what the nodes need the token
for and so on, we are just just just to make a quick correction,
it's the internet and it is not a proof of stake system.
So what how how validators are nodes, penalized, if they
misbehave? Well, let me just rewind to that
that that occurs there is slashing, but it's not proof
Stakes. This to me, you basically, it's
a sort of a sort of hybrid between proof of work and proof
of stake. I'll come back to that, but just
to be clear, you know, I'm not a supporter of proof of stake
systems as they exist today, and they always reduce tool are two
applications of big Tech cloud services.
So if people are upset about, you know, 75 percent plus of
ethereum nodes running on Amazon web services today, you know
what? Thing that we should.
All be very concerned about because I'm a big supporter of
ethereum is that when we move to theorem 2.0, we actually end up
with, you know, 95% plus of the validation nodes running on
Amazon and which is obviously a single point of failure.
It's much worse than the mining pools were today.
We've got three mining pools that conclude to control the
theorem chain and tomorrow it could be Jeff Bezos.
So and that's actually the case today if you look at, you know
how things like polka dot and Cordon And I have a lunch hosted
and in practice. All the nodes are on cloud.
Running off cloud services, like digital ocean, and Amazon, and,
you know, the rest of it. So I don't like that.
And there are also major issues with prove a state, with respect
to scaling blockchain. So this is fairly easy to
understand if if you want a protocol and remember a protocol
is a set of instructions that are run autonomously if you want
to. Protocol to find a way of
Distributing computational, work across a network.
Well you better be sure that you've got some sense of the
computational capacity of the nodes that are hosting your
network. It's fairly trivial to see that.
If you don't understand if you don't know what the
computational capacity of nodes is or you can't rely on, it's
very difficult to distribute computational work.
So, you know, one of the problems with you, no proof
State networks, as articulated as designed Is that they're all
running on this, you know, oftentimes virtual instances
shared on these you know on shared computers in Amazon web
services, data centers. You never really know what their
capacity is. So the internet computer,
obviously a shoes, the cloud, we want nothing to do with it.
We think of sovereign blockchain should run and its own Hardware,
independent data centers, and that's indeed how the internet
computer works. But the node machines themselves
are built It to standard specifications, and this is
nothing proprietary. I've heard, you know, people, so
unless it's some kind of were selling the nodes.
No, not that's not the case at all.
Of course not, you know, there's there's been a generation one
knows, Perkins generation to know to back in the be lots of
others. It the purpose is that people
create node machines that are compatible with each other.
So that when you create a subnet blockchain and that subnet
blockchain is under load some node machines don't Behind
because the internet computer relies on something called
statistical deviance to detect faulty behavior.
And of course, you know, the protocol doesn't care why your
node is. Deviating, it just knows that
it's producing less blocks and the other node, for example and
this this can result in it being slashed.
So it's very important that, you know, all these nodes are
running on very similar Hardware so that you don't fall behind.
If when the Networks under load. And you know, this is another
aspect that, you know, the fact that there's no machines use
standard specifications and Hardware configurations,
specifically optimized, for the task of Hope hosting a high
force blockchain allows us to drive, you know, much to high
levels of efficiency and and and and performance.
But going back to the original question now, what is the model
you can? Look at it a bit like this each
one of those node machines. Is treated like an equal unit of
steak. Okay?
So in a theorem 2.0, a unit of steak will be an ether fright,
for example, right? And if you stake one ether, you
get some fixed return in the internet computer network.
If you like the state and currency is the actual Hardware
device, the node, the node machine and that no machine,
every node machine that receives equal rewards.
There's No fashion competition, you know, electricity burning
competition to see. If you the more hashing you do,
the more block roads, you get nothing like that, the reward
provided to each node machine is the same.
And the cat will I go into some details.
The can be some variations based on geography and things like
that, but but essentially it's the same and you receive the
Rewards or your the node machine sees the rewards if it does not
statistically deviate. So that that is it you know, a
Going to the way that statistical deviation is
detected, I know and analyze, you know, a no machine gets paid
a fixed monthly rewarded. Real terms for correct
functioning and if you want to increase your revenues, then you
need to create an ad, add more node machines to the network.
So, yeah, in that sense, you know, it's a kind of funny
thing. It's like, it's a bit like proof
of stake where the unit of steak is known me.
Machine. And just in the same way, one
ether State, Donny theorem 2.0, gets a fixed steak and reward on
the internet computer network. One node machine gets a fixed
reward and on the other hand, you know, this thing where the
nodes are required, not to statistically deviate, or they
can get slashed. Well, you could, you could argue
that some kind of proof of correct processing.
It's a kind of, it's something weird hybrid between proofs,
take a vote, and then the network nervous system, of
course, is more akin to proof. But it doesn't add anything to a
consensus that that's the governance system that's built
into the protocol and you participate in that by getting
ICP and staking them within the network nervous system to create
voting neurons and then you know, you're on your own gets
rewarded when it votes and you know, as probably know it's a
form of liquid democracy and neurons can be configured to
vote automatically by following other neurons on different
topics and things like that. The magic of the system though
is that the protocol sophisticated enough that it can
upgrade the blockchain and the nodes without interrupting.
It and this is actually extraordinarily complex because
you know, I mentioned how the subnets all run a variety of
threshold cryptography schemes to ride from BLS.
And I also mentioned that you know things like you know
blockchain block chains are have Dynamic membership like nodes
come and go, you know, nodes fail and you know, Dad it.
So there's all these things, it does.
Like he has a non-interactive d kg, which is a huge achievement.
It does kiwi sharing and all of this stuff.
Is Works in synchrony with things called catch up packages
within the protocol that allows nodes to join and leave.
And through that system, it's also actually able to upgrade
the nodes within the protocol without interrupting anything.
So there's no need for a hard fork or anything like that.
That's only like a sort of emergency fallback mechanism
that you'd actually do may know the mutt that the no providers
would have to manually. Stick USB memory sticks into the
back of the no machines. But that's not you know that the
network runs under the control of the network.
Nervous system that also grades and that's why it's able to
evolve so quickly. I mean, and also why, you know
the Network's even though it's I mean that it's more than 100
times more complex and aetherium probably.
And, but yet, you know, the downtime hasn't really been any
down time since its, you know, it first went through Genesis
launch 10th of May. And part of the reason for that
is that, you know, no nervous systems be able to push out
security fixes and other kinds of bug fixes.
And in real time, I mean, I think it's, I mean, it's already
processed hundreds, Proposals that, you know, do things like
create new subnet to upgrade, push upgrades that kind of
thing. Tweak, you know, like parameters
and if you if you include economic information coming in
at the number, it's process, tens of thousands of proposals
already. So anyway, the no nervous
system, the brain of the network.
If you like that's more akin to proof of stake where you can
just take, I see peace, take them aside to note, nervous
systems, create a version, your own.
And if you don't want to be actively involved in governance
yourself, you just configure your neurons to follow other
neurons effectively and voter. According to the The activity of
other night neurons and it's instead of form of liquid
democracy. Maybe one more question to the
two to note operators currently if I check the website and kind
of there's a link run a node and then redirect me to a type form
kind of to kind of basically introduce myself and Away.
Ask for permission to run a note.
What's what's the vision on that?
We should everyone be or it should become permissionless to
join the network as a note, or will that be part of the
governance or not? Is it is permission is now it's
I mean it is permission is now, I mean all is happening.
Is the, I mean, because all of these things are completely and
then the internet computer is a completely new, kind of
blockchain and it introduces a lot of new Concepts and it's
substantially more sophisticated.
It is also a lot more to learn about.
So you know, in order to add nodes to the internet computer,
you first need to get a note provider id, and that you do
that by submitting a proposal, it's Commissioners, anyone can
add the proposal and then you need you but it needs to be
approved by governance or both eyes.
But if you can end up with a command line, Working with a
command line. And and so the the interlocutor
associations doing is collecting people's information and
creating those proposals for them.
Now, in the end down, that'll be, I'm sure people will just go
directly in the same way by the way.
I haven't even seen it yet but we created internally this
front-end app that lets you interact for no nervous system.
It's like if it was interested in to NN s dot, I see 0 dot app
and that's actually being served straight off, internet can be a
blockchain. And you can it allows you to
interact the nervous system and your ICP Legend stuff.
But the stomach there's a, there's a, there's a group
called tonic labs and in Sydney, at a Premiere at hearing,
amazing things about it, and they've created even better
front-end app that lets you interact with a nervous system.
So in the same way, you know, the internet computer
associations, helping people, no providers, get involved as a
free service, but in the end, I'm sure they'll be lots of
other ways I'm getting involved. Just to say on that front.
It is a very complex piece, internet computer.
So it's been added New subnets, quite slowly.
And it's already, I mean, it's already processing 20 blocks a
second and it's like, I don't want it is now 130 140 million
blocks, but, you know, we plan on and hope to see that, you
know, scaling out to thousands of blocks a second.
But, you know, I think the people involved in pushing these
proposals and getting it up, I've graded an updated it going
carefully, because, of course, they don't want to.
This is, this is anyone running for three months.
And so, the moment there's a there are that many nodes was
hundreds of nodes. Actually are D and data centers,
configured ready to be added to subnets.
And I think, I mean, I could have got this wrong with last
time, I heard the number a few weeks ago, like 4,000, no,
providers 4,000 override is waiting to install notes and
things like that. So it's, you know stuff because
I mean, you know, the internet computer Association and the
people you know, working under its auspices that, you know,
trying to help people get involved as far as they can.
But this is a very, very complex blockchain system and its own
Running for three months and you know if something I mean we did
have one thing go wrong like two weeks or no a week off to launch
where the network nervous system panicked.
Right? Because, you know, I know it's
like they just saw some what it saw something that he thought
was a data inconsistency. It wasn't and then just panicked
and refuse to do anything. And of course, the problem is,
if the network nervous system stops working and Patricks, then
you can't use the network nervous that you can't submit.
Proposals to the nervous system to push out fix it is to the
blockchain. So you actually have to revert
to what everybody else does hot a bloody hard Fork?
So we're in the situation like a weekend you know, from launch
and you know, the damn net or nervous system is not working
and you know, it was panicking. And so obviously this I think
there's been an update push so that in the future it will stop
doing everything except accepting upgrades.
Itself. It's time to prevent this
happening here. But anyway, so then we had to
get all the no providers to basically, coordinate data
centers and, you know, putting USB sticks into the back and
like the British it, a nightmare nightmare is any actually when
you have to do these kind of hard Forks, that you realize,
how good the network nervous system is I nobody ever wants to
be in the position of hard hard forking the the internet
computer again by actually sort of like you know, actually
manually overriding the software night, absolute absolute
Nightmare and we found things like, you know, some of the no
machines has slightly different specs and then want to boot up
from the USB sticks and all that kind of stuff.
It was a nightmare. So the nervous systems are
absolutely brilliant thing because, you know, it allows you
to evolve the network structure and real-time, you know,
creating new subnets and things like that and ducting you nodes,
and no providers. And it allows you to, you know,
push out updates to nodes and thing.
But I'm not of course, you know, for the community to exert its
will and in one of the things that would goes back to the 2017
2016, 2017, proposal the new ways to cut the body nervous
system that you know, what do you do when you've got bad
things like child porn and human trafficking and terrorism.
You know, the community the internet computer Community can
exert as well and and potentially shut down those kind
of systems through the novel nervous systems.
Let me make one more comment on the, on the question, whether
it's permission list or not. I would say I'm well, I'm
obviously going to be in the theorem camp and that proof of
stake fan. But I would say that is one of
the arguments in a way for proof of work in my view because that
in my view is truly permissionless.
So kind of well, you really need.
You don't, I mean, you just need to Hardware.
You need to deliver the work and that's all you need to do while
with Like proof of steak, you need basically to some extent
agreement from the existing Community or like put in
extreme. So if the token distribution
would be like just between three guys, well, you would need steak
from those three guys and and I see it.
And while this was the theory, mm, I think it was a good thing
that there was. Well, there was a pre-sale and
then there was over a few year years of proof of work which
actually led to a white doctor. Distribution.
So now I think it's kind of fair to say theorem is now a
permission to system because somehow the Aether is so
distributed that anyone can get 32, 32 ether, but but like in
your system you still kind of need the permission of the
existing stakeholders to become a node or of the existing token
holders are quite there. No, no, quite no, no.
Quite I mean if there's a separation.
So I mean you know that's why the Network nervous system.
The controller is separated from the physical there.
So, you know, if you're a to borrow the term minor, it's
pretty straightforward, you know, you get these, you know,
obviously, have to buy the no machines to the required spec
from somewhere, but then you, you know, install them in a
Datacenter, plug them in to the internet and off you go.
And obviously, if you're no machines, are defective in some
way if you know bandwidth isn't good enough.
His rights back, and you can get slashed, that's obviously very
easy to avoid. Just make sure they have got
enough bandwidth and then they make the spec.
So that's, you know, there's a deliberate separation there.
So, you know, the people participating in it was nervous
system. Obviously, wanted to be, you
know, if you like Commissioners because the security of the
network, the greater the variety of no providers, the greater the
security in the end. So there's no reason why anybody
would want to stop a node node provider getting involved,
Unless they are obviously malicious a known to be
malicious party. You know the protocol if you
like takes care of that if somebody is running faulty nodes
and that they can get slashed and that's their fault.
So it's not the that's not something that, you know, the
people stating in the network nervous system and controlling
these voting neurons, have to worry about their objective.
I mean, look the no nervous systems design.
Using economics and Game Theory is such that new Own holders
will either Vote or configure then you're on to follow other
neurons. So it votes in a way that is
likely to maximize the value of the ICP locked in.
Then your own at the earliest point in the future, that it can
be unlocked least if they're little bit sociopathic.
So that's why if you lock up your if you create an Iran with
an eight-year lockup you know you get I don't know what it is.
It several times I think greater voting power and rewards then if
you just lock it up for for a year, But because, of course,
you're voting with a long-term perspective that you're
thinking. Well, how do I maximize the
value of the ICP locked inside this neuron over over it, over
it yet. And certainly broad
participation is something, you're going to be seeking
because the greater the number of no providers, the harder it
will be to attack the network for example, by launching a
legal action or through a no provider going bankrupt.
So these interests are aligned that Network nervous.
System is an open question at permission to system.
And certainly You know, if you're a long-term ICP holder
and you want the network to succeed, and you also want as
many, many no providers involved and has met an overtime as
demand. You know, for competition grows
as many nodes as possible. Something by the way it's just
mentioned with respect to proof of stake and this is an
important observation. There are some security
advantages of proof steak and one of the challenges with proof
of work is you cannot / people. So civil resistance is the
mechanism through. Ooh, which you make it difficult
to participate in a network and it stops an attacker just
creating for example, zillions of nodes and taking it over,
right? So there are three ease of civil
resistance, right? There's entry cost, existence
cost and exit penalty. So in the case of Bitcoin, the
entry cost is buying your a six and configuring them in some
suitable environment. That's your entry cost.
Your Existence cost is obviously managing the machines but
primarily the This cost is electricity, and proof of work
is really an electricity burning competition, which is why it's
so environmentally unfriendly, but the third one is exit
penalty, there isn't really an exit penalty.
If, you know, the Chinese government took over, you know,
a vast swathe of Bitcoin or theorem mining machines and took
control of the network, would be no way of slashing them.
There'd be no way of for the good miners to band together.
You know, the correct - to band together and other than changing
the, the Obelisk which would Less everyone, it was and it was
with proof of stake. You know, obviously entry cost
is actually obtaining the cryptocurrency necessary to
stake. Existence cost is really the
cost of capital and depends if you've got delegated staking
things like that. But you know perhaps it's also
running the the some kind of Amazon web services, instance,
coff coff and but thirdly, you have got x a penalty in the set.
So if you know, a sufficient number of steak has participants
in the network became beloved, let you know, Faulty included
and malicious whatever and the correct miners could band
together and Fork the chain and you know, delete the stake of
the bad guys. Now be very disruptive, of
course, however but to read the bad guys, it's like unbounded
cost now, it's unbounded cost to just wanted to come back, maybe
to part of the discussion. Earlier, at least, that's my
view of it that even like 5% or whatever is small percentage of
honest. So even if Just 5% would be
honest, they could simply / the 95% way so it's not enough to
have 50% of the steak to kind of create your own history.
As long as you have people running full nodes, they will
reject this strong history and just / you out what caused this
is proof stakes and this is one of the reasons proofs takes that
in my view potentially Superior in many respects to
proof-of-work. I guess that was what it took to
some extent. Also, again, weld some Even to
have actually full nodes and people that are don't even
participating in the as validated or courses block
producers. But simply as as someone who
validates the transactions because that means, even if more
than 50% of the proof of stake, participants would kind of try
to create an invalid block. They would slip Simply Be
slashed out. Of course it would be disruptive
but it would go on and they would lose their state.
You'd have an incorrect Network and a correct Network.
And essentially, the incorrect Network would have some breaking
its And chain of history and yeah.
But you know, the reason that's possible of course is because,
you know, you have validated sets and they're adding
signatures and you can compare valid data sets and detectors
double signed and things like that.
So that's that's that's an advantage you get and you know,
proof-of-work has other, you know, disadvantages to, you
know, you get essential but maybe you mentioned those three
things and maybe let's do just to round it up to could now
notice. Now how is it for internal
computer going to entry entry running an exit cost?
Ah welcome so the fries Civil resistance the internet
computer. Well, first of all, of course
you need to acquire the node machine.
That's your unit of steak and remember each recall that each
node machine receives an equal reward for correct operation.
So that's your entry cost. Your Existence cost, of course,
is managing that mowing machine and making sure that it
continues to perform correctly, because it doesn't get slashed,
you know, that's going to involve things like, you know,
paying for hosting an internet bandwidth and Addressing any
harder, I Fall to rise. And so on and exit penalty is
same thing. You know, your node has been
statistically deviating and it doesn't just have to be
dishonest Behavior. It could just be that, you know,
you've this node is installed in a cage a crappy Datacenter or
it's not the right Hardware spec, so it keeps falling behind
when the Network's under load and not producing enough blocks
and so it's going to get slashed.
Same thing is they're slashing because I mean, do I need to
stake doing? Didn't do you need to stay kind
of You can still. So what you're saying is, you
know, couldn't somebody take this node and then re-enter the
network under another identity, right?
So, yeah, you know, how big is the excuse?
Well, look, I mean, first of all, slashing can include things
like a crude earnings that are paid in arrears.
So you can actually you couldn't very well create because out
there. Yeah.
Very exactly. Very, very, very easily include
of, sort of just a traditional proof of stake, ask financial
penalty, but you know, in practice, you know, when you're,
you know, you would have to, you have to What a new node provider
id. Unless you just sold the node to
another node provider which is probably not what you want to
do. There's a whole process you're
going to you know get that proposal and to know nervous
system get it adopted the sum identity aspect of that because
you know it's deterministic centralization.
That's how we get the replication down.
So yeah, there's a lot of overhead.
You know, you don't want to invest, you don't want to invest
a lot of time. Okay, okay, crimes, the, she's
like they make the main cost is the main cost is the entry is
the entry cost. Well, I mean don't forget is
expanding the these these nodes can see a lot of bandwidth and
power and so on and I'm gonna nothing like a quarter for state
now, also proof of work. Now of course, but yeah.
Yeah, I didn't know you've got all three days.
Yeah. Dominic, I had to hope to
understand definitely in the internet computer, a lot better
than I currently do, and I'm not quite there.
So I think this, we will probably have to catch up sooner
than in five years. I think I learned a lot.
I'm still very much not at that level that I wanted to be after
this episode. Anyways, let me ask you one,
final question. I mean, so, basically the Entire
Computer, it's this new thing. It's kind of currently it's not
running under load, it doesn't have a ton of applications
running. On it yet.
So basically if you look ahead towards you know the network
becoming a year or two years old what do you see as the biggest
challenge the make-it-or-break-it point for
the very ambitiously named in her computer?
Yeah. Well that we don't have to get
that for. I look I'm don't don't believe
the father misinformation that you see on social media.
I mean, there's a lot of people that are very threatened by the
internet computer. They're very concerned about the
huge sort of advances that have been that have been made
technologically and it's already got hundreds of projects
building on it. It's active User Group growth is
exploding. If you ignore this blockchain,
you do so at your peril and it's no wonder there is no choice if
you want to build Adapt, that doesn't rely on the cloud.
If you want to build a Dap that actually runs at web speed, if
you want to give users a frictionless way of
authenticating to your dad. For example, by pressing the
fingerprint sensor on your laptop or using face ID, if you
want your dap to serve interactive content, directly
into browsers, secure, all of these six, there is no choice.
You can't use polka dot, you can't just put on it.
You can't is a theorem the theorem to put I wanted dirt and
even if implemented eventually is envisaged, you have no
choice. So to be absolutely clear if you
really are blocked. Blockchain maximalist and you
really want to see blockchain Singularity as I do.
You have to build on the internet computer it would take
any other blockchain that wanted to do what we have done would
need to follow a similar path. You know you need to build a
huge team of researchers and engineers and this stuff
requires professional photographers and a lot of the
areas that we work on require you know, world-class
cryptographers of which there are only a handful in the world.
I mean, you'd probably aware that, you know, our CTO is I
called Yank A Manish who's one of the world's greatest
photographers very famous. We've got Yen's growth working
here, Victor, Shoop, who's a god of, with photography and just
really Computing. So I get it difficult to build
but Dominic biggest challenge. What's the biggest challenge?
The biggest challenge honestly, was actually just building the
thing. Getting this far.
It was very difficult for you to assemble this kind of Kiss.
Okay, let me biggest challenge ahead of you.
You know, I think look block chains are very rough and tumble
space and we've already seen it. We launched the thing, the price
went out of control, it had a fully diluted market cap of 300
billion dollars at one point. Then it came down and it went
down to some silly price. Now, it's going back up, you got
people, you know, trying to scam us with lawsuits and squeezes,
you've got all kinds of blockchain projects, which have
shells that are threatened, and they just sort of just there's a
tidal wave of misinformation and nonsense and find out.
About the internet computer, none of which is true.
So but you know, we're going to stay focused on our mission
which is is blockchain singularity.
We're going to keep on improving the, you know, technology as
much as we can and we're joined in this by lots of other
partners. Now, for example, the things,
some of the most exciting things that are coming in the next few
months, the service nervous system functionality.
So you'll be able to take your dap something like open chat and
assign it to a service nervous system which is basically just
the form of network. Assistant.
Right? Which has its own Ledger of
governance tokens. The way that will work is that
let's say you created open chat, you press the button, a new
service nervous system will be credited control of open chat
will be assigned to the service nervous system so you can only
upgrade you know, open chat through the service nervous
system and so on in the future you as a developer might get 25%
of the governance tokens. The other 75.
So the Gunners tokens will be auctioned off by the now
autonomous, open internet service.
And so essentially, you know, the proceeds of the auction
Train would be held within the service nervous system and you
got a fully autonomous system. So that's like Ico 2.0 3.0
whatever you want to call it. That's coming soon and that's
one of the reasons you got so many people.
So many, I mean hundreds of developers building.
Now daps on the internet computer because they know this
is coming. It's one of the most important
aspects of what we're doing. And then after that, and this
is, I guess between four to six months away, it's very
complicated is we are adapting chain to technology, so that the
internet internet can be too smart, contracts can directly
Interact with Bitcoin and aetherium without Bridges
without Bridges. And we know why bridges are
rubbish. We just seen we discussed
earlier on what happened with this D, Phi Network and people
are lost $600. So the internet chain key
cryptography, makes it possible for a smart contracts on the
internet computer to create a Bitcoin transaction.
Right? To give you an idea of how this
perhaps might work. Let's say Martin hit Martin, has
his own Bitcoin wallet, nothing to do with internet computer,
has a Bitcoin one. There is a small contract on the
internet computer that Come into Bitcoin wallet, it maintains a
Bitcoin ballots on the Bitcoin blockchain and I open my Bitcoin
wallet, which runs on the internet computer and I send a
Bitcoin to Martin and identikit it using internet.
Identity by pressing the fingerprint sensor on my lap
Macbook pro wrestler, essentially we're adding smart
contracts to bitcoin and this is possible been made possible by
extending, you know, building on existing chain key work with
non-directed, EKGs and kiwi sharing But doing it for ecdsa
threshold sharing. So essentially the internet
computer nodes will talk directly.
No Bridges, no, validators. We don't believe in that kind of
stuff anymore than we believed in cloud.
And so on the internet computer nodes will talk directly to
bitcoin and Theorem nodes and submit transactions to them and
they'll actually observe the blocks being produced by those
networks. So first of all, we're going to
add smart contracts to bitcoin smart contracts on the internet,
computer will have their own be able to maintain the Bitcoin
balances and you know, send receive hold Bitcoin and then
we'll do the same for ether. But will also, of course, add
the possibility for two-way bi-directional calling between
internet computer and ethereum small contracts and we think
this this will be immense. Absolutely immense.
I mean what is that almost a coming up for a trillion dollars
of liquidity on bitcoin and all of a sudden people were able to
build small contracts With all of the advantages internet
provides, you know, they can serve interactive user
interfaces securely directly into the into the browser users
can authenticate using, you know, internet identity, which
is in turn, based on a kind of chain key technology which
means, you know, face i.d., fingerprints yubikey, whatever
you want to use. And you know, to Second
finality, all of that is going to come to bitcoin and aetherium
and we in the end. See you know, Bitcoin and third
and the theorem is kind of Defy settlement layers and we think
the computation is going to take place on the internet computer
blockchain. That's where daps were really
run and you know, a theorem will become a sort of rails for defy
settlement. Dominic, thank you so much.
I have to say, I learned a lot. I was following or am following
the project since many, many years.
And remember your toxin 2015, I clearly see that your work and
the work of your team has been, has been also quite influential
for etherium. I believe all the bacon shade,
and things like that. Yeah, for sure, for sure.
I remember you running around in Shanghai and preaching be less
signatures. So yeah, I mean, You know, that
money was meant, I mean, to finish?
He originally, when I be. So, what happened was in 2014, I
was working on a single Pebble. I was basically trying to adapt,
traditional presenting full-time, consensus, algorithms
for the for the Block Chain space.
And then I said it took it that I abandoned that project for a
bunch of reasons. But in 2015, I took this
alternative path, you know, using BLS special signatures,
and I realized I could create random numbers in a
decentralized network and that this would enable me to create
fast blockchains and I raise you get, ya all the rest of it.
But originally, I mean, Divinity was conceived as a theorem 2.0
theorem 3.0, and that was the plan.
It was never meant to be an independent project, but it
became apparent that, you know, the fear of just wasn't set up
to do, the kind of R&D that would be required to create the
internet computer, and that's why it became a separate
project. And, of course, there were some
different Visions, you know, our vision was very cryptography
first and we needed to develop a lot of Novel crypto.
So, you know, in some ways it's like I think It's kind of
ironic, I think, you know, the internet computer is really
well, at least my interpretation of the world computer vision
that I heard in 2014, and it's taken years and years.
I'm going to Theory, I think, because and this is why I think
it's, you know, we're at a very interesting juncture because
they fear of today, is really the ethereum of 2014 with, you
know, some improvements around the edges.
And the question is, where does it go from here?
And but, but, you know, I do believe that the And computer is
really the, well compared that that's what I you know, set out
to implement and 2015 and we probably I mean, you know, just
you know, exerted, absolutely massive intellectual and
Engineering Firepower to get this thing built.
In my head, too. Didn't it does make sense to
say, well, he theorem is the world settlement layer, and of
course, that's not where you do computations.
And that is much closer or like, yeah, that's my skills to do
internet computer that would make much more sense to do
computation there. I do think there are slightly
different trade-offs or around security and I think we have we
have discussed a few Absol to me.
It became much clearer and kind of also clear how the two
systems might complement each other?
Well, that I just going to select.
Yeah, I'm just finishing off with the, you know, the
differences between chain key and traditional blockchains
where, you know, every single transaction is Rerun to create
the current state, you know, all be it, you know, the still, the
danger, the blockchain is rear at rewound and Rewritten, which
is very bad. At least it's not possible for
somebody to actually steal your balance of Right.
So, I mean, you know, if people are concerned about that, you
know, that's a very strong argument.
Why, you know, theorem can be defy settlement.
Le in my view will be, of course, you know the internet if
it is also designed to be secure, mathematical skill.
Thank you so much, pleasure. Thanks for having me.
Good luck with the thank you project.
Yeah, thank you Dominic. I think we'd have to have you
back sooner than in five years, but thank you so much for coming
on again. Thank you.
Blockchain is my favorite topics.
Thanks a lot. Thank you for joining us on this
week's episode. We release new episodes every
week. You can find And subscribe to
the show on iTunes Spotify, YouTube SoundCloud or wherever
you listen to podcast. And if you have a Google home or
Alexa device, you can tell it to listen to the latest episode of
the epicenter podcast, go to epicenter, .t V /, subscribe for
a full list of places where you can watch and listen, while
you're there, be sure to sign up for the newsletter so you get
new episodes in your inbox as they're released if you want to
interact with us guests or other podcast listeners.
Follow us on Twitter and please leave us a review on iTunes
helps people find the show and we're always happy to read them.
Well thanks so much and we look forward to being back next week.