Adam Back [ARCHIVE] on Nostr: 📅 Original date posted:2015-09-01 📝 Original message:Peter this seems to be a ...
📅 Original date posted:2015-09-01
📝 Original message:Peter this seems to be a not well thought through course of action,
fun though it maybe informally or philosophically or to tweak various
peoples sensibilities.
Bitcoin is a consensus system that does not work if there are
incompatible versions of consensus code competing on the network.
This is why work is underway on libconsensus so we can see diversity
of implementation without the risk of incompatibility arising by
software defect. It has proven quite hard to match independent
consensus implementations bit for bit against an adaptive adversary
looking for inconsistencies in interpretation.
In terms of protocol updates it is more constructive therefore that
people with a technical interest analyse and validate others proposals
via testing, or make their own proposals so that we can arrive at a
well validated upgrade mechanism that everyone upgrades to in a
coordinated fashion.
Previous intentional upgrades to bitcoin have been
backwards-compatible (via soft-fork which can be secured reasonably
using a miner vote trigger and temporary SPV security for those who
not yet upgraded) but the current topic of a throughput increase is
non-backwards-compatible (via a hard-fork), and the way to minimise
risk of such an upgrade is for everyone to try to upgrade well in
advance of an agreed upgrade schedule, and to be all upgrading to the
*same* consensus rule change.
Encouraging nodes or miners to "vote" by running a range of different
consensus rules isnt really constructive I feel - it alarms people who
understand the risks, sets things on a path that have to be fixed
while in flight by obvious implication, and isnt collaborative - so it
risks being a politicising suggestion on what should be a purely
technical topic of choosing the best approach, where it is best to
strive to keep things non-emotive and professional and technically
focussed. Such calls are offending the technical sensibilities of
people who understand the risks.
Anyway lets try to keep things constructive and focus on analysing proposals.
Adam
On 31 August 2015 at 19:16, Peter R via bitcoin-dev
<bitcoin-dev at lists.linuxfoundation.org> wrote:
> I agree, s7r, that Bitcoin Core represents the most stable code base. To
> create multiple implementations, other groups would fork Bitcoin Core
> similar to what Bitcoin XT did. We could have:
>
> - Bitcoin-A (XT)
> - Bitcoin-B (Blockstream)
> - Bitcoin-C (promoting BIP100)
> - Bitcoin-D
> - etc.
>
> Innovation from any development group would be freely integrated by any
> other development group, if desired. Of course, each group would have a
> very strong incentive to remain fork-wise compatible with the other
> implementations.
>
> In fact, this just gave me a great idea! Since Wladimir has stated that he
> will not integrate a forking change into Core without Core Dev consensus, I
> suggest we work together to never reach consensus with Bitcoin Core. This
> will provide impetus for new implementations to fork from Core (like XT did)
> and implement whatever scaling solution they deem best. The users will then
> select the winning solution simply based on the code they choose to run.
> The other implementations will then rush to make compatible changes in order
> to keep their dwindling user bases.
>
> This is the decentralized spirit of Bitcoin in action. Creative
> destruction. Consensus formed simply by the code that gets run.
>
> Let's kill Bitcoin Core and allow the green shoots of a garden of new
> implementations to grow from its fertile ashes.
Published at
2023-06-07 17:38:56Event JSON
{
"id": "e77f3e9e3f158111e306ac1fcfed0c5d3d0179c1fddded62033a86d084b210ec",
"pubkey": "ee0fa66772f633411e4432e251cfb15b1c0fe8cd8befd8b0d86eb302402a8b4a",
"created_at": 1686159536,
"kind": 1,
"tags": [
[
"e",
"ef7dd733baa635c8b09bf401eb3f9c67ca63dce69308d41bbc389dd40256aed2",
"",
"root"
],
[
"e",
"90ef493424d6b35f29f9de19c4c19b0ed1239f2e716d2963fe16297ec6ed1805",
"",
"reply"
],
[
"p",
"4aa6cf9aa5c8e98f401dac603c6a10207509b6a07317676e9d6615f3d7103d73"
]
],
"content": "📅 Original date posted:2015-09-01\n📝 Original message:Peter this seems to be a not well thought through course of action,\nfun though it maybe informally or philosophically or to tweak various\npeoples sensibilities.\n\nBitcoin is a consensus system that does not work if there are\nincompatible versions of consensus code competing on the network.\nThis is why work is underway on libconsensus so we can see diversity\nof implementation without the risk of incompatibility arising by\nsoftware defect. It has proven quite hard to match independent\nconsensus implementations bit for bit against an adaptive adversary\nlooking for inconsistencies in interpretation.\n\nIn terms of protocol updates it is more constructive therefore that\npeople with a technical interest analyse and validate others proposals\nvia testing, or make their own proposals so that we can arrive at a\nwell validated upgrade mechanism that everyone upgrades to in a\ncoordinated fashion.\n\nPrevious intentional upgrades to bitcoin have been\nbackwards-compatible (via soft-fork which can be secured reasonably\nusing a miner vote trigger and temporary SPV security for those who\nnot yet upgraded) but the current topic of a throughput increase is\nnon-backwards-compatible (via a hard-fork), and the way to minimise\nrisk of such an upgrade is for everyone to try to upgrade well in\nadvance of an agreed upgrade schedule, and to be all upgrading to the\n*same* consensus rule change.\n\nEncouraging nodes or miners to \"vote\" by running a range of different\nconsensus rules isnt really constructive I feel - it alarms people who\nunderstand the risks, sets things on a path that have to be fixed\nwhile in flight by obvious implication, and isnt collaborative - so it\nrisks being a politicising suggestion on what should be a purely\ntechnical topic of choosing the best approach, where it is best to\nstrive to keep things non-emotive and professional and technically\nfocussed. Such calls are offending the technical sensibilities of\npeople who understand the risks.\n\nAnyway lets try to keep things constructive and focus on analysing proposals.\n\nAdam\n\nOn 31 August 2015 at 19:16, Peter R via bitcoin-dev\n\u003cbitcoin-dev at lists.linuxfoundation.org\u003e wrote:\n\u003e I agree, s7r, that Bitcoin Core represents the most stable code base. To\n\u003e create multiple implementations, other groups would fork Bitcoin Core\n\u003e similar to what Bitcoin XT did. We could have:\n\u003e\n\u003e - Bitcoin-A (XT)\n\u003e - Bitcoin-B (Blockstream)\n\u003e - Bitcoin-C (promoting BIP100)\n\u003e - Bitcoin-D\n\u003e - etc.\n\u003e\n\u003e Innovation from any development group would be freely integrated by any\n\u003e other development group, if desired. Of course, each group would have a\n\u003e very strong incentive to remain fork-wise compatible with the other\n\u003e implementations.\n\u003e\n\u003e In fact, this just gave me a great idea! Since Wladimir has stated that he\n\u003e will not integrate a forking change into Core without Core Dev consensus, I\n\u003e suggest we work together to never reach consensus with Bitcoin Core. This\n\u003e will provide impetus for new implementations to fork from Core (like XT did)\n\u003e and implement whatever scaling solution they deem best. The users will then\n\u003e select the winning solution simply based on the code they choose to run.\n\u003e The other implementations will then rush to make compatible changes in order\n\u003e to keep their dwindling user bases.\n\u003e\n\u003e This is the decentralized spirit of Bitcoin in action. Creative\n\u003e destruction. Consensus formed simply by the code that gets run.\n\u003e\n\u003e Let's kill Bitcoin Core and allow the green shoots of a garden of new\n\u003e implementations to grow from its fertile ashes.",
"sig": "699e3692ea502a4a9ba1296fb881620c1e2de53d87a9187b0478fb5101aff705f9a8f31c2e58f4ef8739f862dcd99b0cf9189b6f7d0613fdcf5f7b63ad8fb78f"
}