In many clients, you can set a "download in sequential order" option. With this option, it effectively IS a p2p streaming protocol. In fact, I often use it that way-- start watching as soon as the download started.

I think your other constraints (tree topology & connection prioritization) already describe how BitTorrent works.

I think there's one thing you'd need to change for /live/ streaming, where the file is actually being created /during/ broadcast-- I think the file verification hash systems require the seeder to have the entire file when initially seeding. I think magnet links and .torrent files are based on a hash of the entire file. Do maybe you need some kind of modification to DHT , .torrent , .magnet , to support verification by sequential chunks.