Live data from Hacker News

BitTorrent v2

blog.libtorrent.org

531–540 of 576 posts

Re: BitTorrent v2

#531
post #65

Earlier quoted context omitted.

Why would the that be the protocol's responsibility?

Maybe not 'responsibility', but I guess it'd be nice to have some kind of proxy protocol so that seeders can proxy requests for people with annoying ISPs.. or they could just use a VPN like everyone else =P

I'm not sure that makes sense for regular torrents (e.g. linux distros, large audio software packages, WoW updates, Adobe downloader, etc. etc.) even if it would be a nice-to-have for folks who use torrents for less than legal purposes. And as such, probably not something they can put in without it basically being a signal that they're "helping piracy" (something bittorrent has had to fight an uphill battle for already... I doubt they want to redo that fight)

Re: BitTorrent v2

#533

Earlier quoted context omitted.

I pretty strongly believe that "blockchain" is a misnomer given how much the structure relies on Merkle Trees. Forks aren't some aberration in the data structure, but a direct exploration of branches in the Merkle Tree. Most blockchain algorithms, Proof of Work especially, are just very rigorous "rebase operations" in git terms.

Blocks are not organized into merkle trees in Bitcoin. Full nodes pick the longest (PoW wise) valid chain and discards any other competing chains and their blocks. There are some alternative cryptosystem designs that do take blocks in "losing chains" into consideration using a DAG structure, like GHOST and its successor SPECTRE (by Aviv Zohar et. al). Ethereum also has a concept of "uncle blocks", which are rewarded…

> Blocks are not organized into merkle trees in Bitcoin. Full nodes pick the longest (PoW wise) valid chain and discards any other competing chains and their blocks.

That's pretty much the definition of "rebase" and again, that's a functionality of the algorithm on top of the data structure (Proof of Work) not the data structure. The raw data structure is still a merkle tree even if in practice the algorithm suggests to people there is only one rebased trunk. But even that isn't entirely true in practice because there are still multiple rebased "branches" among the Bitcoin forks such as Bitcoin Classic, Bitcoin Gold, etc. All of those are branches that share the same conceptual merkle tree. Even if they aren't "Bitcoin" that's more of an algorithmic and political distinction at that point, not a technical one by means of data structure. It's not the data structure that makes it a chain, it's the algorithm and the politics, hence why I think blockchain is a misnomer for the data structure itself.

Re: BitTorrent v2

#534

Earlier quoted context omitted.

It’s great to live a in developed world during the peace time. Sometimes you have to transfer money in and out of the country at war with it’s currency in free fall and capital controls in place. At times like that “normal” ways take about 30% of the sum as transactional overhead, while bitcoin doesn’t. Sometimes “normal“ ways just don’t work normally. Sometimes your government is actively working against your abilit…

Does this hypothetical situation you describe exist anywhere outside of the hypothetical situation posited by a character in a Neal Stephenson novel? Seriously in reality the specifics of any sort of wild situation like the one you describe matter. Which countries? Which currency? Which kind of illegal behavior? And (I ask out of ignorance) in this scenario you describe why would whatever group managing whatever bitc…

A few years ago my company had to get US dollars out of Nigeria from the sale of the products we manufactured to pay the suppliers we have in other countries. Perfectly legitimate reason, but due to currency restrictions in Nigeria the finance guys had to use a scheme using a mix of crypto currencies (mostly bitcoin, I think, but not only). I don't know the cost of the transaction, but we barely covered it from the sales.

I heard there was a similar problem in Egypt, no idea if and how it was solved.

Re: BitTorrent v2

#535
post #20

