Bitcoin Forum
May 04, 2024, 04:50:03 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can bitcoin 0.1.0 code still interact with the blockchain?  (Read 192 times)
franklin2058 (OP)
Jr. Member
*
Offline Offline

Activity: 49
Merit: 3


View Profile
August 10, 2021, 01:19:21 AM
 #1

There are a lot of update to bitcoin software, can bitcoin 0.1.0 code (the original Satoshi Nakamoto version) still interact with the blockchain? Or I have to compile the latest version?

Thanks a lot!
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
jackg
Copper Member
Legendary
*
Offline Offline

Activity: 2856
Merit: 3071


https://bit.ly/387FXHi lightning theory


View Profile
August 10, 2021, 01:36:31 AM
Merited by NeuroticFish (3), vapourminer (1), NotATether (1)
 #2

No there have been too many changes for the 0.1.0 version to be compatible with the current bitcoin blockchain.

Running anything other than the latest version is kind of asking for getting vulnerabilities, I think there was a version a few years ago that had a few critical vulnerabilities that had to be patched (partly to do with DDoS and something else)...

I think there's a version around 8.8 or 12 that is compatible with the most recent blockchain, however, doesn't benefit from the lower transaction fees the newer software has that makes it able to segregate signatures away from the transaction making it quite a bit smaller. I also think the original (0.1.0) version used a public key for identifying who funds were being sent to (making it much bigger than just using a hash of the key)

