near / near-cli-rs

near CLI is your human-friendly companion that helps to interact with NEAR Protocol from command line.
https://near.cli.rs
Apache License 2.0
86 stars 52 forks source link

Proof of concept implementation of the Olaf protocol #353

Closed Fiono11 closed 1 week ago

Fiono11 commented 1 week ago

What

This is a proof of concept implementation of the Olaf protocol made with this grant. Olaf is composed of the SimplPedPoP protocol to generate a threshold account, and the FROST protocol to sign from a threshold account.

Why

It is much more efficient than the current multisignature protocol used by Near, since the signing is done off chain instead of on chain. The advantages of this are:

Limitations

Right now communication between parties needs to be done out-of-band, since networking is not implemented yet. In this draft PR there is a tutorial with an example of a 2-of-2 payment that can be found in docs.

Future Work

Let me know if there is interest in continuing this project. Next steps would be:

frol commented 1 week ago

@Fiono11 Wow, that is intense! I think it is a good candidate to actually be a separate NEAR CLI extension like https://github.com/near-cli-rs/near-validator-cli-rs

It is fine to keep it in the PR if you like it, but I want to be clear upfront that we will need to answer the question of why would it be a good addition to all the near-cli-rs users. So far it seems that NEAT CLI extension is the better direction to explore; note that near XXX commands, where XXX is an unknown command, are translated into near-XXX ... calls similar to how cargo does it (we have cargo-near, bos-cli-rs that use this same "framework" we have in near-cli-rs, so you may take inspiration from there).

Fiono11 commented 1 week ago

@Fiono11 Wow, that is intense! I think it is a good candidate to actually be a separate NEAR CLI extension like https://github.com/near-cli-rs/near-validator-cli-rs

It is fine to keep it in the PR if you like it, but I want to be clear upfront that we will need to answer the question of why would it be a good addition to all the near-cli-rs users. So far it seems that NEAT CLI extension is the better direction to explore; note that near XXX commands, where XXX is an unknown command, are translated into near-XXX ... calls similar to how cargo does it (we have cargo-near, bos-cli-rs that use this same "framework" we have in near-cli-rs, so you may take inspiration from there).

Thanks! That's what I wanted to know: what is the right direction to go. And it makes sense that an extension is the right approach, since the protocol is done off chain. Will have a look at it.