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
pmxb0t has quit []
shush has quit [Remote host closed the connection]
shush has joined #bitcoin-wizards
shush has quit [Remote host closed the connection]
shush has joined #bitcoin-wizards
shush has quit [Remote host closed the connection]
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 272 seconds]
fimp has joined #bitcoin-wizards
roconnor has quit [Quit: Konversation terminated!]
<rottensox> Taproot BIP (so to speak...): https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki
<sipa> 341 is taproot; 342 is the script changes under taproot
<rottensox> ah.
<rottensox> :D
<rottensox> thanks.
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 248 seconds]
mauz555 has joined #bitcoin-wizards
<jeremyrubin> So one question that I think is kinda tricky is how to work with fixed-width integers from Bitcoin script without violating minimal encodings?
<jeremyrubin> Should we be adding some sort of OP_PAD{32,64} that fits an integer into 32/64 bits?
<jeremyrubin> Or just relax encoding rules?
<sipa> in what context is this a problem?
<jeremyrubin> I don't beleive it to be a problem at present
<jeremyrubin> But in OP_CTV at some point, if OP_CAT is added, you may want to perform numeric operations on an item that you then concatenate onto a stack element
<jeremyrubin> You can handle this with an if/else tree which calls OP_SIZE and then adds the correct number of zeroes I guess?
<sipa> i don't see the problem
<sipa> ah
<jeremyrubin> The issue is that the stack element then gets hashed
<sipa> you mean for nsequence/nlocktime stuff?
<jeremyrubin> And if the encoding isn't proper, you then have an issue
<jeremyrubin> yeah
<sipa> ok, that wasn't clear
<jeremyrubin> A solution??? might be to minimal encode them for the hash. But I hate that for pretty good reason
<sipa> OP_SUBSTR to the rescue? :p
<jeremyrubin> Hmm
<sipa> substr(num + 0000, 0, 4)
<sipa> conceptually
<jeremyrubin> Ah, I guess that works?
<jeremyrubin> So you always over pad, and then remove?
shush has joined #bitcoin-wizards
<sipa> it's a possibility (if SUBSTR existed...)
<jeremyrubin> I guess you can do a cat only version
<jeremyrubin> OP_SIZE OP_1 OP_LESSTHAN OP_IF "00" OP_SWAP OP_CAT
<jeremyrubin> something like that, but repeated a few times
<jeremyrubin> So i guess "problem solved"
<jeremyrubin> Hopefully by then we have an entire new script system :p
<jeremyrubin> with legit data types
<sipa> Data types? Where we're going we don't need data.
brianhoffman_ has joined #bitcoin-wizards
<jeremyrubin> data types *in the zero knowledge constraint system*
<sipa> (imagining a glorious future in which script is replaced with a simple compact recursive NIZK)
<jeremyrubin> beat ya to it ;)
brianhoffman has quit [Ping timeout: 265 seconds]
brianhoffman_ is now known as brianhoffman
shush has quit [Ping timeout: 260 seconds]
imawhale has joined #bitcoin-wizards
_whitelogger has joined #bitcoin-wizards
imawhale has quit [Quit: imawhale]
fimp has quit []
machty has joined #bitcoin-wizards
Belkaar_ has quit [Ping timeout: 265 seconds]
Belkaar has joined #bitcoin-wizards
Belkaar has quit [Changing host]
Belkaar has joined #bitcoin-wizards
justanotheruser has quit [Read error: Connection reset by peer]
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 272 seconds]
_whitelogger has joined #bitcoin-wizards
mauz555 has quit [Remote host closed the connection]
mauz555 has joined #bitcoin-wizards
justanotheruser has joined #bitcoin-wizards
mauz555 has quit []
AbramAdelmo_ has joined #bitcoin-wizards
AbramAdelmo has quit [Read error: Connection reset by peer]
AaronvanW has quit [Remote host closed the connection]
machty has quit []
MarkusH1 has joined #bitcoin-wizards
justanotheruser has quit [Ping timeout: 272 seconds]
CryptoDavid has quit [Quit: Connection closed for inactivity]
justanotheruser has joined #bitcoin-wizards
slivera has joined #bitcoin-wizards
kinlo has quit [Ping timeout: 245 seconds]
slivera has quit [Ping timeout: 265 seconds]
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 245 seconds]
dr-orlovsky has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_whitelogger has joined #bitcoin-wizards
MarkusH1 has quit []
rottensox has quit [Read error: Connection reset by peer]
rottensox_ has joined #bitcoin-wizards
rottensox_ has quit [Remote host closed the connection]
rottensox_ has joined #bitcoin-wizards
rottensox_ is now known as rottensox
shush has joined #bitcoin-wizards
chaosagent has joined #bitcoin-wizards
rusty has joined #bitcoin-wizards
rusty has quit [Quit: Leaving.]
shush has quit [Remote host closed the connection]
shush has joined #bitcoin-wizards
jonatack has quit [Quit: jonatack]
kinlo has joined #bitcoin-wizards
shush has quit [Remote host closed the connection]
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 248 seconds]
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 260 seconds]
shush has joined #bitcoin-wizards
AaronvanW has joined #bitcoin-wizards
shush has quit [Ping timeout: 260 seconds]
shush has joined #bitcoin-wizards
shush has quit [Ping timeout: 248 seconds]
chaosagent has quit []
dr-orlovsky has joined #bitcoin-wizards
manishearth has joined #bitcoin-wizards
manishearth is now known as Guest94620
AbramAdelmo_ has quit [Read error: Connection reset by peer]
AbramAdelmo has joined #bitcoin-wizards
TheoStorm has joined #bitcoin-wizards
shush has joined #bitcoin-wizards
imawhale has joined #bitcoin-wizards
shush has quit [Ping timeout: 260 seconds]
jonatack has joined #bitcoin-wizards
AbramAdelmo has quit [Remote host closed the connection]
Guest92238 is now known as pigeons
_whitelogger has joined #bitcoin-wizards
AbramAdelmo_ has joined #bitcoin-wizards
Guest94620 has quit []
imawhale has quit [Quit: imawhale]
imawhale has joined #bitcoin-wizards
son0p has joined #bitcoin-wizards
jungly has quit [Ping timeout: 265 seconds]
tool8 has joined #bitcoin-wizards
bildramer has quit [Remote host closed the connection]
bildramer has joined #bitcoin-wizards
bitdex has joined #bitcoin-wizards
justanotheruser has quit [Ping timeout: 272 seconds]
son0p has quit [Quit: Lost terminal]
shush has joined #bitcoin-wizards
justanotheruser has joined #bitcoin-wizards
Guyver2 has joined #bitcoin-wizards
shush has quit [Ping timeout: 248 seconds]
dr-orlovsky has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
justanotheruser has quit [Ping timeout: 260 seconds]
belcher has quit [Quit: Leaving]
dr-orlovsky has joined #bitcoin-wizards
dr-orlovsky has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jonatack has quit [Ping timeout: 265 seconds]
justanotheruser has joined #bitcoin-wizards
jonatack has joined #bitcoin-wizards
TheoStorm has quit [Remote host closed the connection]
tool8 has quit []
dr-orlovsky has joined #bitcoin-wizards
ddustin has joined #bitcoin-wizards
chrippa has joined #bitcoin-wizards
dr-orlovsky has quit [Ping timeout: 240 seconds]
rh0nj has quit [Remote host closed the connection]
rh0nj has joined #bitcoin-wizards
AbramAdelmo_ has quit [Remote host closed the connection]
AbramAdelmo has joined #bitcoin-wizards
AbramAdelmo has quit [Remote host closed the connection]
bildramer has quit [Remote host closed the connection]
bildramer has joined #bitcoin-wizards
ddustin has quit [Remote host closed the connection]
ddustin has joined #bitcoin-wizards
ddustin has quit [Ping timeout: 268 seconds]
AbramAdelmo_ has joined #bitcoin-wizards
ddustin has joined #bitcoin-wizards
dr-orlovsky has joined #bitcoin-wizards
dr-orlovsky has quit [Ping timeout: 268 seconds]
dr-orlovsky has joined #bitcoin-wizards
Kiminuo has joined #bitcoin-wizards
AbramAdelmo_ has quit [Remote host closed the connection]
AbramAdelmo has joined #bitcoin-wizards
shush has joined #bitcoin-wizards
justinmoon_ is now known as justinmoon
shush has quit [Remote host closed the connection]
shush has joined #bitcoin-wizards
luke-jr has quit [Quit: ZNC - http://znc.sourceforge.net]
luke-jr has joined #bitcoin-wizards
slivera has joined #bitcoin-wizards
ddustin has quit [Remote host closed the connection]
AbramAdelmo has quit [Remote host closed the connection]
chrippa has quit []
ddustin has joined #bitcoin-wizards
vexed[vexed] has joined #bitcoin-wizards
pinheadmz has quit [Quit: pinheadmz]
pinheadmz has joined #bitcoin-wizards
AbramAdelmo has joined #bitcoin-wizards
AbramAdelmo has quit [Read error: Connection reset by peer]
AbramAdelmo_ has joined #bitcoin-wizards
brianhoffman has quit [Ping timeout: 240 seconds]
brianhoffman has joined #bitcoin-wizards
Kiminuo has quit [Ping timeout: 265 seconds]
CryptoDavid has joined #bitcoin-wizards
ddustin has quit [Remote host closed the connection]
ddustin has joined #bitcoin-wizards
ddustin has quit [Remote host closed the connection]
slivera has quit [Remote host closed the connection]
Guyver2 has quit [Quit: Going offline, see ya! (www.adiirc.com)]
ddustin has joined #bitcoin-wizards
Guyver2 has joined #bitcoin-wizards
Guyver2 has quit [Client Quit]
Guyver2 has joined #bitcoin-wizards
Guyver2 has quit [Client Quit]
ddustin has quit [Remote host closed the connection]
ddustin has joined #bitcoin-wizards
belcher has joined #bitcoin-wizards
TheoStorm has joined #bitcoin-wizards
Kiminuo has joined #bitcoin-wizards
ddustin has quit [Remote host closed the connection]
luke-jr has quit [Quit: ZNC - http://znc.sourceforge.net]
luke-jr has joined #bitcoin-wizards
justanotheruser has quit [Ping timeout: 260 seconds]
afilini has joined #bitcoin-wizards
ddustin has joined #bitcoin-wizards
ddustin has quit [Remote host closed the connection]
ddustin has joined #bitcoin-wizards
<afilini> hi everyone, not sure if this is the right channel to discuss this but i'll try anyways.. i was playing around with descriptors lately and i realized that sometimes, in case of non-standard derivation paths, two of them are needed to describe a complete wallet (one for the "external" addresses and one for the "internal" ones). i came up with an
<afilini> idea of using some special symbol like $ to denote one item of the path that can be either 0 or 1 depending on what kind of address is being derived, but i figured i could ask here first in case something similar already exists or in case you had better ideas
<afilini> if you like the idea i could make a PR to rust-bitcoin, maybe to Core too but i'm not very familiar with its codebase so it would probably take a while
<sipa> afilini: this has been suggested before, and i see the appeal, but i'm worried about scope creep
<sipa> so far, descriptors don't really encode any information about how they're supposed to be used
<sipa> other things of that kind are e.g. the gap size
<sipa> or information on what hardware device(s) shoukd be queried
<sipa> ping achow101
<sipa> that said, it's unfortunate that you'd need to duplicate an almost entire descriptor just because you need to describe both internal and external
<sipa> i don't know what the solution is
<afilini> right, i get your point
<sipa> maybe a possibility is generalizing it further, and just allow $VARNAME in key derivation paths, which then must be set by the caller
<afilini> i had never really thought about the gap size issue, because i just thought you could overshoot it, but now that i think about it's like... trying to brute-force a few common derivations and see if you find the internal addresses, which is not really a solution but more of an hack
<sipa> as that avoids hardcoding the concept of address/change directly... but if that's the only the varname mechanism would be used for, there isn't mucn difference with a simpler specialized approach
<sipa> afilini: my view is just that wallets will always be more than just a descriptor
<sipa> descriptors encode the scripts used, but you need more than that in many casds
<afilini> well i think we could argue that the change derivation index is somehow part of the "scripts"
<afilini> more than the gap size, which is more in the "how do we use those scripts" category
<sipa> well, the distinction between change and payment address does not matter in all contexts
<sipa> e.g. if you just want to scan for utxos, it's not relevant
<sipa> for that purpose you may want to convey "this part of the key derivation path may be either 0 or 1", but it's not conveying change or not
<afilini> right, what do 0 and 1 mean is not relevant for the descriptor
<sipa> right
<sipa> if there was a variable kind of thing
<sipa> you'd say "import descriptor=blabla(.../$INT/*); change goes to INT=1, paymemts to INT=0"
<sipa> but what if you'd want distinct descriptors for change and payments
<sipa> do we need a syntax to "merge" two descriptors, based on a variable?
<sipa> like a choose($INT,desc1,desc2) ?
Kiminuo has quit [Ping timeout: 268 seconds]