andrew_mo_ has quit [Remote host closed the connection]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Read error: Connection reset by peer]
<achow101>
that's what GetOP/GetScriptOp does implicitly. it gives you the stack item, and you can then check it's length
nataneb32 has quit [Remote host closed the connection]
andrew_m_ has quit [Remote host closed the connection]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 245 seconds]
andrew_mo_ has joined #bitcoin-core-dev
test_ has joined #bitcoin-core-dev
flooded has quit [Ping timeout: 246 seconds]
andrew_mo_ has quit [Ping timeout: 240 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 246 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 245 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has quit [Read error: Connection reset by peer]
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_m_ has quit [Ping timeout: 255 seconds]
zhejyan has quit [Ping timeout: 246 seconds]
zhejyan has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 245 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
<PaperSwo1d>
is getOp consensus safe?
<PaperSwo1d>
It seems like a canidate that would be useful for detecting p2pk /p2ms
dviola has joined #bitcoin-core-dev
cmirror has joined #bitcoin-core-dev
andrew_mo_ has quit [Remote host closed the connection]
boris- has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
boris has quit [Ping timeout: 245 seconds]
andrew_mo_ has quit [Ping timeout: 248 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 258 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
flooded has joined #bitcoin-core-dev
test_ has quit [Ping timeout: 240 seconds]
andrew_mo_ has joined #bitcoin-core-dev
robobub has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 245 seconds]
javi404 has quit [Ping timeout: 248 seconds]
javi404 has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 250 seconds]
Nekorand has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
javi404 has quit [Ping timeout: 248 seconds]
javi404 has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
javi404 has quit [Ping timeout: 244 seconds]
andrew_mo_ has joined #bitcoin-core-dev
javi404 has joined #bitcoin-core-dev
ZeroMaster has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
robobub has quit [Quit: Connection closed for inactivity]
andrew_mo_ has quit [Ping timeout: 245 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 248 seconds]
lbia has quit [Quit: lbia]
AaronvanW has joined #bitcoin-core-dev
lbia has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 256 seconds]
benwestgate has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
vysn has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
Guyver2 has joined #bitcoin-core-dev
vysn has quit [Remote host closed the connection]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
vysn has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 256 seconds]
andrew_m_ has quit [Ping timeout: 255 seconds]
<sipa>
PaperSwo1d: yes, that's how the script interpreter finds opcodes to execute
freesprung has joined #bitcoin-core-dev
ZeroMaster has quit [Remote host closed the connection]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 245 seconds]
andrew_m_ has quit [Ping timeout: 245 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
zhejyan_ has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has quit [Ping timeout: 245 seconds]
zhejyan has quit [Ping timeout: 248 seconds]
andrew_mo_ has quit [Ping timeout: 255 seconds]
DarrylTheFish has joined #bitcoin-core-dev
bitdex has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
Nekorand has quit [Ping timeout: 248 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
DarrylTheFish has quit [Remote host closed the connection]
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_m_ has quit [Ping timeout: 246 seconds]
Guyver2 has left #bitcoin-core-dev [Closing Window]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 250 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has quit [Read error: Connection reset by peer]
andrew_mo_ has quit [Ping timeout: 250 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
Nekorand has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 245 seconds]
andrew_m_ has quit [Ping timeout: 255 seconds]
sudoforge has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 258 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
jonatack1 has quit [Read error: Connection reset by peer]
bugs_ has joined #bitcoin-core-dev
jonatack1 has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
DarrylTheFish has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 256 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 240 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
test_ has joined #bitcoin-core-dev
flooded has quit [Read error: Connection reset by peer]
andrew_mo_ has joined #bitcoin-core-dev
Nekorand has quit [Ping timeout: 244 seconds]
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_m_ has quit [Ping timeout: 246 seconds]
Nekorand has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 256 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 246 seconds]
Talkless has joined #bitcoin-core-dev
bitdex has quit [Ping timeout: 246 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 255 seconds]
andrew_mo_ has joined #bitcoin-core-dev
vysn has quit [Remote host closed the connection]
sudoforge has quit [Quit: 404]
andrew_mo_ has quit [Remote host closed the connection]
andrew_mo_ has joined #bitcoin-core-dev
bcdarc has quit [Ping timeout: 246 seconds]
mudsip has joined #bitcoin-core-dev
bcdarc has joined #bitcoin-core-dev
test_ has quit [Ping timeout: 245 seconds]
Talkless has quit [Quit: Konversation terminated!]
bitdex has joined #bitcoin-core-dev
PaperSwo2d has joined #bitcoin-core-dev
andrew_m_ has joined #bitcoin-core-dev
vysn has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 244 seconds]
andrew_m_ has quit [Remote host closed the connection]
andrew_mo_ has joined #bitcoin-core-dev
DarrylTheFiish has joined #bitcoin-core-dev
DarrylTheFish has quit [Ping timeout: 255 seconds]
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 248 seconds]
Nekorand has quit [Ping timeout: 246 seconds]
<PaperSwo2d>
There is no technical limitation to giving P2PK/P2MS address types since addresses are just figerprints for scripts?
<PaperSwo2d>
I am ignoring community consensus in this example.
brunoerg has joined #bitcoin-core-dev
vysn has quit [Remote host closed the connection]
<sipa>
sure, there could be address types for P2PK and P2MS
<sipa>
for P2MS they'd be super long though
brunoerg has quit [Ping timeout: 255 seconds]
<sipa>
i also don't think there is much use for them; P2PK is strictly better than P2PK I'd say (I may be biased..); and P2MS is really undesirable anyway because it puts the burden of paying for the receiver's complexity on the sender
<sipa>
P2TR is strictly better than P2PK i meam
<PaperSwo2d>
Yes I agree P2TR is better. Would hashing the serialized script + a prefix be a way to work around the length limit?
brunoerg has joined #bitcoin-core-dev
<sipa>
no? you can't reconstruct the script from that
<sipa>
an address is a recipe for constructing an output scriptPubKey
<PaperSwo2d>
Okay thank you! That was the gap is must the address include enough to reconstruct the script.
<sipa>
and if you want an address with a hash of the script... that's what P2SH was introduced for
<PaperSwo2d>
I was thrown off by P2SH and P2WSH where it does reconscruct the redeem script, but not for example the witness data
<sipa>
exactly so that the sender doesn't need to know or pay for the full script
<sipa>
(and later P2WSH and P2TR)
bitdex has quit [Ping timeout: 246 seconds]
<PaperSwo2d>
Yeah, though in some cases it could be argued it might be better to lay the script on chain while fees are low, that way if fees rise the spend is less. Also reduces dust I believe since the spend is less data. At the cost of no witness dicount and UTXO set serializaion bloat
brunoerg has quit [Ping timeout: 246 seconds]
<sipa>
in a hypothetical world with musig/frost/whatever widely available, i expect it will be almost always cheaper and more private to use p2tr
bitdex has joined #bitcoin-core-dev
<PaperSwo2d>
Sharing a single P2TR pubkey using coordination methods like MPC? Also P2TR has only 255 bits of security due to being X only, does this make it slightly less secure than ESCDA p2pk which uses 256 bits?
<sipa>
no, it's exactly as secure
<sipa>
imagine you had an algorithm that could compute the secret key for a given X-only public key
<sipa>
if you want to compute the secret key of a full public key, take its X coordinate, feed it to the X-only breaker, and if it's wrong, negate the result
<sipa>
and no, you don't need an MPC, just the musig algorithm (which arguably is a very specialized MPC, but when you say MPC, most people will imagine some heavyweight generic MPC solution)
<sipa>
musig lets you combine multiple public keys into a single public key in such a way that you need all participants to cooperate to sign for it
<sipa>
frost is a more complicated construction that lets you do k-of-n offchain
<sipa>
musig is just n-of-n
<sipa>
but you can have a taproot script tree where every leaf is a different k-of-k subset, if you want to emulate k-of-n with P2TR + musig
<PaperSwo2d>
Holy ... Okay that is pretty cool, though at first glance I see complexy issues with the redeem script (depth) for large values of k.
<sipa>
also, ECDSA and Schnorr over secp256k1 only have roughly 128 bits of security (due to pollard rho or kangaroo algorithms for discrete logarithms), for both x-only or full pubkeys)
<sipa>
PaperSwo1d: yeah that only works when (n choose k) is up to maybe millions
<sipa>
FROST or other native threshold signature schemes have far lower computational complexity, but are significantly more complicated to implement correctly
<PaperSwo2d>
The square root of n bits 2^(256/2), though the solution is not guaranteed in that amount of attempts, just likely.
<PaperSwo2d>
"and if it's wrong, negate the result" though the operation of negation is easy doesn't this imply there could be in the WCS 2x the total attempts when compared to a non x only public key?
<sipa>
no, you don't have the run the solver twice
<sipa>
you run it once
<sipa>
and the DL of the full public key is either equal to the DL of the x-only key, or its negation
<sipa>
that's just an additional constant-time trivial operation at the end
brunoerg has joined #bitcoin-core-dev
<PaperSwo2d>
This. "that's just an additional constant-time trivial operation at the end"
<PaperSwo2d>
Thank You for all your insights and time I appreciate it!
<sipa>
yw
brunoerg has quit [Ping timeout: 260 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
andrew_mo_ has quit [Remote host closed the connection]