There have also been releases with the more recent versions to increase initial block download time and client synchronisation (since it's around 350GB now I think).
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
August 10, 2021, 02:06:42 AM
Merited by NeuroticFish (2), pooya87 (2), ABCbits (2), vapourminer (1), NotATether (1), BlackHatCoiner (1)
 #3

No. Bitcoin 0.1.0's peer discovery mechanism has been deprecated for quite awhile, namely the IRC. You won't be able to discover any peers to connect to when running 0.1.0. Tons of protocol changes since then as well.

There isn't any reason why you should attempt to run 0.1.0, other than to perhaps satisfy your curiosity.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10537



View Profile
August 10, 2021, 02:53:41 AM
Merited by ABCbits (2)
 #4

There is also another issue with old client's protocol version. When the current existing nodes receive the version message during handshake and see the protocol version is below 31800 they will reject the connection right away.
https://github.com/bitcoin/bitcoin/blob/8193294caba03b996370873db79cf4fc22a1e95b/src/net_processing.cpp#L2516-L2521

There is another issue which I can think of which involves the database that the early version was using. I don't quite remember the issue but it was something about the db not being able to sync after a certain number of blocks.

Other than that as far as the consensus rules go all the blocks mined so far are backward compatible (the ones containing witness will be stripped).

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
BlackHatCoiner
Legendary
*
Offline Offline

Activity: 1512
Merit: 7342


Farewell, Leo


View Profile
August 10, 2021, 07:19:46 AM
 #5

I really wonder, though.

If we install the v0.1.0 in two computers and let them connect through the GetMyExternalIP, assuming “72.233.89.199:80” or any other IP they decide works, will they start mining the chain from the genesis block? Is there anything that'd prevent them from having their own chain since they'd not be interacted with the current nodes even if they connected somehow?

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
NotATether
Legendary
*
Offline Offline

Activity: 1596
Merit: 6727


bitcoincleanup.com / bitmixlist.org


View Profile WWW
August 10, 2021, 07:55:04 AM
Merited by BlackHatCoiner (1)
 #6

Is there anything that'd prevent them from having their own chain since they'd not be interacted with the current nodes even if they connected somehow?

No, but the beauty about the consensus is that, ignoring the fact that they will never catch up to the main chain, these nodes are effectively orphaned from the rest of the network (see pooya87 reply above).

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
hugeblack
Legendary
*
Online Online

Activity: 2506
Merit: 3633


Buy/Sell crypto at BestChange


View Profile WWW
August 10, 2021, 08:26:15 AM
 #7

you have CVE-2010-5139 when  block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. after this block chain had to be forked and all old nodes need to update them code. so bitcoin 0.1.0 can't work then.

.BEST..CHANGE.███████████████
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
███████████████
..BUY/ SELL CRYPTO..
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10537



View Profile
August 10, 2021, 08:32:27 AM
Merited by gmaxwell (1)
 #8

will they start mining the chain from the genesis block?
As far as I know bitcoin core never automatically started mining, you had to manually start mining new blocks.

you have CVE-2010-5139 when  block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. after this block chain had to be forked and all old nodes need to update them code. so bitcoin 0.1.0 can't work then.
That block no longer exists so the node should technically be able to sync since it follows the longest chain. Also mining a new block with the bug is too expensive an attack for someone to pull off today just to affect the 0.1.0 version.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
vjudeu
Hero Member
*****
Offline Offline

Activity: 677
Merit: 1559



View Profile
August 10, 2021, 10:36:21 AM
 #9

Quote
can bitcoin 0.1.0 code (the original Satoshi Nakamoto version) still interact with the blockchain?
It probably can, but not directly. Maybe creating a chain of localhost clients with different versions passing data from one node to another will be able to do that, but I'm not sure even about that, something like v1 connected with v2 connected with v3, ..., connected with the latest version (not necessarily each version, just versions when there were major changes). So, technically maybe it is possible to use version 0.1.0, but there will be many issues and workarounds needed to make it usable, it's better to run the latest version.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
August 10, 2021, 03:29:46 PM
Merited by pooya87 (2), ABCbits (2)
 #10

I haven't tried anything as old as 0.1.0 but you can take 0.3.2-ish (one of the last before satoshi left) and sync as far as 2013 but then gets stuck because of blocks >500KB exceeding the bdb locks limit.  To do so you need to work around some p2p incompatiblities, and not let it see any new blocks while its syncing because the sync process effectively starts over when it gets sent a new block.

Anything 0.8 from 2013 or newer doesn't have the BDB flaws and can sync all the way to the tip but there are enough bugs exposed by the more resource heavy chain that it can be a bit hard-- so you still need to protect it from seeing reorgs or newly added blocks while it's syncing.
jackg
Copper Member
Legendary
*
Offline Offline

Activity: 2856
Merit: 3071


https://bit.ly/387FXHi lightning theory


View Profile
August 10, 2021, 04:23:06 PM
 #11

I really wonder, though.

If we install the v0.1.0 in two computers and let them connect through the GetMyExternalIP, assuming “72.233.89.199:80” or any other IP they decide works, will they start mining the chain from the genesis block? Is there anything that'd prevent them from having their own chain since they'd not be interacted with the current nodes even if they connected somehow?

Well yes, but you might want to look into testnet instead or as well as that - I think the download is quite a bit smaller too but that's a public chain.

I think there's a version around 8.8 or 12 that is compatible with the most recent blockchain
You're talking about Bitcoin-qt 0.8.0
I feel like there was one immediately after 0.8.0 that also had a major update - not sure how critical the memory leaks were of 0.8.5

I also think the original (0.1.0) version used a public key for identifying who funds were being sent to (making it much bigger than just using a hash of the key)

To be specific, it's uncompressed public key which barely used these days.

As well as the ripemd160 hash that also gets used which probably means the address is quite a lot smaller than an uncompressed public key.
I think there was a pay to IP option at some point too that got removed (it had quite a lot of problems associated with it - especially since communcations weren't encrypted).
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
August 10, 2021, 04:33:29 PM
Merited by pooya87 (2)
 #12

I also think the original (0.1.0) version used a public key for identifying who funds were being sent to (making it much bigger than just using a hash of the key)
To be specific, it's uncompressed public key which barely used these days.
As well as the ripemd160 hash that also gets used which probably means the address is quite a lot smaller than an uncompressed public key.
I think there was a pay to IP option at some point too that got removed (it had quite a lot of problems associated with it - especially since communcations weren't encrypted).
Just to clarify. P2PKH or the v1 Bitcoin addresses has been around since the initial release. It is just that the mining interface and the pay to IP are both using P2PK but I doubt it is really of any concern since no one uses them anymore.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
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!