Braydon Fuller [ARCHIVE] on Nostr: 📅 Original date posted:2020-05-08 📝 Original message:On 5/8/20 1:01 PM, Keagan ...
📅 Original date posted:2020-05-08
📝 Original message:On 5/8/20 1:01 PM, Keagan McClelland wrote:
>> The RPC interface in Bitcoin Core, and others, is not great for this
>> because it exposes a lot of functionality that isn't necessary and
>> introduces risks.
> This is actually somewhat my point. If the RPC interface was good for this
> and *didn't* introduce risks, we could just use that and be done with it.
> But I'm finding there are many use cases that you want to have low cost
> ways to serve peer services to people whom you have given explicit
> permission, but they shouldn't have full ability to administrate the node.
>
> Perhaps I wasn't explicit in my previous note but what I mean is that there
> seems to be a demand for something *in between* a peer interface, and an
> owner interface. I have little opinion as to whether this belongs in core
> or not, I think there are much more experienced folks who can weight in on
> that, but without something like this, you cannot limit your exposure for
> serving something like bip157 filters without removing your own ability to
> make use of some of those same services.
An idea I was thinking about was having three ports for a full node:
1) Consensus bitcoin protocol. This is the existing peer-to-peer
protocol without additional services.
2) Wallet services protocol. Adds additional functionality for wallets.
For example bloom filtering, compact block filters, and potentially
output and address indexes for electrum-like support. It's nearly
identical to the consensus peer-to-peer protocol, supporting the same
wire format. As it's on another port, various middleware could be added
to support various authentication and transports.
3) Control interface. This is the existing JSON-RPC interface, without
all wallet related RPC methods.
Published at
2023-06-07 18:24:24Event JSON
{
"id": "dd80f54ae5d797588bf17174514332962597962e7b1e775cf4ca1e55a38f9fe2",
"pubkey": "4995923bdd6657e6f16f87fa2c66ee60c7fbc82ae1658289a557fd3c9826cf6f",
"created_at": 1686162264,
"kind": 1,
"tags": [
[
"e",
"457e4bf758e1cd95f0aebf1575db54effa8eaf0bd428b31e48f5332ec88ba957",
"",
"root"
],
[
"e",
"053c1a92a6df1cc2cf3eb47ce635587962e302e8557bbe25069a9c2115690b0f",
"",
"reply"
],
[
"p",
"4aa66c838f2cc55afbd46335fb2520507e2030601f773b28b96b76ec60a2f489"
]
],
"content": "📅 Original date posted:2020-05-08\n📝 Original message:On 5/8/20 1:01 PM, Keagan McClelland wrote:\n\n\u003e\u003e The RPC interface in Bitcoin Core, and others, is not great for this\n\u003e\u003e because it exposes a lot of functionality that isn't necessary and\n\u003e\u003e introduces risks.\n\u003e This is actually somewhat my point. If the RPC interface was good for this\n\u003e and *didn't* introduce risks, we could just use that and be done with it.\n\u003e But I'm finding there are many use cases that you want to have low cost\n\u003e ways to serve peer services to people whom you have given explicit\n\u003e permission, but they shouldn't have full ability to administrate the node.\n\u003e\n\u003e Perhaps I wasn't explicit in my previous note but what I mean is that there\n\u003e seems to be a demand for something *in between* a peer interface, and an\n\u003e owner interface. I have little opinion as to whether this belongs in core\n\u003e or not, I think there are much more experienced folks who can weight in on\n\u003e that, but without something like this, you cannot limit your exposure for\n\u003e serving something like bip157 filters without removing your own ability to\n\u003e make use of some of those same services.\n\nAn idea I was thinking about was having three ports for a full node:\n\n1) Consensus bitcoin protocol. This is the existing peer-to-peer\nprotocol without additional services.\n2) Wallet services protocol. Adds additional functionality for wallets.\nFor example bloom filtering, compact block filters, and potentially\noutput and address indexes for electrum-like support. It's nearly\nidentical to the consensus peer-to-peer protocol, supporting the same\nwire format. As it's on another port, various middleware could be added\nto support various authentication and transports.\n3) Control interface. This is the existing JSON-RPC interface, without\nall wallet related RPC methods.",
"sig": "573fb24da1eb390434ebbf4c39cb1d21408d30f1520623c2b64f7a70770afaf55f3937f4166852d33af4e7122ce7c52cf16fb3a6ca7c126a09185a59d1a2ece9"
}