What is Nostr?
ZmnSCPxj [ARCHIVE] /
npub1g5z…ms3l
2023-06-09 12:40:17
in reply to nevent1q…jmwp

ZmnSCPxj [ARCHIVE] on Nostr: 📅 Original date posted:2021-06-28 📝 Original message: Good morning again CAsey, ...

📅 Original date posted:2021-06-28
📝 Original message:
Good morning again CAsey,

>
> I believe a major failing of Chaumian mints is that they are, at their core, inherently custodial.
> The mint issues blinded minted coins in exchaange for people handing over other resources to their custody.
> While the mint itself cannot identify who owns how much, it can outright deny all its clients access to their funds and then run off with the money to places unknown.
>
> However, do note that both Wasabi and WabiSabi are extensions of Chaumian mints.
> These avoid the custodiality issue of Chaumian mints by operating the mint as a temporary entity, whose output is then counterchecked by the users of the Wasabi/WabiSabi scheme.
>
> ...
>
> In any case, you might also be interested in the "nodelets" I described some years ago.
> This link has a presentation where I introduce nodelets towards the end, sorry but most of the beginning is about LN pathfinding (which is currently a non-problem since nobody makes published channels anymore).
> This allows multiple users to implement a single node without a central custodian, and may allow for similar flexibility of liquidity if there are enough users, but every action requires all users to have keys online.


Thinking more, it helps to consider how Wasabi and WabiSabi are constructed.

In Wasabi, there exists a coordinator, which is a server that works as a temporary Chaumian mint.
Clients of the coordinator register some UTXOs of some common value to the mint (indicating any change outputs if the UTXO total value exceeds the fixed common value).
Then the coordinator issues blind signatures, which serve as tokens in a Chaumian mint.
Then users re-connect via a different pseudonym, unblind signatures and reclaim the funds, indicating a target output address.
The coordinator then creates a single transaction that consumes the registered input UTXOs and the indicated outputs.

As a *final* step, the clients then check that the produced transaction is correct.
This final step prevents the coordinator from absconding with the funds.

WabiSabi "simply" replaces blinded signatures with blinded credentials.
Blinded signatures are fairly low-bandwidth ---- either you have a blinded signature, or you do not.
Credentials, however, also include a blinded homomorphic value.
On issuing, the issuer can ensure that a particular value is encoded, then when the credential is blinded by the receiver, and the issuer can ensure that multiple credentials can be presented which sum up to a newly issued credential, with the value being correctly added.
Thus, I think for a modern Chaumian mint, you should really consider the credentials scheme used by WabiSabi.

--

Now, let us consider the "nodelets" idea as well.
The "nodelets" system allows for a coordinator (which can be a separate entity, or, for the reduction of needed entities, any nodelet of the node).

This coordinator in nodelets is simply a way to implement a broadcast medium among all the nodelets in a node.
However, the same coordinator in a nodelets system can also serve as a coordinator in something very much like a WabiSabi system.

So it seems to me that this can be implemented in a way that is non-custodial, as long as we can actually implement nodelets.
(which "just" requires that we use a multiparticipant signing scheme for Schnorr signatures that is composable.)

Basically, just as in the WabiSabi case, nodelets can connect to the coordinator, register some of the values they have in channels, then get back some equivalent credentials.
Then the nodelets can "self-mix" their coins, then get back a new set of values, then request that some part of their value be sent over the network.
Then, before signing off on the new state of any channel, the actual nodelets check the new state that the coordinator wants them to sign off on, thus preventing custodial risk in the same manner as Waasabi/WabiSabi does.

Thus, each state update of the channel is created by a Chaumian mint (using credentials instead of blinded signatures), then the state update is "ratified" by the actual nodelets, preventing the Chaumian mint from stealing the funds; new states are simply not signed (and presumably one or more of the nodelets will drop the previous valid state onchain, which allows them to recover funds without loss) until all nodelets can confirm that the coordinator has not stolen anything.


Nodelets can use pseudonyms in between states of channels, to reduce the ability of the coordinator, or the other nodelets, to guess who owns how much.


An issue however is how to handle forwarding.
Forwarding is an important privacy technique.
If you are a forwarder, you can plausibly claim that an outgoing HTLC is not from your own funds, but instead was a forward.
By supporting forwarding, the nodelets composing the node can reduce the ability of non-participants to determine the payments of the node.

Handling forwarding in such a system requires that nodelets be willing to leak that they have funds in the outgoing channel, in exchange for getting some earned forwarding fees.


So it seems to me that this is plausible with nodelets.

In addition, ti seems to me that the node management problem can be solved in software, by something similar in purpose to CLBOSS.


Regards,
ZmnSCPxj
Author Public Key
npub1g5zswf6y48f7fy90jf3tlcuwdmjn8znhzaa4vkmtxaeskca8hpss23ms3l