Title: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 16, 2023, 08:48:50 AM Quote from: https://blog.samourai.is/dojo-1-22-0-released/ Starting with this release, it will not be possible to use Knots fork of Bitcoin Core when connecting to an external bitcoin node because Dojo will actively refuse to make an RPC connection to such node. For users with bitcoind installed by Dojo (via docker), bitcoind will now periodically scan connected peers and ban those that are detected as Knots. This feature can be turned off by setting BITCOIND_CRON_JOBS=off in docker-bitcoind.conf. This feature was added to protect our users whose privacy-enhancing transactions such as tx0 or BIP47 notification would not be relayed properly because of non standard policies set by default on Knots nodes. Not a surprising move, really. If Knots are going to refuse to relay Whirlpool transactions, then Samourai are simply not going to connect to any Knots nodes with their software to ensure their transactions continue to get good propagation. There will also be people who do not run Dojo but won't want to connect to Knots nodes for the same reason. This is unlikely to make any meaningful difference to the wider network though, given that Dojo is about 3.1% of all nodes, and Knots is about 0.4% of all nodes. Low value and off topic replies will be deleted. Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 16, 2023, 09:09:38 AM Not a surprising move, really. If Knots are going to refuse to relay Whirlpool transactions, then Samourai are simply not going to connect to any Knots nodes with their software to ensure their transactions continue to get good propagation. There will also be people who do not run Dojo but won't want to connect to Knots nodes for the same reason. I believe it is also a decision based on their values. Of course there is a need to do it, but I think this move is also symbolic. Now, Umbrel offers a docker image of Samourai Server (https://apps.umbrel.com/app/samourai-server). I think that if you use umbrel and enable this feature, then essentially you run a Dojo node on your machine. Don't you? If so, you can easily connect your Samourai & Sentinel wallets straight to this server. And again, if you can do this, people can use this feature on their Umbrel nodes. There are many people I know who use Umbrel and perhaps this will make it easier for them. Do you have any info regarding this? Because if this is the case, then the percentage of people running Dojo can increase significantly. This is unlikely to make any meaningful difference to the wider network though, given that Dojo is about 3.1% of all nodes, and Knots is about 0.4% of all nodes. Any move supporting our privacy is welcome, no matter how big the impact is. Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 16, 2023, 09:26:19 AM Now, Umbrel offers a docker image of Samourai Server (https://apps.umbrel.com/app/samourai-server). Looks like it is still stuck on version 1.16.1 of Dojo (https://code.samourai.io/dojo/samourai-dojo/-/releases/v1.16.1), so this feature won't be there yet.You can always do this manually using setban (https://bitcoincore.org/en/doc/25.0.0/rpc/network/setban/) in Core, though. Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 16, 2023, 10:13:37 AM You can always do this manually using setban (https://bitcoincore.org/en/doc/25.0.0/rpc/network/setban/) in Core, though. Are you in favour of this approach though? To be honest, banning in Core, seems like something I wouldn't consider doing before these things happened. I mean it never crossed my mind until now that I should ban other nodes from my node. Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 16, 2023, 10:30:18 AM Are you in favour of this approach though? I don't see why not. You want your node to broadcast your transactions, and other nodes to relay them. If you found a node was arbitrarily rejecting all your completely valid and completely standard transactions based on some local setting, then being connected to that node is a hindrance for the purposes of broadcasting your transactions. That node will also not relay to you other users' completely valid and completely standard transactions which you want to learn about, for the same reason. So replacing that node with another node makes logical sense.If you found one of your peers was refusing to relay all your transactions but you didn't know why, would you not simply replace it with another peer? Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 16, 2023, 10:56:56 AM Are you in favour of this approach though? I don't see why not. You want your node to broadcast your transactions, and other nodes to relay them. If you found a node was arbitrarily rejecting all your completely valid and completely standard transactions based on some local setting, then being connected to that node is a hindrance for the purposes of broadcasting your transactions. That node will also not relay to you other users' completely valid and completely standard transactions which you want to learn about, for the same reason. So replacing that node with another node makes logical sense.If you found one of your peers was refusing to relay all your transactions but you didn't know why, would you not simply replace it with another peer? Sounds reasonable but as you said, you need to inspect your logs and see which nodes reject your txs, don't you? I am reading their code (https://github.com/bitcoinknots/bitcoin/blob/25.x-knots/README.md) now and it looks like there is no way of knowing the if a machine is running Knots. So you have to manually check the logs and then setban Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 16, 2023, 11:09:04 AM Just use getpeerinfo (https://bitcoincore.org/en/doc/25.0.0/rpc/network/getpeerinfo/), or click on individual peers on your peer list window using the GUI. Knots nodes identify themselves as such via their User Agent/subver string.
Title: Re: RoninDojo bans connections to Knots nodes Post by: stompix on December 16, 2023, 05:52:03 PM You want your node to broadcast your transactions, and other nodes to relay them. If you found a node was arbitrarily rejecting all your completely valid and completely standard transactions based on some local setting, then being connected to that node is a hindrance for the purposes of broadcasting your transactions. Well said, it just so funny: - ordinals are a spam attacks on the bitcoin blockchain - rejecting valid transactions is not an attack, it's...something else! I can't wait to hear Luke screaming how this is another attack and playing the victim card in the war he started. Knots nodes identify themselves as such via their User Agent/subver string. I bet there will be an update pretty soon. ;) Btw, where did you get the stats for the % of nodes? Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 16, 2023, 07:05:37 PM Btw, where did you get the stats for the % of nodes? https://bitnodes.io/nodes/?q=dojoTitle: Re: RoninDojo bans connections to Knots nodes Post by: BobLawblaw on December 18, 2023, 07:56:17 AM You can always do this manually using setban (https://bitcoincore.org/en/doc/25.0.0/rpc/network/setban/) in Core, though. Core should add a banlist where you can define User Agent string bans. eg: banuseragent *Knots* Title: Re: RoninDojo bans connections to Knots nodes Post by: ABCbits on December 18, 2023, 10:01:56 AM This is unlikely to make any meaningful difference to the wider network though, given that Dojo is about 3.1% of all nodes, and Knots is about 0.4% of all nodes. Btw, where did you get the stats for the % of nodes? https://bitnodes.io/nodes/?q=dojoIt's surprising there are far more reachable nodes which use RoninDojo than Knots. You can always do this manually using setban (https://bitcoincore.org/en/doc/25.0.0/rpc/network/setban/) in Core, though. Core should add a banlist where you can define User Agent string bans. eg: banuseragent *Knots* It's interesting idea, although persistent/malicious node can change their user agent easily. Title: Re: RoninDojo bans connections to Knots nodes Post by: NotATether on December 18, 2023, 10:55:35 AM Needless unnecessary fallout created by Ocean Mining (ie. Knots nodes) having an artificially small OP_RETURN length limit.
That being said, I don't think anyone actually uses knots - one of the reasons you'd make a node fork is to make your own optimizations to the Bitcoin Core client for specific use cases. Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 18, 2023, 04:09:56 PM It's interesting idea, although persistent/malicious node can change their user agent easily. Knots nodes don't even need to advertise that they are Knots nodes - this is easily hidden. Then you are back to what apogio outlined above of banning nodes which return an error message when you broadcast your transactions, although again, those nodes could stop doing that and could just silently drop your transactions.That being said, I don't think anyone actually uses knots Very few. As above, Knots only accounts for around 0.4% of all nodes.On another note, things not looking so great for Ocean: https://ocean.xyz/dashboard With the hashrate they claim to have they should be finding around one block a week, but it's been 15 days since their last block. Seems like a number of their miners are giving up on them and their total hashrate is gradually falling. Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 18, 2023, 06:04:36 PM On another note, things not looking so great for Ocean: https://ocean.xyz/dashboard With the hashrate they claim to have they should be finding around one block a week, but it's been 15 days since their last block. Seems like a number of their miners are giving up on them and their total hashrate is gradually falling. It's all about profitability. If the miners stop earning sats for their work, they will eventually move to other pools. I saw that ocean mining has found many blocks in the past, but only 2 in 2023. Have they been working in the past (before 2017)? Title: Re: RoninDojo bans connections to Knots nodes Post by: DaveF on December 18, 2023, 07:10:33 PM On another note, things not looking so great for Ocean: https://ocean.xyz/dashboard With the hashrate they claim to have they should be finding around one block a week, but it's been 15 days since their last block. Seems like a number of their miners are giving up on them and their total hashrate is gradually falling. It's all about profitability. If the miners stop earning sats for their work, they will eventually move to other pools. I saw that ocean mining has found many blocks in the past, but only 2 in 2023. Have they been working in the past (before 2017)? That was not ocean mining but rather Eligius which was a different older pool. As for banning Knots, yes they can just rename the user agent something else but what's the point, they are such a small % of nodes out there that the odds of you connecting are 0.4% per connection. Not a number worth worrying about. Unless they want to spin up 100s of nodes it's never going to be more then an irritation to others. Unless something changes and / or JD throws a lot of money at the pool I see it slowly dying since miners as a rule follow the money and not mining certain transactions means less money. -Dave Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 18, 2023, 08:08:06 PM I saw that ocean mining has found many blocks in the past, but only 2 in 2023. Have they been working in the past (before 2017)? Luke's previous pool (Eligius) which has been obsolete for 6 years. It's pretty disingenuous in my opinion for the Ocean mining site to say "Blocks Found: 11,633", when in reality they've found 2.Unless something changes and / or JD throws a lot of money at the pool I see it slowly dying since miners as a rule follow the money and not mining certain transactions means less money. Turns out Ocean are losing a lot on fees as well: https://nitter.cz/OrangeSurfBTC/status/1736113144269869298#mThat's a loss of 0.5 BTC per block. When you have not even mined a single block in 15+ days, that's a significant amount of fees to be throwing away through your censorship policies. Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 18, 2023, 08:32:03 PM It's pretty disingenuous in my opinion for the Ocean mining site to say "Blocks Found: 11,633", when in reality they've found 2. Exactly! Has the hashpower been increased during these years? That's a loss of 0.5 BTC per block. When you have not even mined a single block in 15+ days, that's a significant amount of fees to be throwing away through your censorship policies. Incredible... Unless something changes and / or JD throws a lot of money at the pool I see it slowly dying since miners as a rule follow the money and not mining certain transactions means less money. Does JD have anything to win from Ocean mining? I thought Luke was the creator / maintainer of both Ocean mining & Knots. Title: Re: RoninDojo bans connections to Knots nodes Post by: mikeywith on December 18, 2023, 08:56:48 PM On another note, things not looking so great for Ocean: https://ocean.xyz/dashboard With the hashrate they claim to have they should be finding around one block a week, but it's been 15 days since their last block. Seems like a number of their miners are giving up on them and their total hashrate is gradually falling. Their average hashrate for the past few weeks or since they started is below 400PH since they had a while of below 300PH, but let's just assume it's 400PH since the 28th of last month since that's when they first got above their first peta, that would be 20 days in total, so up to this point their luck/pace sits at about 100% with nothing out of the ordinary. Given that 1 in 7.4 blocks would have 200% difficulty, it's pretty normal for said pool to go on without having a block for another 10 days, in fact, if anything, it's astonishing how they managed to get those 500PH on board, comparing them to another pool like Kano that has been there for way too long and doesn't censor transactions but struggles to go above 50PH. However, as I said when they first launched this pool, it would be only a matter of time before it collapses, as it stands right now, they sell it as the anti-censorship, decentralization savior mining pool which clearly isn't the case, not to mention how it's almost certain that all non-PPS pools will vanish in a few years from now. That's a loss of 0.5 BTC per block. When you have not even mined a single block in 15+ days, that's a significant amount of fees to be throwing away through your censorship policies. He was very kind to pick that blocktemplate, It would been even worse if he picked the blocktemplete they generated for block 821596 (https://mempool.space/block/000000000000000000008ed27e5d18709c450b78367df4bfbf37dd7b9a1fb6ec). Title: Re: RoninDojo bans connections to Knots nodes Post by: DaveF on December 18, 2023, 11:12:25 PM It's pretty disingenuous in my opinion for the Ocean mining site to say "Blocks Found: 11,633", when in reality they've found 2. Exactly! Has the hashpower been increased during these years? That's a loss of 0.5 BTC per block. When you have not even mined a single block in 15+ days, that's a significant amount of fees to be throwing away through your censorship policies. Incredible... Unless something changes and / or JD throws a lot of money at the pool I see it slowly dying since miners as a rule follow the money and not mining certain transactions means less money. Does JD have anything to win from Ocean mining? I thought Luke was the creator / maintainer of both Ocean mining & Knots. https://www.coindesk.com/business/2023/11/29/jack-dorsey-aims-to-create-anti-censorship-bitcoin-mining-pool-with-new-startup/ and https://www.forbes.com/sites/digital-assets/2023/12/01/jack-dorsey-backs-ocean-in-shifting-toward-decentralized-bitcoin-mining/?sh=5e213817346c So yes he (or he with others) is throwing a lot of $ at the pool. Considering how block / square want to know everything you do within the BTC ecosystem and everything else they control it's not a surprise they also want to control what TXs are mined. -Dave Title: Re: RoninDojo bans connections to Knots nodes Post by: pooya87 on December 19, 2023, 04:45:33 AM That move is more like the continuation of their fight on Twitter otherwise there was no need for such a change and it is not going to affect anything. Afterall Samourai has been working fine so far and Knots had that limit all this time :)
Core should add a banlist where you can define User Agent string bans. I'm all for adding more flexibility to the settings users can change but this sounds like a malicious centralized move. Not to mention that you don't need to ban other implementations such as Knots if you run a full node like bitcoin core. The only difference in Knots is some of the standard rules and there is a reason why they are called "standard rules", they are preference not a ban worthy offense. For example your node may decide not to relay txs with fee rate lower than 10 sat/vb but that doesn't mean your node should be banned!eg: banuseragent *Knots* The only reason why Samourai guys (ie. a light client) are doing this is because Knots had a very very old standard rule for OP_RETURN limit that never relayed their transactions but they only found out about it recently! Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 19, 2023, 07:22:44 AM https://www.coindesk.com/business/2023/11/29/jack-dorsey-aims-to-create-anti-censorship-bitcoin-mining-pool-with-new-startup/ and https://www.forbes.com/sites/digital-assets/2023/12/01/jack-dorsey-backs-ocean-in-shifting-toward-decentralized-bitcoin-mining/?sh=5e213817346c So yes he (or he with others) is throwing a lot of $ at the pool. Considering how block / square want to know everything you do within the BTC ecosystem and everything else they control it's not a surprise they also want to control what TXs are mined. -Dave This is a quote from one of the articles you mention: Quote Ocean's debut comes as some legacy mining pools have been the subject of controversy for censoring certain transactions, as "censorship resistance" is considered by many Bitcoiners to be a cardinal principle of the largest and original blockchain. I mean, it will be "censorship resistant", but at the same time, their decision to refuse to relay Whirlpool transactions, isn't it considered censhorship? I'm all for adding more flexibility to the settings users can change but this sounds like a malicious centralized move. Not to mention that you don't need to ban other implementations such as Knots if you run a full node like bitcoin core. The only difference in Knots is some of the standard rules and there is a reason why they are called "standard rules", they are preference not a ban worthy offense. For example your node may decide not to relay txs with fee rate lower than 10 sat/vb but that doesn't mean your node should be banned! According to o_e_l_e_o's original post, Knots is run only by 0.4% of the current nodes. If you ask me, as I mentionned above, I agree that banning wasn't something I had in mind until now. I am ok with identifying if some of my peers constantly reject my transactions and manually banning them, but I don't really want to make a ban using a "wildcard" or something like that. But Bitcoin is fantastic because anyone is allowed to do whatever they want with their nodes. Their nodes their rules. Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 19, 2023, 09:22:18 AM The only difference in Knots is some of the standard rules and there is a reason why they are called "standard rules", they are preference not a ban worthy offense. If one of your peers was rejecting all Segwit transactions, would you not drop them for a peer which was not placing arbitrary limits on completely standard transactions?Their nodes their rules. Exactly. If they are free to censor transactions from their nodes, then I am free to refuse to connect to their nodes.As I mentioned, this is largely irrelevant at the moment since Knots are such a tiny fraction of all nodes, but it sets a terrible precedence. What you if end up with the majority of your peers censoring your transactions or refusing to relay all transactions? You compromise your own security, privacy, and ability to use bitcoin for no reason? Better to fight back against this kind of nonsense right now before it becomes more widespread. Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 19, 2023, 09:32:26 AM Exactly. If they are free to censor transactions from their nodes, then I am free to refuse to connect to their nodes. As I mentioned, this is largely irrelevant at the moment since Knots are such a tiny fraction of all nodes, but it sets a terrible precedence. What you if end up with the majority of your peers censoring your transactions or refusing to relay all transactions? You compromise your own security, privacy, and ability to use bitcoin for no reason? Better to fight back against this kind of nonsense right now before it becomes more widespread. It is not irrelevant. One of the most important things in Bitcoin is that you can disobey to other nodes' rules if you disagree. The fact that it doesn't make a difference now shouldn't make us feel safer. What if JD and LD manage to convince a lot of people to use their node implementation? We implement our rules... We try to convince people that our rules are better. Otherwise we will end up in a centralised system, not very different than the one we currently live in. Title: Re: RoninDojo bans connections to Knots nodes Post by: DooMAD on December 19, 2023, 01:17:50 PM Exactly. If they are free to censor transactions from their nodes, then I am free to refuse to connect to their nodes. As I mentioned, this is largely irrelevant at the moment since Knots are such a tiny fraction of all nodes, but it sets a terrible precedence. What you if end up with the majority of your peers censoring your transactions or refusing to relay all transactions? You compromise your own security, privacy, and ability to use bitcoin for no reason? Better to fight back against this kind of nonsense right now before it becomes more widespread. It is not irrelevant. One of the most important things in Bitcoin is that you can disobey to other nodes' rules if you disagree. The fact that it doesn't make a difference now shouldn't make us feel safer. What if JD and LD manage to convince a lot of people to use their node implementation? We implement our rules... We try to convince people that our rules are better. Otherwise we will end up in a centralised system, not very different than the one we currently live in. Game-theory and the 'alignment of incentives' still appears to be steering the network correctly at the moment. Economic pressure is now acting against those running the Knots client. Action and reaction. It's a self-governing network and this is what self-governance looks like. You're absolutely free to disagree, however, there's a catch. Deviate from what's in the best interests of the network, expect consequences. People will find a way to freely transact, even if it requires removing obstacles from their path. Ergo, avoid being an obstacle to freedom and the network won't act against you. I'd rather not test the theory that this holds up to larger scale disputes, but it seems to have effectively quelled this one. Title: Re: RoninDojo bans connections to Knots nodes Post by: apogio on December 19, 2023, 01:28:23 PM Game-theory and the 'alignment of incentives' still appears to be steering the network correctly at the moment. Economic pressure is now acting against those running the Knots client. Action and reaction. It's a self-governing network and this is what self-governance looks like. You're absolutely free to disagree, however, there's a catch. Deviate from what's in the best interests of the network, expect consequences. People will find a way to freely transact, even if it requires removing obstacles from their path. Ergo, avoid being an obstacle to freedom and the network won't act against you. I'd rather not test the theory that this holds up to larger scale disputes, but it seems to have effectively quelled this one. To be honest, my main problem at the moment is that Bitcoin becomes unusable due to high fees. So, in this regard, I don't see Knots as the enemy here. Their decision not to relay Whirlpool transactions is not a direct hit against Whirlpool, but rather an effort to stop ordinals. The problem is, they will indirectly harm various tools that protect our privacy... Title: Re: RoninDojo bans connections to Knots nodes Post by: DooMAD on December 19, 2023, 02:15:29 PM To be honest, my main problem at the moment is that Bitcoin becomes unusable due to high fees. So, in this regard, I don't see Knots as the enemy here. Their decision not to relay Whirlpool transactions is not a direct hit against Whirlpool, but rather an effort to stop ordinals. The problem is, they will indirectly harm various tools that protect our privacy... Hence the adage: "An eye for an eye makes the whole world blind" It's simply not a viable approach. Think of it like war. The more you escalate, the more collateral damage you potentially cause, the larger the number of people who get caught in the crossfire. In the end, it's mostly innocent people who suffer. Title: Re: RoninDojo bans connections to Knots nodes Post by: pooya87 on December 20, 2023, 05:31:21 AM The only difference in Knots is some of the standard rules and there is a reason why they are called "standard rules", they are preference not a ban worthy offense. If one of your peers was rejecting all Segwit transactions, would you not drop them for a peer which was not placing arbitrary limits on completely standard transactions?As a full node or a light client, we connect to full nodes for many different reasons not just to push transactions. Which means having the most options to connect to is better. We also have little ways of knowing why a node rejected a transaction we just sent it. It may be a bad signature, it may be an overloaded mempool that has dynamically increased the fee rate or it could be a standard rule aka preference that the user changed. For example a bitcoin core node can reject a transaction containing an OP_RETURN output that is 10 bytes (https://github.com/bitcoin/bitcoin/blob/e3847f7ac4b74893d266770c456d57ed20b9bb8b/src/node/mempool_args.cpp#L84) while a bitcoin Knots node can accept an OP_RETURN output that is 500 bytes (https://github.com/bitcoinknots/bitcoin/blob/a5eb5c7e3018049e7ca0d95387e3c21e99c131cd/src/init.cpp#L1060) just because the user can easily change those limits. They are not hard-coded. It's up to the developer of your client to have already handled all these cases automatically and in a general way not a hard-coded case-by-case way through their user-agent just because they had a fight with that other developer on Twitter :D Title: Re: RoninDojo bans connections to Knots nodes Post by: o_e_l_e_o on December 20, 2023, 06:50:45 PM Automatically yes but never hard-code such a rule to ban a certain implementation because of its "changeable preference". It's not hard coded:Quote For users with bitcoind installed by Dojo (via docker), bitcoind will now periodically scan connected peers and ban those that are detected as Knots. This feature can be turned off by setting BITCOIND_CRON_JOBS=off in docker-bitcoind.conf. If Knot users stop censoring Whirlpool transactions by changing their OP_RETURN limit, then Dojo users can very easily choose to connect to Knots nodes again by changing this setting. |