Kevin Sekniqi and Emin Gün Sirer - Using Avalanche for Pre-Consensus on Nakamoto Consensus Protocols
Watch on YouTubeVideo summary
The video presentation by Kevin Sekniqi and Emin Gün Sirer explores a novel approach to enhancing Nakamoto consensus protocols, such as Bitcoin, by integrating Avalanche for pre-consensus validation. The core argument is that traditional Nakamoto consensus relies entirely on proof-of-work chains and requires waiting for multiple block confirmations to achieve transaction security, which becomes mathematically impossible to guarantee against double-spending attacks if the network approaches fifty percent Byzantine fault tolerance. To address this latency issue without compromising security, the speakers propose layering an Avalanche-based pre-consensus mechanism atop the existing proof-of-work chain. This hybrid model allows a majority of miners who have soft-forked to the new protocol to reach agreement on transaction inclusion within one or two seconds using Avalanche's gossip-based sampling, effectively providing near-instant finality for specific transactions while maintaining the underlying security guarantees of the Bitcoin network.
The technical implementation leverages Avalanche's unique ability to achieve consensus among thousands or millions of nodes with minimal communication overhead and without requiring precise node membership lists. Unlike classical Byzantine Fault Tolerance protocols like PBFT that need exact knowledge of all participants, Avalanche allows for flexible thresholds where a configurable percentage of agreement—such as sixty percent—is sufficient to commit a transaction. The process works by having miners quickly sample their neighbors' views on whether a transaction should be included; if the majority agrees, the node adopts that view and propagates it, converging on a single decision in logarithmic rounds. This mechanism ensures that clients can verify transaction inclusion themselves by sampling the network similarly to miners, reducing reliance on any single miner and preventing censorship, as the protocol only intervenes when conflicting transactions exist for the same inputs.
A significant portion of the discussion addresses practical concerns regarding incentives, identity verification, and network robustness. The speakers clarify that participation in the pre-consensus phase is tied to proof-of-work activity, ensuring that only entities contributing hash power can influence the consensus, though new miners can still participate immediately upon joining the network. They emphasize that this system does not disable standard mining practices like empty blocks or SPV mining, which remain valid for filling block space and maintaining network health. Furthermore, while the current design utilizes proof-of-work to identify miners, the architecture is flexible enough to support other anti-censorship mechanisms like proof-of-stake in future iterations if desired. The presentation concludes that this approach offers a tunable balance between speed and security, allowing networks to optimize throughput and finality without sacrificing the decentralization and censorship resistance inherent in Bitcoin's ecosystem.
Read the full video transcript
[Music]
so I hope everyone can hear me I just
want to say a couple of words and hand
it over to Kevin for the technical part
of the presentation but it's great to
see you guys it's absolutely fantastic
and we're sorry we can't be there and
but but we do the best we can do the
next best thing we can do is wake up at
5:00 a.m. in our little little town in
upstate New York and chime in to your
lovely Italian town so so it's great to
be here and so I wanted to say one
critical thing because as you well know
you know a certain person is at least
shadowing me on me wherever I go and
keep saying things like you know I mean
how how was secret to Bitcoin or
whatever so so we are talking to you
today as Avalanche people but at the
same time we're not just Avalanche
people we're also animal cell blocks
throughout person and blocks throughout
the very existence for that system is to
target and provide the relay network for
Bitcoin cash that's how it came about I
was worried that the relay network was
going to get shut down and Bitcoin cash
might get Bannen
and I'm also and Kevin also as well is
it scientist or Walt so we're all
scientists and what's the most important
thing is the truth and that's exactly
what led us onto this journey and well
no I think I was people coming out with
this information campaign from various
various factors in the in the
cryptocurrency space way before the fork
and way before anything else so so we're
very very sympathetic making this this
particular approach work and I hope but
if you don't Kevin will give you an
overview and we'll talk about an
interesting deployment scenario for
avalanche which is how do we take it and
combine it with a power coin this was
one of the very first things we've
talked about when the idea came to us to
deploy it in
things and and so Kevin will do the the
actual technical presentation sounds
good okay thank you guys for having us
so again it is quite early out here we
are a little bit disoriented so
apologies if we we sound a little bit
off I will try to speak slowly just so I
can get the words to go through the
video and nothing kind of breaks off but
let me see now to share the screen give
me one second okay
allow okay can you guys see the screen
fantastic okay so so the the talk will
be really exactly what you just
mentioned using Avalanche for pre
consensus on Nakamoto consensus based
protocols now a little bit of an
introduction
Nakamoto consensus again is the security
is 100% dependent on the underlying
proof of work chain by definition about
construction and you know despite what
other assumptions you may make the
probability of safety of a transaction
is really exponential in the number of
confirmations no matter what you do if
you do not use any further new
modifications then you're really relying
on the number of confirmations in the
chain to to guarantee security and in
fact depending on the Byzantine presence
in the network this number of
confirmations can actually increase and
I had this brief Twitter post about this
where at as you approach 50 percent of
the Byzantine presidents the number of
confirmations required to be safe
against the double spend actually which
is asymptotically as 50 percent there is
no known solution you need to wait for
an infinite number of blocks before you
can accept a transaction that's the
theoretical result of Nakamoto consensus
so is zero so basically zero cough
implies by mathematically by the
protocol itself zero probability of
safety does this mean that zero cough is
technically impossible in all scenarios
well no not quite
under basic and reasonable assumptions
is actually quite possible and here's
what we're going to talk to you about
and
at a very high level we're gonna layer
the current Nakamoto transaction
commitment model with a mechanism really
that provides some sort of freaking
sense this is a weird word but it's the
closest I can think of it grew choirs it
provides some sort of a pre consensus it
requires a soft fort with majority of
miners adopting the protocol but that's
okay because we believe that this is uh
the it's very reasonable given the
benefits that you're going to get now
this is one construction that we gonna
provide and it's not necessarily the
only one using avalanche in fact you can
further you improve the protocol the
word provide you're gonna provide you
today to also increase throughput but
predominantly were focused on zeroconf
confirmations for sure for certain
transactions in the system and then
future work will we'll maybe talk about
throughput as well okay so what is the
current Nakamoto commitment model a
transaction by a user is sent to a bunch
of miners eventually the miners will
join in the transaction and then place
it on the blockchain
eventually after a certain number of
confirmations the the client can see the
transaction is very deep enough and the
client can commit this transaction now
the way you would adopt or rather go
from a proof of work based system to a
system that requires some form of
identity management is you create a
basically a a pre agreement soft pre
agreement on the set of miners by a
signaling whether miners will accept a
certain transaction or not and the new
model basically looks like so the
transaction is sent to the miners the
miners amongst themselves first very
quickly within a few seconds are able to
decide whether this transaction will be
included in the next block or not and
remember the assumption here is that the
the majority of the miners have soft
forked to to use this new protocol and
then the client can immediately if the
client sees the virtual set of
signatures from the from the the client
from the website the miner is that this
rejection will be included in a
particular block let's say block n
then the miner the client immediately
accepts eventually the transaction will
be placed on the blockchain and because
the miners that are signalling
commitment are greater than some
percentage majority and you can set this
up as high as you want for example you
can say that 60% actually agree on this
and this is verifiable using avalanche
the higher this percentage agreement is
more likely the transaction will be
placed on the blockchain in the
particular specified block using the
protocol if you get close to 50% there
might be some you know attack that can
happen for some period of time but the
higher it is and this is measurable then
the more sure you are of the transaction
being committed in the in the blockchain
so this this middle part here how do you
achieve basically almost nearly
instantaneous commitment without using
crazy new methodologies in a network of
potentially thousands or even millions
of miners and remember you don't have
like suppose you don't have tools here
you have individual mining nodes well
the basic idea is you use avalanche and
what is avalanche it introduces
fundamentally new mechanism for building
BFD protocols so it's not really an
incremental improvement over classical B
of T s like p b FD and temperament and
ripple and and etc even algorithm for
example it exploits a mechanism inherent
in epidemic networks epoch where simple
gossiping pulls and pushes in the in the
network actually provides a strong
toppling effect of where everybody moves
over to a particular proposed value so
no sample almost a nearly constant size
set of neighbors and again nearly
because it's not exactly constant but
it's bad for all practical purposes is
basically constant and then repeat the
step for a logarithmic number of routes
and eventually after this a number of
messages we all converge to the same
proposal very basic visual
representation of how this works so you
have this node over here it doesn't have
a proposal yet is in black but these
nodes that I mean its neighbors have
red and blue it samples these neighbors
and the symphysis simple majority and
then it becomes red itself and basically
this process is repeated in parallel
amongst all notes and it turns out that
this sort of mechanism is robust enough
that again it said in just a few rounds
we're all going to converge in the same
value so it's extremely fast and
efficient and lightweight using the the
core mechanism you can actually amortize
the cost of the logarithmic number of
rounds into just a single sample for
every single transaction so basically
you get a total cost of oh of one per
transaction in the system now remember
that this personal transaction
complexity is still unchanged we're
still only amortize the cost but
effectively this is what you get over
over time so what are the properties of
avalanche is extremely fast and
lightweight as I said it brings around
complexity to o of one scales to
thousands or millions of nodes and then
lastly it does not need precise
membership this is a very important
feature that differs from more
classical-style protocols like pbft
where you know you have a hundred and
you require it precisely to know exactly
these 100 nodes and then you require a
specific threshold to agree in this case
for pbft 2/3 on a proposal in avalanche
no such requirements you can have
discrepancies in the in the views of the
of the nodes after you can actually set
yourself the required threshold for
agreement that you would like you can
set it to be 60% 70% 80% and so on and
the higher this threshold is it will
impose a little bit of round complexity
to the system and message complexity you
will require a little bit more work to
do but still it's gonna be very fast yet
you're gonna have much much stronger
security guarantees so it's a it's a
very tunable knob that it provides in
comparison to other products so average
for pre consensus the protocol very high
level the client sends the transactions
the miners
within one or two seconds the miner
either approves the transaction for
block n or rejects and the client itself
does not need to rely on a single miner
it can actually do this verification
itself it samples and network exactly
the same way that the miners in the
network would and then if a proof the
transaction will eventually appear on on
block n some transactions will not be
included in block N and the reason is
because well we have only limited
throughput per block and of course if
you have you know thousands of thousands
resurrections coming for block n snow
Berman will not be included in blocking
and therefore will need to wait for
confirmation in block n plus 1 and so
these kinds of transactions will not get
nearly instantaneous commitment so they
were required waiting into the next
block
ok so conclusion we have incomplete but
foundations are there avalanche provides
latency in one or two seconds throughput
is completely unaffected implications is
that not all transactions get instant
confirmation so how do we get to a bit
to get all the transactions to get
instant confirmation we basically have
to work with the throughput to get the
throughput to to go much higher now that
will require unfortunately more soft I
am thank you for that yeah I do have a
question like roughly if you if you look
currently at we assume very efficient
block propagation and basically the
total amount of bandwidth that we use
for a transaction is only the size of
the transaction plus the size of an
inventory message per connected pair for
for everyone and I'm zooming here by
there's got to be more cryptographic
data needs to be sent back and forth
what would be an estimate of the total
amount of extra data requirements that
were looking at per transaction
so I actually could not hear you quite
well can you maybe I got it I understand
it is the amount of extra communication
requirements as
right yes yeah so um so I think it's
it's simple to say that it's it's it's
quite modest so um
avalanches so there is some here let me
try to give you a very short readout of
what Kevin said so deep down what you're
suggesting is there are sort of certain
ways in which people think Bitcoin works
but it doesn't work that way Bitcoin
really works by electing somebody and
having that guy dictate and Kevin's
saying look before that face why don't
you have the guys who mine participate
in a short very short big consensus
protocol and in that protocol select
know the content that's going to go into
the next block and the way by virtue of
the way avalanche works those people
will have to be miners and it's going to
be a democratic process every miner gets
gets a voice and they pick which cut
transaction is going and that particular
process so there's a woman catch but
maybe may or may not have community
Avalanche is really designed for really
large networks and the Bitcoin miner
network is rather small so I can give
you a numbers for really large networks
and maybe Kevin can give you a number so
very very small networks but large large
networks let's say you have thousands of
nodes and you want to reach consensus
what you have to do with avalanche is
essentially sample very small sets say
five nodes or so for a very small number
of rounds say 13 through 15 or 17 or
really large network so that can suit
something I think the numbers that I
view 17 gives you like 50,000 nodes and
and 13 gives you a thousand will do
something am i right Kevin speaking yeah
it goes very little yeah yeah grows very
little so the number of messages sent by
a node to achieve consensus among a very
large group here is very very modest you
know asking everyone else so it's not
like every miner is talking to every
other minor your sub simple you're
creating
so so imagine that you're in a stadium
of 50,000 and you're ascending 85
messages right that's what 5x5 by 17 is
85 so 85 minutes it just gets you that
three constants on that consensus that
you need so it's like you do per
transaction and we need to do that yes
there we go and it is this kind of per
transaction right for the for the one
who wants to know the contents okay just
for my understanding we're talking about
did this difficult census is done for
each transaction but then only from the
one who wants to know the certainty in
this model yes you can certainly batch
transactions hours for simplicity as you
know saying persons action only but
certainly you can batch transaction
there is nothing preventing you from
batch enough
okay yeah thank you can you do something
where it's actually done only when you
have a conflict in transaction I don't
see why not but then you don't quite
know when the converter session will be
detected in network that there's no
specific and yeah so all right so but it
seems like yeah easy to it on a per
transaction and some vendor yeah so
thank you very much for the talk my
question is more about how you are
thinking about knowing that it was a
minor membership so how do you prevent
people that are non minors from doing
the vote and how do you tie the votes to
guarantee you is actually a minor that
actually provided the vote so that's a
very interesting question and to repeat
I believe the question is you guys are
coming through a little muffled so I
heard it is that you're asking how we
prevent people who are not minors from
coming in and messing up the entire
process so that's a great question very
very insightful question the lovely
thing about having the
for work blockchain behind the scenes is
a it gives us security right things that
are committed there you know people
understand that process by now people
are committed in Bitcoin to the security
of the blockchain the effort that went
into mining those blocks they understand
the energy that went in that also gives
them a sense of value as well for
psychological reasons and so that's all
great but be it also does something else
you tell me I'll just go identify those
nodes that have hash power so they're
simple thing one can do is is of having
mine in the recent past so if you have a
power and you've named a block in the
last same month then you get to you get
to be a miner or the definition of
participating in the pre consensus
protocol now one if one wanted to make
noise and create sort of the reason to
reject this idea one can say oh that's
not Aryan what about me one day one then
I can't participate
well that doesn't prohibit you from
actually participating in the mining and
earning of reward so that is suppose I'm
a brand-new miner and I just turned on
my machine can I have no no no blocks to
my name whatsoever okay then I'm still
good to listen into the pre consensus I
still know exactly what you mine and
when I do mine things in big blocks will
still be accepted and as soon as I have
that first block and I have the
necessary food for being able so that
makes a lot of sense when there's I'd
love to see a speck on exactly how they
would notify that they had created that
block in the past but that's exactly
what my thought process was so as you
get more specs on exactly what that
looks like I would love to see those
last sentence I was just saying that
when there's an official specification
on what the miner needs to do to prove
that his mind a previous block I would
be very interested in the research on
how that would actually be implemented
so when that is available feel free to
reach out to me right love to look at
yeah we don't have an official spec yet
yeah there's no spoken over yeah I want
to very carefully emphasize this the
nothing that Kevin described it requires
a sense of identity for minors and and
also there is absolutely no censorship
vector here so a minor and not sensor
transaction just because like if I'm
spending some money to the Alice then
it's not the case that the minor can say
no through this the Avalanche process
will necessarily okay that turns
actually yeah this is the decision
process can only pick between
conflicting transactions so if I smell
the bubbles then that's the only time
that the miners get to stay red versus
blue so if I spend the palace and to
bomb the same ugh so that's when this
process gets yes to have some decision
pattern
otherwise it's the default process you
and ask people they say yes I know that
transaction and I have done that at that
point they accept it so property of the
flag there's no leader to to elect the
transaction at any particular block if a
transaction is available to be placing
in a block it will be placed in the
block and every the network will will
converse with it right so I'm I have to
question the first one is can you talk
about the the incentive structure a bit
that arise when a miner decide to
disregard Avalanche and mined a block
that you know contains something that
doesn't comply with what was decided by
other land so what do you do do you
often the block or do you accept it
anyway or like what what's happening
there so that's the first question the
second one is have you considered two
other set of participant in there such
as I can imagine
big-big payment processor or large
exchanges or like generally big business
in the space would be interested in
participating in that consensus
algorithm so I think the first question
was what happens if a miner decides to
mine a block that goes against the
Avalanche protocol yes yes right so
under the assumption that the the set of
miners that do such a thing are minority
they will be orphaned over time of
course if it's like 50 they will never
be or you will always have like
theoretically this is this equal
generation of blocks but if it's a
minority then it will be orphan pretty
quickly so I think I think the simple
answer is this this should be a
sophomore and and if it's a soft fork
and people who don't obey the protocol
will get their blocks Ortman now we can
solve it we can make it a soft soft look
or something like that
soft cubed one in the sense that there
are if you mind if you mind a block and
there are transactions in it that the
Avalanche or whatever the pre consensus
protocol has not seen then no harm done
and that's okay too
it's only a problem if if the pre
consensus protocol indicated to the
world that Elvis was going to get paid
and then you went ahead and mining the
block that's the opposite in that case
nor a malicious miner and you've now
mind the payment for Bob instead of
Alice and everybody else was expecting
for the last ten minutes that now isn't
going to get depend so you're doing
something really hokey and bad in that
case the hash majority should not
respect your block and say look this was
a you did not do this properly and we're
going to have to to reject this and go
back to our strong guarantees for zero
comp transactions yeah and what was the
second question by the way I wasn't able
to follow okay yeah so first question
great answer
the second question is so you need a
civil resistant mechanism for avalanche
to participate in avalanche and you guys
are proposing to use proof-of-work for
that so that miner can participate and
what I wanted to ask is have you thought
about using different mechanism such as
maybe coinage or or whatever else so
that other big network participant can
participate so I can imagine that a
merchant processor like bit pay for
instance would be interested in in
participating in such protocol so the
question is are the mechanisms besides
proved of work to use for civil yes
protection yes well I mean there are
proof of stake mechanisms but not
necessarily that you wouldn't eat them
in such a case you could potentially use
the underlying proof of work mechanism
or the chain to get a sense of who the
miners are or but differently yes
absolutely there are many many different
ways of doing anti-civil mechanisms in
the other coin we are building we are
exploring proof of stake but if one
wanted to use this with Bitcoin - the
way to do it would be to take advantage
of the lovely lovely blockchain and how
mechanism underneath so chains like
steak and barley and you switch the lava
cone it has a bunch of other benefits in
particular there is no energy
expenditure you get rid of the miners
entirely and you know and there was no
leak of value from system etc etc I
could go on to describe why of a coin I
think has some amazing futures as well
but Bitcoin - good they love the mining
it's like the users are you know I
understand it this is what what people
like and cutting out the miners I think
is the non-starter for this particular
application
if you wanted to use avalanche for
pre-owned census you would take
advantage of the existing complication
okay thank you we're moving on to one
one final question I'm just curious if
this would effectively kill as PV mining
so I already can't hear your sorry can
you speak up a little bit I'm sorry
would this disable SPV mining I think
would it be impossible to mine empty
blocks III cannot I cannot hear I think
the question without empty blocks Kevin
oh okay well okay yeah go ahead would
this disabled and blue mining empty
blocks are you asking are empty blocks
allowed to be mined yeah certainly sure
if that that means the empty
transactions are required to be placed
in the block and like agreed upon by the
Pegasus's I think in general all right
there are many good reasons to allow any
blocks so miners have crashes their
databases get out of sync they find
themselves in a bind they are not going
to turn off the you guys have anybody
who's ever rebooted a miner knows how
stressful that is for the machinery as
well so it's a dumb idea I think to try
to try to get rid of them and and I
think it's it's it's okay to have
somebody mine an empty block that
doesn't cause a merchant to lose money I
agree you wanted to if you wanted to
view that generally we must help the the
confirmation process they help the
security of the network SPV mining is
something I'm a Korean fan of but it's
actually good for the network so so all
of those things are fine and I don't see
a big problem with them in some circles
sometimes people get really upset and
that I think in a Bitcoin cash domain
one does have to worry about some kind
of a bad my mother who persistently and
a very long time
empty blocks and if you guys are worried
about that one could potentially come up
with mechanisms to fix it that will be
in the conference of recompenses
mechanism so I'm happy to have that
conversation as well but it has very
little in fact nothing to do with pre
consensus so fixing that that issue or
that vulnerability if you will
yeah it's it's something we can
contemplate luckily it's something we
haven't seen even or Bitcoin cash is
only what six percent of the Bitcoin
measure we can come we can explore it if
you like but it's a completely
independent of n village yeah and to
kind of give like summarization what the
precursor gives you is for search
transactions whether that transaction
will be placed in block and or not and
it gives you quick finality for that
question there might be other empty
transactions place in the block and
that's okay because you don't have to
agree on those but as long as you agree
on the actual transfer of ownership
transactions that's fine yeah one second
what do you mean with empty transactions
what's that mean just fill up the block
so you can have a l'espace Bob one
transaction in the block four block in
and the rest can all be empty if there's
no more complications you guys have to
understand that Kevin is this kind of a
mathematician so yeah the standard
terminology so Kevin everything such
thing as an empty transaction okay well
I'm just saying you can fill it up with
this is that yeah yeah I got it got it I
got it
okay okay thank thank you very much
again to the to the two of you for
getting up this early in the morning and
should we give them around once again
I love you guys enjoy Italy
thank you thank you for that but thank
you bye guys
[Music]