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
FranzKafka has joined #bitcoin-wizards
Aquentin has quit [Ping timeout: 256 seconds]
rusty has joined #bitcoin-wizards
shea256 has quit [Remote host closed the connection]
<gmaxwell>
What is that? and why shouldn't I ban it?
p15x has joined #bitcoin-wizards
<prosodyContext>
Your mistake(?. #WhatWouldCountingDo? #Cryptoempathy? #Microempathy? Listenbing?
hashtag has quit [Ping timeout: 246 seconds]
<prosodyContext>
(Serry I∫ ionttearupted ur group order bitinterrogangbanglil)
prosodyContext was banned on #bitcoin-wizards by gwillen [*!*@gateway/web/irccloud.com/x-uahxhgeqpnkvmdog]
prosodyContext was kicked from #bitcoin-wizards by gwillen [prosodyContext]
MatrixBridge was banned on #bitcoin-wizards by gwillen [*!*@gateway/shell/matrix.org/x-bdsegnkqppgvahtp]
MatrixBridge was kicked from #bitcoin-wizards by gwillen [MatrixBridge]
M-_mis was banned on #bitcoin-wizards by gwillen [*!*@gateway/shell/matrix.org/x-fxdoofrzygycclgu]
M-_mis was kicked from #bitcoin-wizards by gwillen [M-_mis]
Dr-G has quit [Disconnected by services]
Dr-G2 has joined #bitcoin-wizards
jaekwon has joined #bitcoin-wizards
rusty has joined #bitcoin-wizards
<rusty>
May I ask a(nother) dumb q? Why is 160 bits good enough for bitcoin addresses, and does the same logic apply to things like atomic swaps (or, Lightning network transfers)?
kgk has joined #bitcoin-wizards
<Luke-Jr>
rusty: 2^160 is hard to bruteforce?
<rusty>
Luke-Jr: not as hard as 256 bits :)
<rusty>
Luke-Jr: I'm guessing the logic runs something like "there are less than 2^32 addresses in the utxo set at any time, so it's still > 2^128 attempts to steal funds".
kgk has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Luke-Jr>
rusty: but 256 bits makes more letters
<rusty>
Luke-Jr: Of course. But 160 makes more letters than 64 too....
gsdgdfs has quit [Ping timeout: 248 seconds]
Transisto2 has joined #bitcoin-wizards
<rusty>
Luke-Jr: that's why I was interested in the tradeoffs.
snthsnth has quit [Ping timeout: 240 seconds]
Kevin_ has joined #bitcoin-wizards
reach4thelasers has quit [Ping timeout: 246 seconds]
jaekwon has quit [Remote host closed the connection]
copumpkin has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
wyager has joined #bitcoin-wizards
wyager has quit [Client Quit]
wyager has joined #bitcoin-wizards
TheSeven has quit [Ping timeout: 244 seconds]
TheSeven has joined #bitcoin-wizards
shea256 has joined #bitcoin-wizards
snthsnth has joined #bitcoin-wizards
gsdgdfs has joined #bitcoin-wizards
Transisto2 has quit [Ping timeout: 246 seconds]
shea256 has quit [Ping timeout: 264 seconds]
jaekwon has joined #bitcoin-wizards
jps has quit [Ping timeout: 244 seconds]
kgk has joined #bitcoin-wizards
hashtag has joined #bitcoin-wizards
ThomasV has joined #bitcoin-wizards
hashtag has quit [Ping timeout: 244 seconds]
ThomasV_ has joined #bitcoin-wizards
ThomasV has quit [Ping timeout: 248 seconds]
kgk has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mjerr has joined #bitcoin-wizards
sneak has quit [Ping timeout: 246 seconds]
sneak has joined #bitcoin-wizards
hazirafel has quit [Ping timeout: 260 seconds]
alawson has quit [Remote host closed the connection]
shea256 has joined #bitcoin-wizards
shea256 has quit [Ping timeout: 244 seconds]
bendavenport has quit [Quit: bendavenport]
mjerr has quit [Ping timeout: 252 seconds]
Tiraspol has quit [Ping timeout: 256 seconds]
jaekwon has quit [Remote host closed the connection]
Tiraspol has joined #bitcoin-wizards
Tiraspol has joined #bitcoin-wizards
priidu has joined #bitcoin-wizards
bosma is now known as MoltenBosnia
freewil has quit [Quit: Leaving.]
jaekwon has joined #bitcoin-wizards
jaekwon has quit [Remote host closed the connection]
digitalmagus8 has joined #bitcoin-wizards
digitalmagus8 has quit [Changing host]
digitalmagus8 has joined #bitcoin-wizards
optimator has joined #bitcoin-wizards
optimator has joined #bitcoin-wizards
catlasshrugged_ has joined #bitcoin-wizards
andytosh1 has joined #bitcoin-wizards
ThomasV_ has quit [Ping timeout: 264 seconds]
grandmaster2 has joined #bitcoin-wizards
dignork- has joined #bitcoin-wizards
helo_ has joined #bitcoin-wizards
digitalmagus has quit [Ping timeout: 252 seconds]
grandmaster has quit [Ping timeout: 252 seconds]
optimator_ has quit [Ping timeout: 252 seconds]
andytoshi has quit [Ping timeout: 252 seconds]
[d__d] has quit [Ping timeout: 252 seconds]
dignork has quit [Ping timeout: 252 seconds]
catlasshrugged has quit [Ping timeout: 252 seconds]
helo has quit [Ping timeout: 252 seconds]
jtimon has quit [Ping timeout: 252 seconds]
jtimon_ has joined #bitcoin-wizards
[d__d] has joined #bitcoin-wizards
kgk has joined #bitcoin-wizards
wyager has quit [Quit: wyager]
ThomasV_ has joined #bitcoin-wizards
nsh has quit [Ping timeout: 246 seconds]
nsh has joined #bitcoin-wizards
kgk has quit [Read error: Connection reset by peer]
psztorc has quit [Ping timeout: 246 seconds]
ThomasV_ has quit [Ping timeout: 265 seconds]
drwin has joined #bitcoin-wizards
p15x_ has joined #bitcoin-wizards
p15x has quit [Ping timeout: 256 seconds]
jaekwon has joined #bitcoin-wizards
Giszmo has quit [Quit: Leaving.]
<Taek>
What if, after the IBD, instead of storing the whole blockchain, nodes only stored some random fountain-coded subset of each block? Like 1% or something.
jaekwon has quit [Ping timeout: 248 seconds]
<gmaxwell>
Taek: then someone would have to find 200 nodes to connect to to have a good chance of recovering blocks, and pruning to less than 1% wouldn't be possible?
<gmaxwell>
I guess this would address the 'locator problem', OTOH the block data stored that way would _only_ be useful for IBD, not any other purpose, which is a bit of a bummer.
Mably has joined #bitcoin-wizards
<Taek>
locator problem? Also, not sure what you mean about the pruning.
<Taek>
presumably, if you wanted the whole blockchain more more things than just verification, you'd run different software. I'm just trying to get the impact of running a full validating node down.
<gmaxwell>
Taek: figuring out what nodes have what blocks, efficiently.
<Taek>
ah
<gmaxwell>
Taek: prior proposal was to just store a desterminstic subset of blocks, efficiently signaled.
<gmaxwell>
one issue with fountain codes is that if someone craps up the data you'll just fail the decode... you can't tell which peers gave you bad data until you can recover the block... bit annoying to recover from.
DougieBot5000 has quit [Quit: Leaving]
priidu has quit [Ping timeout: 252 seconds]
<Taek>
hmm yeah. Especially if you are depending on 100+ nodes to not be malicious
MoltenBosnia has quit [Read error: Connection reset by peer]
bosma has joined #bitcoin-wizards
<gmaxwell>
if they had a fair proportion of the nodes as sybil attackers, it could be really substantially jammed.
damethos has joined #bitcoin-wizards
<gmaxwell>
As once there is more than one invalid peer there is a combinitoric explosion. There might be a fast algorithim for excluding groups of conflicting nodes, if you can greatly oversample.
<gmaxwell>
e.g. maybe with the right scheme we could make stronger results about your ability to be successful if you fetch from 800 nodes.
<gmaxwell>
I guess one possibility is that you fall back to fetching the block from an archive that has the whole thing, and then you'll know which peers to ban. Worst case overhead: one full block transfered per set of bad peers rejected.
<rusty>
gmaxwell, Taek: seems a weird thing to do when txs with proofs are so compact, and having whole txs allows some kinds of verification to be distributed between nodes.
<Taek>
I also wonder if there isn't some cryptographic way to prove concisely that your piece was generated honestly
<gmaxwell>
Might not be bad, though I dunno that 1% is low enough a rate... and needing 100 peers is pretty tall. Though some peers could store larger amounts.
<Taek>
it also might be sufficient to just consider it as a contingency plan (IE the archive goes dark or something)
<gmaxwell>
Taek: nah, I think most of the use of having distributed blocks is avoiding huge bandwidth costs at archives.
ThomasV_ has joined #bitcoin-wizards
<gmaxwell>
(distributed historic block storage, that is)
<gmaxwell>
(in particular huge bandwidth loads at archives leaves them more DOS vulnerable)
<Taek>
presumably a professional archive is going to be able to have lower costs because they sit at a datacenter. I guess I am assuming that the archives is charging for downloads
<gmaxwell>
The store whole blocks scheme does at least have the nice property that every returned block is trivially provable from the single peer that gives it to you.
<gmaxwell>
Taek: consider how many parties will bother to run full nodes if you must _pay_ to initilize one; in light of the behavior we observe today.
<Taek>
rusty: I don't grok
<Taek>
gmaxwell: a fair counterpoint.
<rusty>
Taek: if you want a node to store 1% of block history, why not have it just pick 1 random block in 10, a random subset of continuous transactions (a tenth of the block's total). It's trivial for it to store and supply merkle proofs that those are correct.
<rusty>
Taek: OTOH, fountain codes are cool.
<Taek>
rusty: there's a greater risk that there will be transactions which are never picked, or at least that a disproportionately small number of nodes have certain transactions
<Taek>
with fountain codes, you're basically guaranteed to recover the full thing after hitting (data size) + (marginal overhead)
<rusty>
Taek: Well, you could do both. Collect all the blocks. Keep some chunks, generate your own fcs for <some coverage>. Peers ask for chunks first, fcs second?
<Taek>
there may be some hybrid scheme which gets some benefits of each method.
<Taek>
Is this the type of thing you could use snarks to solve? (block with hash X + encoding scheme with seed Y = piece with hash Z), then you check that the piece you are given has hash Z
Mably has quit [Ping timeout: 244 seconds]
<Taek>
that would increase the computational load for both parties
Aquentin has joined #bitcoin-wizards
rusty has quit [Ping timeout: 260 seconds]
AaronvanW has joined #bitcoin-wizards
nabu has quit [Ping timeout: 246 seconds]
FranzKafka has quit []
Aquentin has quit [Ping timeout: 244 seconds]
Mably has joined #bitcoin-wizards
jaekwon has joined #bitcoin-wizards
rusty has joined #bitcoin-wizards
jaekwon has quit [Ping timeout: 265 seconds]
snthsnth has quit [Ping timeout: 256 seconds]
ThomasV_ has quit [Quit: Quitte]
paveljanik has joined #bitcoin-wizards
rusty has quit [Ping timeout: 246 seconds]
moa has joined #bitcoin-wizards
arubi_ has joined #bitcoin-wizards
erasmospunk has joined #bitcoin-wizards
sparetire_ has quit [Quit: sparetire_]
AaronvanW has quit [Remote host closed the connection]
nsh has quit [Ping timeout: 246 seconds]
AaronvanW has joined #bitcoin-wizards
nsh has joined #bitcoin-wizards
Taek has quit [Quit: No Ping reply in 180 seconds.]
Taek has joined #bitcoin-wizards
nsh has quit [Ping timeout: 246 seconds]
Taek has quit [Client Quit]
nsh has joined #bitcoin-wizards
Taek has joined #bitcoin-wizards
roconnor_ has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
mjerr has joined #bitcoin-wizards
Quanttek has joined #bitcoin-wizards
bendavenport has joined #bitcoin-wizards
GAit has quit [Remote host closed the connection]
arubi has joined #bitcoin-wizards
arubi_ has quit [Ping timeout: 246 seconds]
JackH has joined #bitcoin-wizards
nsh has quit [Ping timeout: 246 seconds]
Taek has quit [Quit: No Ping reply in 180 seconds.]
Quanttek has quit [Read error: Connection reset by peer]
Taek has joined #bitcoin-wizards
nsh has joined #bitcoin-wizards
Quanttek has joined #bitcoin-wizards
damethos has quit [Remote host closed the connection]
nsh has quit [Ping timeout: 246 seconds]
nsh has joined #bitcoin-wizards
bendavenport has quit [Quit: bendavenport]
b_lumenkraft has joined #bitcoin-wizards
narwh4l has quit [Remote host closed the connection]