wumpus changed the topic of #bitcoin-wizards to: This channel is 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
bendavenport has joined #bitcoin-wizards
Emcy_ has joined #bitcoin-wizards
Emcy_ has quit [Changing host]
Emcy_ has joined #bitcoin-wizards
Emcy has quit [Ping timeout: 240 seconds]
Emcy_ has quit [Ping timeout: 272 seconds]
bendavenport has quit [Quit: bendavenport]
Emcy has joined #bitcoin-wizards
bedeho has quit [Ping timeout: 272 seconds]
roxtrong_ has quit [Remote host closed the connection]
Yoghur114 has quit [Remote host closed the connection]
orik has quit [Quit: Textual IRC Client: www.textualapp.com]
zooko has joined #bitcoin-wizards
blackwraith has quit [Read error: Connection reset by peer]
Jeremy_Rand has joined #bitcoin-wizards
orik has joined #bitcoin-wizards
roxtrongo has joined #bitcoin-wizards
King_Rex has quit [Remote host closed the connection]
orik has quit [Quit: Textual IRC Client: www.textualapp.com]
roxtrongo has quit [Remote host closed the connection]
Jaamg has quit [Ping timeout: 240 seconds]
nwilcox has quit [Quit: leaving]
roxtrongo has joined #bitcoin-wizards
roxtrongo has quit [Remote host closed the connection]
roxtrongo has joined #bitcoin-wizards
esneider has quit [Ping timeout: 240 seconds]
esneider has joined #bitcoin-wizards
kmels has quit [Ping timeout: 268 seconds]
kmels has joined #bitcoin-wizards
Jeremy_Rand has quit [Read error: Connection reset by peer]
belcher has quit [Quit: Leaving]
Jeremy_Rand has joined #bitcoin-wizards
King_Rex has joined #bitcoin-wizards
roxtrongo has quit [Read error: Connection reset by peer]
roxtrongo has joined #bitcoin-wizards
davispuh has quit [Read error: Connection reset by peer]
King_Rex has quit [Remote host closed the connection]
esneider_ has joined #bitcoin-wizards
esneider has quit [Ping timeout: 252 seconds]
Jeremy_Rand_ has joined #bitcoin-wizards
Jeremy_Rand has quit [Ping timeout: 256 seconds]
esneider has joined #bitcoin-wizards
esneider_ has quit [Ping timeout: 250 seconds]
esneider_ has joined #bitcoin-wizards
esneider has quit [Ping timeout: 252 seconds]
zooko has quit [Ping timeout: 256 seconds]
Jeremy_Rand_ has quit [Ping timeout: 244 seconds]
kgk_ has quit [Ping timeout: 260 seconds]
chris13243 has joined #bitcoin-wizards
esneider has joined #bitcoin-wizards
nsh has quit [Excess Flood]
AaronvanW has quit [Ping timeout: 246 seconds]
justanotheruser has quit [Read error: Connection reset by peer]
zort has joined #bitcoin-wizards
justanotheruser has joined #bitcoin-wizards
esneider_ has quit [Ping timeout: 264 seconds]
bedeho has joined #bitcoin-wizards
nsh has joined #bitcoin-wizards
esneider_ has joined #bitcoin-wizards
esneider has quit [Ping timeout: 256 seconds]
chris13243 has quit [Ping timeout: 272 seconds]
roxtrongo has quit [Remote host closed the connection]
esneider has joined #bitcoin-wizards
esneider_ has quit [Ping timeout: 255 seconds]
rusty has quit [Ping timeout: 240 seconds]
esneider_ has joined #bitcoin-wizards
p15 has joined #bitcoin-wizards
orik has joined #bitcoin-wizards
esneider has quit [Ping timeout: 264 seconds]
kgk_ has joined #bitcoin-wizards
zort has left #bitcoin-wizards ["Leaving"]
kgk_ has quit [Ping timeout: 250 seconds]
esneider_ has quit [Ping timeout: 264 seconds]
esneider has joined #bitcoin-wizards
jtimon_ has quit [Ping timeout: 256 seconds]
orik has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
esneider_ has joined #bitcoin-wizards
orik has joined #bitcoin-wizards
esneider has quit [Ping timeout: 272 seconds]
TheSeven has quit [Ping timeout: 246 seconds]
chris13243 has joined #bitcoin-wizards
TheSeven has joined #bitcoin-wizards
chris13243 has quit [Ping timeout: 240 seconds]
Xzibit17 has joined #bitcoin-wizards
a5m0 has quit [Ping timeout: 260 seconds]
a5m0 has joined #bitcoin-wizards
matsjj has joined #bitcoin-wizards
matsjj has quit [Ping timeout: 246 seconds]
roxtrongo has joined #bitcoin-wizards
c-cex-yuriy has quit [Quit: Connection closed for inactivity]
c0rw1n is now known as c0rw|zZz
Emcy has quit [Read error: Connection reset by peer]
nsh has quit [Excess Flood]
esneider_ has quit [Ping timeout: 240 seconds]
esneider has joined #bitcoin-wizards
chris13243 has joined #bitcoin-wizards
nsh has joined #bitcoin-wizards
esneider has quit [Remote host closed the connection]
Giszmo has quit [Quit: Leaving.]
p15 has quit [Ping timeout: 260 seconds]
ThomasV has joined #bitcoin-wizards
esneider has joined #bitcoin-wizards
p15 has joined #bitcoin-wizards
sparetire_ has quit [Quit: sparetire_]
phantomcircuit has quit [Ping timeout: 260 seconds]
p15 has quit [Quit: Textual IRC Client: www.textualapp.com]
p15 has joined #bitcoin-wizards
p15 has quit [Client Quit]
p15 has joined #bitcoin-wizards
bendavenport has joined #bitcoin-wizards
matsjj has joined #bitcoin-wizards
roxtrongo has quit [Remote host closed the connection]
matsjj has quit [Ping timeout: 246 seconds]
roxtrongo has joined #bitcoin-wizards
roxtrongo has quit [Remote host closed the connection]
Ylbam has joined #bitcoin-wizards
xabbix has quit [Ping timeout: 244 seconds]
rusty has joined #bitcoin-wizards
esneider has quit []
kmels has quit [Ping timeout: 255 seconds]
xabbix has joined #bitcoin-wizards
xabbix has joined #bitcoin-wizards
nsh has quit [Excess Flood]
xabbix has quit [Ping timeout: 244 seconds]
nsh has joined #bitcoin-wizards
orik has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
melvster has quit [Ping timeout: 240 seconds]
matsjj has joined #bitcoin-wizards
chris13243 has quit [Ping timeout: 240 seconds]
xabbix has joined #bitcoin-wizards
matsjj has quit [Ping timeout: 240 seconds]
melvster has joined #bitcoin-wizards
orik has joined #bitcoin-wizards
matsjj has joined #bitcoin-wizards
mjerr has joined #bitcoin-wizards
nivah has joined #bitcoin-wizards
chris13243 has joined #bitcoin-wizards
ThomasV has quit [Ping timeout: 244 seconds]
rusty has quit [Ping timeout: 250 seconds]
bramc has quit [Quit: This computer has gone to sleep]
DougieBot5000_ has quit [Quit: Leaving]
chris13243 has quit [Ping timeout: 250 seconds]
crowleyman has joined #bitcoin-wizards
xabbix has quit [Ping timeout: 240 seconds]
ebfull has joined #bitcoin-wizards
chris13243 has joined #bitcoin-wizards
bendavenport has quit [Quit: bendavenport]
chris13243 has quit [Ping timeout: 244 seconds]
CoinMuncher has joined #bitcoin-wizards
orik has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bit2017 has joined #bitcoin-wizards
hazirafel has joined #bitcoin-wizards
nivah has quit [Ping timeout: 255 seconds]
damethos has joined #bitcoin-wizards
c0rw|zZz is now known as c0rw1n
dEBRUYNE__ has joined #bitcoin-wizards
forrestv has quit [Quit: ZNC - http://znc.sourceforge.net]
rubensayshi has joined #bitcoin-wizards
ThomasV has joined #bitcoin-wizards
Londe2 has quit [Quit: Londe2]
moa has joined #bitcoin-wizards
bedeho has quit [Ping timeout: 240 seconds]
nsh has quit [Excess Flood]
hazirafel has quit [Remote host closed the connection]
nsh has joined #bitcoin-wizards
dEBRUYNE__ is now known as dEBRUYNE
nsh has quit [Excess Flood]
nsh has joined #bitcoin-wizards
AaronvanW has joined #bitcoin-wizards
jtimon has joined #bitcoin-wizards
p15 has quit [Ping timeout: 240 seconds]
nsh has quit [Excess Flood]
nsh has joined #bitcoin-wizards
Jaamg has joined #bitcoin-wizards
erasmospunk has joined #bitcoin-wizards
nsh has quit [Excess Flood]
nsh has joined #bitcoin-wizards
Myagui has quit [Ping timeout: 250 seconds]
Myagui has joined #bitcoin-wizards
moa has quit [Quit: Leaving.]
hazirafel has joined #bitcoin-wizards
chris13243 has joined #bitcoin-wizards
gielbier has quit [Changing host]
gielbier has joined #bitcoin-wizards
yang has joined #bitcoin-wizards
chris13243 has quit [Ping timeout: 264 seconds]
crescendo has quit [Remote host closed the connection]
nsh has quit [Excess Flood]
moa has joined #bitcoin-wizards
nsh has joined #bitcoin-wizards
AaronvanW has quit [Ping timeout: 246 seconds]
sneak has quit [Ping timeout: 268 seconds]
sneak has joined #bitcoin-wizards
King_Rex has joined #bitcoin-wizards
King_Rex has quit [Remote host closed the connection]
AaronvanW has joined #bitcoin-wizards
eudoxia has joined #bitcoin-wizards
jaromil has quit [Remote host closed the connection]
ThomasV has quit [Ping timeout: 264 seconds]
K1773R has joined #bitcoin-wizards
rustyn has quit [Read error: Connection reset by peer]
rustyn has joined #bitcoin-wizards
King_Rex has joined #bitcoin-wizards
dEBRUYNE has quit [Quit: Leaving]
airbreather has joined #bitcoin-wizards
erasmospunk has quit [Remote host closed the connection]
bit2017 has quit [Ping timeout: 240 seconds]
crowleyman has quit [Quit: Textual IRC Client: www.textualapp.com]
bramc has joined #bitcoin-wizards
erasmospunk has joined #bitcoin-wizards
sparetire_ has joined #bitcoin-wizards
ThomasV has joined #bitcoin-wizards
<OxADADA> mornin
nivah has joined #bitcoin-wizards
hazirafel has quit [Ping timeout: 240 seconds]
moa has left #bitcoin-wizards [#bitcoin-wizards]
afk11 has joined #bitcoin-wizards
Giszmo has joined #bitcoin-wizards
helo_ is now known as helo
bramc has quit [Quit: This computer has gone to sleep]
aburan28 has joined #bitcoin-wizards
c0rw1n is now known as c0rw|away
<Kireji> OxADADA: g'mornin
hazirafel has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
Guyver2 has joined #bitcoin-wizards
Kireji has quit [Quit: leaving]
dEBRUYNE has quit [Quit: Leaving]
erasmospunk has quit [Remote host closed the connection]
hazirafel has quit [Ping timeout: 240 seconds]
erasmospunk has joined #bitcoin-wizards
Dizzle has joined #bitcoin-wizards
Pugg has joined #bitcoin-wizards
Kireji has joined #bitcoin-wizards
c0rw|awa_ has joined #bitcoin-wizards
DougieBot5000 has joined #bitcoin-wizards
c0rw|away has quit [Ping timeout: 252 seconds]
ThomasV has quit [Ping timeout: 250 seconds]
hazirafel has joined #bitcoin-wizards
MrHodl has joined #bitcoin-wizards
rubensayshi has quit [Remote host closed the connection]
shen_noe has joined #bitcoin-wizards
ASTP001 has quit [Quit: bye bye~]
ASTP001 has joined #bitcoin-wizards
bsm1175321 has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
nwilcox has joined #bitcoin-wizards
afk11 has quit [Ping timeout: 260 seconds]
TD-Linux has quit [Ping timeout: 265 seconds]
TD-Linux has joined #bitcoin-wizards
ASTP001 has quit [Quit: bye bye~]
ASTP001 has joined #bitcoin-wizards
mjerr has quit [Ping timeout: 268 seconds]
afk11 has joined #bitcoin-wizards
zooko has joined #bitcoin-wizards
paveljanik has joined #bitcoin-wizards
damethos has quit [Quit: Bye]
ThomasV has joined #bitcoin-wizards
mjerr has joined #bitcoin-wizards
ThomasV has quit [Quit: Quitte]
Jeremy_Rand__ has joined #bitcoin-wizards
paci has joined #bitcoin-wizards
Jeremy_Rand__ is now known as Jeremy_Rand
Jeremy_Rand has quit [Quit: Konversation terminated!]
Jeremy_Rand has joined #bitcoin-wizards
moa has joined #bitcoin-wizards
zooko has quit [Remote host closed the connection]
bendavenport has joined #bitcoin-wizards
zooko has joined #bitcoin-wizards
mdavid613 has joined #bitcoin-wizards
mdavid613 is now known as mdavid
mdavid is now known as mdavid613
nwilcox has quit [Ping timeout: 268 seconds]
MrHodl has quit [Ping timeout: 255 seconds]
bramc has joined #bitcoin-wizards
mkarrer_ has joined #bitcoin-wizards
Jeremy_Rand has quit [Ping timeout: 240 seconds]
Jeremy_Rand has joined #bitcoin-wizards
CoinMuncher has quit [Quit: Leaving.]
Jeremy_Rand_ has joined #bitcoin-wizards
Jeremy_Rand has quit [Ping timeout: 268 seconds]
matsjj has quit [Remote host closed the connection]
mjerr has quit [Ping timeout: 255 seconds]
eudoxia_ has joined #bitcoin-wizards
eudoxia_ has quit [Client Quit]
eudoxia has quit [Ping timeout: 250 seconds]
bildramer has quit [Ping timeout: 272 seconds]
Jeremy_Rand_ is now known as Jeremy_Rand
Jeremy_Rand has quit [Quit: Konversation terminated!]
Jeremy_Rand has joined #bitcoin-wizards
orik has joined #bitcoin-wizards
hazirafel has quit [Remote host closed the connection]
Jeremy_Rand has quit [Ping timeout: 265 seconds]
CodeShark has joined #bitcoin-wizards
ThomasV has joined #bitcoin-wizards
orik has quit [Ping timeout: 260 seconds]
StephenM347 has joined #bitcoin-wizards
dEBRUYNE has quit [Ping timeout: 255 seconds]
mjerr has joined #bitcoin-wizards
matsjj has joined #bitcoin-wizards
matsjj has quit [Remote host closed the connection]
matsjj has joined #bitcoin-wizards
zooko has quit [Remote host closed the connection]
xaptah has quit [Ping timeout: 240 seconds]
bedeho has joined #bitcoin-wizards
bildramer has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
kaptah has joined #bitcoin-wizards
ThomasV has quit [Quit: Quitte]
kyuupichan has quit [Ping timeout: 240 seconds]
Jeremy_Rand_ has joined #bitcoin-wizards
nwilcox has joined #bitcoin-wizards
bramc has quit [Quit: This computer has gone to sleep]
Jeremy_Rand_ is now known as Jeremy_Rand
Jeremy_Rand has quit [Quit: Konversation terminated!]
Jeremy_Rand has joined #bitcoin-wizards
chris13243 has joined #bitcoin-wizards
OxADADA has left #bitcoin-wizards [#bitcoin-wizards]
mjerr has quit [Ping timeout: 240 seconds]
matsjj has quit [Remote host closed the connection]
orik has joined #bitcoin-wizards
Jeremy_Rand_ has joined #bitcoin-wizards
Yoghur114 has joined #bitcoin-wizards
Jeremy_Rand has quit [Ping timeout: 265 seconds]
mkarrer_ has quit [Remote host closed the connection]
ens has joined #bitcoin-wizards
chris13243 has quit [Ping timeout: 240 seconds]
belcher has joined #bitcoin-wizards
aburan28 has quit [Ping timeout: 240 seconds]
Jeremy_Rand_ has quit [Ping timeout: 240 seconds]
Jeremy_Rand_ has joined #bitcoin-wizards
orik has quit [Quit: Textual IRC Client: www.textualapp.com]
licnep has joined #bitcoin-wizards
chris13243 has joined #bitcoin-wizards
bedeho has quit [Ping timeout: 246 seconds]
melvster has quit [Ping timeout: 264 seconds]
bedeho has joined #bitcoin-wizards
jmcn has quit [Ping timeout: 256 seconds]
jmcn has joined #bitcoin-wizards
kgk_ has joined #bitcoin-wizards
melvster has joined #bitcoin-wizards
Burrito has joined #bitcoin-wizards
rustyn has quit [Read error: Connection reset by peer]
rustyn has joined #bitcoin-wizards
Jeremy_Rand_ has quit [Read error: Connection reset by peer]
rusty has joined #bitcoin-wizards
Jeremy_Rand_ has joined #bitcoin-wizards
bedeho has quit [Remote host closed the connection]
afk11 has quit [Ping timeout: 265 seconds]
bedeho has joined #bitcoin-wizards
chris13243 has quit [Ping timeout: 272 seconds]
matsjj has joined #bitcoin-wizards
matsjj has quit [Ping timeout: 250 seconds]
<katu> can somebody comment if this makes sense?
<katu> (abusing montgomery curves for fast ECS)
<yoleaux> ecfast.md · GitHub
afk11 has joined #bitcoin-wizards
nwilcox has quit [Ping timeout: 260 seconds]
<yoleaux> kanzure: Sorry, that doesn't appear to be an HTML page.
<kanzure> "Ideas for a new elliptic curve library"
CodeShark has quit [Ping timeout: 264 seconds]
phantomcircuit has joined #bitcoin-wizards
<katu> sounds like a good idea overall. abuse operator overloading in lua or python for DSL scripts of curve definitions, make it emit appropiate C code
poppingtonic has joined #bitcoin-wizards
<gmaxwell> katu: your signatures do not pass verification.
<katu> gmaxwell: they dont? :(
<katu> note that it has to be unmasked (while posshibly keeping the cofactor 8 constraints, ie keep lower 3 bits cleared, though not sure that is mandatory for this use)
<katu> otherwise there is no commutativity necessary for the commitment to work.
paveljanik has quit [Quit: Leaving]
<gmaxwell> I think you're mistaking the operation of curve25519(), it is not addition.
<katu> let me write a PoC :)
Dizzle has quit [Quit: bbiab]
<gmaxwell> What you're describing is this relation; (h()*(x-h()))G == xG which is clearly untrue.
ASTP001 has quit [Quit: ZZZzzz…]
StephenM347 has quit []
rusty has quit [Ping timeout: 240 seconds]
Jeremy_Rand_ has quit [Read error: Connection reset by peer]
nwilcox has joined #bitcoin-wizards
ASTP001 has joined #bitcoin-wizards
Jeremy_Rand_ has joined #bitcoin-wizards
belcher has quit [Quit: Leaving]
Guyver2 has quit [Quit: :)]
<katu> gmaxwell: you're right, turns out they're only semi-commutative :(
<katu> ie curve25519(30, curve25519(10, curve25519(20, G))) == curve25519(30, curve25519(20, curve25519(10, G))) holds
<katu> but curve25519(10, curve25519(20, G)) == curve25519(10, curve25519(10, curve25519(10, G))) does not
<katu> oh well, now its obvious why its used only for dh
<gmaxwell> katu: you can sign just fine with that function, though you need an additional add.
<katu> yep
<katu> larger signature
<gmaxwell> katu: you're making a mistake of thinking the curve is "additive only" -- there is no such thing. (or rather, depending on how you define it, every curve is 'additive only')
<katu> gmaxwell: by that i mean i cant supply multiplier modulo group order to "substract"
<gmaxwell> you most certantly can.
<katu> oh
* katu had all the assumption about x-only 25519 wrong :)
<gmaxwell> doesn't help that a lot of people (including DJB) explain things in a confusing manner.
OxADADA has joined #bitcoin-wizards
nwilcox has quit [Ping timeout: 264 seconds]
nwilcox has joined #bitcoin-wizards
bedeho has quit [Ping timeout: 265 seconds]
<phantomcircuit> gmaxwell, a merkle sum tree could be implemented as a soft forking change today right?
<katu> gmaxwell: curve25519(50, curve25519(50, G)) == curve25519((-100)%ORDER, curve25519(200, G)
<katu> does not hold :(
<katu> with order 7237005577332262213973186563042994240857116359379907606001950938285454250989
CodeShark has joined #bitcoin-wizards
<andytoshi> katu: the LHS of what you wrote should be 2500G, no?
<phantomcircuit> maaku, the best generic commitments scheme we've come up with is still putting a commitment in the last transaction right?
<andytoshi> but the RHS is -20000G (assuming i add a close-paren at the end of your message
ThomasV has joined #bitcoin-wizards
<gmaxwell> curve25519() is a multiplication, to invert that you need the modular inverse.
<maaku> phantomcircuit: soft-fork yes
<maaku> but it's a non-invasive hard fork to do better -- make the right-branch from the root of the merkle tree the commitment
<phantomcircuit> maaku, right that's what i meant
<katu> is what i'm using
bsm1175321 has quit [Ping timeout: 240 seconds]
<maaku> phantomcircuit: i would be severely disappointed and lose faith in this process if something as uncontroversial as that didn't make it into whatever block size hard fork comes out of this
<katu> it does modular inverse after each call to curve25519()
<phantomcircuit> maaku, my interest is in whether the merkle sum trees could be soft forked in with a reasonable commitment scheme
<gmaxwell> katu: you are computing 100*G on the lefthand side, and your right hand should be either 100G or 200*(1/2)G (or 3618502788666131106986593281521497120428558179689953803000975469142727125495G assuming the order you gave above is correct).
poppingtonic1 has joined #bitcoin-wizards
Jeremy_Rand_ has quit [Ping timeout: 265 seconds]
<gmaxwell> e.g. in sage
<gmaxwell> sage: (FiniteField(7237005577332262213973186563042994240857116359379907606001950938285454250989)(200))*3618502788666131106986593281521497120428558179689953803000975469142727125495
<gmaxwell> 100
<maaku> best non-fork: last 32 bytes of last output of coinbase. best soft-fork: last 32 bytes of last output of last transaction (soft-fork only needed to guarantee output is available for miner to spend). best hard-fork: right-branch from root of merkle tree (transactions left, commitments right)
poppingtonic has quit [Ping timeout: 244 seconds]
poppingtonic1 is now known as poppingtonic
<phantomcircuit> maaku, actually im not sure that what i was thinking is even useful
<phantomcircuit> i was thinking that you might be able to get the incentives right for utxo commitments with a sum tree, but actually im not sure you could
<phantomcircuit> instead of inserting fake entires into the commitment an attacker can simply replace all the scriptPubKey's
bedeho has joined #bitcoin-wizards
<katu> just for clarity (if theres any with treating 25519 as blackbox), gmaxwell, andytoshi :curve25519(2500, G) == curve25519(50, curve25519(50, G))
<katu> curse you djb and your confusing explanations
moa has quit [Quit: Leaving.]
<CodeShark> phantomcircuit: just got here - what are you trying to accomplish?
<CodeShark> sum trees over outputs?
<CodeShark> that do not require checking signatures?
<phantomcircuit> CodeShark, sum tree over the utxo set commitment plus sum tree over the blocks would enable proving false inflation
<phantomcircuit> but it doesn't help with proving that the utxo commitment has the right pubkey scripts
<CodeShark> that would require checking signatures, no?
<CodeShark> at the very least
<phantomcircuit> replacing the pubkey scripts?
<phantomcircuit> no because they can also give a fake txid:index pair
<phantomcircuit> and now you need to prove that the txid:index doesn't appear in the blockchain
<CodeShark> hence "at the very least" - you also need to prove the outputs are spendable
<CodeShark> right
<CodeShark> can we do better than O(n) for such a proof, n being the blockchain length?
<phantomcircuit> i dont think so
<phantomcircuit> well maybe we can with a hard fork
* phantomcircuit goes to look something up
<andytoshi> katu: that's correct. can you link to djb's explanation of this?
<phantomcircuit> CodeShark, no i dont think you can
<katu> andytoshi: 'ensure ``contributory'' behavior' ... just ^f contributory in http://cr.yp.to/ecdh.html
<phantomcircuit> proving that a transaction traces back to a coinbase can be done in less than n but is hardly compact
<CodeShark> you could do a probabilistic proof that fails on occasion, perhaps
<phantomcircuit> but i dont see how you can prove that a transaction was never valid
<katu> i'm curious now why ed25519 then (which uses y and conversion to jacobian representation, and is thus a bit more complicated)
<katu> as it seems montgomery 25519 is ok for signing
<phantomcircuit> CodeShark, im not sure a probabilistic proof is useful, probabilistic validation which generates absolute proofs are but not probabilistic proofs
<phantomcircuit> :)
<phantomcircuit> gmaxwell, am i missing something obvious?
<andytoshi> katu: i'm confused what coordinates have to do with ECDH at all
<phantomcircuit> (i ask because i know you've thought about fraud proofs a bunch)
<maaku> phantomcircuit: fraud proofs are SPV security.
<maaku> am I missing something? I'm not sure what you're aiming for
<CodeShark> SPV = proof of existence of something with a certain amount of PoW?
<katu> andytoshi: the two implementations (edwards vs montgomery), but montgomery only with x/z axis seems far simpler / faster to implement
<maaku> SPV = "assume >50% hashrate is honest"
<maaku> or perhaps more strictly "no single colluding carte with >50% hashrate"
<CodeShark> hmmm - so SPV can also include proving that a UTXO does not exist given the assumption that >50% of hashrate is honest?
<maaku> CodeShark: sure, have a proof against the commitment in the prior block
<phantomcircuit> maaku, the goal is that fraud proofs can be provided by any full node not just the miners
<CodeShark> and by "honest" we actually mean "actually validates the blocks it publishes and only publishes valid blocks" right?
<CodeShark> we're ignoring block withholding attacks or other such things
<phantomcircuit> maaku, consider that the incentives work because full nodes call bullshit if miners try to do anything pshishy, now consider how many people are using spv clients and what that does to the networks incentive model
<andytoshi> katu: that page is really hard to understand.
<andytoshi> i'm not certain what me means by "contributory behaviour", though i infer it somehow means "behaviour that does not involve sending low-order points", but his claim that this is irrelevant to DH i think is just wrong
<phantomcircuit> maaku, i can see how to do a fraud proof with two utxo commitments and the block
<andytoshi> oh, no, it's not wrong if you're just using the DH secret as a shared secret
<phantomcircuit> which would be an improvement on spv
<phantomcircuit> but is still not quite as strong as a full node
<andytoshi> i don't know what it means for a protocol to be "unusual" either. the use of that word sounds like really non-adversarial thinking
justanotheruser has quit [Read error: Connection reset by peer]
<maaku> I'm not sure I see the need to incentivise broadcasts of fraud proofs?
<maaku> Pretty much everyone has an indirect incentive to share fraud proofs of candidate blocks.
justanotheruser has joined #bitcoin-wizards
<maaku> Maybe I'm being dense.
<CodeShark> tragedy of the commons
<CodeShark> "I'll let someone else do that"
nwilcox has quit [Ping timeout: 256 seconds]
<CodeShark> if that "someone else" is a very small number and it is possible to discover the identities, all sorts of potentially ugly scenarios are possible
nwilcox has joined #bitcoin-wizards
<maaku> CodeShark: well in a probabalistic future presumably that's what everyone is doing.
<maaku> checking some subset of the utxoset, and relaying fraud proofs
<maaku> *probabalistic validation future
<phantomcircuit> maaku, im more interested in making the fraud proofs as compact and complete as possible
<kanzure> reducing the number of necessary fraud proof types is very useful thing to do
<phantomcircuit> i dont see any way to prove that the entries in a utxo commitment have false indexes (if we assume someone is willing to get lots of hashing power to generate say 100 blocks in a row that build on the false commitments)
<phantomcircuit> kanzure, unfortunately it seems like lots and lots are needed
<phantomcircuit> bbl
AnoAnon has joined #bitcoin-wizards
AnoAnon has quit [Max SendQ exceeded]
<maaku> phantomcircuit: the roots won't match, no?
<maaku> phantomcircuit: it will come down to spending txid that doesn't exist in the prior commitment or something like that, and a full node could prove that it doesn't exist
<kanzure> there have been some proposals that included a rolling window or pruning or something.. when you design the window to be too short/small, you open up various grinding attacks. not sure if this is what phantomcircuit was talking about.
shen_noe has quit [Quit: Leaving]
<gmaxwell> andytoshi: the argument that it's unnecessary is that the low order points are few enough that you cannot use them to extract secret data.
ThomasV has quit [Ping timeout: 255 seconds]
<phantomcircuit> maaku, that's right the roots won't match but to calculate the root you need to have the full block data between the commitments
<phantomcircuit> if you can prove that the commitment is fake with less than the full block data between it and the previous commitment
<phantomcircuit> then we're talking
<CodeShark> by fake you mean "spends an output that either doesn't exist or has already been spent"?
<katu> andytoshi: chance of hitting em is astronomically low assuming there's no external malleable factor (i suppose on has to be careful when compositing n-of-m signatures in ecschnorr)
<gmaxwell> katu: the chance of hitting them is _1_ if someone sends you one.
erasmospunk has quit [Remote host closed the connection]
<gmaxwell> Thats the same kind of incompetent reasoning that results in pratical vulnerabilities in other ECDH implementations; in this case it's okay (because you don't get enough choices of low order to learn much about the private key), but not because the chance of hitting them is low.
orik has joined #bitcoin-wizards
nwilcox has quit [Ping timeout: 250 seconds]
King_Rex has quit [Remote host closed the connection]
nwilcox has joined #bitcoin-wizards
nwilcox has quit [Ping timeout: 246 seconds]
nwilcox has joined #bitcoin-wizards
<phantomcircuit> CodeShark, i specifically mean, replaces a valid entry in the UTXO with an invalid entry (thus preserving the merkle sum tree values)
<phantomcircuit> for example
<phantomcircuit> you have an entry which is a valid unspent outpoint and the correct amount and script pubkey
<phantomcircuit> the attacker replaces that with a non existent outpoint (ie random txid) and the correct amount and the attackers script pubkey
<phantomcircuit> you can prove they lied only be providing all of the blocks between the last utxo commitment and that block
eudoxia has joined #bitcoin-wizards
DougieBot5000 has quit [Quit: Leaving]
<phantomcircuit> which isn't as good as a full node which trusts nothing
<phantomcircuit> gavinand1esen, solve that and i wont oppose much larger blocks
<katu> gmaxwell: yes, luckily djb gave quite clear instructions in that regard - "check your base point input that they're not a twist or trivial order generator"
<katu> gmaxwell: or have i missed something and the pathological cases are not easy to detect (low 3 bits for twist, and 2 constants for the other small orders)
sipa has joined #bitcoin-wizards
<gmaxwell> katu: what? that page _specifically_ tells you to do no verification of input points. (which is actually fine, but for other reasons)
<gmaxwell> "How do I validate Curve25519 public keys?
<gmaxwell> Don't. "
<katu> gmaxwell: read further about the bit munging
<katu> and what to do if you remove it
<gmaxwell> katu: I'm not following your comments. The page is completely, blood flowing from eyes, clear.
<gmaxwell> The only bit operations discussed on that page are related to secret key generation.
<phantomcircuit> gmaxwell, i think if there was blood flowing from my eyes i'd have trouble seeing it too
* phantomcircuit runs away
<sipa> have you actually tried that?
<CodeShark> you have blood vessels always right on your retina but you don't see them because the retina only senses changes
<sipa> that is by no means equivalent to "blood flowing from eyes" :p
<CodeShark> the blood vessels carry blood away from the eyes, so in a sense it is :p
<sipa> ok, you win!
<CodeShark> :)
<sipa> arguable, in a very relevant way: if those vessels weren't pumping blood away, things on that page would go very unclear rapidly
<phantomcircuit> sipa, i've actually gotten lots of fake bloof in my eyes before
<phantomcircuit> 0/10 would not recommend
nwilcox has quit [Ping timeout: 264 seconds]
nwilcox has joined #bitcoin-wizards
<katu> gmaxwell: i mean the 'In those protocols, you should reject the 32-byte strings' part. i presume he's talking about public keys.
<katu> gmaxwell: if you input 325606250916557431795983626356110631294008115727848805560023387167927233504 as public key (generator), you'll see order 8. this is presumably ok for DH, but not when it is abused for other uses.
<gmaxwell> katu: you ___MUST___ reject low order points for ECDH generally; it just happens to be the case for curve25519 the particular selection of possible low order points is not a set that will cause trouble. But it is not generally true.
<gmaxwell> (it works in this case because you only get points of order 8,4,2; and your key has been magicked to be a multiple of 8)
<gmaxwell> but this is not something which is generally true for ECDH.
<gmaxwell> And failing to validate points generally (outside of this specific setup), _for ecdh_ results in exploitable vulnerability when an attacker sends you points of many different orders and learns your key mod a collection of small primes and can recover the value via chinese remander theorem.
<katu> gmaxwell: still, if both parties announce they have low order public point, hilarity ensues :)
<katu> my point is, it makes no sense to do that
<katu> of course this is all in context of 25519
licnep has quit [Quit: Connection closed for inactivity]
<tromp> CRT is the attack i use on the order of legal Go positions:)
<gmaxwell> tromp: I was mind blown with the go position counting stuff. So interesting that the combinitorics is simple enough to yield to analysis like that.
<gmaxwell> katu: Just please take care to not generalize what works for one particlar set of parameters for other things.
<gwillen> link for the go position stuff?
<tromp> in fact i should have finished the computation by now. were it not for the last 3 jobs all suffering fatal filesystem errors
<gmaxwell> tromp: I'd seen the paper but I didn't connect that it was you.
<gwillen> tromp: I love that we have the power to do it up to ONE less than the traditional go board size
<tromp> still hope to finish by Xmas!
<gwillen> +1
<gmaxwell> next step should be a go board compression program that converts any legal goboard into a single integer on the range of [zero .. npositions) :)
bramc has joined #bitcoin-wizards
<gmaxwell> tromp: I'd offer to help compute but I don't have any cpu farms with oodles of storage handy at the moment!
Jeremy_Rand_ has joined #bitcoin-wizards
Jeremy_Rand_ is now known as Jeremy_Rand
Jeremy_Rand has quit [Client Quit]
<tromp> that's only saving about 6 bits on the std encoding:(
Jeremy_Rand has joined #bitcoin-wizards
<gmaxwell> tromp: hahah
<tromp> fortunately your tax dollars help (computation being done at IDA princeton)
rusty has joined #bitcoin-wizards
<poppingtonic> +1
nwilcox has quit [Remote host closed the connection]
nwilcox has joined #bitcoin-wizards
<phantomcircuit> tromp, something something academics wasting money heh
<tromp> i can't think of a better use of my tax dollars:)
<phantomcircuit> hehe
Newyorkadam has joined #bitcoin-wizards
eudoxia has quit [Remote host closed the connection]
rusty has quit [Ping timeout: 240 seconds]
nwilcox has quit [Ping timeout: 264 seconds]
King_Rex has joined #bitcoin-wizards
King_Rex has quit [Remote host closed the connection]
Jeremy_Rand has quit [Read error: Connection reset by peer]
dEBRUYNE has quit [Ping timeout: 244 seconds]
Jeremy_Rand has joined #bitcoin-wizards
DougieBot5000 has joined #bitcoin-wizards
Yoghur114 has quit [Remote host closed the connection]
CodeShark has quit [Ping timeout: 272 seconds]
Fistful_of_Coins has joined #bitcoin-wizards
shen_noe has joined #bitcoin-wizards
shen_noe has quit [Client Quit]
Jeremy_Rand_ has joined #bitcoin-wizards
<bramc> tromp Zero-knowledge proof or it didn't happen
Jeremy_Rand has quit [Ping timeout: 244 seconds]