Hi Yanmaani,

> Unfortunately, this isn't really possible. If they did that, you could get 
> consensus splits. This is why all the other stuff is so important - if 
> Bitcoin is subverted via soft-fork, you *can't* just run your own fork.

I am aware of this problem however looking for solutions or workarounds. Is it 
possible to have one library for things related to consensus which is used by 
all full node implementations? There are lot of other things in any full node 
implementation apart from consensus related code.

> This is all about the money - it's easy to have people be independent when 
> their source of money is independent. But nobody's crazy enough to bite the 
> hand that feeds them, and you couldn't really build a system on that basis. 
> Our best hope is gentle hands, or contributors wealthy enough not to have to 
> care.

Sorry neither I agree with this nor its "all about money" for me. I am assuming 
there are few others as well with similar thoughts.

I had shared few reasons why someone might contribute to Bitcoin Core: 
https://bitcoin.stackexchange.com/a/108017/

> Isn't Bitcoin already plenty distributed? Funding people in under-represented 
> countries seems to me like a textbook exercise in 'box-ticking, but moreover, 
> I'd frankly rather have reasonably well-off guys from Western Europe/America 
> who have the financial backbone to not worry that much about attacks to their 
> funding, than mercenaries who have to follow orders or get fired. Even if 
> they're from West Uzbekistan.

Sorry I don't agree with this approach. Its not about 'box-ticking' textbook 
exercise but to make the attacks more difficult by any governments or people 
with malicious intent. Few years back when I was in college and Tor wasn't as 
famous as it is now, we used normal socks proxies for pentesting. My mentor 
Godzilla had suggested us to use IP of different countries not because it is 
some textbook exercise but it helps when someone tries to trace your requests. 
Similarly, if we have people from different countries in different full node 
implementations as maintainers it will be difficult for people to try crazy 
things.

> See above. Bitcoin Knots isn't really independent.

I understand there are other implementations like btcd, bcoin, gocoin, 
libbitcoin, bitcore etc. and Knots is a derivative of Core. However there are 
lot of differences and it changes your experience as a user while running node 
and using it for different things. I have mentioned few things in the medium 
post shared in last email.

> You could also look into a system like Monero's CCS.

Yes I like it and suggested once in bitcoin.org repository even though it can 
be done by anyone as there is no official website for Bitcoin: 
https://github.com/bitcoin-dot-org/Bitcoin.org/issues/3545


-- 
Prayank

A3B1 E430 2298 178F



Nov 5, 2021, 20:15 by yanma...@cock.li:

> On 2021-11-05 08:17, Prayank via bitcoin-dev wrote:
>
>> What followed it (whitepaper being shared on different websites) was
>> true decentralization and we need something similar in other aspects
>> of full node implementations. Few things that can improve
>> decentralization:
>>
>> 1.More people using alternative full node implementations. Right now
>> 98% of nodes use Bitcoin Core.
>>
>
> Unfortunately, this isn't really possible. If they did that, you could get 
> consensus splits. This is why all the other stuff is so important - if 
> Bitcoin is subverted via soft-fork, you *can't* just run your own fork.
>
> Theoretically, I suppose you could run two implementations and do something 
> if they differ, but what?
> 1. Bitcoin Core and <AltImpl> both say block is valid -> valid
> 2. Bitcoin Core and <AltImpl> both say block is invalid -> invalid
> 3. Bitcoin Core says valid, <AltImpl> says invalid -> valid (or get forked 
> off)
> 4. Bitcoin Core says invalid, <AltImpl> says valid -> invalid (or hardfork)
>
>> 2.More people like Luke Dashjr and Amir Taaki who do not simp for
>> anyone. Being a contributor or maintainer in Bitcoin full node
>> implementation is different from other open source projects. It was
>> never going to be easy and it will get difficult with time,
>>
>
> This is all about the money - it's easy to have people be independent when 
> their source of money is independent. But nobody's crazy enough to bite the 
> hand that feeds them, and you couldn't really build a system on that basis. 
> Our best hope is gentle hands, or contributors wealthy enough not to have to 
> care.
>
> (Whatever happened to Amir Taaki, by the way?)
>
>> 3.More people from different countries getting involved in important
>> roles.
>>
>
> Isn't Bitcoin already plenty distributed? Funding people in under-represented 
> countries seems to me like a textbook exercise in 'box-ticking, but moreover, 
> I'd frankly rather have reasonably well-off guys from Western Europe/America 
> who have the financial backbone to not worry that much about attacks to their 
> funding, than mercenaries who have to follow orders or get fired. Even if 
> they're from West Uzbekistan.
>
> (Maybe they need a union?)
>
>> 4.Few anons.
>>
>
> Gonna guess you mean "a few anons," not fewer anons.
>
> Again, problem is money. These days, nobody threatens anyone with anything 
> substantive, like murder - the threats all involve cutting off some funding. 
> So having anonymous people being funded by non-robust sources doesn't really 
> buy you that much, because the weakest link will pretty much never be the 
> de-jure, legal freedom of an individual.
>
> Having a system that allows people to fund anonymous people better would be 
> interesting, but it has some challenges with trust and so on.
>
>> 5.Individuals and organizations who fund different Bitcoin projects
>> should consider contributing in alternative. full node implementations
>> as well. Maybe start with Bitcoin Knots.
>>
>
> See above. Bitcoin Knots isn't really independent. btcd in Go is, so I guess 
> they could try that. But at the end of the day, it wouldn't help - btcd has 
> to be bug-for-bug compatible with Core, and it couldn't really be any other 
> way.
>
> For my $0.05, what's needed is more "hard money" - if people could make 
> donations into a fund, with the fund then paying out to developers, and that 
> fund be controlled in a civilized and non-centralized way (that's the hard 
> part!), this would somewhat insulate developers from people threatening to 
> stop their contributions to The Fund, at the price of having developers being 
> able to be coerced by The Fund.
>
> You could also look into a system like Monero's CCS. But at the end of the 
> day, funding is really a very difficult problem, no matter how you slice it. 
> The money still has to enter the system somehow. Since Bitcoin is a public 
> good, you can't really capture its value, and this means individuals who can 
> (e.g. by malicious activity) will always have the leg up.
>

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to