Bitcoin Forum
May 09, 2024, 08:32:28 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Multiple bitcoind instances sharing one blockchain.  (Read 668 times)
stonehedge (OP)
Legendary
*
Offline Offline

Activity: 1652
Merit: 1002


Decentralize Everything


View Profile
January 25, 2016, 11:32:50 AM
 #1

Hi,

Is it possible for somebody to run several bitcoin instances sharing the same local blockchain?

If it is possible, how is it done and what are the risks?

If it isn't possible, what prevents it from happening?

I am keen to understand whether there are any full node operators out there who are skimping on the storage costs that come with running multiple full nodes.

Many thanks.
1715286748
Hero Member
*
Offline Offline

Posts: 1715286748

View Profile Personal Message (Offline)

Ignore
1715286748
Reply with quote  #2

1715286748
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
ranochigo
Legendary
*
Offline Offline

Activity: 2968
Merit: 4177



View Profile
January 25, 2016, 11:44:34 AM
 #2

It's probably not possible IIRC.

Bitcoin Core creates a lock file that is only deleted once the program exits. If Bitcoin Core detects such a file, the instance will not run. Accessing Blockchain from two different places would result in a corruption (same scenario as how Blockchain gets corrupted if anti viruses attempts to scan it).

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

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

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

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

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

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











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











▄▄▄▄█
stonehedge (OP)
Legendary
*
Offline Offline

Activity: 1652
Merit: 1002


Decentralize Everything


View Profile
January 25, 2016, 11:47:19 AM
 #3

It's probably not possible IIRC.

Bitcoin Core creates a lock file that is only deleted once the program exits. If Bitcoin Core detects such a file, the instance will not run. Accessing Blockchain from two different places would result in a corruption (same scenario as how Blockchain gets corrupted if anti viruses attempts to scan it).

Thank you. 

For clarity, does this mean that it is possible but is ill advised or that it is simply impossible due to the lock file mechanism?
ranochigo
Legendary
*
Offline Offline

Activity: 2968
Merit: 4177



View Profile
January 25, 2016, 11:56:45 AM
 #4

It's probably not possible IIRC.

Bitcoin Core creates a lock file that is only deleted once the program exits. If Bitcoin Core detects such a file, the instance will not run. Accessing Blockchain from two different places would result in a corruption (same scenario as how Blockchain gets corrupted if anti viruses attempts to scan it).

Thank you.  

For clarity, does this mean that it is possible but is ill advised or that it is simply impossible due to the lock file mechanism?
It is possible to bypass it by removing the lock file after opening up an instance. Another instance would then be able to be opened up without the check for running Bitcoind warning.

However, the client will not be able to read the blocks and it would get corrupted. You will need an reindex after that. (IIRC)

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

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

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

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

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

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











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











▄▄▄▄█
mocacinno
Legendary
*
Offline Offline

Activity: 3388
Merit: 4922


https://merel.mobi => buy facemasks with BTC/LTC


View Profile WWW
January 25, 2016, 11:58:37 AM
 #5

Why would you do this?

Most reasons should be easily solvable by using an RPC call instead of a second deamon, isn't it?

█▀▀▀











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











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
stonehedge (OP)
Legendary
*
Offline Offline

Activity: 1652
Merit: 1002


Decentralize Everything


View Profile
January 25, 2016, 12:00:44 PM
 #6

Why would you do this?

Most reasons should be easily solvable by using an RPC call instead of a second deamon, isn't it?

I am trying to understand, for example, whether somebody could run 10 bitcoin full nodes only using one single copy of the blockchain thus saving on storage costs.

More specifically, I want to understand whether it is possible to prevent this behavior if it is already possible.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 25, 2016, 02:17:37 PM
 #7

Why would you do this?

Most reasons should be easily solvable by using an RPC call instead of a second deamon, isn't it?

I am trying to understand, for example, whether somebody could run 10 bitcoin full nodes only using one single copy of the blockchain thus saving on storage costs.

More specifically, I want to understand whether it is possible to prevent this behavior if it is already possible.

Now you are asking the correct question. The answer is, yes its possible to fake e.g. 10 full nodes while only providing the resources (or only slightly more) of a single node. The 9 fake nodes would run custom software (not core!) that would forward the requests to the single full node. In theory this full node can be any other on the network that is available, so you could do this without running a single node.

The idea to proof that you run a full node and thus get rewarded for doing so has been brought up several times. I have not seen a good solution yet. I would applaud a solution as the number of nodes decreases and the costs of running one increase.

Im not really here, its just your imagination.
coins101
Legendary
*
Offline Offline

Activity: 1456
Merit: 1000



View Profile
January 25, 2016, 03:02:24 PM
Last edit: January 25, 2016, 03:29:41 PM by coins101
 #8

This is also an issue for bittorent.

People fake their seeding ratio in order to push up their download speeds.

One of the best forms of defence against Sybil attacks is putting up a money barrier. It's a shame nodes are not used for mining as they were intended. Perhaps nodes now need their own PoW to validate storage.

Edit

Nodes could perform PoW on a random set of blocks and generate a hash of the results. The calculations to be performed and the PoW to be used could then propagate and nodes would have to provide the same hash but signed with a public key. You could set an upper limit for correct verification based on response times and this coukd possibly filter out fakes - then send micropayments to those that seem to pass the test n-times.
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!