Hi iwantipfs: so here are some brief answers: 1. libp2p is the protocol stack upon which IPFS is built: https://libp2p.io. It was modularized out of IPFS, and is now used by quite a few projects as a networking protocol layer. Its quiet awesome, check it out. 2. Yup, quite a lot of testing, comparisons, etc. We've been really pleased with IPFS' performance (though I doubt we have the numbers to share). 3. We have a 'hybrid' architecture. So we do run full IPFS clients on mobile... though they are pretty lightweight and highly optimized. We also run a network of server peers that perform some of the heavy lifting. These are always on, whereas mobile peers are obviously on and off quite a bit. Having said that, even our network of peers does not use a centralized API, they are really no different from the mobile peers other than that they offer some additional functionality because they are always on... but they're still part of the default IPFS network, participating in DHT updates etc. 4. We run a mobile peer, and we also have the app interact with server peers for some background tasks like large file uploads etc. 5. We do run our own peers, and we _have_ run an ipfs-cluster in the past. Though currently we've moved back to a large network of single peers (we call them cafes).