This is a software engineering/software philosophy question.<p>I'm not a bitcoin code contributor. I'm a software dev and in my experience every software shows its age. It's either refactored or replaced by new software that builds on lessons from v1.0.<p>Since bitcoin is the first of its kind -- decentralized electronic money -- is it possible it will undergo refactoring in the future?<p>I can't think of any widely used software that's been running for 10-15 years, more or less with the original architecture or code.<p>How is bitcoin different than other software like linux, windows, macOS, etc, in that it won't have to be refactored from the ground up?<p>Just a thought that occurred to me years ago that I still haven't found the answer to.
So, looking at it from a project management point of view: it's working. Insert as many asterisks, fear quotes and footnotes on that first sentence as you feel is appropriate, but, generally, it is, for better or worse. I think, like other working software out there, it's not degrading, so the only impetus for refactor is changing external conditions (expectations, medium, usage, etc.). This has been happening gradually. On the other hand, my understanding is that direct stakeholders (miners) are extremely resistant to change, unless it solves an existential problem in the medium, as they don't want to mess with their setup they have. I would not call these ideal conditions to see a refactor of code take place, as that holds risk and offers no benefit to stakeholders in their view.<p>The rest of the world seems to agree, as people who wanted big change made other coins that are faster, more private, etc., and other people who wanted Bitcoin to be less shitty devised things like the lightning network, which is a protocol on top of it.
seems not yet understood<p>bitcoin is merely a term for an implementation of transaction way<p>the way is so simple, first that force every player to obey the rules<p>it's deploying simple algorithm singly linked list with the data in
Merkle Tree data/hash structure