Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Peter Czaban: Polkadot – The Internet of Blockchain Networks
Episode Date: September 5, 2017Scalability and interoperability are two of the main issues facing blockchain protocols today. In a future in which entire industries and economies rely on distributed technologies, it is unclear how ...blockchain networks will support massive amounts of data, and exchange transactions in a trusted way. Peter Czaban, co-founder of Polkadot, joins us as we dive deep into the Polkadot Network. Polkadot is a heterogeneous multi-chain network, consisting of many connected chains (or parachains), all of which have their own set of features and characteristics. Transactions flow across chains, while Polkadot ensures the global security and consensus of the network, forming an ‘Internet of Blockchain networks’. Scalability is achieved through the parallel processing of transactions on the different parachains. Topics covered in this episode: Peter’s background and his role at Parity technologies What is the Polkadot project and what problems it is addressing How Polkadot handles the issue of scaling The different components of the Polkadot Network The various players in the network The consensus model used in Polkadot The types of applications Polkadot would enable The Web3 Foundation and its goals Episode links: Polkadot Website Polkadot Pre-Sale Website Polkadot Community Chat Aura Consensus This episode is hosted by Meher Roy and Sébastien Couture. Show notes and listening options: epicenter.tv/199
Transcript
Discussion (0)
This is Epicenter. Episode 199 with guest, Peter Chabon.
This episode of Epicenter is brought you by Ledger and the Ledger NanoS.
Half piece of mind in knowing your private keys are protected by industry standard physical security.
Go to ledgerWalt.com to learn more.
And by Shapeshift.io, the easiest, fastest, and most secure way to swap your digital assets.
Don't run the risk of leaving your funds on a centralized exchange.
Visit Shapeshift.comto-I.O. to get started.
Hi, welcome to Epicenter, the show which talks about the technologies, projects, and startups driving decentralization and the global blockchain revolution.
My name is Sebastian Kujo.
And I'm Meher Roy.
Today we are talking to Peter Chabahn, co-founder of the PolkaDot project.
PolkaDot is an interesting project that is pioneering how an internet of blockchains would work or how many blockchains would work together.
Peter, we are pleased to welcome you on the show.
Hi, guys.
Nice to be on.
So before we start talking about Polkarat, tell us a bit about your background and how you came to be interested in this space.
So I've been interested in this space since the university time.
I first, I mostly did some algorithmic trading of Bitcoin because I was mostly interested in machine learning.
but then I noticed all the different currencies popping up such as peer coin and prime coin and so on
and then I got a little bit more into the space being interested in the protocols
went to a number of Ethereum meetups in London and then after university
kind of decided to go more into the space and joined parity technologies
to build some protocols and decentralized stuff.
And at parity, I've been mostly working on the consensus algorithms
and generally contributing to the parity codebase.
So can you tell us a bit about, I mean, I'm sure most listeners will have heard of parity
and some may even downloaded the parody, the parody wall,
But can you tell us a bit about parity, you know, what you do at parity and what is the goal of the company?
Yeah, so we make one of the most used Ethereum clients, which is we try to make it as performant and as usable as possible.
But in general, we also build other decentralized technologies such as Whisper and,
And now we are getting involved in other projects such as PolkaDOT and then building also enterprise type Ethereum applications with proof of authority.
And in general, building technologies that will enable people to build decentralized applications.
Fantastic.
And so the team, it's generally based in London or are you sort of spread out across the world?
What does the team look like?
So the team is pretty spread out. We have some people, most people in Berlin, but I'm based in London and we have a number of people in different places, but mostly coalescing around Berlin.
Cool. So let's jump into PolkaDot. Tell us about, give us a high level overview of the PolkaDot project and what shortcomings you saw in the community that led to it.
is being supported now by the Web3 Foundation, which hopefully we'll get to talk more about a bit later.
But basically, we notice a particular phenomenon in the blockchain space.
We saw that there have been a number of different blockchains starting to appear, both in the public space and consortium, private blockchains.
So the reason for most public blockchains is that they want to introduce some kind of a new feature.
So Zcash wanted to introduce a new type of cryptography in order to enable privacy.
Or Tesos wants to make a new blockchain to make formal verification easier.
And let's say, waves may make, has a blockchain that makes handling tokens very easy.
So in a public space is mostly driven by functionality.
Then in the private space, it's mostly driven.
So different consortia, banks and so on, want to make their own blockchains.
Because, for instance, transaction fees are too high on the public network.
Some of the clients that we had a priority couldn't run stuff on the public network
because they're limited by the fees.
the throughput of the network is not there sometimes
and also some privacy features
which potentially could be there on the public chain
but are not there yet
but they need it right now
but there are two main issues with this
sort of approach of adding new chains
first of all
all those different chains
cannot communicate with each other
So at first, you know, we thought that the blockchain, a blockchain may be, or blockchains could connect everyone together and enable them to interact in a trustless manner.
But now when we start building those blockchains and we don't have a trustless way to make them interact, then it defeats the purpose.
And second of all, each blockchain has to be secured separately.
So we have with Bitcoin, Bitcoin is extremely secure.
But now if we want to add another chain that has different features,
then we need to gather a new set of miners or a new set of staking parties,
if it's proof of stake, to secure that chain,
because otherwise it will be well as secure than the existing ones.
So those are the kind of two main motivation,
the lack of interaction and this sort of disperged security.
So Polka.A.OtK aims to solve those by providing trust-free transactions and pooled security.
So the pooled security and trust-free transactions are provided by the relay chain that we can get into.
And then we have different para-chains or different bridge chains that provide varying functionality and varying capabilities for the network.
So, I mean, blockchain interoperability is a topic that we've.
We've covered at length here on the show.
We've had DFINITY on.
We've talked about Cosmos.
We've also talked about Pocod in a previous episode about Mail Import,
where we spent a significant amount of time in Pocod.
And the way you describe it is what's desirable is,
or at least from the standpoint of Pocod,
is for blockchains to be able to interoperate.
And so in this sense, blockchain should be able to talk to each other in some form of fashion,
and that there is another sort of undesirable side effect of having multiple blockchains and multiple consensus models operating on each of those blockchains independently.
And that is that each of those blockchains need to secure the data independently of each other.
and we can't sort of pool resources or have sort of a global consensus mechanism as a service
sort of thing. Is that a good way of describing the high-level thesis of Pocodot?
Yeah, those are the two main points. And of course, lots of other things fall out of it.
So, of course, you could argue that multiple chains give you scalability, but now this
scalability actually makes sense because just adding new chains kind of,
scale, you know, I just adds new, new entities rather than actually scales that, that's the network,
the single community.
So I think I can sort of see the value in having this sort of a consensus mechanism as a service, right?
If you're going to have multiple blockchains and each of those blockchains might have different
functionality, different features, even different types of users.
And maybe we can get into some of that, right?
like, you know, this chain over here might be what you would consider a public blockchain,
while another chain might be restricted to some sort of consortium or something like that.
But in terms of interoperability, you know, two blockchains talking to one another,
or sending data or sending transactions from one another to one another.
Can you sort of talk about some of the applications where this would be desirable?
Yeah, absolutely.
So, of course, we have a lot of capabilities, for instance, on Ethereum.
But as we see, for instance, different chains being made in the energy sector,
where there might be a blockchain that handles trading of energy
and has certain permissioning features and so on.
where that particular blockchain right now cannot use that different facilities that are there on the public chain.
So, for instance, if there is a certification contract on the main chain or there is some token on the main chain,
this energy sector chain cannot make use of it.
And communication, for instance, let's say you want to pay for,
for your electric car with US dollars and there is already a fully collateralized token on the main net,
then you could, for instance, pay with that token on the energy sector chain as well.
Or if there is a Zcash-like chain, for instance, Zcash is great at providing privacy,
but now we have different ICOs on the Ethereum chain,
and people cannot leverage this privacy for Ethereum.
With PolkaDot, what we could have is a Zcash-like chain that has those privacy features
and a more general chain like an Ethereum chain where there is a contract that does an ICO.
And then if someone wants to contribute in an anonymous way,
they could send a transaction which goes through the Zcash chain in order to anonymize.
and then goes into the sale contract on the Ethereum-like chain.
Basically, anywhere where there are some varying capabilities on different parachains
or different bridge chains, you can have one chain leverage the capabilities of the other
chain and vice versa.
So you're using these words like relay chain and para-chain.
So just explain to us like the old.
all architecture of the Polka. Dot network.
Yeah, absolutely.
So the Polka dot network at its core consists of the relay chain,
which is the chain that relays their messages and provides consensus to all the different chains.
And then there are para chains.
And then often what we also distinguish,
which could be another type of para chain, which are bridged chains.
So chains that are independent but yet are connected to the PolkaDOT network.
So para chains are fully reliant on the relay chain for it to provide the consensus to them.
So basically they can have all sorts of different characteristics.
There might be a Zcash-like para-chain or Ethereum-like para-chain
or tesos like parachain or some other type of parachain.
So those are the things that actually provide the functionality.
Relay chain then holds them and enables validators to know how to validate those different
chains and ensures that they can communicate with each other.
And then there are those bridged chains, so connected via bridges,
which do not really rely on the POCA dot network to provide
the consensus. So for instance, something like Ethereum already has its own minor network or something
like Bitcoin and it doesn't need any other consensus algorithm. It just needs this ability to
communicate. So in this case, they are kind of less tightly coupled and they are also possible.
So those are the kind of main structural elements. Would there be an incentive or would it even be
possible? I mean, outside of, you know, community and governance issues to, uh, to, uh, uh,
port an existing chain like Bitcoin or Ethereum to use the the the the the the the the
the the the the the the consensus as a service model yeah absolutely absolutely so
so probably probably one of the first chains on the polka dot network will be a probably a
probably a slightly different chain which is also very very very a very slightly different chain which is also very
very general purpose.
So it will be based on web assembly rather than on EVM.
But then also one of the first parachains could be an Ethereum-like parachain,
which is basically identical from the functional perspective to Ethereum,
but is kind of directly plugged into PolkaDOT.
So you could even take a state snapshot of the Ethereum network and put it on PolkaDot.
And of course, one of the, also one of the first bridges that we are already working on
would be connecting the actual Ethereum network to Polka.
This episode of Epicenter is brought to you by Ledger,
makers of the best hardware key security solution on the planet.
But Ledger is more than just a hardware wallet.
It's your path to eternal bliss and happiness and peacefulness.
Do I look like I'm losing sleep? I am, but it's not because I'm worried about my cryptocurrency, my Bitcoin or my Ether, and that's because I use a Ledger.
Ledger devices for multiple cryptocurrencies like Bitcoin, Ether, Zcash and more, and you can even secure your ERC, Ethereum tokens with them, or you can add the security support from Ledger to some of the wallets you already love and use like Electrum, copay, my Ether wallet, and others.
All your keys and segregated accounts are derived from one unique seed.
Seeds are generated on the device and are never exposed to the host computer.
So when you make a transaction, your ledger will present you with the details and kindly ask you for your confirmation before signing.
How polite is that?
So the best choice right now for anyone looking to invest in security is the Ledger NanoS.
It's a keychain size device that fits in your pocket.
It has a screen and buttons and connects your computer or Android phone using USB.
Look, if you're holding crypto and you're storing your keys on your computer, on your phone, or worse, in exchange, you know that's a disaster waiting to happen.
Don't be the person that loses their keys because they were careless with them.
So don't wait any longer.
Secure your Bitcoin, secure your Zcash, secure ether.
Go to ledger wallet.com and get your Ledger NanoS today.
We'd like to thank Ledger for their support of Epicenter.
So, like, from the outside, it looks at this description of they being like the central relay chain and then
there are, which is like you can think of it as a hub, and then these parachines, which are like
the spokes of the network.
Like this, this sort of design pattern has occurred before in the space in the form of the idea
of side chains, right?
So even in side chains, what a lot of proponents were saying is like there would be
Bitcoin, which is like sort of a hub, and then there are these side chains, which would be
like spokes, each of these side chains could have like different functionality, but then
people could move like Bitcoin from the central chain to the side chain and then do some
specialized transactions there, like anonymizing transactions, et cetera, and then go back to the
main Bitcoin chain later.
So in this case, the main, like there is a few differences.
First of all, an important part is to make it very.
general. So basically any sort of data can be transferred between the chains. It's not only
balances of tokens that can be moved across. And second of all is this is this validation
and pull security which which makes it possible to like the validation of all the para chains
is part of the of the protocol itself, which is very important.
Okay. So let's sort of walk through how this validation would work.
In order to build, to maintain the PolkaoDnetwork, there is a number of different roles that have to be fulfilled.
The relay chain is maintained by the validators primarily, which are heavily bonded parties.
they can gather stake from the community in the form of nominators
and they perform the active role in the in the in the in the relay chain consensus mechanism
but in order to be able to have multiple para chains and support multiple para chains
there are there are a few other roles so there are also collators and
Collators also perform a role of a fisherman, which have been something that has been mentioned in polka dot paper.
So collators are basically responsible.
They are a little bit as like current miners.
So they are responsible for sitting on a particular chain, gathering up the transactions,
and then proposing blocks on that.
on that particular parachain.
So then the validators, when they are assigned to a particular parachain,
so on each block of the relay chain,
a different group of validators gets assigned to a different parochain.
And then they have to receive the candidate blocks from the collators,
perform validation, then broadcasts some statements,
and then the validators come together in order to canonicalize a set of a set of parachain blocks on the relay chain.
So there are validators and collators are the main roles.
Collators also do fishermening, which is basically looking at the para chain blocks that get included
and making sure that they are valid and they are able to.
submit proofs of invalidity, if that's not the case, which can lead to removing bonds.
And then validators also somewhat function as fishermen reporting invalid actions in the consensus
process.
And yeah, and those are the main roles.
And basically because we can have lots of different para chains and with different
different state machines because because decolators don't actually need to make they only need to
maintain a node for that particular para chain and validators don't need to provide don't need to run
notes for all the different parachains because they are getting light proofs so so basically
state transition proofs from the collators which do not require them to maintain a database and
validate every single block on a particular power chain so we are able to
parallelize this process of generating state transition proofs across all those different
collators, which makes it possible to have lots of different chains in parallel, basically.
But at the same time, then we come to the validators, and in the end, we end up with a global
consensus that enables us to then relay messages in a trustless way between arbitrary data
messages between the different chains.
So in effect, we have the central chain, which is the relay chain.
That chain has its own token.
And that token is used for the selection of validators.
Yeah, so that's a bonding token used for bonding and for governance of the network.
Of the network.
So this central chain and central token is used for the selection of a set of parties that are going to validate not only the central chain,
but all of these side chains or para chains.
And now, I guess the central challenge here is when there's, let's say,
like one central chain, but there's like, say, 10 different parachines,
then the problem for these validators is that they would,
if they want to validate all of these side chains,
then they would start to be full nodes to all of these chains and, like,
listen to all of the-
That's a scale.
that doesn't scale and it listened to all of the transactions and compose blocks and stuff
so in order to like remove this burden of being a full node on all of these side chains
if I'm a validator on the main chain I have this other group of parties that are called collators
that will basically take away the burden of me needing to have a full node listen to
transactions and compose blocks.
Yeah, exactly.
And what validators have to do.
So that is also can go into a little bit, how would you add a new para chain?
So basically the relay chain has, if you want to add a new para chain, you need to write
the state transition validation logic.
So you basically write a little program that is able to validate proofs from a particular
para chain.
And then this program is written compiled to WebAssembly.
So it's a little program that every validator can run.
So and anyone can basically run it.
And given that program and they can judge if a state transition proof that has been supplied by a collator is valid or not.
And, you know, in case of, for instance, in case of all blockchains, because the state,
machine is deterministic, we can with absolute certainty say, you know, this state transition
proof is valid or not valid.
So it just returns good or not good.
And then validators from that know to, you know, how to treat it.
Is it?
Should they include it in the consensus process or not?
So it will be a little bit like deploying, a little bit like deploying a little bit like
deploying a contract now, a new parachain.
So assume, like, I am the validator of the main chain.
Sebastian is another validator and like there's like 50 50 of us and we have our old, you know, like full nodes of the main Gle chain.
And now you, now we have like 10 parachines and you are the collator of the parachines seven.
So assuming let's say let's the block time is like two seconds or something, like two seconds later, you send me a block like saying, okay, according to you, this is the next block.
do I need to trust you in any way that?
No.
Because so what I actually get, so normally, if I just get the block, then I wouldn't be able to judge if it's correct or not.
What really needs to be supplied is a state transition proof.
So basically it's like a light client proof.
So it's basically tells you everything, tells the collator, everything they need to know, all the parts of the state.
and whatever happened
in order for the validator to judge it
as correct or not.
So they don't need to trust the collator
at all in order to validate it.
They just look on the relay chain,
look at this logic for this particular
parachain, execute this logic
and then they see, is it good or not?
But suppose let's say
the block you send has like 100
transactions.
I do need to run
all of these 100 transactions on my end.
So I have the state of
ledger before these 100 transactions and now you send me the block with these 100 transactions and
we stayed after executing these 100 transactions.
Only the relevant state to your execution.
But I do need to run all of these transactions myself as a validator in order to be sure
that this block is valid.
Yeah, but what I don't need to do is I don't need to do it for every single block.
I can be just kind of randomly picked.
Oh, now at this block, you are a task with checking this proof.
And I don't need to know anything.
The only thing I need to know is be provided this proof in order to check it.
So now, like, once I get one of these blocks from you,
and I've sort of verified that that block is correct.
or in the second case maybe trusted that that block is correct.
So when I'm choosing blocks randomly for checking,
I'm trusting you for some blocks and in some other blocks I'm actually very fine.
Then I as a validator, I take that block.
And with the other group of validators,
I sort of finalize that block on behalf of...
Yeah, exactly.
So there is two types of statements that are broadcasted on the network.
One type of statement is validity statement.
So basically a validator says, yeah, I got this block and I verified it and I say it's valid.
And of course, if someone then says it's invalid, then it can be easily proven and then they can be penalized.
So it's very important for the validators to make sure that the statements they make are actually good, valid.
And then another type of statement is just, I've seen this block.
It's floating around.
It's available to me.
And this kind of tells other validators, which blocks, which valid blocks they might want to prefer to other valid blocks.
Because they are kind of more validators are claiming that it's actually available and it's actually floating around the network.
And given those two criteria, then whoever is assigned to be a primary or proposer on the relay chain is able to then assemble this list of parochain blocks that should be included.
And then once that's done, then a normal kind of consensus process can continue from there.
okay okay so in effect what it is this is allowing you to do is like for the for us the set of validators of the main chain it is allowing us to leverage the efforts of all of these collators in order to give like scalability to the system yeah exactly it enables us to parallelize this this state construction it does it does enable certain level of scalability
which is definitely beyond something that we have right now and we'll have for a while.
But we are thinking about doing things such as second order relay chains.
So basically, para chains, which function as relay chains,
which enable us to paralyze the action even more of the protocol.
So then you could have even more scalability out of that.
But that's a difficult topic.
So let's talk about scalability a little bit.
In the white paper you mentioned, and this is sort of one of the core premises of Pocod,
is that in order to achieve scalability, one of the ways that we can do that is to separate
consensus and the state change or validity.
Can you explain why a blockchain that combines those two functionality,
is unable to scale, in your opinion?
There's two things.
So when we run a blockchain, the primary concern is for all the state transition to be
to be valid.
So we don't want any transaction that come out of zero balance accounts and things like
that to be in our chain.
But given the state transition rules, we still can have a large,
number of different chains.
So then once we, once we have this large family of different possible histories, we need to
choose just a single history out of all of those.
And then this is, you can call it canonicalization or coming to consensus over the state
of the network over the chain.
And basically that the thing is that validity of the,
a particular blockchain is completely objective.
So to a certain degree of because given a particular implementation that can check if a
if a if a blockchain is valid, it will always give the same output.
There can be no disagreement.
And if there is this agreement, then it can be proven that, like, who,
is the misbehaving party basically or who is who is the party that is not not following the protocol.
So this validity checking can become like it can be done by as many people as as we want and
they can be all providing us with lots of information about this validity. And the second thing is
picking among all those valid solutions is which which has to be done in some in in in in a
communicating between communication between different parties. So for instance, a consensus
algorithms such as tender mint or pbft requires lots of lots of a few rounds of communication
between different nodes in order to figure out what is that the canonical chain or even with
with Bitcoin or Ethereum you could argue that the confirmation time is basically the time for
the network to agree on a particular chain because basically
with every issued block, a particular minor communicates to other people that they trust the
chain that is below that block or they think it's canonical that chain below that block.
So basically by splitting the two and not trying to have everyone that is participating in the consensus
also validating stuff and the other way around also not everyone validating having to participate
in consensus.
We can have this tight group of people that can actually communicate because the communication scales pretty badly,
but a much larger group of people that validate stuff.
So in this case, all the collators are looking at all the blocks on all the different parochains and checking their validity.
Well, you have a smaller group of validators that are only responsible for doing the actual communication and validation,
which scales pretty badly to large numbers.
Okay. And so talking about some things in a more practical sense in a Pocod world. So let's imagine, say, like, you know, in five to 10 years from now, you know, Pocod is a massively successful network. There are, you know, hundreds, if not thousands of parochains using the Pocodot consensus and validators validating transactions from those pair of chains. You know, Bitcoin ported over and now Bitcoin is using that consensus.
And, you know, we can wish we'll thinking, right?
Yeah.
Now, so what would that look like in practice?
Who would, so where would the, you know, say the Bitcoin blockchain, where would the
blocks be stored?
The transactions, would they be stored with the parochane users or are the validators or
perhaps the collators storing the finality, the blocks?
Yeah, so most users would actually have clients that synchronize the relay chain.
And then if they want to look at any sort of information or want to submit transactions on the paracchain,
there will be a light client protocol that will enable them to fetch their relevant bits that kind of hang off of their relay chain.
So they would be able to access all the different parochains at the same time.
But actually who would be providing the full notes on all the different paracains, it would be the collators.
So for them, it is necessary in order to provide valid state transition proofs.
It's necessary for them to maintain state and also maintain potentially history of that parachain.
So they could be providing both the proofs and the.
for users and for the validators.
Okay, so the collators that are sort of sitting,
that have full nodes are relaying blocks
and sort of storing the blockchain for that parochane
so that, for instance, like the Bitcoin blockchain users
don't have to store like the, you know,
the, like, Pocodot Ethereum implementation,
and the validators in the network
don't have to store every single,
from all of the different parochains that are on.
Yeah, they don't have to store anything.
They just listen to network messages, do some computation, and reply to those messages.
Okay.
And what is the incentive for the collator?
So can you talk about the incentive mechanisms for validators, collators, the nominators,
the nominators, like all the different participants?
Do they all hold staking tokens?
Do they all stake something?
Yeah, so a lot of it is actually pretty flexible in the protocol.
So, for instance, when we think about why would the validators decide to add a parachain or not,
one of the reasons might be because simply this parachain provides some utility to the network as a whole.
And because they hold a lot of stake in the network and they use it potentially as well, you know,
they just want to add that parachain.
Or maybe the parachain proposes a one of a fee to the validators for adding it.
Or any other, or maybe some sort of sharing of the transaction fees that are happening on that particular parochain.
So a mechanism kind of for reward can be anything.
For validators, thanks to the fact that they are staking, their dot-tube.
tokens are not getting diluted on the network.
So that's the primary thing.
And then there might be some additional mechanisms where they are able to actually manage
some of the issuance of the token on the relay chain as well for the validators.
And of course they are penalized for invalid actions as it is usual in proof of stake.
for collators
it can also
vary like
most of the time
they will most likely be rewarded
with the transaction fees
because they are the ones
to include or not include
transactions so they are the ones
that should be
you know at least through
the rewards will be going through them
for the transactions so just like minors
but
they could be provided also additional
additional rewards
especially because they maintain full nodes on the parachain.
They will be provided services to light clients and other things like that.
And as for the stake, it might be that the validators,
because they don't want to have any invalid proofs being provided.
They can either make use of a reputation system
or they might actually require the collator to hold some stake in them or in the network as a whole in order to be considered as a collator.
So regarding all of these incentive structures, so my impression is like one of the things that seems to be lacking in the Polka dot paper is a very defined incentive model.
right so what what is the current state for for these incentive incentives
incentives structures are you going to propose like one one particular
incentive structure or are you going to leave it open for the market to
discover what I mean here is like for example the incentive structure for collators
this sort of seems quite quite open at this time there will be definitely
there needs to be at least one one incentive mechanism
I think a reasonable one is to have collators to be given the transaction fees.
The validators simply be the ones that receive the issuance on the relay chain.
And that's the simplest thing.
And of course, any sort of fisherman or invalidity proof submission,
First of all, it requires a small bond to be submitted so that you cannot expand the network with invalidity proofs.
And then there is a large reward for providing any proof of invalidity.
And that's a kind of simple scheme.
I'm just saying that it's important just as the consensus mechanism, state validation.
it's also important to leave the incentivization open
because we want to keep it fairly minimal
what sort of things are specified
and imposed by the protocol
so that it's flexible and can adapt into the future
and only specifies the per minimum of things.
But of course, we need to have at least one set of kind of,
you know, at least one para chain
so anyone someone can at least use it at least one
incentivization mechanism so yeah the one that I mentioned is a good contender
this episode is brought to you by ShapeShift the world's leading
trustless digital asset exchange quickly swap between dozens of leading
cryptocurrencies including Bitcoin Ether Zcash Gnosis Monero Golem
Ochre and so many more when you go to shapeshift.io you simply select your current
pair, give them your receiving address, sent the coins, and boom.
Shapeshift is not your traditional cryptocurrency exchange.
You don't need to create an account.
You don't need to give them your personal information, and they don't hold your coins.
So you are never at risk from a hacker or other malicious actor.
Shapeshift has competitive rates and has even integrated in some of your favorite wallet
apps like Jacks.
So you can swap your digital assets directly within your wallet just as easily as putting
on your slippers.
Whenever you see that good-looking fox, you know that's where Shapeshift is.
So to get started, visit Shapeshift.io and start trading.
And we'd like to thank Shapeshift for their supportive Epicenter.
Can you talk about the consensus algorithm in Pocodat?
Which consensus algorithm will you be using?
Is it sort of an off-the-shelf algorithm or something that you've developed internally?
So really in parity, the consensus is there is a pretty good abstraction or division between the state machine and the consensus mechanism.
So it's pretty easy to swap out what kind of consensus is being used in a particular situation.
We are still going back and forth between something that requires more messages.
and has more of an instant finality, so something like PBFT,
and something that is a bit more delayed in finality,
or you could say as asynchronous in some way,
where actually blocks can be released just as in proof of work sequentially,
and then after a while, after a while, that particular,
chain becomes final given the blocks that have been issued on top of that particular chain,
which makes it possible to have much less communication between the nodes, but at the same
time delays the finality.
So I think that the consensus that we are converging on now is a consensus where a bit similar
again to something like proof of work, or maybe you're familiar with Aura consensus that is
implemented in parity where where where their their blocks are being issued without any negotiation
between validators but then but then as the as the blockchain grows validators can issue can sign off
on particular chains ahead of time so so normally they would only sign off once the new they
release a block on that particular chain by kind of confirm that this chain is good that I'm building on
But now they will be also, in addition to that, be able to issue some statements about the chain to kind of finalize it ahead of time.
So it will be kind of optimistically releasing blocks and then trying to also as soon as possible finalize them.
So in some cases the finalization would take a bit longer or a bit shorter, but you'll be always sure that once it's finalized, it's finalized.
So no probabilistic finality like in proof of work.
but at the same time less work to be done than with something like tender mint
where you need to have two rounds of messaging in order to agree on a block before it's being released.
So is this another version of practical Byzantine fault tolerance or is it like a completely
different consensus mechanism?
It's different since all of the practical Byzantine fault tolerance stuff
always kind of
it's always instant
finality so basically
you know every every block is treated
as a separate kind of
consensus issue
rather than
something like NACA motto consensus
where you know
really the whole chain is treated as a
kind of eventual
consensus issue so
it kind of draws from the
from both of those things
by kind of
achieving finality
only once the kind of traditional BFT conditions are met,
but at the same time being a little bit more lenient in a way,
such as Nakamoto consensus,
by allowing blocks to be built without having to agree on every single block ahead of time.
Can you repeat the name of this consensus algorithm?
It's not named anything.
So you can have a look at Aura, which is in parity right now, and then you can look at BFT.
And, you know, so I'm working on prototyping it right now and, you know, we'll be releasing more information,
hopefully getting the community involved in some of the research work as well.
Okay, so Folka.Dar the project is inventing both a new consensus mechanism and a mechanism
for...
So that might not be actually the case.
We could, you know, it could be start working straight away with something like
hendermint or with something, you know, like our route, we just want to make it, you know,
as good as possible.
And if we think there is some kind of nice way to improve it, and we will, the way it will
be built, it will be upgradable.
So again, this is just one example strategy that we are providing for the, you know,
for the validators to communicate with each other,
while actually the mechanism will be described in the logic
that is on the relay chain that can be changed as the time goes on.
So it's a little bit maybe akin to what...
Yeah, definitely something like Casper, for instance,
also the aim is to have it implemented.
as contracts.
So once the
PocaDot network is launch, I guess the
assumption is that there will be
developers that will want
to build
parachains on top of
Pocod. So, for instance, one could
imagine a Zcash implementation
on Pocod, an Ethereum
implementation on Pocod,
or even any type of
blockchain, really.
Now, would it be possible and how would this work if Bitcoin or the existing Ethereum blockchain
or the existing ZCAS blockchain would want to interact and transact with these sort of natively
compatible polka dot relay chains or a pair of chains, sorry.
So there is, for the existing chains,
there will be those bridges, which I was talking about before.
And each bridge will be a bit different for each kind of existing chain.
There will have a number of similarities, but each chain has to be treated separately.
And basically for Ethereum, it will be fairly straightforward.
So there will be a particular.
contract on the Ethereum network that that will be like a breakout contract which enables
Ethereum contracts to issue messages onto the polka dot network and then communicate with
other with parachains on the polka dot network with with Bitcoin it will require some
protocol alterations so in particular snore signatures which are actually on the roadmap of
the of the Bitcoin project so so it might be
that will be implemented.
For other chains,
it all depends on a particular chain,
what sort of capabilities it has.
But there will be usually some account
or a contract that enables you
to issue messages out of that parochain.
And then the messages that are being received
will be injected as simply as transactions
into that particular parochain.
So any other parachain will be able to construct a transaction that then is issued on that parochain.
And of course, you know, another way is just to simply, you know, we've been speaking with Zcash company to, for instance, implement a parachain with similar capabilities that is more tightly coupled with PolkaDOT.
So then, you know, you can leverage the same functionality if you are not actually very tight to.
to that independent chain.
So I was thinking about something earlier
and I want to bring it up at this point
and that is sort of the economic
the economics at play
in blockchains. And so if you think
about the network effects that
are required for
blockchain to be successful,
that is very much dependent
on that blockchain sort of living in a silo
as opposed to another one. So if Bitcoin is very successful, it's because a lot of people are using it.
There is a security model that is robust and that is trusted, and people are building applications
and businesses and things on top of that. And that's very much true for Ethereum as well. And
they sort of compete in their own, in their separate silos. But as soon as you create an interoperability
layer, my feeling is that some of those assumptions kind of go away. So if all of a sudden we have
an Ethereum implementation on Pocodot, and that implementation provides the exact same features as Ethereum,
and all these blockchains can interact with each other, that there would be some consequences to
how we perceive the value of these of these blockchains.
I want to know if you thought about this, if you agree with this, and how do you think this
this new ecosystem will play out.
Yeah, I think it's a good point.
Like a lot of momentum behind the blockchain spaces due to those effects.
I think, I think, of course, there will be one effect, which is, you know,
the relay chain by itself doesn't have any functionality.
So really, you know, adding the capabilities of the different parochain
will make people want to use Polkazil.
and will make it kind of, you know, the polka dot itself will become something, something that is,
that is interesting to people and they want to potentially get involved with.
So just the community will be much bigger.
It will consist of lots of sub-communities that kind of all try to work on this kind of common network.
hopefully.
The other thing is that
I think it's true of many different
industries and many different issues
of many different projects in the world in general
where, of course, by opening yourself up,
you do give up some stuff,
but at the same time you are able to leverage
if there is a group of people, it's like prisoners,
a dilemma or in general some game theoretic dilemma
where you have a group of people that open themselves up,
then the sum of all those different things
is hopefully much bigger than any single one of those things.
So in general, I think hopefully PolkaDot will kind of unlock this
and make everyone better off by being part of the,
of the network, both from the functionality perspective, you know,
you will still, like on Ethereum, a lot of, a lot of the tokens that are being issued
don't create actually a new blockchain.
Right now they create different platforms that are running on the top of the blockchain,
you know, you don't really need all those kind of fundamental different protocols.
And it's yet to, you know, it's yet to be seen how much utility is, you know, up to a certain
case, this incentive will be there in the early days, but once we need to have some applications
on the particular para chain, then maybe some of those completely separate chains will fall flat
and won't be actually delivered much while PovCadot will be hopefully very fully featured and able to
provide everything that is needed for someone to build a good decentralized application.
So one question I had is on a high level
Like PolkaDot seems to be like part of this
This next wave of blockchain protocols
Which can be called like internet of blockchains in some form
Right like many different blockchains interoperating in some way
And giving like a total set of functionality
Is much bigger than current blockchains can ever give
So another project in this space is cosmos.
So, like, tell us how PolkaDot and Cosmos are different.
Yeah, for sure.
So, so first of all, I think that kind of from a more general perspective,
PolkaDOT is designed to be pretty low level, very generic.
So one outcome of that is that the transactions that can be related between different chains can contain any sort of data.
They're not limited to just token transfers.
And it's very important for us not to not to make that, not to impose that it's supposed to be only tokens.
We already see some certification contracts, let's say, or maybe some identity services,
up and although all of those require general data transfer and we'll see what comes out later.
So the kind of general messaging focus is something that PolkaDOT brings in.
Second of all, this ability to have basically any sort of, so there are two things are linked, different state machines and the pooled security.
So something like Cosmos, it does connect different chains together,
but each of the chains has to run its own consensus mechanism,
potentially have its own set of stakers that are securing that chain.
So if you want to run a new chain, then it can be a bit of a hassle.
You need to gather a whole community around it,
and only then it will be secured.
With polka dot, you the only thing,
you can just persuade the rest of the existing polka dot community
that actually this state machine brings some utility to the table.
And then it's a little bit like deploying a contract.
So you just put this logic up there.
And then it just becomes magically a new chain.
And then it's secured with the whole force of the,
of the full stake of the PolkaDot network.
So this brings, you know, the ability to innovate much easier,
iterate on the different state machines and so on.
So I think those are the two main differences,
kind of pull security and those more general transactions.
So this means like if in the future there's both like Cosmos and PolkaDot working?
Yeah, yeah, absolutely.
If, if, if, if, if, if, if, if, if, if, if, if, if, if, if, I'm thinking in from the perspective of, like, an investor that's taking a bet, right?
So in, in cosmos, sort of the, the kind of bet you're taking is that there will be, like, many successful coins.
And because there are many successful coins, there can be, like, many successful blockchains, each very secure.
And then you can move these coins.
around in the cosmos system.
Whereas like with Polka dot, you're taking a more a bet on the other kind of future in
which you're saying there may not be a lot of big successful coins.
There might be just a few like the dot coin might be very massive market cap and you don't
need other coins to have big market cap.
So the dot token can have a huge market cap and it itself can secure a lot of different
change together. So for instance, in the case of in the case of of of of of of of of
customers you don't necessarily need to have new tokens for for each chain. It, you know,
there can be any sort of tokens and and existing tokens can be used for securing different
chains. It's just that it's more about gathering the communities together and the same for
on the other hand for polka dot you could have you could also have
have multiple tokens and potentially multiple protocols as well interacting with each other
and where on different para chains you also make a new native token with each para chain that
you deploy and in order to pay for computation on that para chain you need to have that that token
which is basically like deploying an Ethereum chain right with the token where you need to pay for
smart contracts right so so you could also have lot of
of different tokens on PolkaDots.
So I think, I think it's just, I would characterize this cosmos focus on maybe more, more of a very particular problem.
And like it's, I think, I think it's very, it's very good to kind of have a good solution for this particular problem of a token exchange or on independent tender mean chains.
And, you know, it can work with the PolkaD network as well.
But I think it's important for Polkao to be generic and provide at least similar functionality as well.
But yeah, we'll see, I think.
But it will be definitely that the two networks can interact with each other and both can support different tokens.
So these are not the only projects that are aiming for blockchain interrobability.
There are others.
And I presume that there will be more projects trying to achieve this sort of high-level blockchain
interoperability, right?
So this idea of internet of blockchains, as mayor was referring to earlier.
What do you think the ecosystem looks like in the future?
Do you envision a future where there is one blockchain of blockchains?
similar to like the internet, we have one internet network that is, you know, that's predominant
and that has the monopoly. Or do you see an ecosystem where there are multiple blockchains
of blockchain of blockchains running, you know, different types of networks with different types
of characteristics? And we haven't even talked about like consortium chains and, you know,
in this context and how they would interact with these types of blockchain of blockchains,
like a polka dot. What do you see in the future?
consortium chains as well.
But I think, I think, so what is important for the Polkao project is to enable, basically enable as much as possible.
And then it will be up to, up to the community that uses the technology to decide how they want to use it.
So it certainly can be, it can evolve in such a way that there is this top level relay chain.
and then there are those lower order relay chains in the polka dot network
and it's kind of all kind of ends up in a one huge clamp
that is very distributed and very parallelized
but at the same time can all kind of is under the same umbrella of polka dot
and this certainly seems to make a lot of sense
if we are able to nail down this extensibility
so varying state machines so that everyone can do their own thing
and this parallel validation so that we don't you know
there is no kind of bottleneck to this do the scalability
but at the same time because because you can you can bridge other chains to polka dot
which are kind of independent you could have potentially other chains
that also communicate with polka dot but are more independent
and this is something this is a case where
with something like consortium chains where a consortium might want to rely on the
might want to make use of the communication with other chains they might not want to
have anything to do with any tokens or anything like that but they still might
want to use some some information from the relay chain like identity and they
might want to sometimes outsource their consensus algorithm but they might
want to have an option to always step out and use their
own kind of set of authorities to maintain the chain.
And polka dot should support this sort of stepping in and out and and being connected while
separated and potentially, you know, if the community thinks it's right, maybe maybe have another
relay chain that is connected as a bridge to this relay chain and lots of other things.
So I think what polka dot enables is it enables this sort of more tightly neat community.
that is very extensible and very kind of evolvable, but at the same time, you know,
I don't think it imposes this sort of framework. I think it will be very interesting to see. And I
think we haven't seen just that much of this single, extensible network type of thing before. So,
and we see a lot of potential for it in terms of use cases, consortium and public chains.
Yeah, I mean, I can definitely, if we look at the recent history,
I think it would be difficult to see a future in which there is one, you know, one internet of one
internet of blockchains, uh, blockchain, um, that is sort of running the consensus for everything
a one. I mean, you know, just look at what's happening in, in Bitcoin and what happened earlier
with Ethereum and, uh, and the, the, the communities that are, you know, divided, uh, about,
you know, sort of mean, not meaningless topics, but pretty trivial topics.
sometimes.
So, yeah, but this sort of discussion can also, like, we are, think, pretty early stages.
I think a lot of, a lot of this disagreement could stay there, but it could be at the lower
levels in the stack, so to say.
So people might stop being concerned about some kind of, or actually might stop being concerned
about some low level things in the stack and actually be pretty happy with the utilities that
are being provided and slowly evolve some of them.
I don't know, like TCP.
or some kind of low-level protocol, but then still, you know, have wars about some, you know,
how the state machine should be changed or like where you should migrate your stuff and like
all sorts of other things.
So I think we'll see how the whole space evolves.
I think we are early with maybe, maybe it is the case that it will kind of coalesce at one layer
on that.
You're very optimistic because I can see, you know, the people, you know, like people in the
community is definitely fighting over things like.
you know, like low level functionality.
But, you know, I guess we'll, we'll see.
Let's not put our money on that.
So let's briefly talk about the Web 3 Foundation.
So we mentioned earlier, you're a council member there.
Can you talk about the Web 3 foundation and what its goal is with regards to Pocodon?
Yeah, absolutely.
So with Pocadot, we want to make sure that the wider community is,
is being built around it
and PolkaDot
is just one part of the wider
Web3 vision idea
and by itself
it won't enable people to build
decentralized applications that are very useful
I think it will provide
some useful tool but
it won't provide everything
so the Web3 Foundation
has been established
to promote and support the development of different Web3 technology.
So the first project is PolkaDOT, but there is a number of different projects.
We are looking at the project called Matrix for distributed messaging, and then, of course,
whispers, swarm, and potentially other technologies later down the line,
and supporting different groups.
So the foundation itself won't be doing any of the work.
It will be just supporting external groups that do the work.
There will be technical counsel in the foundation
to kind of figure out what are good things to pursue,
what kind of research should be done.
So there will be a bit of research done at the Web 3 Foundation
that supports all the people that implement stuff.
But also research will be funded at universities,
that contributes to the work that the people that implement staff are doing
because often as we found, for instance, at parity,
we don't have that much time to research stuff
and it will be great to kind of point someone in the direction
or we are curious about that and then someone do a bit of research
that then we can leverage to build some cool technology
for people to build on top of.
So that's the Web3 Foundation.
and yeah hopefully we will be talking more about it and have some more information available about it as the time goes on
and I presume that at some point there will also be some sort of funding period do you can you just not to go into details but can you tell us about when that that will be
yeah so we are planning to we are planning to do it um like hopefully in the in the in the next month we'll see
how it goes. But basically it will be related to the polka dot project. There will be the dots,
which are the staking token in the polka dot network will be distributed. And if you go to polka dot network,
you can see a bit more information about it and you can subscribe yourself to kind of keep posted.
the most of the tokens will be distributed and fund the development of Pocadot, but also of
some of the other projects supported by the Web3 Foundation.
So where can people find you?
Where can the communities of gather around Web3 and Pocodot?
Yeah.
So we are looking out for different types of community members, so definitely people that are
working on new blockchains, reach out.
We would be very interested to kind of think
how we could work together to make your chain part
of the PolkaDot network.
You can reach out to me at Peter at Web3.Foundation
or go to the channel on polka dot network
where most of the team hangs out.
Or if you are more interested in the technical side of things
and actual polka.com implementation,
have a look at polka.com.io.
It's a separate website which deals more with the current progress of the project.
It outlines the roadmap.
And also there is a link to a more technical chat
about the paper and the protocol economics and so on.
All right.
Well, Peter,
thank you so much for coming on the show today.
It was a fascinating discussion about Pocodot
will be looking forward to hearing more about that network in the future.
And then hopefully, you know, it will be very successful
and a lot of different pair chains will come out of that.
I'm looking forward to,
we didn't really get to talk about this very much,
but I'm looking forward to seeing how this can be used
or leverage as a general consensus as a service for, you know,
things like enterprise chains.
and consortium chains and things like that.
So looking forward to hearing more about Pocodot and good luck on the funding.
All right. Thanks.
And thank you to our listeners for once again tuning in.
We are part of Let's Talk Bitcoin Network.
You can find this show and lots of other great shows at let's talk bitcoin.com.
If you want to support us, there's lots of ways you can do that.
You can leave us a tip.
The tipping address will be in the show description.
And you can also leave us a review wherever you get your podcast, whether that be iTunes, Stitcher or anywhere else.
So thanks so much.
And we look for being back next week.
Thank you.
