-
m-relay
<ofrnxmr:xmr.mx> Ill speedmine and try to get ahead kf main chain
-
m-relay
<ofrnxmr:xmr.mx> Looks like if my node knows about an alt chain, it wont switch to that alt chain
-
m-relay
<ofrnxmr:xmr.mx> Trying to pop my failed reorg blocks and reconnect would instantly ban the "honest" node. Had to restart the daemon to get my selfish node to reconnect
-
m-relay
<ofrnxmr:xmr.mx> Do your nodes see anything?
-
m-relay
<ofrnxmr:xmr.mx> Or maybe they banned me?
-
m-relay
<rucknium:monero.social> I don't see any change, but I don't see any ban statements, either. Try to clear all of your bans.
-
m-relay
<ofrnxmr:xmr.mx> I cleared my bans
-
m-relay
<ofrnxmr:xmr.mx> It tried to connect to peers but disconnects immediately
-
m-relay
<ofrnxmr:xmr.mx> Restarted the node
-
m-relay
<ofrnxmr:xmr.mx> try `bans` in your monerod, is 86.something in there?
-
m-relay
<rucknium:monero.social> all four of my nodes with open ports have no bans.
-
m-relay
-
m-relay
<ofrnxmr:xmr.mx> Damn, idk why mine is failing to connect
-
m-relay
<rucknium:monero.social> try to connect as priority node to 185.141.216.147 with normal testnet p2pool port
-
m-relay
<ofrnxmr:xmr.mx> Oh i have out peers now
-
m-relay
<ofrnxmr:xmr.mx> Height 522
-
m-relay
<rucknium:monero.social> I'm at 524
-
m-relay
<ofrnxmr:xmr.mx> How abiut now
-
m-relay
<ofrnxmr:xmr.mx> Mine shows youre at 530 now
-
m-relay
<rucknium:monero.social> yes, 530
-
m-relay
<ofrnxmr:xmr.mx> Did you get reorged?
-
m-relay
<ofrnxmr:xmr.mx> Hm looks like i got reorged
-
m-relay
<ofrnxmr:xmr.mx> Well, at least my malicious nodes did
-
m-relay
<rucknium:monero.social> argh
-
m-relay
<ofrnxmr:xmr.mx> Maybe your dns checkpoints were being pulled from the new reorged chain?
-
m-relay
<ofrnxmr:xmr.mx> And mine followed the latest checkpoint?
-
m-relay
<rucknium:monero.social> Oh. Yeah.
-
m-relay
<rucknium:monero.social> I need the raw patch on the node that pushes up the DNS checkpoints.
-
m-relay
<ofrnxmr:xmr.mx> this should do it
-
m-relay
<rucknium:monero.social> New binary built on the DNS checkpoint node. Creating another attacking chain.
-
m-relay
<vtnerd:monero.social> running 2 nodes, one connected to your node listed above, and one just whatever the p2p state is. fwiw I’m not a fan of these auto-checkpoints, but Im curious on these tests at least
-
m-relay
<vtnerd:monero.social> oh and both mine are not running ofrn patch, so they both should get forked off, just wondering how long before the other node even realizes
-
m-relay
<ofrnxmr:monero.social> Hopefully theyd get forked off, then get forked back
-
m-relay
<vtnerd:monero.social> I don't follow why they would fork back - you mean because the alt chain stops being mined?
-
m-relay
<rucknium:monero.social> I just sent out the attacking chain.
testnetnode4.moneroconsensus.info is patched with the checkpoints (and is the origin of the checkpoints).
testnetnode3.moneroconsensus.info is unpatched.
-
m-relay
<rucknium:monero.social> Now I will attempt to mine on the old chain.
-
m-relay
<vtnerd:monero.social> Saw both here basically instantly, guess it wasn't a surprise since everyone on testnet is running without checkpoints
-
m-relay
<rucknium:monero.social> On my patched node I see things like
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> 2025-08-19 00:57:06.427 I Host xxx.xxx.xxx.xxx blocked.
-
m-relay
<rucknium:monero.social> 2025-08-19 00:57:09.311 I [94.156.232.72:62085 INC] Sync data returned a new top block candidate: 2814554 -> 2814560 [Your node is 6 blocks (12.0 minutes) behind]
-
m-relay
<rucknium:monero.social> 2025-08-19 00:57:09.311 I SYNCHRONIZATION started
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> `0(out)+1(in) connection` on the patched node
-
m-relay
<rucknium:monero.social> "old" chain has now overtaken the attacking chain. It's not spread throughout the network yet because of bans.
-
m-relay
<vtnerd:monero.social> Yeah not seeing that on either of my nodes yet. The one with priority node for 185 isn't listing that as a connection either
-
m-relay
<rucknium:monero.social> Now seeing, on the patched node
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> 2025-08-19 01:02:29.672 I [146.70.199.171:51596 INC] Sync data returned a new top block candidate: 2814569 -> 2814563 [Your node is 6 blocks (12.0 minutes) ahead]
-
m-relay
<rucknium:monero.social> 2025-08-19 01:02:29.672 I SYNCHRONIZATION started
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<vtnerd:monero.social> Just saw the swap back on the priority node first, then the other one about 25 seconds later
-
m-relay
<vtnerd:monero.social> Actually it took some time for me to type so it's at 1:04:31 for the first reorg back and 1:04:53 for the other. I assume my connection to yours meant we had closer peers in common, etc
-
m-relay
<vtnerd:monero.social> For the first reorg that is and the more similar peers
-
m-relay
<ofrnxmr:xmr.mx> patched node is on 583
-
m-relay
<ofrnxmr:xmr.mx> Which is the main chaib
-
m-relay
<rucknium:monero.social> Heckpointed chain is now at 582, hash 29f3bb
-
m-relay
<vtnerd:monero.social> Did it ever switch? Should've never swapped if I understand your setup correctly
-
m-relay
<rucknium:monero.social> #Qubic defeated
-
m-relay
<rucknium:monero.social> My unpatched nodes all switched over the the checkpointed chain at about 01:04:30
-
m-relay
<ofrnxmr:xmr.mx> Thats what my hashpointed node is on
-
m-relay
<rucknium:monero.social> and no big re-org noticed on your checkpointed node?
-
m-relay
<rucknium:monero.social> notices*
-
m-relay
<ofrnxmr:xmr.mx> nope. Didnt even get the alt chain
-
m-relay
<ofrnxmr:xmr.mx> Shows no alt chains
-
m-relay
<ofrnxmr:xmr.mx> it did, however, ban various nodes
-
m-relay
<ofrnxmr:xmr.mx> We likelt want to reduce the ban time for this offence
-
m-relay
<rucknium:monero.social> It seems like it worked as expected, except maybe the peer banning. Monero nodes just like to ban each other.
-
m-relay
<ofrnxmr:xmr.mx> i need ti grep logs, but i think these are an offence ban of some sort
-
m-relay
<ofrnxmr:xmr.mx> Like "node sent chain with diff history, dropping connection +ban"
-
m-relay
<vtnerd:monero.social> Sounds like it worked as detected, but I just dunno. They could intentionally fork the coin (assuming hashrate was real, which is in flux afaik) and make people pick a side. Every node that doesn't enable DNS nodes defacto picks their side
-
m-relay
<vtnerd:monero.social> *DNS checkpoints
-
m-relay
<ofrnxmr:xmr.mx> I think nides that dont pick, should be reorged to the longest chain
-
m-relay
<ofrnxmr:xmr.mx> That dont have dns* enabled
-
m-relay
<ofrnxmr:xmr.mx> But my dns enabled node bans them
-
m-relay
<vtnerd:monero.social> Yes that's what I'm saying, if they have the 51% hashrate, why not make people pick a side and who should manage xmr. A little wild of a theory, and I'm not sure what exchanges would do etc
-
m-relay
<boog900:monero.social> yeah I was thinking we would probably need to announce this in advance and have it activate in the node after a certain timestamp, to give some time for people to update
-
m-relay
<vtnerd:monero.social> Its like bch/btc but an actual hostile takeover at that point. If this was rolled out in a hard fork, as default on, then everyone would defacto pick core side at least, but now it's all so messy
-
m-relay
<vtnerd:monero.social> Yes
-
m-relay
<boog900:monero.social> or ig just not update DNS until the timestamp
-
m-relay
<ofrnxmr:xmr.mx> I just pushed a reorg
-
m-relay
<ofrnxmr:xmr.mx> Have a few nodes on my side
-
m-relay
<ofrnxmr:xmr.mx> 454e0
-
m-relay
<ofrnxmr:xmr.mx> Its showing on
testnetnode1.moneroconsensus.info
-
m-relay
<ofrnxmr:xmr.mx> Now lets see if main chain can overtake
-
m-relay
<vtnerd:monero.social> Yes both picked it up here too
-
m-relay
<ofrnxmr:xmr.mx> dns checkpoints say only 1 of them matched, so didnt use the checkpoint
-
m-relay
<ofrnxmr:xmr.mx> Aend another reorg
-
m-relay
<ofrnxmr:xmr.mx> sent another reorg
-
m-relay
<ofrnxmr:xmr.mx> Theres a problem with the dns txt entries
-
m-relay
<ofrnxmr:xmr.mx> im only getting results from 1 of them
-
m-relay
<ofrnxmr:xmr.mx>
testnetnode1.moneroconsensus.info this is building on my attacking chain
-
m-relay
<ofrnxmr:xmr.mx> On another note, randomx hashrate went up in price by 15-30%
-
m-relay
<rucknium:monero.social> Aha. I knew there was still a use for the tree view. Three chains with blocks at the same height, 2,814,585
-
m-relay
<gingeropolous:monero.social> I think im seeing these reorgs on the xmrchain testnet node alt_chain_info: 8 blocks long, from height 2814585 (59 deep), diff 1123132353962: 3f31df9b5c10249a619caf3de9eff5e1fe54260d2ddfbfa7cc3d961338f903cb
-
m-relay
<gingeropolous:monero.social> how often would this check be occuring?
-
m-relay
<ofrnxmr:monero.social> :P first i orphaned the right branch db0d, then orphaned the left branch 0902
-
m-relay
<ofrnxmr:monero.social> Ginger, does your "default" node match up with the tip here
testnetnode1.moneroconsensus.info
-
m-relay
<ofrnxmr:monero.social> I guess i can just check
-
m-relay
<barthman132:matrix.org> I there a way to hide the fact that you’re running a monero node? That type of technology could be useful if the government goes after monero. I know you can run a node over tor, but what about a idea that the node hides the fact it’s a monero node and tricks the isp into thinking it’s like a bitcoin node or something like that.
-
m-relay
<barthman132:matrix.org> Is there a way to hide the fact that you’re running a monero node? That type of technology could be useful if the government goes after monero. I know you can run a node over tor, but what about a idea that the node hides the fact it’s a monero node and tricks the isp into thinking it’s like a bitcoin node or something like that.
-
m-relay
<torir:matrix.org> If you are in that situation, it might be better to not run a node at all. Hiding the fact that you are hiding a node, especially on clearnet, sounds like a difficult research problem.
-
m-relay
<torir:matrix.org> Just use a remote node over Tor for payments.
-
m-relay
<barthman132:matrix.org> That’s a very serious flaw though, because remote nodes can be malicious and can track monero transactions
-
m-relay
<barthman132:matrix.org> That’s a very serious flaw though, because remote nodes can be malicious and can track monero transactions if they’re malicious
-
m-relay
<barthman132:matrix.org> The danger of malicious nodes have been known for years and it’s recommended that you set up a node yourself.
-
yetanotherminer
You can use a VPN to run a node if needed, some of them even allow port forwarding. Else you can setup your own VPN server
-
m-relay
<barthman132:matrix.org> Yes, but you have to do that every single time you want to connect to the node, so if you mess up and accidentally forgot to turn on your vpn then your isp will be able to see the monero node.
-
m-relay
<barthman132:matrix.org> But I think only relying on a vpn for this is not ideal, because most vpns will turn over their logs on you if asked. All vpns say they don’t log, but most of the time it’s bs and they log you anyways. So you even have to be careful which vpn service you choose
-
m-relay
<ofrnxmr:xmr.mx> Off topic
-
m-relay
<ofrnxmr:xmr.mx> [#monero:monero.social](https://matrix.to/#/%23monero:monero.social)
-
m-relay
<barthman132:matrix.org> How is it off topic?
-
m-relay
<kayabanerve:matrix.org> ofrnxmr @ofrnxmr:xmr.mx: I'd say it's perfect for here, actually
-
m-relay
<kayabanerve:matrix.org> barthman132: The latest work from Bitcoin has its protocol appear as pure entropy to any passive observer. The same techniques could be applied to Monero, but it'd be a distinct effort than the current work on TLS for P2P.
-
m-relay
<syntheticbird:monero.social> hiding a node presence is a combination of traffic obfuscation and resistance to Active probing
-
m-relay
<syntheticbird:monero.social> which is both hard
-
m-relay
<kayabanerve:matrix.org> In comparison, IIRC, Tor tries to appear as an HTTPS connection. Not noise, but web traffic.
-
m-relay
<kayabanerve:matrix.org> SyntheticBird: Easier if you don't accept incoming connections, but yeah.
-
m-relay
<kayabanerve:matrix.org> You can still be MITMd, and while there are some ways to build a directory to prevent that, you still need an initial access to the directory
-
m-relay
<kayabanerve:matrix.org> But passive adversaries is where you can make a lot of progress and do some really neat things, and it still *helps* for more powerful adversaries
-
m-relay
<kayabanerve:matrix.org> I think boog did notable work on "contact lists'?
-
m-relay
<syntheticbird:monero.social> contact lists?
-
m-relay
<barthman132:matrix.org> How many remaining tests are needed for FCMP
-
m-relay
<fiatdemise:matrix.org> Think this proposal by zawy to make selfish mining less likely by nodes rejecting blocks based on timestamp has potential? Or is there a flaw that makes it not viable?
-
m-relay
-
m-relay
<fiatdemise:matrix.org> I found his simulation post here easier to understand.
zawy12/difficulty-algorithms #87
-
m-relay
<articmine:monero.social> This is worth serious discussion
-
m-relay
<monerobull:matrix.org> qubic hasnt found any blocks in a while
-
m-relay
<monerobull:matrix.org> are they working on reorgs again
-
DataHoarder
not from what I can see
-
m-relay
<articmine:monero.social> The permitted time delay/ advance need to take into consideration:
-
m-relay
<articmine:monero.social> 1) Relativistic effects (The speed of light in fibre or to and from satellites
-
m-relay
<articmine:monero.social> 2) Switching times of Internet routers
-
m-relay
<articmine:monero.social> 3) The impact of censorship delays on network latency (For example the great firewall of China)
-
m-relay
<articmine:monero.social> .other latency delays in the Internet
-
m-relay
<articmine:monero.social> An interesting metric of minimal Internet latency is obtaining tickets to the annual Chaos Computer Congress in Germany from locations far away from Germany ; for example western Canada.
-
m-relay
<articmine:monero.social> The tickets sell out in about 500ms, relativistic latency is of the order of 100 - 200 ms and human reaction times are of the order of 300 ms
-
sech1
Ticket bots are just on the server right next to them, in Germany
-
m-relay
<articmine:monero.social> I have been successful from British Columbia in Western Canada
-
m-relay
<articmine:monero.social> Manually
-
m-relay
<articmine:monero.social> I estimate my handicap was about 200 ms
-
nioc
-
m-relay
<rucknium:monero.social> I think the experiments caused a netsplit on testnet. My checkpointed node is waiting at height 2814600. `sync_info` says that 11 other peers are at 2814600 or 2814599 with me. And I have 28 peers banned for 12 more hours.
-
m-relay
<rucknium:monero.social> I also see this at the default log level, right after a re-org:
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> 2025-08-19 01:43:24.363 W WARNING: no majority of DNS TXT records matched (only 1/2)
-
m-relay
<rucknium:monero.social> 2025-08-19 01:46:03.982 W WARNING: no majority of DNS TXT records matched (only 1/2)
-
m-relay
<rucknium:monero.social> 2025-08-19 01:52:45.455 W CHECKPOINT FAILED FOR HEIGHT 2814582. EXPECTED HASH: <29f3bb29d9949edfdbe7f49af2abf0e00c81680c16c00dbe47614cf14b6106ff>, FETCHED HASH: <6839d07d89b79d53264a7f199ce7a1315ce0b1aded7988cfd745f
-
m-relay
<rucknium:monero.social> 79bdc392606>
-
m-relay
<rucknium:monero.social> 2025-08-19 01:52:45.455 E Local blockchain failed to pass a checkpoint, rolling back!
-
m-relay
<rucknium:monero.social> 2025-08-19 01:52:45.480 W Attempt to get hash from height 2814584 failed -- hash not in db
-
m-relay
<rucknium:monero.social> 2025-08-19 01:52:45.480 E Error in handle_invoke_map: Attempt to get hash from height 2814584 failed -- hash not in db
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> Unless anyone objects, I will clear those bans on the node in 30 minutes, which will probably end the netsplit.
-
m-relay
<ofrnxmr:xmr.mx> My attacking node, at 2814933, is not using checkpointing
-
m-relay
<ofrnxmr:xmr.mx> The issue here, is that the main chain (the one mining at 600h/s) got forked onto my attacking chain.
-
m-relay
<ofrnxmr:xmr.mx> I think the way to fix, is to get the checkpointed chain ahead of the attacked one
-
m-relay
<rucknium:monero.social> I think the checkpointing node is on the same main chain as the rest of the network
-
m-relay
<rucknium:monero.social> I can also just set the checkpoints to the majority network by pointing my checkpointing script at a different node.
-
m-relay
<rucknium:monero.social> The checkpointing node is at `2814599:767e539b978172ee1c602dfc7b7739289a40e64d12ffa072746f9f005c3c1287` , which is the correct hash for that height of the majority chain.
-
m-relay
<diw_tim:matrix.org> <nioc> I think there are multiple flaws with the this approach. The paper (
eprint.iacr.org/2019/486.pdf) describes that other pools can become detectives only by infiltrating the selfish mining pool (such as Qubic in this case) and acting as sensors that retrieve information on coinbase transactions or merkleroot hashes. However, Qubic can prevent infiltration by implem<clipped message>
-
m-relay
<diw_tim:matrix.org> enting a whitelist for new miners, which is definitely possible for them as I suspect they're both renting hashes and collaborating with someone who has lots of rigs. Additionally, θ (the share of detectives) must be at least 50% of the hash rate for this strategy to be effective, which may not be feasible for the largest pools to implement, even if it benefits them. Don't forget<clipped message>
-
m-relay
<diw_tim:matrix.org> that Qubic is already incentivizing miners to switch by providing them with $QUBIC emissions. I do not see why Qubic cannot increase its emissions to prevent larger pools from becoming detectives, offering them a % share of selfish mined blocks in return, if they decide not to implement a whitelist.
-
m-relay
<diw_tim:matrix.org> <nioc> I think there are multiple flaws with this approach. The paper (
eprint.iacr.org/2019/486.pdf) describes that other pools can become detectives only by infiltrating the selfish mining pool (such as Qubic in this case) and acting as sensors that retrieve information on coinbase transactions or merkleroot hashes. However, Qubic can prevent infiltration by implementi<clipped message>
-
m-relay
<diw_tim:matrix.org> ng a whitelist for new miners, which is definitely possible for them as I suspect they're both renting hashes and collaborating with someone who has lots of rigs. Additionally, θ (the share of detectives) must be at least 50% of the hash rate for this strategy to be effective, which may not be feasible for the largest pools to implement, even if it benefits them. Don't forget tha<clipped message>
-
m-relay
<diw_tim:matrix.org> t Qubic is already incentivizing miners to switch by providing them with $QUBIC emissions. I do not see why Qubic cannot increase its emissions to prevent larger pools from becoming detectives, offering them a % share of selfish mined blocks in return, if they decide not to implement a whitelist.
-
m-relay
<ofrnxmr:xmr.mx> I have 12 oeers as 281942
-
m-relay
<ofrnxmr:xmr.mx> Including myself
-
m-relay
<rucknium:monero.social> I'm not saying that's the chaintip. I'm saying that the checkpointing node is on the correct chain, just not synced to tip because of bans. Try `print_block 2814599`
-
m-relay
<rucknium:monero.social> The block's hash should be 767e539b978172ee1c602dfc7b7739289a40e64d12ffa072746f9f005c3c1287
-
m-relay
<vtnerd:monero.social> Both my nodes stayed on checkpointed side listed by Rucknium:
-
m-relay
<vtnerd:monero.social> *both of my standare DNS checkpoints off nodes
-
m-relay
<ofrnxmr:xmr.mx> This matches for me
-
m-relay
<ofrnxmr:xmr.mx> I still have warnings in my (non-checkpointed) node about bad checkpoints
-
m-relay
<ofrnxmr:xmr.mx> ```
-
m-relay
<ofrnxmr:xmr.mx> 2025-08-19 13:49:19.700 W CHECKPOINT FAILED FOR HEIGHT 2814591. EXPECTED HASH: <c6fed0a752aacc76af6ed589059d8dc4eb2570cf827d4d68334525998b0cccd4>, FETCHED HASH: <98604bc2d637ed8120e4864459ab1e9715ae280c6349a12b4194d5c3df66eca9>
-
m-relay
<ofrnxmr:xmr.mx> ```
-
m-relay
<ofrnxmr:xmr.mx> But 599 matches. Probably just some of the txt entries are on orphaned chain
-
m-relay
<rucknium:monero.social> 🤔 how can that happen?
-
m-relay
<ofrnxmr:xmr.mx> (the 599 checkpoint is built on top of my attacking chain)
-
m-relay
<ofrnxmr:xmr.mx> I believe the earlier checkpoibts, 584, 585, 587, 591, were orphaned
-
m-relay
<diw_tim:matrix.org> w′ ← CreateTask(v, r, m', st, T, q)
-
m-relay
<diw_tim:matrix.org> To retrieve m' (the transaction list from the selfish pool), it is necessary to infiltrate the selfish pool and create the counter PoW task. This can be easily countered by Qubic, as they can prevent new miners through a whitelist, offer incentives to miners to stay within their pool, or distribute fake tasks. I apologize for overcrowding the conversation, and I am aware that ever<clipped message>
-
m-relay
<diw_tim:matrix.org> yone is currently working on DNS checkpointing (which is more important). I will refrain from further criticisms at this time.
-
m-relay
<ofrnxmr:xmr.mx> Likely because of this ^. The "honest chain" had no hashpower, and so never overtook the attacked chain
-
m-relay
<rucknium:monero.social> ofrnxmr: Ah, that could cause problems. If checkpoints somehow are set on incompatible chains.
-
m-relay
<rucknium:monero.social> The block hash for block 2814591 on testnet.xmrchain.net is different from the one in the DNS record.
-
m-relay
<rucknium:monero.social> Interestingly, I get a 500 Internal Server Error if I search the orphaned block's block hash on testnet.xmrchain.net , instead of even a "not found" message. It's probably a bug in the block explorer code.
-
m-relay
<rucknium:monero.social> I'll set the new checkpoints to the tip of the majority chain and clear bans. That should heal the netsplit.
-
m-relay
<ofrnxmr:xmr.mx> Might also want to clear txt entries for orphaned blocks
-
m-relay
<rucknium:monero.social> I just have a rotating set of 10 checkpoint TXT DNS records. Once 10 new blocks are added, all those old checkpoints will be gone.
-
m-relay
<ofrnxmr:xmr.mx> If i pop_blocks -> enforce = node fails to start w/ missing hash error
-
m-relay
<rucknium:monero.social> My script is updating the DNS records now. Just have to wait until 10:
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> Changed DNS TXT record number 1 to 2814945:cac950675ca0dd40d52c99146fdbe66c90df4d2eb4cc9a258eba54d0786f2f1f
-
m-relay
<rucknium:monero.social> Changed DNS TXT record number 2 to 2814946:e480c9eb8f8da671304fa8eb85415fdb1476f94fa978d0478cb8d9b0d8bab23e
-
m-relay
<rucknium:monero.social> ```
-
m-relay
<rucknium:monero.social> I should write some logic into this script to not generate checkpoints on two incompatible chains.
-
m-relay
<rucknium:monero.social> I don't see any complaints in the log of the checkpointed node about the DNS checkpoints now being higher than its current height.
-
m-relay
<ofrnxmr:xmr.mx> Are your scripts updating on a timer? Or triggering with --block-notify?
-
m-relay
<rucknium:monero.social> Just a timer. Actually, the script hanged, so it's restarting.
-
m-relay
<diw_tim:matrix.org> Is there a way to visualize the current blocks on testnet while you're testing DNS checkpointing?
-
m-relay
-
m-relay
<diw_tim:matrix.org> Thanks
-
m-relay
<rucknium:monero.social> testnetnode4 is the checkpointed node. It's also the checkpoint_ing_ node, i.e. the one that checkpoints are sourced from. You can see it's behind the other nodes.
-
m-relay
<john_r365:monero.social> ArticMine: replying to your comment in the MRL room/channel.
-
m-relay
<john_r365:monero.social> Quote: "The Qubic attack is based upon the centralization of pools not the underlying consensus protocol."
-
m-relay
<john_r365:monero.social> My understanding is that the hash rate of XMR (and other PoW coins) is limited by the daily emission rate in fiat terms. For Monero that's about $118k per day currently.
-
m-relay
<john_r365:monero.social> Were XMR emitting $1m per day, for example, we could expect a higher hash rate. Which would then force Qubic to spend more in CPUs to achieve the same results.
-
m-relay
<john_r365:monero.social> I'm trying to bridge what I've said with what you've said, and I think I'm missing something. How does less centralisation of miners solve the the low daily emission rate in USD terms?
-
DataHoarder
rucknium:
irc.gammaspectra.live/108e5d1a66a4a8be/image.png did we make a square? I guess there's an extra node edge in the graph that is not necessary here
-
DataHoarder
they both merged in one it seems :D
-
DataHoarder
looks good in tree
-
m-relay
<rucknium:monero.social> DataHoarder: Exactly. Tree view shows the situation fine.
-
m-relay
<rucknium:monero.social> So tree view still has a use.
-
m-relay
<rucknium:monero.social> I guess I could try to automatically detect this situation and default to tree view in that case.
-
m-relay
<rucknium:monero.social> `if (more than two blocks at the same height) {...}`
-
DataHoarder
it's fine, you could just make an alert there
-
m-relay
<rucknium:monero.social> I hope and expect that this situation won't appear on mainnet :D
-
m-relay
<rucknium:monero.social> This stuff should be useful for FCMP stressnet, too, if chainsplits appear like last time.
-
m-relay
<diw_tim:matrix.org> Who's to say that Qubic might not increase their share of hash power as they gain more profit from increased emissions? Moreover, what determines the optimal amount of emissions? Bitcoin only has $47.83M in daily emissions per day, which is lower than Monero's when considering emissions/mcap.
-
m-relay
<diw_tim:matrix.org> I'm not convinced about adjusting emission/fees, as it relies on predicting an inherently unpredictable outcome: the distribution of mining pools after altering the security budget for Monero. This could potentially incentivize miners from other chains or those who don't mine to start mining on Monero, but it could also give Qubic a short-term profit boost, allowing them to distri<clipped message>
-
m-relay
<diw_tim:matrix.org> bute increased subsidies and further solidify their position in the network.
-
m-relay
<rucknium:monero.social> Bribery attacks are hard to defend against in both PoW and PoS settings, AFAIK. See
-
m-relay
<rucknium:monero.social> Judmayer et al. (2020) "SoK: Algorithmic Incentive Manipulation Attacks on Permissionless PoW Cryptocurrencies"
eprint.iacr.org/2020/1614
-
m-relay
<rucknium:monero.social> Karakostas, Kiayias, & Zacharias (2024) "Blockchain Bribing Attacks and the Efficacy of Counterincentives"
arxiv.org/abs/2402.06352
-
m-relay
<ofrnxmr:xmr.mx> All i did, was broadcast my chain, disconnect, and begin selfish mining again, then broadcast it again.
-
m-relay
<rucknium:monero.social> I don't know if Qubic is truly being very successful in their miner bribery attempts. That's an empirical question that does not have a clear answer yet.
-
m-relay
<ofrnxmr:xmr.mx> I think their "bribery" comes by way of renting their hashrate to us, then using the profit to add more hashrate each time
-
m-relay
<ofrnxmr:xmr.mx> not bribery at all :P. More like smart business
-
m-relay
<john_r365:monero.social> diw_tim: "Moreover, what determines the optimal amount of emissions?" - Presumably the larger number in fiat terms the better?
-
m-relay
<john_r365:monero.social> I think we could all agree that if 1 XMR cost $10 and the daily emission rate was $4,320 - that's unlikely to be very
-
m-relay
<john_r365:monero.social> *unlikely to be very secure
-
m-relay
<john_r365:monero.social> But I also agree that it's difficult to change the emission curve now. I wasn't suggesting we did - the previous discussion was not about that.
-
m-relay
<monero.arbo:matrix.org> the dollar value doesn't really change the network value to security budget ratio, so sure $10 XMR would be cheaper to attack, but attacking it would also be less lucrative
-
DataHoarder
remember that an attacker might not want the lucrative part, just harm monero.
-
m-relay
<john_r365:monero.social> Lyza: that assumes that the attack is about making profit. if the token represented an ideology, the attack could be designed to try and stifle the ideology. so $10 XMR would make attacking it cheap in those terms
-
m-relay
<monero.arbo:matrix.org> granted, but I think a $10 price would mean XMR is already functionally dead in terms of reputation as well. price is fairly correlated with relevance
-
m-relay
<monero.arbo:matrix.org> anyway I agree more budget is more better, even if just in USD terms
-
m-relay
<antilt:we2.ee> OT: every time I hear "nash equilibrium" I got that feeling... ppl are not rational all the time and games are not strictly defined in terms of boundaries.
-
m-relay
<ofrnxmr:xmr.mx> [@rucknium:monero.social](https://matrix.to/#/@rucknium:monero.social) can you mine on your checkpointed node to get ahead of the attacked chain?
-
m-relay
<ofrnxmr:xmr.mx> i screwed up and cant get on the checkpointed chain now :P
-
m-relay
<ofrnxmr:xmr.mx> (or share the ip of that node so i can sync from it)
-
m-relay
<rucknium:monero.social> Right. Side payments and/or transferable utility will blow up a lot of game equilibria.
-
m-relay
<rucknium:monero.social> ofrnxmr: Yes, I will mine to it. It is starting to ban a lot of peers, however.
-
m-relay
<rucknium:monero.social> It knows that it is behind the main chain, but then bans those nodes, probably because they are on the attacking chain.
-
m-relay
<ofrnxmr:xmr.mx> ok thanks, try to overtake the attacked nodes
-
m-relay
<rucknium:monero.social> I mean, the main chain = attacking chain now
-
m-relay
<ofrnxmr:xmr.mx> My mistake for not testing peoperly
-
m-relay
<ofrnxmr:xmr.mx> I should have had a checkpointed node that i could use to overtake the attacking node, but all of my nodes are stuck on attacking chain. I disnt use keep-alt-blocks
-
m-relay
<rucknium:monero.social> The checkpointed/checkpointing node's RPC is `185.141.216.147:28089`. You can mine to that in the future.
-
m-relay
<rucknium:monero.social> I think I have access to a more powerful rig than yours :P
-
m-relay
<rucknium:monero.social> So I will mine fast to get beyond the current main chain. You will want to connect a node to `85.141.216.147` because it seems to be isolated from the network now.
-
m-relay
<rucknium:monero.social> Is there a command to clear all bans? I forget.
-
m-relay
<rucknium:monero.social> I got two inbound connections. We should see a re-org in the rest of the network soon.
-
m-relay
<rucknium:monero.social> I think I got it. Re-orged everyone. I'll stop the fast mining on that node.
-
m-relay
<ofrnxmr:xmr.mx> I got reorged onto your chain, i think
-
m-relay
<ofrnxmr:xmr.mx> i didnt do anything manually
-
m-relay
<ofrnxmr:xmr.mx> Looks like things heal ok
-
m-relay
<ofrnxmr:xmr.mx> I dont think so? :S
-
m-relay
<rucknium:monero.social> I guess you could do it programmatically through RPC. But command line is more convenient.
-
m-relay
<rucknium:monero.social> I was banning a lot of peers. Just by luck two non-banned peers connected to me after I achieved the longest chain. AFAIK, on mainnet mass bans aren't as bad because there are so many nodes.
-
m-relay
<ofrnxmr:xmr.mx> Yeah, ideally the bans should be shorter
-
m-relay
<ofrnxmr:xmr.mx> Onstead of 86000 seconds, like 120 seconds
-
m-relay
<ofrnxmr:xmr.mx> Long enough for main chain to get ahead
-
m-relay
<vtnerd:monero.social> Your probably right, but yikes I hate changing stuff like this
-
m-relay
<ofrnxmr:xmr.mx> cryptonote_core.cpp L277, does this lock the daemon?
-
m-relay
<ofrnxmr:xmr.mx> There are some concerns about setting the value to 120 due to locking
-
moneromooo
You can set ban length per ban (at least via RPC).
-
m-relay
<ofrnxmr:xmr.mx> Example from p2pool release notes: `--disable-dns-checkpoints is needed to avoid periodical lags when DNS is updated`
-
m-relay
<ofrnxmr:xmr.mx> (L277 on master, not sure about release)
-
m-relay
<vtnerd:monero.social> Yeah that function call on 277 looks a little expensive, given that its supposed to load a json file too
-
m-relay
<venture:monero.social> Hello all :)
-
m-relay
<venture:monero.social> my idea was stupid. I see that now, bifurcation would not get resolved. ..and the numbers/percentages were out of touch needless to say
-
m-relay
<venture:monero.social> I got another one, but I don't hold strong opinions anymore. I would appreciate a quick intuition check
-
m-relay
<venture:monero.social> How about
-
m-relay
<venture:monero.social> - we have an additional field "donation" (not sure if that can be a stealth address or not)
-
m-relay
<venture:monero.social> - block rewards are paid out by the subsequent block (N+1) based on that donation field
-
m-relay
<venture:monero.social> - rewards would be given to all competing blocks (uncles) uniformly
-
m-relay
<venture:monero.social> outside of protocol, in stratum:
-
m-relay
<venture:monero.social> - mine on the candidate that is the index of the sorted array of all candidate block hashes. (index is determined as first bits of the hashed array modulo len(candidates) )
-
m-relay
<venture:monero.social> Hello all :)
-
m-relay
<venture:monero.social> my idea was stupid. I see that now, bifurcation would not get resolved. ..and the numbers/percentages were out of touch needless to say
-
m-relay
<venture:monero.social> I got another one, but I don't hold strong opinions anymore. I would appreciate a quick intuition check
-
m-relay
<venture:monero.social> How about
-
m-relay
<venture:monero.social> - we have an additional field "donation" (not sure if that can be a stealth address or not)
-
m-relay
<venture:monero.social> - block rewards are paid out by the subsequent block (N+1) based on that donation field
-
m-relay
<venture:monero.social> - rewards would be given to all competing blocks (uncles) uniformly. (maybe this needs to parent (N-1) + uncles from N-2... not sure)
-
m-relay
<venture:monero.social> outside of protocol, in stratum:
-
m-relay
<venture:monero.social> - mine on the candidate that is the index of the sorted array of all candidate block hashes. (index is determined as first bits of the hashed array modulo len(candidates) )
-
m-relay
<torir:matrix.org> Rather than detective mining, would it be feasible to hardfork RandomX to fully rely on the contents of the previous block rather than only a hash of the previous block? That would force selfish mining pools to publish the entire block to all of their miners and make it possible for even a single defecting miner in their pool to publish the block.
-
m-relay
<rucknium:monero.social> Maybe. But wouldn't hashing the whole block slow down hashing of blocks with a lot of txs, reducing the incentive to include them? I guess the whole block could be first hashed with a fast hashing algorithm, then sent into RandomX to achieve the desired effect and keep incentives aligned.
-
m-relay
<torir:matrix.org> I was thinking the block would just be copied into the RandomX scratchpad at the start. Or maybe add an opcode that reads from the previous block instead of from memory. All that is necessary is that parts of the previous block *might* be included in the RandomX hash and that it can't be predicted which ones so you are forced to have the entire block on hand.
-
m-relay
<torir:matrix.org> If the block can be hashed with a fast hash before going into RandomX the selfish pool could give the miners only that hash. The RandomX changes would need to be designed so that access to the unhashed block is required.
-
m-relay
<rucknium:monero.social> I'm thinking that every time the nonce changes, you have to include the block. The miners increment the nonce.
-
m-relay
<rucknium:monero.social> AFAIK.
-
m-relay
<monerobull:matrix.org> detective mining seems like cope
-
m-relay
<monerobull:matrix.org> way too easy to mislead the honest snooping miners
-
m-relay
<torir:matrix.org> Looks like RandomX currently initializes the scratchpad by hashing the value to be hashed, then using that hash as the seed to an AES generator and fills the scratchpad with that. The previous block could be incorporated into the initial hash (which would slow it down), could be XORed into the scratchpad after it is generated (which would be pretty fast), XORed into the dataset so<clipped message>
-
m-relay
<torir:matrix.org> mehow (I believe normally the dataset is static and only changes every 2048 blocks, so this would be a weird change), or accessed via an opcode modified to read from the previous block instead of from the scratchpad.
-
m-relay
<torir:matrix.org> A lot of careful design went into RandomX and I'm not qualified to what would be the best way to accomplish this. Also my proposal is basically the same as
monero-project/research-lab #98 so...
-
m-relay
<torir:matrix.org> Though #98 would need to be adjusted to update the dataset every block if it were to work against selfish mining.
-
m-relay
<articmine:monero.social> If the Qubic pool were fully decentralized, where the individual miners on the Monero side have control over the blocks, there would be no attack regardless of the hash rate.
-
m-relay
<articmine:monero.social> There is no reason why in a centralised pool the block cannot be constructed by whomever found the solution, rather than by the pool