{"type":"rich","version":"1.0","author_name":"Braydon Fuller [ARCHIVE] (npub1fx…xxtaa)","author_url":"https://nostr.ae/npub1fx2eyw7avet7dut0slazcehwvrrlhjp2u9jc9zd92l7nexpxeahs4xxtaa","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2020-05-08\n📝 Original message:On 5/6/20 9:07 PM, Keagan McClelland wrote:\n\n\u003e I think that one of the solutions here is to have light clients choose\n\u003e their full node tethers explicitly. Even if you think it is unrealistic to\n\u003e have everyone run their own node (fwiw, I don’t), there is still a trust\n\u003e model where you can pick your trusted source.\n\u003e\n\u003e This way you could have many light clients working off of a family node,\n\u003e and the peer services could be limited to some sort of “authenticated”\n\u003e peers. Perhaps this is better accomplished over the RPC interface in Core,\n\u003e but the idea is to have some sort of peer service model between “full\n\u003e public” and “owner only”. This limits the amount of costs that can be\n\u003e properly externalized, without exposing risk of consensus capture by\n\u003e economically weighty institutions.\n\nThe RPC interface in Bitcoin Core, and others, is not great for this\nbecause it exposes a lot of functionality that isn't necessary and\nintroduces risks. For example the `gettxoutsetinfo` can start a very\nintensive CPU and disk I/O task. There are several others, for example:\n`stop`, `addnode`, `clearbanned`, `setban`, and etc. Furthermore reading\nfull raw blocks isn't very efficient with JSON. Electrum servers (e.g\nelectrs) for example read blocks from disk instead and use the RPC\ninterface to sync headers. Though, Electrum servers also have a risk of\nDoS with addresses that have many transactions, see the `--txid-limit`\noption [2].\n\n[1]:\nhttps://github.com/bitcoin/bitcoin/blob/5b24f6084ede92d0f493ff416b4726245140b2c1/src/rpc/blockchain.cpp#L954-L956\n[2]:\nhttps://github.com/romanz/electrs/blob/f0a7a325af495ecbc152c0866550dc300011779b/src/query.rs#L284-L289"}
