Subject: Re: [bitcoin-dev] easypaysy - A layer-two protocol to send payments without addresses

From: ZmnSCPxj <[email-masked]>
Date: Mon, 02 Dec 2019 21:10:19 +0000

Good morning Tim, and Jose,

> Just a quick question, this is fully decentralized?
>

It broadcasts information over `OP_RETURN` on the blockchain layer, thus decentralized as long as the blockchain layer is decentralized.
It also means that to register an account, you need to either own some Bitcoins, or rent some Bitcoins to serve as signalling (and then potentially have to change your account identifier later when the lease expires).
`OP_RETURN` does have size limits (imposed by `isStandard`), I do not remember exact numbers, and any data would need to fit.
Finally, use of the blockchain layer is costly; given that payees must be online at any time payers wish to pay, it may do better to just use Lightning instead, which has the same requirement, but moves payments to a separate layer as well, and requires only a single onchain transaction to construct a channel (easypaysy seems to require at least 2, one to anchor the account pubkeys, the other to give the basic "activation" information for the account).

It may be useful to consider defiads, which does *not* use `OP_RETURN`, but instead uses pay-to-contract, and sends the advertisement data over a separate overlay network.
The use-case is mildly different, but ultimately defiads is about connecting potential buyers to potential sellers, and sending data about how to get paid would have to be part and parcel of how defiads ultimately works.

Also, one of the contact-information protocols supported should probably be Tor hidden services, instead of `https`.
Tor hidden services have better useability (no need for port forwarding or registering DNS from some centralized service), with privacy as a bonus.

Further it seems insufficient to only encode block and tx index.
I think it should also encode output index, to also allow a single transaction to anchor multiple accounts.
Also consider using the Lightning encoding of identifying an output: 543847x636x2

Regards,
ZmnSCPxj

> Greetings,
>
> Tim Blokdijk
>
> Op 02-12-19 om 15:00 schreef Jose Femenias via bitcoin-dev:
>
> > Hi,
> >
> > I have just released an early preview of easypaysy, a protocol for Bitcoin, that I have been working on for the past few months.
> >
> > (In case you are wondering, easypaysy stands for EASY - PAYment- SYstem...)
> >
> > Long story short, easypaysy is a layer-two protocol that allows the creation of non-custodial accounts directly on the blockchain, so that bitcoin addresses can fully disappear from the user experience.
> > In lieu of addresses, users send payments to permanent account IDs.
> >
> > Account IDs are implicitly assigned by the mining process, and come in several flavors, like in these examples:
> >
> > Canonical ID:    [email-masked]/577
> > Mnemonic ID:    [email-masked]/motion
> > Domain ID:    [email-masked]/motion-custom
> >
> > (Note: Domain IDs are optional and require extra configuration)
> >
> > The protocol allows both interactive and non interactive payments.
> > All payments are non-repudiable, and it is possible to implement pull-payments as well as chargebacks.
> >
> > Most of the protocol is quite advanced, but I have refrained from specifying some of the details, until the interested parties can give their feedback.
> >
> > For more information, you can see the white paper and a short introductory video at:
> >
> > https://www.easypaysy.org
> >
> > or directly, by following these links:
> >
> > White paper at https://www.easypaysy.org/assets/easypaysy_white_paper.pdf
> > Introductory video at https://www.youtube.com/watch?v=AOGBdyZbyoA
> >
> > You can also get in contact with me in at:
> >
> > [email-masked]
> >
> > or using the project's email at:
> >
> > [email-masked]
> >
> > Best regards.
> >
> > _______________________________________________
> > bitcoin-dev mailing list
> > [email-masked]
> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev