* Re: [bitcoin-dev] Your Gmaxwell exchange
@ 2015-08-31 20:06 Monarch
2015-08-31 20:27 ` Justus Ranvier
0 siblings, 1 reply; 25+ messages in thread
From: Monarch @ 2015-08-31 20:06 UTC (permalink / raw)
To: hearn; +Cc: bitcoin-dev
On 2015-08-31 19:11, Mike Hearn via bitcoin-dev wrote:
> I think your summary of what people actually want from
> decentralisation is pretty good, Justus.
>
>
>> I don't believe that any Bitcoin user actually cares
>> about decentralization, because none of them I've asked can define
>> that term.
>
> +1 Insightful
>
What is Bitcoin if not decentralized?
Bitcoin the most awkward, unprivate and damaging currencies ever
created. It is terribly slow for general use, and it is very
difficult for users to get over the technical hurdles required to use
it safety. It is simultaneously the least private payment system ever
conceived for general use, yet still manages to consistently help
terrorists and pedophiles. Over half a gigawatt of power is used to
power the miners which timestamp the network, causing hundreds of
millions of tonnes of CO2 and radioactive particles to be spewed into
the atmosphere.
Perhaps we can justify these damages as the cost of decentralization,
similar to one justifying the tor anonymity network as having
significant positive effects outweighing the negative. However if you
are truly willing to give the goal of absolute decentralization up as
unachievable or unrealistic, it would be much more sensible to replace
the entire Bitcoin network with a couple of geographically distributed
SQL servers and call it a day.
Without decentralization as an ultimate goal, Bitcoin is an
abomination that is best dismantled.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 20:06 [bitcoin-dev] Your Gmaxwell exchange Monarch @ 2015-08-31 20:27 ` Justus Ranvier 2015-08-31 20:48 ` Monarch 0 siblings, 1 reply; 25+ messages in thread From: Justus Ranvier @ 2015-08-31 20:27 UTC (permalink / raw) To: bitcoin-dev [-- Attachment #1.1: Type: text/plain, Size: 1990 bytes --] On 08/31/2015 03:06 PM, Monarch via bitcoin-dev wrote: > What is Bitcoin if not decentralized? > > Bitcoin the most awkward, unprivate and damaging currencies ever > created. It is terribly slow for general use, and it is very > difficult for users to get over the technical hurdles required to use > it safety. It is simultaneously the least private payment system ever > conceived for general use, yet still manages to consistently help > terrorists and pedophiles. Over half a gigawatt of power is used to > power the miners which timestamp the network, causing hundreds of > millions of tonnes of CO2 and radioactive particles to be spewed into > the atmosphere. > > Perhaps we can justify these damages as the cost of decentralization, > similar to one justifying the tor anonymity network as having > significant positive effects outweighing the negative. However if you > are truly willing to give the goal of absolute decentralization up as > unachievable or unrealistic, it would be much more sensible to replace > the entire Bitcoin network with a couple of geographically distributed > SQL servers and call it a day. > > Without decentralization as an ultimate goal, Bitcoin is an > abomination that is best dismantled. You don't understand what value proof of work provides, or what features differentiate good money from poor money, and you can't make a defensible statement of Bitcoin's value proposition. Because you can't do these things, you assume nobody else can do them either and therefore the only way for Bitcoin to survive is to sweep the problem under the rug and distract users with a word that means nothing (and therefore means whatever the observer wants it to mean). This is not a strategy that can be successful in the long term. -- Justus Ranvier Open Bitcoin Privacy Project http://www.openbitcoinprivacyproject.org/ justus@openbitcoinprivacyproject.org E7AD 8215 8497 3673 6D9E 61C4 2A5F DA70 EAD9 E623 [-- Attachment #1.2: 0xEAD9E623.asc --] [-- Type: application/pgp-keys, Size: 18667 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 20:27 ` Justus Ranvier @ 2015-08-31 20:48 ` Monarch 2015-08-31 21:24 ` Allen Piscitello 0 siblings, 1 reply; 25+ messages in thread From: Monarch @ 2015-08-31 20:48 UTC (permalink / raw) To: Justus Ranvier; +Cc: bitcoin-dev On 2015-08-31 20:27, Justus Ranvier wrote: > You don't understand what value proof of work provides, or what > features > differentiate good money from poor money, and you can't make a > defensible statement of Bitcoin's value proposition. > > Because you can't do these things, you assume nobody else can do them > either and therefore the only way for Bitcoin to survive is to sweep > the > problem under the rug and distract users with a word that means nothing > (and therefore means whatever the observer wants it to mean). > > This is not a strategy that can be successful in the long term. Proof of work is probabilistic transaction ordering (and timestamping by extension), the only perceivable value in it is that it is decentralized. If you don't have that set as a requirement there are plenty of companies around who will act as a time stamping notary for you, just as there are many cloud services around to host the SQL- based Bitcoin replacement. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 20:48 ` Monarch @ 2015-08-31 21:24 ` Allen Piscitello 2015-08-31 21:42 ` Monarch 2015-08-31 23:32 ` Peter R 0 siblings, 2 replies; 25+ messages in thread From: Allen Piscitello @ 2015-08-31 21:24 UTC (permalink / raw) To: Monarch; +Cc: bitcoin-dev [-- Attachment #1: Type: text/plain, Size: 1420 bytes --] Even so, decentralization is a means to an end - not an end-goal. It is essential for Bitcoin to be a useful alternative, of course. On Mon, Aug 31, 2015 at 3:48 PM, Monarch via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > On 2015-08-31 20:27, Justus Ranvier wrote: > >> You don't understand what value proof of work provides, or what features >> differentiate good money from poor money, and you can't make a >> defensible statement of Bitcoin's value proposition. >> >> Because you can't do these things, you assume nobody else can do them >> either and therefore the only way for Bitcoin to survive is to sweep the >> problem under the rug and distract users with a word that means nothing >> (and therefore means whatever the observer wants it to mean). >> >> This is not a strategy that can be successful in the long term. >> > > > Proof of work is probabilistic transaction ordering (and timestamping > by extension), the only perceivable value in it is that it is > decentralized. If you don't have that set as a requirement there are > plenty of companies around who will act as a time stamping notary for > you, just as there are many cloud services around to host the SQL- > based Bitcoin replacement. > > > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > [-- Attachment #2: Type: text/html, Size: 2184 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 21:24 ` Allen Piscitello @ 2015-08-31 21:42 ` Monarch 2015-08-31 21:54 ` Justus Ranvier 2015-08-31 23:32 ` Peter R 1 sibling, 1 reply; 25+ messages in thread From: Monarch @ 2015-08-31 21:42 UTC (permalink / raw) To: Allen Piscitello; +Cc: bitcoin-dev On 2015-08-31 21:24, Allen Piscitello wrote: > Even so, decentralization is a means to an end - not an end-goal. It > is essential for Bitcoin to be a useful alternative, of course. > The justification for the existence of Bitcoins hinges on it. What is described in the whitepaper is a system without the trust of third parties to process electronic payments, this can not exist without decentralization. Absent any unforseen revelations this is a requirement rather than a suggestion or fleeting fancy. Below a decentralized Bitcoin you are free to make systems as centralized as you please without affecting the parent, below a centralized Bitcoin there is no room to make it less. We really only have one shot at a properly bootstrapped, decentralized currency, and it would be a great shame to mess up the one we have with hasty decision making for unclear goals. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 21:42 ` Monarch @ 2015-08-31 21:54 ` Justus Ranvier 2015-08-31 22:53 ` Monarch 2015-09-01 9:25 ` Jorge Timón 0 siblings, 2 replies; 25+ messages in thread From: Justus Ranvier @ 2015-08-31 21:54 UTC (permalink / raw) To: Monarch, Allen Piscitello; +Cc: bitcoin-dev [-- Attachment #1.1: Type: text/plain, Size: 1849 bytes --] On 08/31/2015 04:42 PM, Monarch wrote: > The justification for the existence of Bitcoins hinges on it. What is > described in the whitepaper is a system without the trust of third > parties to process electronic payments, this can not exist without > decentralization. Absent any unforseen revelations this is a > requirement rather than a suggestion or fleeting fancy. Below a > decentralized Bitcoin you are free to make systems as centralized as > you please without affecting the parent, below a centralized Bitcoin > there is no room to make it less. We really only have one shot at a > properly bootstrapped, decentralized currency, and it would be a great > shame to mess up the one we have with hasty decision making for > unclear goals. You keep using the word "decentralized" without explaining (and most likely, understanding) what it means. You say: > a system without the trust of third parties to process electronic payments What does it mean to use a decentralized network instead of a trusted third party to process electronic payments? What undesirable actions can a trusted third party perform that a decentralized network can not perform? The answer to those questions are the *actual* goals, for which decentralization is just one portion of a solution. It might be helpful to organize Bitcoin's various existing, potential, rejected, and proposed features using the Kano model: https://en.wikipedia.org/wiki/Kano_model Example: The ability of one entity to spend another entity's Bitcoins without their consent is a reverse quality. It would at least give us something objective to talk about. -- Justus Ranvier Open Bitcoin Privacy Project http://www.openbitcoinprivacyproject.org/ justus@openbitcoinprivacyproject.org E7AD 8215 8497 3673 6D9E 61C4 2A5F DA70 EAD9 E623 [-- Attachment #1.2: 0xEAD9E623.asc --] [-- Type: application/pgp-keys, Size: 18667 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 21:54 ` Justus Ranvier @ 2015-08-31 22:53 ` Monarch 2015-08-31 23:24 ` Justus Ranvier 2015-09-01 0:02 ` Milly Bitcoin 2015-09-01 9:25 ` Jorge Timón 1 sibling, 2 replies; 25+ messages in thread From: Monarch @ 2015-08-31 22:53 UTC (permalink / raw) To: Justus Ranvier; +Cc: bitcoin-dev On 2015-08-31 21:54, Justus Ranvier wrote: > > You keep using the word "decentralized" without explaining (and most > likely, understanding) what it means. > Decentralization is a ubiquitous term within the Bitcoin, and the definition is by no measure new or often confused. It is realizing that systems involving trusted third parties have undesirable properties, be it regarding privacy, fraud, censorship, and removing the effect of them as much as is physically possible. WASTE and RetroShare are examples of decentralized messaging and file distribution systems, acknowledging the privacy problems involved with centralized systems like AOL Instant Messenger or IRC. > What does it mean to use a decentralized network instead of a trusted > third party to process electronic payments? What undesirable actions > can > a trusted third party perform that a decentralized network can not > perform? > Bitcoin is a decentralized currency which allows any person the ability to transact in a way that does not require specific trust in any particular party. Users can independently verify that transactions they receive are valid and confirmed, with strong confidence that they can not be reversed or modified. A third party does not hold these same properties, there is no reason to believe the information they present other than trust they will not lie, cheat, or violate privacy at their own will. Given information by a trusted third party (such as a balance or existance of transaction), a person has no ability to independently validate their claims as you do in a decentralized system. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 22:53 ` Monarch @ 2015-08-31 23:24 ` Justus Ranvier 2015-09-01 0:02 ` Milly Bitcoin 1 sibling, 0 replies; 25+ messages in thread From: Justus Ranvier @ 2015-08-31 23:24 UTC (permalink / raw) To: Monarch; +Cc: bitcoin-dev [-- Attachment #1.1: Type: text/plain, Size: 3579 bytes --] On 08/31/2015 05:53 PM, Monarch wrote: > > Bitcoin is a decentralized currency which allows any person the > ability to transact in a way that does not require specific trust in > any particular party. Users can independently verify that > transactions they receive are valid and confirmed, with strong > confidence that they can not be reversed or modified. A third party > does not hold these same properties, there is no reason to believe the > information they present other than trust they will not lie, cheat, or > violate privacy at their own will. Given information by a trusted > third party (such as a balance or existance of transaction), a person > has no ability to independently validate their claims as you do in a > decentralized system. This is on the right track, but still falls short in a few areas. It's a false dichotomy to say that our choices are: Bitcoin as it exists today (or in some theoretical perfect state of decentralization), or an Excel spreadsheet edited by a trusted third party who can change any number to be any other number they want. Imagine there was only one miner in the network. In spite of being the sole entity creating the blockchain there would still be many actions they could *not* do: * Falsify ECDSA signatures * Generate proof of work without expending energy * Produce blocks that non-mining nodes would recognize as including invalid transactions (including printing themselves unlimited balances) * Force other people to purchase the coins they mine so that they can pay their electric bills What they *can* do is: * Defraud recipients of transactions by including a payment transaction in a block, then orphaning that block with another block that contains a conflicting transaction (double spend). There is usually*** a cost to performing this attack, so miners would only be expected to do it if the benefit exceeds the cost. * Prevent the inclusion of valid transactions into any block using any criteria they want. The worse case scenario for mining monopolization is that the risk of profitable double spends means that transactions might require more confirmations to be reliable, and that some entity can censor transactions at will. Those aren't exactly end-of-the world failure cases. They are certainly undesirable and every means of preventing them should be investigated, but it does mean that it should be possible to dial back on the catastrophe language when analysing possible failure modes. The weakest area for Bitcoin to be attacked is via censorship enforced by miners. The first line of defence is to improve the privacy features of wallets to the point at which blacklists are not effective. I'm confident that this can be achieved. That leaves the censors with the choice of whether or not to escalate to whitelisting, which ultimately can be countered by users switching to a new system which does not have that particular anti-feature. tl;dr: Bitcoin security does not lie on a one-dimensional "centralized vs decentralized" axis. Treating it as if it does removes the clarity that is needed in order to effectively solve problems. ***Exploring the exact conditions under which this is true is an interesting exercise and relevant to long term discussions vis a vis the block subsidy and transaction fees in the future. -- Justus Ranvier Open Bitcoin Privacy Project http://www.openbitcoinprivacyproject.org/ justus@openbitcoinprivacyproject.org E7AD 8215 8497 3673 6D9E 61C4 2A5F DA70 EAD9 E623 [-- Attachment #1.2: 0xEAD9E623.asc --] [-- Type: application/pgp-keys, Size: 18667 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 22:53 ` Monarch 2015-08-31 23:24 ` Justus Ranvier @ 2015-09-01 0:02 ` Milly Bitcoin 1 sibling, 0 replies; 25+ messages in thread From: Milly Bitcoin @ 2015-09-01 0:02 UTC (permalink / raw) To: bitcoin-dev > Bitcoin is a decentralized currency which allows any person the > ability to transact in a way that does not require specific trust in > any particular party. Bitcoin is only a partial solution to the Byzantine general problem. Users do need to trust that things such as mining and development systems work as intended. Once the user trusts those systems only then is the state of the ledger trustless. Just because the state of ledger is decentralized due to mining that does not automatically mean everything associated with Bitcoin is "decentralized." (Some people actually claim reddit is decentralized because users can vote. That would mean the US government is also decentralized since there are elections but i don't think most people would agree with that definition.) Centralized and decentralized system are not intrinsically good or bad. Each one has it use cases just like a hammer and a screw driver. Claiming otherwise is treating Bitcoin a as religion rather than a technology. Russ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 21:54 ` Justus Ranvier 2015-08-31 22:53 ` Monarch @ 2015-09-01 9:25 ` Jorge Timón 1 sibling, 0 replies; 25+ messages in thread From: Jorge Timón @ 2015-09-01 9:25 UTC (permalink / raw) To: Justus Ranvier; +Cc: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 1187 bytes --] On Aug 31, 2015 3:01 PM, "Justus Ranvier via bitcoin-dev" < bitcoin-dev@lists.linuxfoundation.org> wrote: > You keep using the word "decentralized" without explaining (and most > likely, understanding) what it means. I believe he explained very well what he meant by decentralized, please stop suggesting he doesn't understand his own thoughts: it is extremely irritating. > You say: > > > a system without the trust of third parties to process electronic payments > > What does it mean to use a decentralized network instead of a trusted > third party to process electronic payments? What undesirable actions can > a trusted third party perform that a decentralized network can not perform? For starters, a third party (or a recuded group of miners controlling the majority of the hashrate) can censor transactions. It doesn't matter how benevolent that party is: it can be forced to do it by the laws of its jurisdiction. If you don't care about this, I suggest you start a new system without expensive proof of work, you can replace it with block signing (it can still be multisig). It is already coded, just fork the alpha or the blocksigning branch in elementsProject (github). [-- Attachment #2: Type: text/html, Size: 1461 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 21:24 ` Allen Piscitello 2015-08-31 21:42 ` Monarch @ 2015-08-31 23:32 ` Peter R 2015-08-31 23:47 ` s7r 2015-09-01 11:11 ` Monarch 1 sibling, 2 replies; 25+ messages in thread From: Peter R @ 2015-08-31 23:32 UTC (permalink / raw) To: Allen Piscitello; +Cc: bitcoin-dev [-- Attachment #1: Type: text/plain, Size: 1079 bytes --] On 2015-08-31, at 2:24 PM, Allen Piscitello via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote: > Even so, decentralization is a means to an end - not an end-goal. It is essential for Bitcoin to be a useful alternative, of course. I agree. What about decentralization in development? Gavin recently said that he wants to "get to the point where there will be multiple robust implementations of the core protocol." When I look at this image (https://i.imgur.com/zivHJvY.gif) illustrating centralization in nodes, mining and development, the biggest source of concern for me is the 85% node share around Bitcoin Core. With this level of centralization, it may be possible in the future for a group of coders to prevent important changes from being made in a timely fashion (e.g., should their interests no longer align with those of the larger Bitcoin community). It is my opinion, then, that we should support multiple implementations of the Bitcoin protocol, working to reduce the network's dependency on Core. Best regards, Peter R [-- Attachment #2: Type: text/html, Size: 1682 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 23:32 ` Peter R @ 2015-08-31 23:47 ` s7r 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R 2015-09-01 11:44 ` [bitcoin-dev] Your Gmaxwell exchange Monarch 2015-09-01 11:11 ` Monarch 1 sibling, 2 replies; 25+ messages in thread From: s7r @ 2015-08-31 23:47 UTC (permalink / raw) To: Peter R, Allen Piscitello; +Cc: bitcoin-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Decentralization depends on the context and does not have a definition in a form that it was demanded... I can confirm we have people in our community which do understand decentralization, and quite good actually, just there is no definition if the form demanded. It is known that ~90% (at least of the nodes accepting incoming connections) are running Bitcoin Core software. This does not mean that Bitcoin is somehow less decentralized. Bitcoin Core is open source, it has many contributors from all over the world and there are many pull requests - most of them do get merged if you check the commit history. It is widely used because the quality of the code is 5 stars. There are other implementations as well, they are just not widely used. This does not mean one is not free to write his own implementation of the Bitcoin protocol (assuming he follows the consensus rules of the network). The biggest problem is convincing users to adopt that implementation, which is a normal thing which happens in general, not only related to software implementations. The problem is there is no other implementation out there which comes near the quality of the code in Bitcoin Core. I am actually eager to try other implementations as well, but something serious, because Bitcoin itself is a payment protocol not something to play with. This is the reason why a lot of developers contribute to Bitcoin Core rather than writing their own implementation. This only makes Bitcoin Core stronger, better, and obviously the result is that it has majority in the ecosystem for good reasons. If I'm experienced in a certain segment related to software developing, I am better of in contributing to Bitcoin Core just with the part I know instead of writing from scratch my own implementation. On 9/1/2015 2:32 AM, Peter R via bitcoin-dev wrote: > On 2015-08-31, at 2:24 PM, Allen Piscitello via bitcoin-dev > <bitcoin-dev@lists.linuxfoundation.org > <mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote: > >> Even so, *decentralization is a means to an end* - not an >> end-goal. It is essential for Bitcoin to be a useful alternative, >> of course. > > I agree. What about decentralization in development? Gavin > recently said that he wants to "get to the point where there will > be multiple robust implementations of the core protocol." > > When I look at this image (https://i.imgur.com/zivHJvY.gif) > illustrating centralization in nodes, mining and development, the > biggest source of concern for me is the 85% node share around > Bitcoin Core. With this level of centralization, it may be > possible in the future for a group of coders to prevent important > changes from being made in a timely fashion (e.g., should their > interests no longer align with those of the larger Bitcoin > community). > > It is my opinion, then, that we should support multiple > implementations of the Bitcoin protocol, working to reduce the > network's dependency on Core. > > Best regards, Peter R > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQEcBAEBCAAGBQJV5OeqAAoJEIN/pSyBJlsRRsoIAMmdyeE+Sro14NIHy6jQqTH3 JdkhUg6lg7S58tqs7ahQ/U2QGMPLaQae9yv3NidKpyqzL0YXtc2+r7RDBp0p2L4O ieBJfJRBDwjjHYun+h7VTkPRbFGoBs/vwtTahd+uxUjwdEhiOxI2Q8pY8dLbdmJz 5lyA3TIcOVy3FjGYp3ji8aBQkw4o9OZbgmY/iCmVONgup96+81/FdR8P6wwdi3tg Hep+4iU5Z+RHVE0sQhJDgl8Rw2oY6cmfxOCdFalRAASfZClkMfZok7eDE5yWtUbE tn9tEP82tc3OwZCC+XvpVggVWnCp/rGZFslfTdiWXWeLXhs+JLf0hWet4/SWCT0= =zQ9s -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 25+ messages in thread
* [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-08-31 23:47 ` s7r @ 2015-09-01 2:16 ` Peter R 2015-09-01 2:25 ` Gregory Maxwell ` (3 more replies) 2015-09-01 11:44 ` [bitcoin-dev] Your Gmaxwell exchange Monarch 1 sibling, 4 replies; 25+ messages in thread From: Peter R @ 2015-09-01 2:16 UTC (permalink / raw) To: s7r; +Cc: bitcoin-dev [-- Attachment #1.1: Type: text/plain, Size: 4631 bytes --] 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. Sincerely, Peter R On 2015-08-31, at 4:47 PM, s7r <s7r@sky-ip.org> wrote: > Signed PGP part > Decentralization depends on the context and does not have a definition > in a form that it was demanded... I can confirm we have people in our > community which do understand decentralization, and quite good > actually, just there is no definition if the form demanded. > > It is known that ~90% (at least of the nodes accepting incoming > connections) are running Bitcoin Core software. This does not mean > that Bitcoin is somehow less decentralized. Bitcoin Core is open > source, it has many contributors from all over the world and there are > many pull requests - most of them do get merged if you check the > commit history. It is widely used because the quality of the code is 5 > stars. There are other implementations as well, they are just not > widely used. This does not mean one is not free to write his own > implementation of the Bitcoin protocol (assuming he follows the > consensus rules of the network). The biggest problem is convincing > users to adopt that implementation, which is a normal thing which > happens in general, not only related to software implementations. > > The problem is there is no other implementation out there which comes > near the quality of the code in Bitcoin Core. I am actually eager to > try other implementations as well, but something serious, because > Bitcoin itself is a payment protocol not something to play with. > > This is the reason why a lot of developers contribute to Bitcoin Core > rather than writing their own implementation. This only makes Bitcoin > Core stronger, better, and obviously the result is that it has > majority in the ecosystem for good reasons. If I'm experienced in a > certain segment related to software developing, I am better of in > contributing to Bitcoin Core just with the part I know instead of > writing from scratch my own implementation. > > On 9/1/2015 2:32 AM, Peter R via bitcoin-dev wrote: > > On 2015-08-31, at 2:24 PM, Allen Piscitello via bitcoin-dev > > <bitcoin-dev@lists.linuxfoundation.org > > <mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote: > > > >> Even so, *decentralization is a means to an end* - not an > >> end-goal. It is essential for Bitcoin to be a useful alternative, > >> of course. > > > > I agree. What about decentralization in development? Gavin > > recently said that he wants to "get to the point where there will > > be multiple robust implementations of the core protocol." > > > > When I look at this image (https://i.imgur.com/zivHJvY.gif) > > illustrating centralization in nodes, mining and development, the > > biggest source of concern for me is the 85% node share around > > Bitcoin Core. With this level of centralization, it may be > > possible in the future for a group of coders to prevent important > > changes from being made in a timely fashion (e.g., should their > > interests no longer align with those of the larger Bitcoin > > community). > > > > It is my opinion, then, that we should support multiple > > implementations of the Bitcoin protocol, working to reduce the > > network's dependency on Core. > > > > Best regards, Peter R > > > [-- Attachment #1.2: Type: text/html, Size: 5929 bytes --] [-- Attachment #2: Message signed with OpenPGP using GPGMail --] [-- Type: application/pgp-signature, Size: 496 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R @ 2015-09-01 2:25 ` Gregory Maxwell 2015-09-01 8:42 ` Adam Back ` (2 subsequent siblings) 3 siblings, 0 replies; 25+ messages in thread From: Gregory Maxwell @ 2015-09-01 2:25 UTC (permalink / raw) To: Peter R; +Cc: Bitcoin Dev On Tue, Sep 1, 2015 at 2:16 AM, Peter R via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote: > - Bitcoin-B (Blockstream) Blockstream currently has no interest in maintaining a separate implementation of Bitcoin. At this time I believe doing so would have significantly negative value; especially in light of the current climate where people are conflating a tremendously destructive bifurcation of the Bitcoin ledger with mere (and far more boring) alternative implementations. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R 2015-09-01 2:25 ` Gregory Maxwell @ 2015-09-01 8:42 ` Adam Back 2015-09-01 10:16 ` Chris D'Costa 2015-09-01 12:24 ` Wladimir 2015-09-01 22:06 ` s7r 3 siblings, 1 reply; 25+ messages in thread From: Adam Back @ 2015-09-01 8:42 UTC (permalink / raw) To: Peter R; +Cc: Bitcoin Dev 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@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. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-09-01 8:42 ` Adam Back @ 2015-09-01 10:16 ` Chris D'Costa 2015-09-01 11:20 ` Monarch 0 siblings, 1 reply; 25+ messages in thread From: Chris D'Costa @ 2015-09-01 10:16 UTC (permalink / raw) To: Adam Back; +Cc: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 4761 bytes --] I think the "Kill King Bitcoin - Long Live the King" call is somewhat inevitable, and we should expect this to happen from time-to-time, now that the cat is out of the bag. However, I fully agree with Adam that livenet is probably not the place to play this game, and I'm also not convinced that testnet is either. I often wondered if there is any appetite for a no-holds-barred, anything goes, bitcoin fork that would allow for the kind of valuable experimentation that Peter R is suggesting? This is a different concept than an alt-coin because it would be undoubtedly unstable until consensus is reached - and that is the whole idea. It hopefully would inform future decisions about what gets rolled into Core. One problem I see with doing this, is the lack of incentive. Chris On 1 September 2015 at 10:42, Adam Back via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > 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@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. > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > [-- Attachment #2: Type: text/html, Size: 5965 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-09-01 10:16 ` Chris D'Costa @ 2015-09-01 11:20 ` Monarch 0 siblings, 0 replies; 25+ messages in thread From: Monarch @ 2015-09-01 11:20 UTC (permalink / raw) To: bitcoin-dev On 2015-09-01 10:16, Chris D'Costa via bitcoin-dev wrote: > However, I fully agree with Adam that livenet is probably not the > place to play this game, and I'm also not convinced that testnet is > either. > > I often wondered if there is any appetite for a no-holds-barred, > anything goes, bitcoin fork that would allow for the kind of valuable > experimentation that Peter R is suggesting? This is a different > concept than an alt-coin because it would be undoubtedly unstable > until consensus is reached - and that is the whole idea. It hopefully > would inform future decisions about what gets rolled into Core. One > problem I see with doing this, is the lack of incentive. > You are describing the essence of sidechains. You might want to check out Elements Alpha, which has some outrageous experimental changes to transaction structure. It's a technical Bitcoin sandbox which doesn't require launching yet another altcoin. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R 2015-09-01 2:25 ` Gregory Maxwell 2015-09-01 8:42 ` Adam Back @ 2015-09-01 12:24 ` Wladimir 2015-09-01 22:06 ` s7r 3 siblings, 0 replies; 25+ messages in thread From: Wladimir @ 2015-09-01 12:24 UTC (permalink / raw) To: Peter R; +Cc: Bitcoin development mailing list On Tue, Sep 1, 2015 at 4:16 AM, Peter R via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote: > I agree, s7r, that Bitcoin Core represents the most stable code base. To What about the people that like stability, that appreciate bitcoin as a "digital gold", and like all this 'excitement' like a hole in the head? Instead of creating hardforks and all the drama around it I'd encourage to do your experiments on sidechains, or altcoins. Forks of the bitcoin chain wil needlessly confuse matters, especially if they all gain their share of users. In theory an hardfork would be no different than an altcoin with shared history, but without proper measures "crosstalk" between forks of the same chain can make for a messy separation. (A fact often ignored, because those proposing forks assume they can just run over people on the other side of the fork by sake of their popularity) Also please don't confuse alternative implementations of the node software - btcd, obelisk, etc - that try to implement the consensus rules as faithfully as they can, or even use bitcoin core's consensus code directly - with deliberate rule changes as done in bitcoin XT. The former can cause an accidental fork (which will probably be repaired), the latter exist to split off their chain. Wladimir ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R ` (2 preceding siblings ...) 2015-09-01 12:24 ` Wladimir @ 2015-09-01 22:06 ` s7r 3 siblings, 0 replies; 25+ messages in thread From: s7r @ 2015-09-01 22:06 UTC (permalink / raw) To: Peter R; +Cc: bitcoin-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 That would be very wrong and cause a lot of problems and 'political chaos' without solving at least one (technical) problem in exchange. Bitcoin Core is a good quality code. It is open source and free. Anyone can contribute and submit small changes, improvements. Controversial changes are not easily merged not because the maintainers do not want, but because they represent a threat to the entire ecosystem, one way or the other. We have to very carefully balance the gains and the risks. If we try to never reach a consensus on purpose, this will only cause instability, and a possible result could be that we will end up having many more weaker implementations running in the network, decreasing the security overall and for everyone. While I do agree with some of your points of view and I am happy to see you advocate for 'more decentralization', please let me point you in a better direction (I think): there is a much bigger problem than > ~90% of the full nodes running Bitcoin Core software - it is *centralized mining (e.g. a lot of hashing power behind a single full mining node)*. On 9/1/2015 5:16 AM, Peter R 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. * > > Sincerely, Peter R > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQEcBAEBCAAGBQJV5iFqAAoJEIN/pSyBJlsRMvIH/RiE8BhlXPbNOQW01HBJTBOD 3H4bgaZoXuxSq2B1F4zKa/FvKJKtq7BGR3hLEj5tascqZTE2YsksRqmEednFNvbL XOliCjees6nI/oz/aYFuz9rFoKH4cxA7bJmbvieqGSOqDt7rtClaO2JzBycilngS F5pVGjKlprprTn4XUS8R40rfYVFbYyxaMnWBOnkgEpEAbtEvNRcASSW4HQoxuGRL 6E8mzp8f23zAv6ENxKEfQoIf5SBBfYf8v2xV+YY9JcFjwh4MAQ7zFazsChh83D42 eI01jfuh58f0DS6qGmjb++N+a/mbgmQhIC4yV4iRZKiIHp9o2xKlSv4NyEJIHlM= =JnYI -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 23:47 ` s7r 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R @ 2015-09-01 11:44 ` Monarch 1 sibling, 0 replies; 25+ messages in thread From: Monarch @ 2015-09-01 11:44 UTC (permalink / raw) To: bitcoin-dev On 2015-08-31 23:47, s7r via bitcoin-dev wrote: > The problem is there is no other implementation out there which comes > near the quality of the code in Bitcoin Core. I am actually eager to > try other implementations as well, but something serious, because > Bitcoin itself is a payment protocol not something to play with. > I don't think code quality is of a particular problem in alternate implementations, the difficulty of getting it right is simply astronomical. If you attempt to re-implement just transaction signature verification you run into edge cases remarkably quickly, most use of Bitcoin today barely scratches the surface of what was added to Bitcoin for future expansion. https://jonasnick.github.io/blog/2015/05/09/fuzzing-bitcoin-consensus/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-08-31 23:32 ` Peter R 2015-08-31 23:47 ` s7r @ 2015-09-01 11:11 ` Monarch 2015-09-01 15:59 ` Dave Collins 1 sibling, 1 reply; 25+ messages in thread From: Monarch @ 2015-09-01 11:11 UTC (permalink / raw) To: Peter R; +Cc: bitcoin-dev On 2015-08-31 23:32, Peter R wrote: > On 2015-08-31, at 2:24 PM, Allen Piscitello via bitcoin-dev > <bitcoin-dev@lists.linuxfoundation.org> wrote: > > It is my opinion, then, that we should support multiple > implementations of the Bitcoin protocol, working to reduce the > network's dependency on Core. > That would be incredibly foolish given the history, where even heroic attempts at making consensus compatible re-implementations have ended rather poorly. bitcoin-ruby and btcd have collectively had numerous consensus failures, some only recently found by fuzzing the scripting environment. There are more failures than publicly disclosed, and almost any failure can be leveraged to split the network and steal money. Ethereum attempted to create four clients, written to a defined specification, and even with all the money in the world has managed to have numerous consensus failures due to misunderstanding or implementation. > I agree. What about decentralization in development? Gavin recently > said that he wants to "get to the point where there will be multiple > robust implementations of the core protocol." > Gavin clearly hasn't kept up with the ridiculousness of that task. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-09-01 11:11 ` Monarch @ 2015-09-01 15:59 ` Dave Collins 2015-09-01 16:51 ` Monarch 0 siblings, 1 reply; 25+ messages in thread From: Dave Collins @ 2015-09-01 15:59 UTC (permalink / raw) To: bitcoin-dev [-- Attachment #1: Type: text/plain, Size: 2127 bytes --] I'd be interested to know about these supposed btcd mainnet forks that have occurred due to a consensus failure since it came out of alpha. I'll go ahead and save you some research time - there hasn't been one. I'm not claiming there will never be one as that would be just as foolish as claiming Bitcoin Core won't have any more either. As you alluded to, there was a _potential_ instance found due to fuzzing which prompted a thorough audit of the code base. It was fixed before any problems occurred and resulted in improved test coverage in Bitcoin Core as well. On the other hand, Bitcoin Core has had actual forks on mainnet during the same period. I'm not casting stones at Bitcoin Core here, because as I've said many times, none of us are perfect. No matter how careful everyone is, it is bound to happen from time to time. Until this community decides to get serious about facing the reality that an infrastructure built on a single implementation with no real disaster prevention measures for unintentional incompatibilities between different versions of that implementation is incredibly fragile, there will continue to be more unintentional hard forks regardless of the existence of alternative implementations. It has not ended poorly by any means. It has already led to several improvements such as improved test coverage and more robust and modular code. On 9/1/2015 6:11 AM, Monarch via bitcoin-dev wrote: > That would be incredibly foolish given the history, where even heroic > attempts at making consensus compatible re-implementations have ended > rather poorly. bitcoin-ruby and btcd have collectively had numerous > consensus failures, some only recently found by fuzzing the scripting > environment. There are more failures than publicly disclosed, and > almost any failure can be leveraged to split the network and steal > money. Ethereum attempted to create four clients, written to a > defined specification, and even with all the money in the world has > managed to have numerous consensus failures due to misunderstanding or > implementation. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 834 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-09-01 15:59 ` Dave Collins @ 2015-09-01 16:51 ` Monarch 2015-09-01 18:37 ` Eric Voskuil 0 siblings, 1 reply; 25+ messages in thread From: Monarch @ 2015-09-01 16:51 UTC (permalink / raw) To: bitcoin-dev On 2015-09-01 15:59, Dave Collins via bitcoin-dev wrote: > I'd be interested to know about these supposed btcd mainnet forks that > have occurred due to a consensus failure since it came out of alpha. > I'll go ahead and save you some research time - there hasn't been one. > I'm not claiming there will never be one as that would be just as > foolish as claiming Bitcoin Core won't have any more either. > For the purposes of the conversation this was only brought up to re- enforce my claim that this is outrageously difficult software development, irrespective of the quality of the code being produced in alternate implementations. Sorry if that came across as an attack against your software in particular, it wasn't intended. > On the other hand, Bitcoin Core has had actual forks on mainnet during > the same period. I'm not casting stones at Bitcoin Core here, because > as I've said many times, none of us are perfect. No matter how careful > everyone is, it is bound to happen from time to time. > The point I was trying to make is that this is simply a hard development situation to be working in, we don't know what behavior is inferred by the use of CPP and even more so OpenSSL (as the DER encoding consensus failure made abundantly clear). There's almost certainly more problems lying around given how generally dusty a lot of the transaction environment is, it's very easy to get off the beaten track with Bitcoin script. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-09-01 16:51 ` Monarch @ 2015-09-01 18:37 ` Eric Voskuil 2015-09-01 20:08 ` Monarch 0 siblings, 1 reply; 25+ messages in thread From: Eric Voskuil @ 2015-09-01 18:37 UTC (permalink / raw) To: Monarch, bitcoin-dev, libbitcoin [-- Attachment #1: Type: text/plain, Size: 2210 bytes --] On 09/01/2015 09:51 AM, Monarch via bitcoin-dev wrote: > On 2015-09-01 15:59, Dave Collins via bitcoin-dev wrote: >> I'd be interested to know about these supposed btcd mainnet forks that >> have occurred due to a consensus failure since it came out of alpha. >> I'll go ahead and save you some research time - there hasn't been one. >> I'm not claiming there will never be one as that would be just as >> foolish as claiming Bitcoin Core won't have any more either. > > For the purposes of the conversation this was only brought up to re- > enforce my claim that this is outrageously difficult software > development, irrespective of the quality of the code being produced in > alternate implementations. Sorry if that came across as an attack > against your software in particular, it wasn't intended. Whether intended or otherwise this is an attack on the idea of decentralized bitcoin development. The option to fork or roll your own is open source, not decentralization. Decentralization requires *actually doing so*. One step down that path, even for a fork, is a major commitment. Common consensus check code is now available in several bitcoin implementations. The claim that this is outrageously difficult is misleading. It's just engineering work that needs to get done if Bitcoin is to survive. >> On the other hand, Bitcoin Core has had actual forks on mainnet during >> the same period. I'm not casting stones at Bitcoin Core here, because >> as I've said many times, none of us are perfect. No matter how careful >> everyone is, it is bound to happen from time to time. > > The point I was trying to make is that this is simply a hard > development situation to be working in, we don't know what behavior is > inferred by the use of CPP and even more so OpenSSL (as the DER > encoding consensus failure made abundantly clear). There's almost > certainly more problems lying around given how generally dusty a lot > of the transaction environment is, it's very easy to get off the > beaten track with Bitcoin script. These are issues that affect the satoshi client as much as other implementations, and therefore don't support your premise. e [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [bitcoin-dev] Your Gmaxwell exchange 2015-09-01 18:37 ` Eric Voskuil @ 2015-09-01 20:08 ` Monarch 0 siblings, 0 replies; 25+ messages in thread From: Monarch @ 2015-09-01 20:08 UTC (permalink / raw) To: Eric Voskuil; +Cc: bitcoin-dev, libbitcoin On 2015-09-01 18:37, Eric Voskuil wrote: > Whether intended or otherwise this is an attack on the idea of > decentralized bitcoin development. The option to fork or roll your own > is open source, not decentralization. Decentralization requires > *actually doing so*. One step down that path, even for a fork, is a > major commitment. > > Common consensus check code is now available in several bitcoin > implementations. The claim that this is outrageously difficult is > misleading. It's just engineering work that needs to get done if > Bitcoin > is to survive. > There's no requirement for there to be multiple interpretations of the consensus code, this is why libbitcoinconsensus exists. Why do you think Bitcoins survival is predicated on reimplementation? > These are issues that affect the satoshi client as much as other > implementations, and therefore don't support your premise. > I'm aware that these problems apply to Bitcoin Core. ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2015-09-01 22:06 UTC | newest] Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-08-31 20:06 [bitcoin-dev] Your Gmaxwell exchange Monarch 2015-08-31 20:27 ` Justus Ranvier 2015-08-31 20:48 ` Monarch 2015-08-31 21:24 ` Allen Piscitello 2015-08-31 21:42 ` Monarch 2015-08-31 21:54 ` Justus Ranvier 2015-08-31 22:53 ` Monarch 2015-08-31 23:24 ` Justus Ranvier 2015-09-01 0:02 ` Milly Bitcoin 2015-09-01 9:25 ` Jorge Timón 2015-08-31 23:32 ` Peter R 2015-08-31 23:47 ` s7r 2015-09-01 2:16 ` [bitcoin-dev] Let's kill Bitcoin Core and allow the green shoots of a garden of new implementations to grow from its fertile ashes Peter R 2015-09-01 2:25 ` Gregory Maxwell 2015-09-01 8:42 ` Adam Back 2015-09-01 10:16 ` Chris D'Costa 2015-09-01 11:20 ` Monarch 2015-09-01 12:24 ` Wladimir 2015-09-01 22:06 ` s7r 2015-09-01 11:44 ` [bitcoin-dev] Your Gmaxwell exchange Monarch 2015-09-01 11:11 ` Monarch 2015-09-01 15:59 ` Dave Collins 2015-09-01 16:51 ` Monarch 2015-09-01 18:37 ` Eric Voskuil 2015-09-01 20:08 ` Monarch
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox