Jeff Garzik [ARCHIVE] on Nostr: 📅 Original date posted:2011-08-10 🗒️ Summary of this message: A developer ...
📅 Original date posted:2011-08-10
🗒️ Summary of this message: A developer suggests several ideas for improving Bitcoin, but emphasizes the importance of maintaining backward compatibility to avoid disrupting monetary access.
📝 Original message:On Wed, Aug 10, 2011 at 5:13 PM, Andy Parkins <andyparkins at gmail.com> wrote:
> Don't believe me? Here's a list of ideas I've had "no, no, no"d so far; not
> one of which would have any financial implication at all. Only some of
> which would break backward compatibility.
Breaking backwards compatibility means breaking people's access to
their own money.
If you remove an "unnecessary" step that existing nodes expect, then
the cost of disrupting monetary access seems higher than the value of
that breaking change.
> - Extra bits in the service field of the version message to allow nodes
> to indicate if they are mining; if they are willing to be seed nodes;
> if they relay transactions; if they want relayed transactions.
My own 'supernode' proposal also includes using the nServices bits.
There's nothing fundamentally incompatible or wrong about that.
> - Remove verack, as it's completely unnecessary.
Compatibility issues?
> - Query miners for pending transactions
I could see value in querying a bitcoind node over JSON-RPC for
pending transactions... and by extension, supporting that as an RPC on
various miners' pool servers. Having a local dump of pending TX's
would be useful.
As an optional bitcoin P2P protocol command, available to anyone,
seems to negatively impact privacy.
> - Application version separate from client version
Consensus has already approved this one, AFAIK.
> - A way of requesting block bodies without headers (saving a lot of traffic
> for a thin client upgrading)
Do you mean headers without bodies? Gavin wants to work on
headers-only, from what I've read, but others are welcome to
contribute patches.
> - Double SHA-256 for a packet checksum? Seriously?
Compatibility issues?
> - Sequence number as part of TxIn instead of part of the whole transaction
Compatibility issues?
> - Script parameters should be stored outside the script, and reference by
> the script. All that ridiculous filtering of the scripts in OP_CHECKSIG
> would then go away.
Compatibility issues?
> - MSG_DOUBLESPEND... nope
Does consensus want this?
> - getblocks to accept MSG_TX and do something sensible
Link to elaboration of use case and need?
> You can imagine then that when I read moans about there not being enough new
> developers fixing bugs, that I am unsurprised and unsympathetic. I like
> bitcoin enough to hover on this list; and offer a view of your world from a
> potential developer who was chased away.
Well, one unfortunate current aspect of bitcoin is... there seem to
be problems aplenty right now :)
However demotivating it may be, keeping the current system running
must take priority over new features.
I also heartily encourage others to do something I always want to do,
but for lack of time: work on the design for bitcoin v2 ("theme: any
breaking change is acceptable, it is a new block chain") There you
may improve the protocol, get rid of the patent-cloudy ECDSA, use
google's protocol buffers for encoding, make the proof-of-work
algorithm memory-intensive, and other excellent, thoughtful
breaking-change suggestions that have been made.
Securing the integrity of money means that a lot of implementation
decisions have been cemented into stone, however much we may
personally dislike them. Backwards compatibility is paramount.
--
Jeff Garzik
exMULTI, Inc.
jgarzik at exmulti.com
Published at
2023-06-07 02:14:16Event JSON
{
"id": "19d9c8cbb3ccb891dbd077634a619234715fc3b578e5878af87c3d936ef7fab9",
"pubkey": "b25e10e25d470d9b215521b50da0dfe7a209bec7fedeb53860c3e180ffdc8c11",
"created_at": 1686104056,
"kind": 1,
"tags": [
[
"e",
"fe8ae56772ad6135ef8f3cc5e223de1011f21616a51d5302085d2b9ebf339345",
"",
"root"
],
[
"e",
"efa2b1887e9e9e360edb60d253028b714db81f1190098fb7a4755c6983412b9a",
"",
"reply"
],
[
"p",
"99bec497728c848e65549d1a5257d08de97621edcb4b77073269a45dac708d59"
]
],
"content": "📅 Original date posted:2011-08-10\n🗒️ Summary of this message: A developer suggests several ideas for improving Bitcoin, but emphasizes the importance of maintaining backward compatibility to avoid disrupting monetary access.\n📝 Original message:On Wed, Aug 10, 2011 at 5:13 PM, Andy Parkins \u003candyparkins at gmail.com\u003e wrote:\n\u003e Don't believe me? Here's a list of ideas I've had \"no, no, no\"d so far; not\n\u003e one of which would have any financial implication at all. Only some of\n\u003e which would break backward compatibility.\n\nBreaking backwards compatibility means breaking people's access to\ntheir own money.\n\nIf you remove an \"unnecessary\" step that existing nodes expect, then\nthe cost of disrupting monetary access seems higher than the value of\nthat breaking change.\n\n\n\u003e - Extra bits in the service field of the version message to allow nodes\n\u003e to indicate if they are mining; if they are willing to be seed nodes;\n\u003e if they relay transactions; if they want relayed transactions.\n\nMy own 'supernode' proposal also includes using the nServices bits.\nThere's nothing fundamentally incompatible or wrong about that.\n\n\u003e - Remove verack, as it's completely unnecessary.\n\nCompatibility issues?\n\n\u003e - Query miners for pending transactions\n\nI could see value in querying a bitcoind node over JSON-RPC for\npending transactions... and by extension, supporting that as an RPC on\nvarious miners' pool servers. Having a local dump of pending TX's\nwould be useful.\n\nAs an optional bitcoin P2P protocol command, available to anyone,\nseems to negatively impact privacy.\n\n\u003e - Application version separate from client version\n\nConsensus has already approved this one, AFAIK.\n\n\u003e - A way of requesting block bodies without headers (saving a lot of traffic\n\u003e for a thin client upgrading)\n\nDo you mean headers without bodies? Gavin wants to work on\nheaders-only, from what I've read, but others are welcome to\ncontribute patches.\n\n\u003e - Double SHA-256 for a packet checksum? Seriously?\n\nCompatibility issues?\n\n\u003e - Sequence number as part of TxIn instead of part of the whole transaction\n\nCompatibility issues?\n\n\u003e - Script parameters should be stored outside the script, and reference by\n\u003e the script. All that ridiculous filtering of the scripts in OP_CHECKSIG\n\u003e would then go away.\n\nCompatibility issues?\n\n\u003e - MSG_DOUBLESPEND... nope\n\nDoes consensus want this?\n\n\u003e - getblocks to accept MSG_TX and do something sensible\n\nLink to elaboration of use case and need?\n\n\n\u003e You can imagine then that when I read moans about there not being enough new\n\u003e developers fixing bugs, that I am unsurprised and unsympathetic. I like\n\u003e bitcoin enough to hover on this list; and offer a view of your world from a\n\u003e potential developer who was chased away.\n\nWell, one unfortunate current aspect of bitcoin is... there seem to\nbe problems aplenty right now :)\n\nHowever demotivating it may be, keeping the current system running\nmust take priority over new features.\n\nI also heartily encourage others to do something I always want to do,\nbut for lack of time: work on the design for bitcoin v2 (\"theme: any\nbreaking change is acceptable, it is a new block chain\") There you\nmay improve the protocol, get rid of the patent-cloudy ECDSA, use\ngoogle's protocol buffers for encoding, make the proof-of-work\nalgorithm memory-intensive, and other excellent, thoughtful\nbreaking-change suggestions that have been made.\n\nSecuring the integrity of money means that a lot of implementation\ndecisions have been cemented into stone, however much we may\npersonally dislike them. Backwards compatibility is paramount.\n\n-- \nJeff Garzik\nexMULTI, Inc.\njgarzik at exmulti.com",
"sig": "b6b15889275a65e036377a4c80d119f97a69160d54dfe3230a333663ab280bd2b64e559d493aa3f5b915a1e750717e514c8c8a9453f36a99c38b6374fe904f5c"
}