hmm, looks like still no support for data streaming :(

Nothing stops you from downloading pieces in a specific order that allows for streaming. It's the client that determines order, not the bittorrent protocol.

Popcorn time has some support to start playing before full file download.

Re: BitTorrent v2

#536

Earlier quoted context omitted.

Blocks are not organized into merkle trees in Bitcoin. Full nodes pick the longest (PoW wise) valid chain and discards any other competing chains and their blocks. There are some alternative cryptosystem designs that do take blocks in "losing chains" into consideration using a DAG structure, like GHOST and its successor SPECTRE (by Aviv Zohar et. al). Ethereum also has a concept of "uncle blocks", which are rewarded…

> Blocks are not organized into merkle trees in Bitcoin. Full nodes pick the longest (PoW wise) valid chain and discards any other competing chains and their blocks. That's pretty much the definition of "rebase" and again, that's a functionality of the algorithm on top of the data structure (Proof of Work) not the data structure. The raw data structure is still a merkle tree even if in practice the algorithm suggests…

Are you sure you mean merkle trees specifically and not just a tree structure in general?

A merkle tree is a very specific type of hash tree, which Bitcoin only uses for transactions and not for blocks. Merkle proofs are used to prove that a txid exists within the root hash committed in the header block. What would be the reason to organize blocks into a merkle tree? What would that let you prove?

See this SE question for more information on how Bitcoin uses merkle trees: https://bitcoin.stackexchange.com/questions/69018/merkle-roo...

> here are still multiple rebased "branches" among the Bitcoin forks such as Bitcoin Classic, Bitcoin Gold, etc. All of those are branches that share...

Bitcoin, BCash and BGold each have incompatible rule sets; A full node will only accept chains that are valid according to its own local set of rules (embedded in it software), so chains of different coins will not even be considered for chain selection, regardless of the proof-of-work backing them. They just don't exists from the full node's PoV. Validity of blocks/transactions comes first, everything else is second.

Re: BitTorrent v2

#537
post #416

Earlier quoted context omitted.

This is silly. Are you actually saying that bittorrent was hyped so much that constituting half the internet was a letdown? And that Perl didn't live up to its hype because it's only common today, and not as universal as it once was?

> This is silly. Are you actually saying that bittorrent was hyped so much that constituting half the internet was a letdown? My point is that it was a fad, it's barely used anymore and it was 50% in 2009 , now its usage is much, much lower. I've seen a lot of statistics of streaming services being 20-30% of the internet each (Netflix, Youtube), so I'd be amazed if BitTorrent is more than 10% 2020 (and that's a very…

I use BT much more than 5 years ago since most popular content was removed from Netflix. Many folks here have said the same.

Re: BitTorrent v2

#538

Earlier quoted context omitted.

Blocks are not organized into merkle trees in Bitcoin. Full nodes pick the longest (PoW wise) valid chain and discards any other competing chains and their blocks. There are some alternative cryptosystem designs that do take blocks in "losing chains" into consideration using a DAG structure, like GHOST and its successor SPECTRE (by Aviv Zohar et. al). Ethereum also has a concept of "uncle blocks", which are rewarded…

> Blocks are not organized into merkle trees in Bitcoin. Full nodes pick the longest (PoW wise) valid chain and discards any other competing chains and their blocks. That's pretty much the definition of "rebase" and again, that's a functionality of the algorithm on top of the data structure (Proof of Work) not the data structure. The raw data structure is still a merkle tree even if in practice the algorithm suggests…

[deleted]

Re: BitTorrent v2

#539

Since we're on this topic, what's your torrent client of choice HN? I plainly use BitTorrent nowadays

Better yet, which torrent client can consistently utilise 1 Gbps fibre Internet links?

uTorrent seems to have some efficiency problems, and in my experience it can't even do 1 Gbps with a cross-over cable between two peers, let alone across the Internet...

Re: BitTorrent v2

#540

Earlier quoted context omitted.

Merkle trees are everywhere in Bitcoin (full node or otherwise). The block header has the merkle root of all transactions that are a part of that block. The witness merkle root is stored in the coinbase transaction (if the miner is segwit enabled). And proof of work is done for the block header, which includes all these merkle roots.

They are used in Bitcoin since day one in the full node implementation, but full nodes don't benefit from the merkle tree structure in any way. The first client that did benefit from it was bitcoinj, which was released several years after Satoshi birthed Bitcoin. If light SPV clients weren't a consideration, we could just concatenate all txids together and use the hash of that in the block header instead of a merkle…

From #bitcoin-core-dev on Freenode (shesek is me, sipa is Pieter Wuille [0], one of the most veteran bitcoin core devs)

does bitcoin core ever verify merkle inclusion proofs? (I assume not, it only verifies that the merkle root matches the set of txids. but maybe I'm missing some other ways its being used?)

i don't think anything verifies them

shesek: they don't even ever receive any

though they were an essential part of BIP37 [related to light SPV clients]

shesek, for a full node theres no real difference between receiving a merkle tree and a hash of a list

yeah, for a full-blocks-only bitcoin like protocol, the "merkle root" stored in the block header could just be a flat hash of all txids

[0] http://pieterwuillefacts.com/

Post reply on HN