Bitcoin Forum
June 01, 2024, 05:27:45 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 2013-03-12; client decentralization is as important as node decentralization  (Read 843 times)
WiW (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


"The public is stupid, hence the public will pay"


View Profile
March 12, 2013, 04:25:29 PM
 #1

The events occurring due to the update from 0.7 to 0.8 show, in my opinion, that client decentralization is just as important as node decentralization. Notice that I don't even have to say which client I'm talking about. It's obvious we're all using the same client.

Don't get me wrong, the devs for the open source client brought to us by the foundation are doing an excellent job and I salute them. I have no doubt that the core devs have no malicious intent, but as bitcoin matures it is important that there be no one entity which mediates the protocol. There have been talks about how a client sitting on the majority of nodes which auto-updates from a single source could be hazardous to bitcoin - not only with regards to bugs, but also by malicious intent. In my opinion, it is very important that as bitcoin matures, we have a consensus on how to implement the protocol and not a faucet that showers on us how to implement the protocol.

I have been quite disappointed with the variety of clients available. Yes, there are plenty of clients which satisfy a multitude of needs and desires, however I still feel like there need to be more. Not only with full nodes, but also for noob-friendly and merchant-friendly clients. If we are to go the linux way, only insiders will be satisfied and there won't be enough effort to get more people involved. For example, just the other day I wanted to print air-gapped paper wallets in bulk and was surprised to discover that there was no "bootable, ready-to-start-printing, bulk private key generator live CD". Maybe that's asking for too much, but the fact is that the best way to make private keys in bulk for the average user is with bitcoinaddress.org (you know, the one that works in your internet browser).

I, as one who is in the process of studying programming and software engineering, plan to write at least one open source bitcoin client (and hopefully other bitcoin-related software as well). I hope more heed this call.
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
March 12, 2013, 04:32:41 PM
 #2

There are plenty of alt-clients out there.  Improve an existing one Smiley

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
codro
Member
**
Offline Offline

Activity: 91
Merit: 10


View Profile
March 12, 2013, 04:37:31 PM
 #3

Even though bitaddress.org is technically a website and only works in a web browser, it does the generation completely client-side.

So you can save a copy of the site on an USB stick, grab any live cd that has a webbrowser, disconnect your internet cable, and open it from that live cd while completely offline.
jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1097


View Profile
March 12, 2013, 04:56:55 PM
 #4

The events occurring due to the update from 0.7 to 0.8 show, in my opinion, that client decentralization is just as important as node decentralization. Notice that I don't even have to say which client I'm talking about. It's obvious we're all using the same client.

Don't get me wrong, the devs for the open source client brought to us by the foundation are doing an excellent job and I salute them. I have no doubt that the core devs have no malicious intent, but as bitcoin matures it is important that there be no one entity which mediates the protocol. There have been talks about how a client sitting on the majority of nodes which auto-updates from a single source could be hazardous to bitcoin - not only with regards to bugs, but also by malicious intent. In my opinion, it is very important that as bitcoin matures, we have a consensus on how to implement the protocol and not a faucet that showers on us how to implement the protocol.

I have been quite disappointed with the variety of clients available. Yes, there are plenty of clients which satisfy a multitude of needs and desires, however I still feel like there need to be more. Not only with full nodes, but also for noob-friendly and merchant-friendly clients. If we are to go the linux way, only insiders will be satisfied and there won't be enough effort to get more people involved. For example, just the other day I wanted to print air-gapped paper wallets in bulk and was surprised to discover that there was no "bootable, ready-to-start-printing, bulk private key generator live CD". Maybe that's asking for too much, but the fact is that the best way to make private keys in bulk for the average user is with bitcoinaddress.org (you know, the one that works in your internet browser).

I, as one who is in the process of studying programming and software engineering, plan to write at least one open source bitcoin client (and hopefully other bitcoin-related software as well). I hope more heed this call.

This event proofs that it is basically impossible to re-implement the Satoshi client. You not only need to re-implement all functions and features, but also all bugs, in order to be compatible with the Satoshi client. Making a incompatible will just lead to a hard-fork like this event.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
WiW (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


"The public is stupid, hence the public will pay"


View Profile
March 12, 2013, 08:05:10 PM
 #5

This event proofs that it is basically impossible to re-implement the Satoshi client. You not only need to re-implement all functions and features, but also all bugs, in order to be compatible with the Satoshi client. Making a incompatible will just lead to a hard-fork like this event.

No, this event proves the Satoshi client is the de-facto protocol, and if the Satoshi client so decides one thing, then it is and everyone bends to fit it. If the Satoshi client is the only client, then there is no consensus, it's just one source for decision making. But if the Satoshi client weren't the only client then whoever was using a bad client would simply be left behind. A "bad client" is one that disagrees with the consensus.
rebroad
Newbie
*
Offline Offline

Activity: 26
Merit: 9



View Profile
May 07, 2013, 12:00:51 AM
 #6

This event proofs that it is basically impossible to re-implement the Satoshi client. You not only need to re-implement all functions and features, but also all bugs, in order to be compatible with the Satoshi client. Making a incompatible will just lead to a hard-fork like this event.

No, this event proves the Satoshi client is the de-facto protocol, and if the Satoshi client so decides one thing, then it is and everyone bends to fit it. If the Satoshi client is the only client, then there is no consensus, it's just one source for decision making. But if the Satoshi client weren't the only client then whoever was using a bad client would simply be left behind. A "bad client" is one that disagrees with the consensus.

I agree. Also, as long as well written clients keep an eye out for longer alt-chains, then there's no harm in hard forks occuring. The longer fork (as Gavin states) determines which is the de-facto bitcoin. It would also benefit bitcoin if miners didn't rely so much on the satoshi client as this also reduces decentralisation.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!