Gavin Andresen [ARCHIVE] on Nostr: 📅 Original date posted:2011-07-12 🗒️ Summary of this message: Bitcoin's ...
📅 Original date posted:2011-07-12
🗒️ Summary of this message: Bitcoin's client needs a much better internal architecture and cleaner code-base, but incremental improvement of the current system is the right thing to do.
📝 Original message:It is SO tempting to start over from scratch, isn't it?
We'll just tell everybody to stop using bitcoin so much for six months
or so while we implement a much better client. It will be exactly
like the bitcoin we have now, except with a much nicer internal
architecture and much cleaner code-base, and we're pretty sure we can
get it done in six months if everything goes exactly as planned.
I think incremental improvement of the "devil we know" is the right
thing to do right now, although I'm going to spend more time thinking
about how to make sure different bitcoin implementations work well
together (I've started working on network-protocol-level testing).
Regarding Michael's specific suggestions: the
lots-of-threads-and-mutexes architecture of the client bothers me
because it is too easy to change code and create a deadlock that is
very hard to debug and fix. Switching to asynchronous IO might be the
right thing to do. Then again, it might be easier to modify the
CRITICAL_SECTION code to detect and report deadlocks (anybody have
experience doing that?).
--
--
Gavin Andresen
Published at
2023-06-07 02:04:40Event JSON
{
"id": "59acc6ad4d66d3eda475bd2e7dae199a49c3fa33225360d9f460dbc5f67d7163",
"pubkey": "857f2f78dc1639e711f5ea703a9fc978e22ebd279abdea1861b7daa833512ee4",
"created_at": 1686103480,
"kind": 1,
"tags": [
[
"e",
"4eaf1439aa67825cabdea581be3956c38ea4a62226b60d5367bace64dca7945b",
"",
"root"
],
[
"e",
"caac76ccdaf1c04ec501e373f5629c994e6e2e42af4f74d77c187d3325c70be2",
"",
"reply"
],
[
"p",
"f2c95df3766562e3b96b79a0254881c59e8639f23987846961cf55412a77f6f2"
]
],
"content": "📅 Original date posted:2011-07-12\n🗒️ Summary of this message: Bitcoin's client needs a much better internal architecture and cleaner code-base, but incremental improvement of the current system is the right thing to do.\n📝 Original message:It is SO tempting to start over from scratch, isn't it?\n\nWe'll just tell everybody to stop using bitcoin so much for six months\nor so while we implement a much better client. It will be exactly\nlike the bitcoin we have now, except with a much nicer internal\narchitecture and much cleaner code-base, and we're pretty sure we can\nget it done in six months if everything goes exactly as planned.\n\nI think incremental improvement of the \"devil we know\" is the right\nthing to do right now, although I'm going to spend more time thinking\nabout how to make sure different bitcoin implementations work well\ntogether (I've started working on network-protocol-level testing).\n\nRegarding Michael's specific suggestions: the\nlots-of-threads-and-mutexes architecture of the client bothers me\nbecause it is too easy to change code and create a deadlock that is\nvery hard to debug and fix. Switching to asynchronous IO might be the\nright thing to do. Then again, it might be easier to modify the\nCRITICAL_SECTION code to detect and report deadlocks (anybody have\nexperience doing that?).\n\n-- \n--\nGavin Andresen",
"sig": "2891c426353a8afa9ef7f091aa2c65eff295b15efc52f1beac693226cfb9d8d273d9610d838650382231a51fa321247470d9f33629c3f35b3f5f4928c7196da5"
}