sipa changed the topic of #bitcoin-wizards to: This channel is for discussing theoretical ideas with regard to cryptocurrencies, not about short-term Bitcoin development | http://bitcoin.ninja/ | This channel is logged. | For logs and more information, visit http://bitcoin.ninja
Ylbam has quit [Quit: Connection closed for inactivity]
jeremyrubin has joined #bitcoin-wizards
rusty2 is now known as rusty
Giszmo has quit [Quit: Leaving.]
Giszmo has joined #bitcoin-wizards
rusty has quit [Read error: Connection reset by peer]
shesek has quit [Ping timeout: 260 seconds]
dnaleor has quit [Quit: Leaving]
dnaleor has joined #bitcoin-wizards
raccoon has quit [Ping timeout: 240 seconds]
Newyorkadam has quit [Quit: Newyorkadam]
raccoon has joined #bitcoin-wizards
thrmo has quit [Remote host closed the connection]
dodomojo has joined #bitcoin-wizards
dodomojo_ has joined #bitcoin-wizards
rusty has joined #bitcoin-wizards
dodomojo has quit [Ping timeout: 246 seconds]
dodomojo_ has quit [Remote host closed the connection]
ninjahamstah has quit [Read error: Connection reset by peer]
ninjamastah has joined #bitcoin-wizards
ninjamastah has joined #bitcoin-wizards
ninjamastah has quit [Changing host]
ninjamastah has joined #bitcoin-wizards
ninjamastah has quit [Changing host]
ratoder2 has quit [Remote host closed the connection]
EvilHero_ has joined #bitcoin-wizards
serwer is now known as dav2
abpa has joined #bitcoin-wizards
BashCo has joined #bitcoin-wizards
Marquess_Loaf has quit [Quit: Connection closed for inactivity]
EvilHero_ has quit [Ping timeout: 240 seconds]
mdavid613 has joined #bitcoin-wizards
MaxSan has quit [Ping timeout: 246 seconds]
laurentmt has joined #bitcoin-wizards
EvilHero_ has joined #bitcoin-wizards
Pasha has joined #bitcoin-wizards
vghzfkgh has joined #bitcoin-wizards
thrmo_ has joined #bitcoin-wizards
vghzfkgh has quit [Remote host closed the connection]
thrmo has quit [Ping timeout: 260 seconds]
thrmo_ is now known as thrmo
laurentmt has quit [Quit: laurentmt]
laurentmt has joined #bitcoin-wizards
Starduster has joined #bitcoin-wizards
c0rw1n has quit [Ping timeout: 264 seconds]
CubicEarth has quit [Read error: Connection reset by peer]
CubicEarth has joined #bitcoin-wizards
MaxSan has joined #bitcoin-wizards
juscamarena has quit [Remote host closed the connection]
juscamarena has joined #bitcoin-wizards
Pasha is now known as Cory
EvilHero_ has quit [Ping timeout: 260 seconds]
Giszmo has quit [Ping timeout: 240 seconds]
Giszmo1 has joined #bitcoin-wizards
jannes has quit [Ping timeout: 260 seconds]
jannes has joined #bitcoin-wizards
EvilHero_ has joined #bitcoin-wizards
ninjahamstah has joined #bitcoin-wizards
ninjamastah has quit [Read error: Connection reset by peer]
ninjahamstah has quit [Changing host]
ninjahamstah has joined #bitcoin-wizards
ninjahamstah has joined #bitcoin-wizards
jannes has quit [Ping timeout: 240 seconds]
CubicEarth has quit [Read error: Connection reset by peer]
CubicEarth has joined #bitcoin-wizards
rusty has joined #bitcoin-wizards
bsm1175322 has quit [Ping timeout: 252 seconds]
jannes has joined #bitcoin-wizards
bsm1175322 has joined #bitcoin-wizards
EvilHero_ has quit [Ping timeout: 240 seconds]
Giszmo1 has quit [Quit: Leaving.]
Giszmo has joined #bitcoin-wizards
MaxSan has quit [Ping timeout: 256 seconds]
dnaleor has quit [Quit: Leaving]
rusty has quit [Ping timeout: 260 seconds]
paveljanik has joined #bitcoin-wizards
Newyorkadam has joined #bitcoin-wizards
CubicEarth has quit []
bildramer has joined #bitcoin-wizards
fibonacci_ has joined #bitcoin-wizards
str4d has quit [Ping timeout: 260 seconds]
MaxSan has joined #bitcoin-wizards
bildramer1 has quit [Ping timeout: 255 seconds]
Sosumi has quit [Quit: Bye]
<petertodd>
jouke_: that particular MMR implementation does use different hash calculations for leaves and inner nodes, however I still haven't quite figured out what RFC6962 meant by saying doing that gave second preimage resistance
<jouke_>
Do you have more MMR implementations? I created a simple golang implementation and was looking for tests that I could use to see if I implement it the same way you do.
<petertodd>
jouke_: the big advantage of it is it more clearly separates the "mountains" (perfect 2^n sized merkle trees) from the nodes that tie the mountain tips together
itsme__ has joined #bitcoin-wizards
<petertodd>
jouke_: I think this will lead to implementations that are more robust than the above mmr.py scheme of committing to the # of values under each node directly
<petertodd>
jouke_: note that if you want to prioritise short proofs for recently appended values, you can change the partial node scheme to just be a linear hashchain of mountain tips, newest first.
laurentmt has quit [Quit: laurentmt]
<jouke_>
implementation wise I have working code, but what do you mean with "more robust"? I haven't really given thought about any implementation specific needs yet.
<petertodd>
jouke_: as in, less likely to be vulnerable to implementation mistakes like accepting the wrong type of node
<petertodd>
jouke_: e.g. the above mmr.py will do rather odd things if someone creates an invalid mmr where nodes that should be perfect 2^n trees aren't - IIRC it's missing some of the validation checks necessary. with my new construction that type of mistake is structurally impossible - in fact I did a quick sketch of a rust implementation where the type system itself would enforce correct structure
<nicolagreco>
Hey I have question: does Bitcoin/Ethereum guarantee fairness in the order of transactions? Meaning can an adversary choose the order of transactions submitted at the same time (equivalently censor/delay transactions?)
itsme__ has quit [Quit: My Mac Pro has gone to sleep. ZZZzzz…]
<jouke_>
atm I just treat all nodes the same. Is it really necesary to take faulty implementations into account?
<petertodd>
jouke_: when you say "you treat all nodes the same" are you even committing to the # of values under each node?
<petertodd>
jouke_: I think it's good to design robust protocols that are easy to implement correctly, and more importantly, very hard to implement *incorrectly*
MaxSan has quit [Ping timeout: 264 seconds]
<jouke_>
not at the moment, that's not too hard to implement, but I was just reading the RFC and your code and the paper that the rfc references and was contemplating what to do next.
<petertodd>
jouke_: ah, yeah, if you aren't doing that there are a number of very important things that your MMR can't prove, like what value is at a specific position in the tree
<petertodd>
jouke_: the tree that RFC6962 implements is similarly missing the ability to prove what value is at a specific index
<jouke_>
What do you mean with "what value"?
<petertodd>
as in, suppose you have a commitment to a MMR, but don't have the data itself. I want to prove to you that at index #1234 the value is X. With the construction in the RFC, there's no way for me to do that because from the MMR tip you can't find a specific index.
<petertodd>
I can prove to you that X is *in* the tree, but I can't prove to you *where* it is in the tree
<jouke_>
When is this useful?
<petertodd>
in TXO commitments for instance
itsme__ has joined #bitcoin-wizards
<jouke_>
Ok, going to look into that.
<petertodd>
it'd also be useful for block headers - rather than linearly committing to the previous block, blockheaders should commit to a MMR over all prior blocks
itsme___ has joined #bitcoin-wizards
MaxSan has joined #bitcoin-wizards
itsme__ has quit [Ping timeout: 268 seconds]
Guyver2 has quit [Quit: :)]
chjj has quit [Ping timeout: 264 seconds]
dav2 has quit [Remote host closed the connection]
MaxSan has quit [Ping timeout: 256 seconds]
Marquess_Loaf has joined #bitcoin-wizards
EvilHero_ has joined #bitcoin-wizards
EvilHero_ has quit [Ping timeout: 240 seconds]
JackH has quit [Ping timeout: 264 seconds]
EvilHero_ has joined #bitcoin-wizards
Taek42 is now known as Taek
EvilHero___ has joined #bitcoin-wizards
katu has quit [Ping timeout: 260 seconds]
chjj has joined #bitcoin-wizards
EvilHero_ has quit [Ping timeout: 256 seconds]
katu has joined #bitcoin-wizards
chjj has quit [Ping timeout: 246 seconds]
chjj has joined #bitcoin-wizards
chjj has quit [Client Quit]
chjj has joined #bitcoin-wizards
fibonacci_ has quit [Quit: Connection closed for inactivity]
JackH has joined #bitcoin-wizards
rusty has joined #bitcoin-wizards
c0rw1n has joined #bitcoin-wizards
onabreak has joined #bitcoin-wizards
Giszmo has quit [Ping timeout: 240 seconds]
CheckDavid has joined #bitcoin-wizards
katu has quit [Ping timeout: 260 seconds]
EvilHero___ has quit [Remote host closed the connection]
itsme___ has quit [Ping timeout: 264 seconds]
kankles has joined #bitcoin-wizards
itsme__ has joined #bitcoin-wizards
Newyorkadam has quit [Quit: Newyorkadam]
tromp has quit [Read error: Connection reset by peer]
tromp has joined #bitcoin-wizards
kankles has quit [Ping timeout: 260 seconds]
rusty has quit [Quit: Leaving.]
rusty has joined #bitcoin-wizards
itsme__ has quit [Ping timeout: 246 seconds]
itsme__ has joined #bitcoin-wizards
kankles has joined #bitcoin-wizards
EvilHero___ has joined #bitcoin-wizards
dgenr8 has quit [Ping timeout: 260 seconds]
dgenr8 has joined #bitcoin-wizards
Ylbam has joined #bitcoin-wizards
Aranjedeath has quit [Quit: Three sheets to the wind]
EvilHero___ has quit [Ping timeout: 246 seconds]
bityogi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]