An open discussion on Non-interactive transactions

I let my voice be heard previously [1] [2] [3]. In summary, I’m strongly opposed to departing from the beautiful simplicity of Mimblewimble and turn it into some ugly hybrid in order to save 1 or 2 cut&pastes.

As the original MW implementation, Grin should embrace its unique properties rather than subvert them for the sake of conformance. Interaction allows us to

  • transact with the assurance that the funds end up with the recipient able to spend them [4]
  • agree to a payment proof stating the purpose of payment
  • use payjoins for obfuscating direction of payment
  • have a seamless migration to use of payment channels and a 2nd layer that will be critical to improving scalability by orders of magnitude.

We have yet to fully realized the advantages that interaction offers, and should not be disincentivizing progress on that path by getting most people to revert to non-interactive transacting. Especially not when that comes with big downsides of hugely complicating the consensus model, adding bloat to the chain, changing the security model, and having to support two different forms of transacting.

[1] Pep Talk for one sided transactions - #8 by tromp
[3] Minglejingle: Scalable blockchain with non-interactive transactions - #13 by tromp
[4] [bitcoin-dev] BIP70 is dead. What now?