-
UkoeHB
Meeting .5hr
-
UkoeHB
-
UkoeHB
1. greetings
-
UkoeHB
hello
-
rbrunner
Hello
-
shalit[m]
Hello
-
Rucknium[m]
Hi
-
vtnerd_
hi
-
UkoeHB
2. updates, what's everyone working on?
-
vtnerd_
bulletproofs++. Im a bit bogged down by it, and if someone has free cycles it might be best they do it. otherwise I will keep slowly hacking away at understanding it or just port from the c version
-
vtnerd_
Im keeping my hours to a minimum so CCS isn't billed for poor output
-
Rucknium[m]
OSPEAD, working with the formula for double spend races to analyze the 10 block lock, Dr. Borggren's MAGIC's research proposal to analyze the EAE attack and churning is 80% funded after just one week:
monerofund.org/projects/eae_attack_and_churning
-
UkoeHB
me: no updates this week
-
Rucknium[m]
Thank you to the community
-
Rucknium[m]
Was there a tentative time for the code audit firm to give a presentation?
-
UkoeHB
tomorrow I think
-
UkoeHB
3. discussion
-
vtnerd_
they are presenting ... ?
-
Rucknium[m]
plowsof: Do you have details about the presentation?
-
Rucknium[m]
I think the tentative time is 15:30 UTC June 15th
-
Rucknium[m]
On the 10 block lock: Can an adversary leverage a "benign" block reorg, say 2 blocks deep, as a step up to try to do something malicious against an N-block-lock? My guess is that they could only hurt privacy of users who have transactions confirmed in the first block of one of the benign orphaned chains.
-
Rucknium[m]
And/or make some of those transactions invalid
-
Rucknium[m]
And it seems like it would have a small probability of having an effect since you would have to have enough network "divergence" for many transactions to not reach the benign re-orged chain _and_ some of those transactions would have to have real spends or decoys exactly N (10) blocks old at the time they were spent
-
UkoeHB
txs in those reorged blocks should not be invalidated
-
UkoeHB
afaik they are returned to the tx pool, hyc ?
-
vtnerd_
I recall that being the case (return to pool)
-
vtnerd_
although a new block and force some out ? something like that, its been a while
-
vtnerd_
*can force some out
-
Rucknium[m]
I think they would reference invalid output indices in the re-orged chain. Since it's 2 blocks of benign chain plus 9 (or 8?) blocks of a malicious miner that uses the benign chain to get a head start.
-
rbrunner
Yeah, I think I remember that seeing in a test I did, an in this particular case wallet2 does not see those (again) and only notices after mining
-
Rucknium[m]
I am trying to put more precise numbers on the risk
-
Rucknium[m]
I am referring to this: "If an output created by the first group is used as a decoy by a random person, then that person's transaction will become invalid after the reorg. In other words, decoys are vulnerable to the 'confirmation' problem. A tx author should only use decoys that are 'strongly confirmed', i.e. decoys that are buried below the 'reorg zone'."
-
Rucknium[m]
-
Rucknium[m]
My scenario is: An adversary has many nodes throughout the network and occasionally observes a chain divergence. They know that one of the chain "stubs" will be re-orged, so they start mining on top of that one in secret. That gets them a boost since they won't have to mine the full 10 blocks by themselves.
-
Rucknium[m]
Does this scenario make sense?
-
Rucknium[m]
The adversary does not control the contents of those first 2 blocks. Honest miners do.
-
UkoeHB
you only get an advantage equal to the network propagation time
-
Rucknium[m]
On average, yes. But these blocks that are part of benign re-orgs are extreme cases. They are actually mined in a short period of time.
-
UkoeHB
actually hmm I see your point, you can piggy-back off the work of a natural reorg
-
merope
Rucknium[m]: Are you assuming that the attacker already controls a given percentage of the nethash, or do they have to provision extra hashrate separately for the attack?
-
merope
Big difference in costs, especially since the upfront cost of the hardware is way bigger than the energy cost for the mining itself
-
Rucknium[m]
I am assuming they need to provision extra hash rate (i.e. not mining normally), but maybe that's not the correct assumption.
-
Rucknium[m]
Would it matter a lot? The difficulty would not adjust enough in just 10 blocks.
-
UkoeHB
you'd need hardware ready to go at a moment's notice, which is a bit different from a targeted attack (that can use botnets, cloud mining, etc.)
-
merope
The difficulty adjustment would be irrelevant, especially since the 60 highest and lowest block times get cut off from the adjustment calculation (assuming [this answer](
monero.stackexchange.com/a/7981) is still valid)
-
Rucknium[m]
The cost can be evaluated at the next step in the analysis. I am trying to figure out if I should plug N or N - 2 into the double-spend race formula
-
merope
It's the cost of the hardware itself which makes a big difference
-
merope
Ah, ok
-
Rucknium[m]
The formula tells you the probability of a malicious re-org of any block depth with any hashpower share < 50%
-
rbrunner
Where is that formula from?
-
UkoeHB
an active attack on the network may or may not be able to increase instability, which would increase natural reorg depths (although I don't think this has ever happened)
-
Rucknium[m]
rbrunner: Grunspan & Pérez-Marco (2020) "Double spend races"
arxiv.org/abs/1702.02867
-
Rucknium[m]
It's a correction to Satoshi's formula in the bitcoin white paper
-
rbrunner
Nice, thanks.
-
Rucknium[m]
Satoshi incorrectly assumed that honest hashpower would have a constant rate of finding blocks: once every 10 minutes.
-
Rucknium[m]
That rate is actually varying, of course, since finding blocks is a Poisson process
-
Rucknium[m]
The formula for the probability of malicious re-org is a regularized incomplete beta function
-
Rucknium[m]
It can be found as the Rbeta function in the zipfR R package
-
UkoeHB
are there any other topics we should discuss today?
-
Rucknium[m]
I will make a comment on the MRL GitHub issue with some tables. I will include the possibility of an adversary building on a benign re-org, but it is unlikely to get them much benefit since the proportion of transactions that could be affected would be small.
-
merope
What do you mean by "it is unlikely to get them much benefit since the proportion of transactions that could be affected would be small"?
-
Rucknium[m]
There are two terms in this probability multiplication (assuming independence):
-
Rucknium[m]
a) Probability that a particular transaction propagates through the network to one "subnet" but not the other. The subnets being basically the subnets that the two beningn, but competing, sets of miners are in.
-
Rucknium[m]
b) Probability that a transaction includes a ring member that is exactly N (10) blocks old, i.e. has the youngest age possible according to consensus rules. This could be a decoy or real spend. Seraphis will increase this probability since ring size would be increased.
-
Rucknium[m]
That's my opinion about how it could happen
-
Rucknium[m]
I am not talking about a bitcoin-style double-spend (and its consequences) where the victim takes some action, i.e. sends the perpetrator some amount of another coin on another chain as an exchange) before waiting some M blocks.
-
Rucknium[m]
All PoW chain have that issue. They don't use spending locks to stop it. They say that users should evaluate their own risks and determine their own waiting times.
-
merope
Factor (a) would not be purely random chance though, the attacker could map out the network and the connections between nodes to see if there are any poorly-connected subnets
-
merope
Oh wait, I'm not sure if that makes an actual difference though
-
Rucknium[m]
The transaction propagation subnets and the block propagation subnets will overlap in different ways, with different levels of connectivity. Complicated.
-
merope
You mean due to Dandelion++? I think the D++ tx propagation would still be a subset of the nodes' p2p connections though, right?
-
Rucknium[m]
D++ affects it. The main factor is that the nodes that broadcast the most txs are different from the nodes that broadcast the most new blocks.
-
merope
Oh, I see
-
Rucknium[m]
e.g. Cake's nodes do not mine. Few users connect to mining pools' nodes to broadcast their txs.
-
UkoeHB
ah the meeting is over, sorry
-
merope
<Rucknium[m]> "I think they would reference..." <- I think the attacker would need 8 blocks on top of the original 2, and after that you'll start seeing transactions with 10-blocks-old outputs in the mempool (which would then be validated in a hypothetical 11th block)
-
merope
(Or at least: Feather wallet is behaving that way with the testnet output I just received)
-
Rucknium[m]
Do you mean validated or invalidated?
-
merope
Validated if that were the "real" chain
-
plowsof
Rucknium[m] UkoeHB Quarkslab informed me that the timeslot they gave us - they can not make it now, and suggest a new date/time 19th June 16:00 utc