rfcs
rfcs copied to clipboard
Ways to make BTP more minimal?
The stated motivation of BTP is to be a link-layer protocol like ILP-over-HTTP but using WebSockets instead of HTTP POST.
I understand BTP has to be more complex than ILP-over-HTTP because it needs to link responses to requests. This justifies the Request ID
part of BTP, and I guess also the Message
, Response
and Error
message types.
But first, what motivates the Transfer
message type? If we can already do transfers with ILP's message types, do we still need BTP-level transfers?
And second, I understand how BTP Subprotocols can be handy, but if we think that such a feature is useful and we allow connectors to rely on it for their operation, then why don't we add it to other link protocols too? It seems a bit surprising that BTP has this extra functionality but ILP-over-HTTP doesn't.
Could we define a version of BTP that is as minimal as it can be, comparable to the current ILP-over-HTTP protocol?