Rusty Russell [ARCHIVE] on Nostr: 📅 Original date posted:2016-01-31 📝 Original message: CJP <cjp at ...
📅 Original date posted:2016-01-31
📝 Original message:
CJP <cjp at ultimatestunts.nl> writes:
> There are a couple of subjects where new concepts are being worked out,
> or where alternative concepts exist; these things are likely to continue
> to evolve after you finish the first version of the protocol.
>
> It would be great if concept changes in one subject can be made more or
> less independently from concept changes in another subject. In order to
> make this possible, I suggest to de-couple certain things, and let each
> subject have its own sub-protocol, with version number / protocol
> identifier.
>
> The way I see it, the following subjects have ongoing design /
> alternative concepts, more or less independently from each other:
Indeed!
> * Micro-transaction channel design: e.g. several variations on the
> Lightning channel design, and Amiko Pay's escrow-based HTLC emulation
> and IOU semi-channel.
Yes, for lightning I would further split this into wire crypto, wire
protocol, anchoring and fee design, and commit transaction design.
> * Commit conditions: traditional definition consists of a hash value and
> a time-out. For practical purposes, Amiko Pay also adds a "start time",
> and there is an alternative concept of using keypairs instead of hash
> values to de-correlate a transaction in different links.
Good point. I think of this as a sub-part of transaction design, but
it's logically a separable issue.
> * Routing: how to exchange routing info. For source routing: informing
> each other about Lightning nodes that exist. For source and non-source
> routing: informing each other about availability of routes, expected
> capacity and fees. The type of routing info depends on the routing
> algorithm in use by a node.
There are several topology issues:
1) Source-routing format (aka. onion design).
2) Route and fee broadcast and finding (eg. How do I find a route to X
where all nodes support keypair commitments?).
3) Initial node finding (how do I find a node to create channels to?)
> In Amiko Pay, the micro-transaction channel design is already separated
> from the rest of the protocol; commit conditions are not (yet), and
> exchange of routing info doesn't really exist yet, since it's still
> doing "dumb" non-source routing (trying every possible route).
In c-lightning, routing is separate because it doesn't exist yet :)
Cheers,
Rusty.
Published at
2023-06-09 12:45:37Event JSON
{
"id": "814a47788a2609247e79de48a81cdc01d606812248ed2d3257e3031fc9c94f02",
"pubkey": "13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425",
"created_at": 1686314737,
"kind": 1,
"tags": [
[
"e",
"771d658c92b68acdc5def78ff79f0e01ddc0e6bfbf6060824e7ed3f8eca99874",
"",
"reply"
],
[
"p",
"9456f7acb763eaab2e02bd8e60cf17df74f352c2ae579dce1f1dd25c95dd611c"
]
],
"content": "📅 Original date posted:2016-01-31\n📝 Original message:\nCJP \u003ccjp at ultimatestunts.nl\u003e writes:\n\u003e There are a couple of subjects where new concepts are being worked out,\n\u003e or where alternative concepts exist; these things are likely to continue\n\u003e to evolve after you finish the first version of the protocol.\n\u003e\n\u003e It would be great if concept changes in one subject can be made more or\n\u003e less independently from concept changes in another subject. In order to\n\u003e make this possible, I suggest to de-couple certain things, and let each\n\u003e subject have its own sub-protocol, with version number / protocol\n\u003e identifier.\n\u003e\n\u003e The way I see it, the following subjects have ongoing design /\n\u003e alternative concepts, more or less independently from each other:\n\nIndeed!\n\n\u003e * Micro-transaction channel design: e.g. several variations on the\n\u003e Lightning channel design, and Amiko Pay's escrow-based HTLC emulation\n\u003e and IOU semi-channel.\n\nYes, for lightning I would further split this into wire crypto, wire\nprotocol, anchoring and fee design, and commit transaction design.\n\n\u003e * Commit conditions: traditional definition consists of a hash value and\n\u003e a time-out. For practical purposes, Amiko Pay also adds a \"start time\",\n\u003e and there is an alternative concept of using keypairs instead of hash\n\u003e values to de-correlate a transaction in different links.\n\nGood point. I think of this as a sub-part of transaction design, but\nit's logically a separable issue.\n\n\u003e * Routing: how to exchange routing info. For source routing: informing\n\u003e each other about Lightning nodes that exist. For source and non-source\n\u003e routing: informing each other about availability of routes, expected\n\u003e capacity and fees. The type of routing info depends on the routing\n\u003e algorithm in use by a node.\n\nThere are several topology issues:\n\n1) Source-routing format (aka. onion design).\n2) Route and fee broadcast and finding (eg. How do I find a route to X\n where all nodes support keypair commitments?).\n3) Initial node finding (how do I find a node to create channels to?)\n\n\u003e In Amiko Pay, the micro-transaction channel design is already separated\n\u003e from the rest of the protocol; commit conditions are not (yet), and\n\u003e exchange of routing info doesn't really exist yet, since it's still\n\u003e doing \"dumb\" non-source routing (trying every possible route).\n\nIn c-lightning, routing is separate because it doesn't exist yet :)\n\nCheers,\nRusty.",
"sig": "2dc2fbe866285d34102d146267a21bcc9d7de7946f3557d3c6adc080d702a8e4453c8b7be470d15fcdc9186f4ca9f7afc47cf311894066fce1bac1c53bedca14"
}