Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 7E9EA258 for ; Thu, 15 Oct 2015 15:12:45 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-oi0-f45.google.com (mail-oi0-f45.google.com [209.85.218.45]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id D93F21ED for ; Thu, 15 Oct 2015 15:12:43 +0000 (UTC) Received: by oiar126 with SMTP id r126so47723083oia.0 for ; Thu, 15 Oct 2015 08:12:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=bMFQhmdCRIFg4gPC1X16U5AOG1jeGXtCisQ/icYntH0=; b=qtYLEIstFdJFry9qYhslXkK7fbYr1LX4fvznil3Pde0/OJwPnbSp+hc6TXTwqRQyvQ mLsyvoTf8NpMLVn6zSmkv1ntOwMcRlwcBDVKt2KiWYg/1YJyQe9Uq+6kG+Eh3YyaTA51 vO5+RtWfWn85YiBe8FMgUmSHbElaFqh/6UsvvTHaKI1k+b4liITpNb1LhtmU2DiRPVar 54Hm8d91OEx3VUIi3F1p00ccBxMzHS/PZCBeFdjzAVHTBH03cpt2DdvyYtikQqZFXmyF T2dZqpbfN3J0h1fMvYSRdbOmr4p5TjQ4JF9DrJdFkaT8ExNkbjf03ZdyKpkvfzC6t6JP qlZA== X-Received: by 10.202.81.210 with SMTP id f201mr5248881oib.116.1444921963050; Thu, 15 Oct 2015 08:12:43 -0700 (PDT) MIME-Version: 1.0 Sender: stanga@gmail.com Received: by 10.182.104.164 with HTTP; Thu, 15 Oct 2015 08:12:23 -0700 (PDT) In-Reply-To: <561F6852.8060001@riseup.net> References: <20151014182055.GC23875@mcelrath.org> <561ED55F.2000506@riseup.net> <561F6852.8060001@riseup.net> From: Ittay Date: Thu, 15 Oct 2015 11:12:23 -0400 X-Google-Sender-Auth: RyDjVvRXEqRx5mtrlFUeftb2aGw Message-ID: To: odinn Content-Type: multipart/alternative; boundary=001a113b106855fc090522261c8f X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: odinn via bitcoin-dev , Ittay Eyal , Bob McElrath Subject: Re: [bitcoin-dev] Bitcoin-NG whitepaper. X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Oct 2015 15:12:45 -0000 --001a113b106855fc090522261c8f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Odinn, I guess to answer we should separate pure-NG from the hypothetical overlay-NG that runs on top of Bitcoin. For pure NG one still has to set a transaction bandwidth limit due to bandwidth and storage limitations of the individual clients. This rate can be arbitrarily high with NG without compromising protocol security. With overlay NG you cannot run above Bitcoin's bandwidth because all clients must agree on the ledger, so different clients cannot run at different rates. You could do two things: 1. Significantly reduce observed latency (time to first confirmation). Users get better confidence as more miners adopt NG. 2. Increase the bandwidth once everyone is on board. As for privacy - I don't see why NG would change things. Such privacy schemes are only concerned with the transaction DAG. NG does not touch this structure. Am I missing something? Thanks, Ittay On Thu, Oct 15, 2015 at 4:48 AM, odinn wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > So, there could not be, for example, a user decision to activate it? > (versus not activate it)? I'm wondering if something about this can > be boiled down to allowing the user to make a choice on the matter > (turn it on and off). In Bitcoin-NG, the protocol as follows (as > described in a general overview of it): every 10 minutes, NG elects a > 'leader,' who then vets future transactions as soon as they happen. NG > approach supposedly can run as fast as the network will allow. > > If this is the case, and if NG functions without major hiccup, > shouldn't a user (of Core, for example) be able to be given the option > to choose between: > > (a) being limited by the blocksize and block interval, or > (b) running out as fast as the network will allow (NG)? > > The other questions I had pertained to privacy. How would this scheme > affect users who would be trying to do things like stealth or > confidential transactions? > > Matt Corallo: > > Huh? No... This is not a Bitcoin Core issue, it is a Bitcoin > > protocol one and should be discussed here, not on github. I really > > appreciate Ittay and Emin's efforts in this space and their > > willingness to work with the Bitcoin community on it! It seems it > > still needs some tuning, but seems like if the pool-mining issues > > were resolved it could make block relay times irrelevant, at > > least. > > > > Matt > > > > On October 14, 2015 3:21:19 PM PDT, odinn via bitcoin-dev > > wrote: This (Bitcoin-NG in > > concept) could be done as a (issue and pull request process) to > > Bitcoin Core itself, amirite? It seems like it would provide an > > interesting issue to open and have healthy discussion on both > > mailing list and github, adding the caveat that it would be at the > > user's option. Thus if something like Bitcoin-NG did come to be it > > would be something more like a feature that the user could > > activate / deactivate from within Core. I assume it would be > > default off, but with the option to utilize. Code would thus be > > available to others as well. I am not saying yea or nay on it, > > just that it seems like this could be done. > > > > Some notes: > > > > Once a node generates a key block it becomes the leader. As a > > leader, the node is allowed to generate microblocks at a set > > rate smaller than a prede >ned maximum. A microblock in > > Bitcoin-NG contains ledger entries and a header. The header > > contains the reference to the previous block, the current > > GMT time, a cryptographic hash of its ledger entries, and > > a cryptographic signature of the header. The signature uses > > the private key that matches the public key in the latest key > > block in the chain. For a microblock to be valid, all its entries > > must be valid according to the specification of the state machine, > > and the signature has to be valid. However, the microblocks, it is > > said, don't affect the weight of the chain, because they do not > > contain proof of work. It is assumed by the authors of this model > > that this situation is critical for maintaining incentives here. > > > > The questions that then begin to emerge to me are how is this > > information managed and protected? The headers, thus containing > > reference(s) to previous block(s), current GMT time(s), > > cryptographic hash(es) of ledger entries, and cryptographic > > signature(s) of the headers, so forth, and other information. Can > > the Bitcoin-NG scheme be designed or implemented in a manner which > > supports Stealth sends, Confidential Transactions, or similar > > privacy measures? Or is this something which cannot be answered at > > this time? > > > > Emin G=C3=BCn Sirer via bitcoin-dev: > >>>>> So it seems to me that all I need to do is figure out who > >>>>> the current > >>>> leader is, > >>>>> and DDoS him off the network to shut Bitcoin-NG down. > >>>> > >>>> Good point. If NG is layered on top of Bitcoin, we'd retain > >>>> all of Bitcoin as is. This would confer all the benefits of > >>>> Bitcoin's retrospective blocks, as well as add the ability to > >>>> mint microblocks with low latency in between. And despite the > >>>> phrase "the leader," the actual leader in NG is a key, not a > >>>> specific node. That makes it possible to deter DDoS attacks > >>>> by dynamically migrating where in the network the leader is > >>>> operating in response to an attack. Finally, DDoS attacks > >>>> against miners are already possible, but they seem rare, and > >>>> I suspect it's at least partly because of the success of Matt > >>>> Corallo's high speed bitcoin relay network. Similar defenses > >>>> can apply here. > >>>> > >>>> - egs > >>>> > >>>> > >>>> > >>>> On Wed, Oct 14, 2015 at 2:20 PM, Bob McElrath > >>>> wrote: > >>>> > >>>>> So it seems to me that all I need to do is figure out who > >>>>> the current leader is, and DDoS him off the network to > >>>>> shut Bitcoin-NG down. > >>>>> > >>>>> This is a significant advantage to bitcoin's ex-post-facto > >>>>> blocks: no one knows where the next one will come from. > >>>>> The only way to shut the network down is to shut all nodes > >>>>> down. > >>>>> > >>>>> Emin G=C3=BCn Sirer via bitcoin-dev > >>>>> [bitcoin-dev@lists.linuxfoundation.org] wrote: > >>>>>> Hi everyone, > >>>>>> > >>>>>> We just released the whitepaper describing Bitcoin-NG, a > >>>>>> new technique > >>>>> for > >>>>>> addressing some of the scalability challenges faced by > >>>>>> Bitcoin. > >>>>> Surprisingly, > >>>>>> Bitcoin-NG can simultaneously increase throughput while > >>>>>> reducing > >>>>> latency, and > >>>>>> do so without impacting Bitcoin's open architecture or > >>>>>> changing its trust model. This post illustrates the core > >>>>>> technique: > >>>>>> http://hackingdistributed.com/2015/10/14/bitcoin-ng/ > >>>>>> while the whitepaper has all the nitty gritty details: > >>>>>> http://arxiv.org/abs/1510.02037 > >>>>>> > >>>>>> Fitting NG on top of the current Bitcoin blockchain is > >>>>>> future work that > >>>>> we > >>>>>> think is quite possible. NG is compatible with both > >>>>>> Bitcoin as is, as > >>>>> well as > >>>>>> Blockstream-like sidechains, and we currently are not > >>>>>> planning to compete commercially with either technology > >>>>>> -- we see NG as being complementary > >>>>> to both > >>>>>> efforts. This is pure science, published and shared with > >>>>>> the community to advance the state of blockchains and to > >>>>>> help them reach throughputs and latencies required of > >>>>>> cutting edge fintech applications. Perhaps it can > >>>>> be > >>>>>> adopted, or perhaps it can provide the spark of > >>>>>> inspiration for someone > >>>>> else to > >>>>>> come up with even better solutions. > >>>>>> > >>>>>> We would be delighted to hear your feedback. - Ittay Eyal > >>>>>> and E. G=C3=BCn Sirer. > >>>>>> > >>>>>> !DSPAM:561e98cd301391127216946! > >>>>> > >>>>>> _______________________________________________ > >>>>>> bitcoin-dev mailing list > >>>>>> bitcoin-dev@lists.linuxfoundation.org > >>>>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > >>>>>> > >>>>>> > >>>>>> > >>>>>> > !DSPAM:561e98cd301391127216946! > >>>>> > >>>>> -- Cheers, Bob McElrath > >>>>> > >>>>> "For every complex problem, there is a solution that is > >>>>> simple, neat, and wrong." -- H. L. Mencken > >>>>> > >>>>> > >>>> > >>>> > >>>> > >>>> _______________________________________________ bitcoin-dev > >>>> mailing list bitcoin-dev@lists.linuxfoundation.org > >>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > >>>> > > > >>>> > >> _______________________________________________ bitcoin-dev > >> mailing list bitcoin-dev@lists.linuxfoundation.org > >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > > > > > - -- > http://abis.io ~ > "a protocol concept to enable decentralization > and expansion of a giving economy, and a new social good" > https://keybase.io/odinn > -----BEGIN PGP SIGNATURE----- > > iQEcBAEBCgAGBQJWH2hSAAoJEGxwq/inSG8CztwH/3kaBDCpci0WMjw9gEUybI+R > 320i/cbPHHFO0eEJgWOK0mpYXYiEyoZULRjvHBjTNTS7wUVNmKsnmZDx1n9X9OCS > hQc9yoSZejoulA0f/Sys++N5ku9KPYN9EFnHpmgTtV7OW7aD8L66PCtiAOhNy7WD > T75eXjQvhWCCId1C3lvIzB6X1qTdK1gGMjNHzv49FP6RJDXa7RB7ceKrHwrXQ8J/ > kbQvwOjfmGbfDZb0tSvlNKT05s4CWW6TzsUdkg5QfMs16r6b1TAz55LLj7bonTNG > muFhywfBo0oLG0NbTTQTW0pmq9TF8iy8HV/4Z48Yu8bwrZ7UA1+Q7ghV3AFPHyE=3D > =3Dx4Ek > -----END PGP SIGNATURE----- > --001a113b106855fc090522261c8f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Odinn,=C2=A0

I guess to answer we sh= ould separate pure-NG from=C2=A0
the hypothetical overlay-NG that= runs on top of Bitcoin.=C2=A0
For pure NG one still has to set a= transaction bandwidth
limit due to bandwidth and storage limitat= ions of=C2=A0
the individual clients. This rate can be arbitraril= y high=C2=A0
with NG without compromising protocol security.=C2= =A0

With overlay NG you cannot run above Bitcoin&#= 39;s=C2=A0
bandwidth because all clients must agree on the ledger= ,=C2=A0
so different clients cannot run at different rates. You= =C2=A0
could do two things:=C2=A0
1. Significantly redu= ce observed latency (time to first=C2=A0
confirmation). Users get= better confidence as more=C2=A0
miners adopt NG.=C2=A0
2. Increase the bandwidth once everyone is on=C2=A0
board.=C2=A0=

As for privacy - I don't see why NG would cha= nge things.=C2=A0
Such privacy schemes are only concerned wit= h the=C2=A0
transaction DAG. NG does not touch this structure. Am= =C2=A0
I missing something?=C2=A0

Thanks= ,=C2=A0
Ittay=C2=A0


On Thu, Oct 15, 2015 at 4:48 AM, odi= nn <odinn.cyberguerrilla@riseup.net> wrote:
-----BEGIN PGP SIGNED MESS= AGE-----
Hash: SHA512

So, there could not be, for example, a user decision to activate it?=
(versus not activate it)?=C2=A0 I'm wondering if something about this c= an
be boiled down to allowing the user to make a choice on the matter
(turn it on and off).=C2=A0 In Bitcoin-NG, the protocol as follows (as
described in a general overview of it): every 10 minutes, NG elects a
'leader,' who then vets future transactions as soon as they happen.= NG
approach supposedly can run as fast as the network will allow.

If this is the case, and if NG functions without major hiccup,
shouldn't a user (of Core, for example) be able to be given the option<= br> to choose between:

(a) being limited by the blocksize and block interval, or
(b) running out as fast as the network will allow (NG)?

The other questions I had pertained to privacy.=C2=A0 How would this scheme=
affect users who would be trying to do things like stealth or
confidential transactions?

Matt Corallo:
> Huh? No... This is not a Bitcoin Core issue, it is a = Bitcoin
> protocol one and should be discussed here, not on github. I really
> appreciate Ittay and Emin's efforts in this space and their
> willingness to work with the Bitcoin community on it! It seems it
> still needs some tuning, but seems like if the pool-mining issues
> were resolved it could make block relay times irrelevant, at
> least.
>
> Matt
>
> On October 14, 2015 3:21:19 PM PDT, odinn via bitcoin-dev
> <bi= tcoin-dev@lists.linuxfoundation.org> wrote: This (Bitcoin-NG in
> concept) could be done as a (issue and pull req= uest process) to
> Bitcoin Core itself, amirite?=C2=A0 It seems like it would provide an<= br> > interesting issue to open and have healthy discussion on both
> mailing list and github, adding the caveat that it would be at the
> user's option.=C2=A0 Thus if something like Bitcoin-NG did come to= be it
> would be something more like a feature that the user could
> activate / deactivate from within Core.=C2=A0 I assume it would be
> default off, but with the option to utilize.=C2=A0 Code would thus be<= br> > available to others as well.=C2=A0 I am not saying yea or nay on it, > just that it seems like this could be done.
>
> Some notes:
>
> Once a node generates a key block it becomes the leader.=C2=A0 As a > leader, the node is allowed to generate=C2=A0 microblocks=C2=A0 at=C2= =A0 a=C2=A0 set
> rate smaller=C2=A0 than=C2=A0 a=C2=A0 prede=0C>ned=C2=A0 maximum.= =C2=A0 A=C2=A0 microblock in
> Bitcoin-NG contains=C2=A0 ledger=C2=A0 entries=C2=A0 and=C2=A0 a=C2=A0= header.=C2=A0 =C2=A0The=C2=A0 header
> contains the=C2=A0 reference=C2=A0 to the=C2=A0 previous=C2=A0 block,= =C2=A0 the=C2=A0 current
> GMT=C2=A0 time,=C2=A0 a cryptographic=C2=A0 hash=C2=A0 of=C2=A0 its=C2= =A0 ledger=C2=A0 entries,=C2=A0 and
> a cryptographic signature=C2=A0 of=C2=A0 the=C2=A0 header.=C2=A0 =C2= =A0The=C2=A0 signature=C2=A0 uses
> the=C2=A0 private=C2=A0 key that=C2=A0 matches=C2=A0 the public key in= the latest key
> block in the chain. For a microblock to be valid, all its entries
> must be valid according to the specification of the state machine,
> and the signature has to be valid.=C2=A0 However, the microblocks, it = is
> said, don't affect the weight of the chain, because they do not > contain proof of work.=C2=A0 It is assumed by the authors of this mode= l
> that this situation is critical for maintaining incentives here.
>
> The questions that then begin to emerge to me are how is this
> information managed and protected?=C2=A0 The headers, thus containing<= br> > reference(s) to previous block(s), current GMT time(s),
> cryptographic hash(es) of ledger entries, and cryptographic
> signature(s) of the headers, so forth, and other information.=C2=A0 Ca= n
> the Bitcoin-NG scheme be designed or implemented in a manner which
> supports Stealth sends, Confidential Transactions, or similar
> privacy measures?=C2=A0 Or is this something which cannot be answered = at
> this time?
>
> Emin G=C3=BCn Sirer via bitcoin-dev:
>>>>> So it seems to me that all I need to do is figure out = who
>>>>> the current
>>>> leader is,
>>>>> and DDoS him off the network to shut Bitcoin-NG down.<= br> >>>>
>>>> Good point. If NG is layered on top of Bitcoin, we'd r= etain
>>>> all of Bitcoin as is. This would confer all the benefits o= f
>>>> Bitcoin's retrospective blocks, as well as add the abi= lity to
>>>> mint microblocks with low latency in between. And despite = the
>>>> phrase "the leader," the actual leader in NG is = a key, not a
>>>> specific node. That makes it possible to deter DDoS attack= s
>>>> by dynamically migrating where in the network the leader i= s
>>>> operating in response to an attack. Finally, DDoS attacks<= br> >>>> against miners are already possible, but they seem rare, a= nd
>>>> I suspect it's at least partly because of the success = of Matt
>>>> Corallo's high speed bitcoin relay network. Similar de= fenses
>>>> can apply here.
>>>>
>>>> - egs
>>>>
>>>>
>>>>
>>>> On Wed, Oct 14, 2015 at 2:20 PM, Bob McElrath
>>>> <bob@mcelrath.org> wrote:
>>>>
>>>>> So it seems to me that all I need to do is figure out = who
>>>>> the current leader is, and DDoS him off the network to=
>>>>> shut Bitcoin-NG down.
>>>>>
>>>>> This is a significant advantage to bitcoin's ex-po= st-facto
>>>>> blocks: no one knows where the next one will come from= .
>>>>> The only way to shut the network down is to shut all n= odes
>>>>> down.
>>>>>
>>>>> Emin G=C3=BCn Sirer via bitcoin-dev
>>>>> [
bitcoin-dev@lists.linuxfoundation.org] wrote:
>>>>>> Hi everyone,
>>>>>>
>>>>>> We just released the whitepaper describing Bitcoin= -NG, a
>>>>>> new technique
>>>>> for
>>>>>> addressing some of the scalability challenges face= d by
>>>>>> Bitcoin.
>>>>> Surprisingly,
>>>>>> Bitcoin-NG can simultaneously increase throughput = while
>>>>>> reducing
>>>>> latency, and
>>>>>> do so without impacting Bitcoin's open archite= cture or
>>>>>> changing its trust model. This post illustrates th= e core
>>>>>> technique:
>>>>>> http://hackingdistribut= ed.com/2015/10/14/bitcoin-ng/
>>>>>> while the whitepaper has all the nitty gritty deta= ils:
>>>>>> http://arxiv.org/abs/1510.02037
>>>>>>
>>>>>> Fitting NG on top of the current Bitcoin blockchai= n is
>>>>>> future work that
>>>>> we
>>>>>> think is quite possible. NG is compatible with bot= h
>>>>>> Bitcoin as is, as
>>>>> well as
>>>>>> Blockstream-like sidechains, and we currently are = not
>>>>>> planning to compete commercially with either techn= ology
>>>>>> -- we see NG as being complementary
>>>>> to both
>>>>>> efforts. This is pure science, published and share= d with
>>>>>> the community to advance the state of blockchains = and to
>>>>>> help them reach throughputs and latencies required= of
>>>>>> cutting edge fintech applications. Perhaps it can<= br> >>>>> be
>>>>>> adopted, or perhaps it can provide the spark of >>>>>> inspiration for someone
>>>>> else to
>>>>>> come up with even better solutions.
>>>>>>
>>>>>> We would be delighted to hear your feedback. - Itt= ay Eyal
>>>>>> and E. G=C3=BCn Sirer.
>>>>>>
>>>>>> !DSPAM:561e98cd301391127216946!
>>>>>
>>>>>> _______________________________________________ >>>>>> bitcoin-dev mailing list
>>>>>> bitcoin-dev@lists.linuxfoundation.org
>>>>>> https://lists= .linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>>
!DSPAM:561e98cd301391127216946!
>>>>>
>>>>> -- Cheers, Bob McElrath
>>>>>
>>>>> "For every complex problem, there is a solution t= hat is
>>>>> simple, neat, and wrong." -- H. L. Mencken
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________ bitcoin-de= v
>>>> mailing list bitcoin-dev@lists.linuxfoundation.org
>>>> https://lists.linuxfo= undation.org/mailman/listinfo/bitcoin-dev
>>>>
>
>>>>
>> _______________________________________________ bitcoin-dev
>> mailing list bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation= .org/mailman/listinfo/bitcoin-dev
>
>

- --
http://abis= .io ~
"a protocol concept to enable decentralization
and expansion of a giving economy, and a new social good"
h= ttps://keybase.io/odinn
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCgAGBQJWH2hSAAoJEGxwq/inSG8CztwH/3kaBDCpci0WMjw9gEUybI+= R
320i/cbPHHFO0eEJgWOK0mpYXYiEyoZULRjvHBjTNTS7wUVNmKsnmZDx1n9X9OCS
hQc9yoSZejoulA0f/Sys++N5ku9KPYN9EFnHpmgTtV7OW7aD8L66PCtiAOhNy7WD
T75eXjQvhWCCId1C3lvIzB6X1qTdK1gGMjNHzv49FP6RJDXa7RB7ceKrHwrXQ8J/
kbQvwOjfmGbfDZb0tSvlNKT05s4CWW6TzsUdkg5QfMs16r6b1TAz55LLj7bonTNG
muFhywfBo0oLG0NbTTQTW0pmq9TF8iy8HV/4Z48Yu8bwrZ7UA1+Q7ghV3AFPHyE=3D
=3Dx4Ek
-----END PGP SIGNATURE-----

--001a113b106855fc090522261c8f--