About ASICBoost

About ASICBoost
2016-10-02 19:36 ` Btc Drak
  2016-10-02 22:51 ` Matt Corallo
  
From: Sergio Demian Lerner @ 2016-10-02 17:13 UTC (permalink / raw)
  To: bitcoin-dev

[-- Attachment #1: Type: text/plain, Size: 625 bytes --]

Please Peter Todd explain here all what you want to say about a patent of a
hardware design for an ASIC.

Remember that ASICBoost is not the only patent out there, there are at
least three similar patents, filed by major Bitcoin ASIC manufacturers in
three different countries, on similar technologies.

That suggest that the problem is not ASICBoot's: you cannot blame any
company from doing lawful commerce in a FREE MARKET.

It is a flaw in Bitcoin design that could be corrected if the guidelines I
posted in [1] had been followed.

[1]
https://bitslog.wordpress.com/2014/03/18/the-re-design-of-the-bitcoin-block-header/

[-- Attachment #2: Type: text/html, Size: 846 bytes --]

 permalink raw reply	[|nested]
2016-10-02 17:13 [bitcoin-dev] About ASICBoost Sergio Demian Lerner

  2016-10-02 22:25   ` Sergio Demian Lerner
  2016-10-02 22:56   ` Timo Hanke
  2016-10-02 22:51 ` Matt Corallo
  
From: Btc Drak @ 2016-10-02 19:36 UTC (permalink / raw)
  To: Sergio Demian Lerner, Bitcoin Protocol Discussion

Sergio,

It is critically important to the future of Bitcoin that consensus
code avoid any unnecessary entanglements with patents because "the
free market" allows you and anyone else to make consensus change
proposals that rely on (unknown) patents - but this is something we
should all be working to avoid, as it unnecessarily hinders Bitcoin
development and everyone's ability to deploy. Consensus code must not
be hindered by patents and Bitcoin should retain its permissionless
qualities.

When you proposed the extra nonce space BIP [1], you had already
applied for your ASICBOOST patent [2] without disclosure in the BIP
[1] nor in your Bitcoin Core pull request #5102 [2].

The ASICBOOST patent [2] describes the same process as in the BIP [1]
and proposed code [3] "As we explained in our Provisional Application,
it has been proposed to partition the 4-byte Version field in the
block header (see, Fig. 6) and use, e.g., the high 2-byte portion as
additional nonce range."

Today when you proposed a new sidechain BIP [4], Peter Todd was
(rightly) concerned about the prior lack of disclosure of your patents
related to your prior consensus modification proposal. Hence the
concern is that this might be happening this time as well.

There is no evidence that any of the other filers for the
ASICBOOST-like patents by mining companies other than your own were
going to be using it offensively as those other companies appeared to
understand the decentralization risk of having an advantage enforced
by legal and not technical means.

It's great that you have now committed to looking into the Defensive
Patent License. This seems likely to mitigate some of the patent
concerns. Although it would be a show of good faith if you also agreed
to license ASICBOOST under the DPL.

[1]: BIP: https://github.com/BlockheaderNonce2/bitcoin/wiki
[2]: ASICBOOST PATENT https://www.google.com/patents/WO2015077378A1?cl=en
[3]: Extra nonce pull request: https://github.com/bitcoin/bitcoin/pull/5102
[4]: COUNT_ACKS
[https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-October/013174.html

On Sun, Oct 2, 2016 at 6:13 PM, Sergio Demian Lerner via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
> Please Peter Todd explain here all what you want to say about a patent of a
> hardware design for an ASIC.
>
> Remember that ASICBoost is not the only patent out there, there are at least
> three similar patents, filed by major Bitcoin ASIC manufacturers in three
> different countries, on similar technologies.
>
> That suggest that the problem is not ASICBoot's: you cannot blame any
> company from doing lawful commerce in a FREE MARKET.
>
> It is a flaw in Bitcoin design that could be corrected if the guidelines I
> posted in [1] had been followed.
>
> [1]
> https://bitslog.wordpress.com/2014/03/18/the-re-design-of-the-bitcoin-block-header/
>
>
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>


 permalink raw reply	[|nested]
2016-10-02 19:36 ` Btc Drak

  2016-10-02 22:56   ` Timo Hanke
  
From: Sergio Demian Lerner @ 2016-10-02 22:25 UTC (permalink / raw)
  To: Btc Drak;  Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 1086 bytes --]

It's good you bring that point, and it's very interesting to analyze what
happened then.

We shared our findings with some core developers much earlier than the BIP
proposal. Wether they kept it secret or they shared it with some ASIC
manufacturers is something I don't know. I even mentioned my wishes to try
to give the patent to public domain.

I remember the reason we proposed the BIP is because ASICBoost actually
does NOT require that BIP at all. And that BIP was not a consensus change,
but just a semantic re-interpretation.

ASICBoost can roll the nVersion field or the Merkle root hash. Doing the
former currently generates a strange warning message on nodes and can be
confusing, but doing the later makes ASICBoost completely stealthy. That
BIP could help the community to monitor its use in non-confusing way to the
users. What is worse? I think forcing it to be stealthy is worse.

I never opposed changing Bitcoin to be more decentralized, but hard-forking
a change to the PoW function may be contentious and that path of thought
must be walked very carefully.

Regards

[-- Attachment #2: Type: text/html, Size: 1273 bytes --]

 permalink raw reply	[|nested]
2016-10-02 17:13 [bitcoin-dev] About ASICBoost Sergio Demian Lerner
  2016-10-02 19:36 ` Btc Drak

       [not found]   ` <CAAS2fgSwgdvb9gWc8A2SPhJAL36Ss4EY_DTtc6sQj=G3X66OWA@mail.gmail.com>
  
From: Matt Corallo @ 2016-10-02 22:51 UTC (permalink / raw)
  To: Sergio Demian Lerner, Bitcoin Protocol Discussion

Replies to comments inline.

Matt

On 10/02/16 17:13, Sergio Demian Lerner via bitcoin-dev wrote:
> Please Peter Todd explain here all what you want to say about a patent
> of a hardware design for an ASIC.
> 
> Remember that ASICBoost is not the only patent out there, there are at
> least three similar patents, filed by major Bitcoin ASIC manufacturers
> in three different countries, on similar technologies.

This is a very misleading comparison. I am not aware of any other
patents on Bitcoin-specific ASIC technology which are practically
enforceable or which the owners have indicated they wish to enforce. Of
the two patents which you point out which were filed on essentially the
same optimization that ASICBoost covers, yours predates both of them,
invalidating both the Spondoolies one (which Guy had indicated he wished
to use only defensively) and the AntMiner one. Of course, as China is
notorious for ignoring international patent law, AntMiner's could
possibly still be enforced in China. Still, AntMiner has, like
Spondoolies did, indicated they have no intention of enforcing their
patent to limit competition, though without any legally-enforceable
commitment. This leaves only your patent as practical and likely to be
enforced in the vast majority of the world.

> That suggest that the problem is not ASICBoot's: you cannot blame any
> company from doing lawful commerce in a FREE MARKET.

If you had acted in a way which indicated even the slightest regard for
centralization pressure and the harm it can do to Bitcoin in the
long-term, then I dont think many would be blaming you. Instead of any
kind of open or transparent licensing policy, with price structures
designed to encourage competition, you chose to hide behind an opaque
website, asking people to simply email you and Timo to negotiate
individually.

> It is a flaw in Bitcoin design that could be corrected if the guidelines
> I posted in [1] had been followed.
> 
> [1]
> https://bitslog.wordpress.com/2014/03/18/the-re-design-of-the-bitcoin-block-header/

Optimizations to the hashing algorithm are not, themselves, "attacks" on
Bitcoin, as you claimed in your post at the time. Only when they are
used in a rent-seeking fashion to push for more centralization and lower
miner revenue do they become so. One of the biggest advantages of SHA256
in the context of mining is exactly that it is a relatively simple
algorithm, allowing for fewer large algorithmic optimizations (or, when
there are, more people are capable of finding them, as happened with
ASICBoost). This opens the doors to more competition in the ASIC market
than if only few people had the knowledge (or a patent) to build
efficient ASICs. While it is certainly true that the high-end
ASIC-manufacturing industry is highly-centralized, making it worse by
limiting those who can build Bitcoin ASICs from anyone with access to
such a fab to only those who can, additionally, negotiate for patent
rights and navigate the modern patent system, is far from ideal.

You claim that Bitcoin should have fixed the problem at the time, but
you posted a proposal for a hard fork, with the only argument given as
to why it should happen being that you thought you had an attack, but
cant yet "really tell if they could affect Bitcoin". Instead of
following up with more information, as you indicated you would, you went
and patented the optimizations and have gone on rent-seeking behavior since.


 permalink raw reply	[|nested]
2016-10-02 19:36 ` Btc Drak
  2016-10-02 22:25   ` Sergio Demian Lerner

  
From: Timo Hanke @ 2016-10-02 22:56 UTC (permalink / raw)
  To: Btc Drak;  Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 4827 bytes --]

> When you proposed the extra nonce space BIP [1], you had already
> applied for your ASICBOOST patent [2] without disclosure in the BIP
> [1] nor in your Bitcoin Core pull request #5102 [2].

There may be quite a few things to clarify here, and a possible
misunderstanding:

The BIP proposal [1] and accompanying pull request [3] does not increase or
decrease the entanglement of Bitcoin consensus code with any patents. This
is indicated by the title of the pull request: "No forking Extra nonce
added to Bitcoin header." It is not a fork at all (soft or hard). The
consensus is not changed.

AsicBoost is possible with or without adoption of that BIP proposal. Of
several ways to implement AsicBoost (all described in the patent
application), making use of the version field is only one. And even that
particular one has always been possible since the beginning of Bitcoin and
is still possible today. It is not the case that the BIP proposal enables
AsicBoost in a way that wasn't possible before.

The rationale behind the BIP proposal was to eliminate incentives to mess
with the merkle root and, in the extreme case, to mine empty blocks. This
incentive is real, and it is real with or without AsicBoost. It costs
hardware manufacturers real $ in additional hardware components right now
to cope with the pre-hashing load.

Timo


On Sun, Oct 2, 2016 at 12:36 PM, Btc Drak via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org> wrote:

> Sergio,
>
> It is critically important to the future of Bitcoin that consensus
> code avoid any unnecessary entanglements with patents because "the
> free market" allows you and anyone else to make consensus change
> proposals that rely on (unknown) patents - but this is something we
> should all be working to avoid, as it unnecessarily hinders Bitcoin
> development and everyone's ability to deploy. Consensus code must not
> be hindered by patents and Bitcoin should retain its permissionless
> qualities.
>
> When you proposed the extra nonce space BIP [1], you had already
> applied for your ASICBOOST patent [2] without disclosure in the BIP
> [1] nor in your Bitcoin Core pull request #5102 [2].
>
> The ASICBOOST patent [2] describes the same process as in the BIP [1]
> and proposed code [3] "As we explained in our Provisional Application,
> it has been proposed to partition the 4-byte Version field in the
> block header (see, Fig. 6) and use, e.g., the high 2-byte portion as
> additional nonce range."
>
> Today when you proposed a new sidechain BIP [4], Peter Todd was
> (rightly) concerned about the prior lack of disclosure of your patents
> related to your prior consensus modification proposal. Hence the
> concern is that this might be happening this time as well.
>
> There is no evidence that any of the other filers for the
> ASICBOOST-like patents by mining companies other than your own were
> going to be using it offensively as those other companies appeared to
> understand the decentralization risk of having an advantage enforced
> by legal and not technical means.
>
> It's great that you have now committed to looking into the Defensive
> Patent License. This seems likely to mitigate some of the patent
> concerns. Although it would be a show of good faith if you also agreed
> to license ASICBOOST under the DPL.
>
> [1]: BIP: https://github.com/BlockheaderNonce2/bitcoin/wiki
> [2]: ASICBOOST PATENT https://www.google.com/patents/WO2015077378A1?cl=en
> [3]: Extra nonce pull request: https://github.com/bitcoin/
> bitcoin/pull/5102
> [4]: COUNT_ACKS
> [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-October/
> 013174.html
>
> On Sun, Oct 2, 2016 at 6:13 PM, Sergio Demian Lerner via bitcoin-dev
> <bitcoin-dev@lists•linuxfoundation.org> wrote:
> > Please Peter Todd explain here all what you want to say about a patent
> of a
> > hardware design for an ASIC.
> >
> > Remember that ASICBoost is not the only patent out there, there are at
> least
> > three similar patents, filed by major Bitcoin ASIC manufacturers in three
> > different countries, on similar technologies.
> >
> > That suggest that the problem is not ASICBoot's: you cannot blame any
> > company from doing lawful commerce in a FREE MARKET.
> >
> > It is a flaw in Bitcoin design that could be corrected if the guidelines
> I
> > posted in [1] had been followed.
> >
> > [1]
> > https://bitslog.wordpress.com/2014/03/18/the-re-design-of-
> the-bitcoin-block-header/
> >
> >
> >
> >
> > _______________________________________________
> > 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
>

[-- Attachment #2: Type: text/html, Size: 6736 bytes --]

 permalink raw reply	[|nested]
[not found]   ` <CAAS2fgSwgdvb9gWc8A2SPhJAL36Ss4EY_DTtc6sQj=G3X66OWA@mail.gmail.com>

  2016-10-02 23:19       ` Matt Corallo
  
From: Gregory Maxwell @ 2016-10-02 22:58 UTC (permalink / raw)
  To: Bitcoin Protocol Discussion

On Sun, Oct 2, 2016 at 10:51 PM, Matt Corallo via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
> If you had acted in a way which indicated even the slightest regard for
> centralization pressure and the harm it can do to Bitcoin in the
> long-term, then I dont think many would be blaming you. Instead of any

Sergio was concerned about centralization pressure in private. He
reached out to the BCF on 2013-11-23 and asked if they would license
the patent from him so they could make it equally available to all
under "fair" terms.  BCF responded that they didn't think it (a
proprietary patent encumbered enhancement that would make its user(s)
30% more effective than others) would be a big deal and basically
encouraged him to go ahead and seek the patent.


 permalink raw reply	[|nested]
2016-10-02 22:58     ` Gregory Maxwell

  2016-10-02 23:27         ` Gregory Maxwell
  
From: Matt Corallo @ 2016-10-02 23:19 UTC (permalink / raw)
  To: Gregory Maxwell, Bitcoin Protocol Discussion

Even if the Bitcoin Foundation decided to recklessly disregard Bitcoin's
future centralization, I'm not sure going to them and asking them to pay
a license fee in order to keep from holding the rest of the Bitcoin
mining community hostage counts as "regard for centralization pressure".
It also doesn't excuse the lack of transparent licensing being available
today, or the lack of transparency when discussing it in public after
the patent had been filed.

Matt

On 10/02/16 22:58, Gregory Maxwell via bitcoin-dev wrote:
> On Sun, Oct 2, 2016 at 10:51 PM, Matt Corallo via bitcoin-dev
> <bitcoin-dev@lists•linuxfoundation.org> wrote:
>> If you had acted in a way which indicated even the slightest regard for
>> centralization pressure and the harm it can do to Bitcoin in the
>> long-term, then I dont think many would be blaming you. Instead of any
> 
> Sergio was concerned about centralization pressure in private. He
> reached out to the BCF on 2013-11-23 and asked if they would license
> the patent from him so they could make it equally available to all
> under "fair" terms.  BCF responded that they didn't think it (a
> proprietary patent encumbered enhancement that would make its user(s)
> 30% more effective than others) would be a big deal and basically
> encouraged him to go ahead and seek the patent.
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> 


 permalink raw reply	[|nested]
2016-10-02 23:19       ` Matt Corallo

  
From: Gregory Maxwell @ 2016-10-02 23:27 UTC ( / )
  To: Matt Corallo;  Bitcoin Protocol Discussion

On Sun, Oct 2, 2016 at 11:19 PM, Matt Corallo <lf-lists@mattcorallo•com> wrote:
> Even if the Bitcoin Foundation decided to recklessly disregard Bitcoin's
> future centralization, I'm not sure going to them and asking them to pay
> a license fee in order to keep from holding the rest of the Bitcoin
> mining community hostage counts as "regard for centralization pressure".
> It also doesn't excuse the lack of transparent licensing being available
> today, or the lack of transparency when discussing it in public after
> the patent had been filed.

We can't change the past (besides, would you want BCF to have owned
that patent? I didn't)-- only the future.

To do so requires collaboration, so lets focus on that.