Re: [bitcoin-dev] [BIP proposal] Private Payments

2022-07-01 Thread Christopher Allen via bitcoin-dev
On Fri, Jul 1, 2022 at 5:43 AM Alfred Hodler via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> I agree with your proposal to use bech32 instead of base58. It looks sound
> to me and as you said, the standard would benefit from more compact QR
> codes.


The most important thing to get more compact QR codes is to not use
lowercase letters, and certain other characters, as if you can avoid them
the QRs will auto-compress.

It happens that the core of bech32 works if all caps, and you are careful
with the human readable portion.

See
https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-003-uri-binary-compatibility.md
for more details, but a big offender is base64 which not only doesn’t
auto-compress but also can trigger binary mode that almost doubled the size
of the QR.

We have a number of standards & libraries focused on bitcoin QRs, including
support of animated QRs for things like PSBTs, but if you care about QR
size you should take a look at the techniques we use our swift library
https://github.com/BlockchainCommons/QRCodeGenerator which are also in
https://www.nayuki.io/page/qr-code-generator-library.

Basically both of these libraries support “optimal encoding using segments”
that if they encounter a set of characters that must be encoded in binary
(In particularly $ % * + / :) that would in most default platform QR
implementations  cause the entire QR to double in size. Instead will only
encode the small segment as binary, letting the rest of the QR leverage
auto-compression.

If your are interested in our other Airgap QR and TorGap UR efforts, see
our video from last year:
https://youtu.be/RYgOFSdUqWY We have much more on the way, including NFC
encrypted Airgap & crypto-request/response flows.

I’d love to see proposals for various payment and invoice QRs that leverage
these wallet interoperability standards we have been offering. Let us know
if you are interested, or join discussions at
https://github.com/BlockchainCommons/Airgapped-Wallet-Community

— Christopher Allen, Blockchain Commons

>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] [BIP proposal] Private Payments

2022-07-01 Thread Alfred Hodler via bitcoin-dev
Hi Clark,

Thanks for your input.

I agree with your proposal to use bech32 instead of base58. It looks sound to 
me and as you said, the standard would benefit from more compact QR codes. The 
`pay1` prefix is fairly recognizable.

> I don't see how this would work, and others have pointed out that the
> cost of block space is itself an anti-spam measure.

I agree.

> A third-party service could offer to publish OP_RETURN notification
> payloads in the blockchain for a fee, paid over Lightning Network.
> This completely de-links Alice's notification from her wallet, while
> accepting the less-known privacy implications of a Lightning payment.
> The service would remain ignorant of Bob's identity in any event. Such
> a service would also be incentivized to charge market rates for the
> potential privacy boost and for block space.

The manner of publishing or outsourcing notifications cannot be enforced by the 
standard but we can add this as a recommendation. We can also release such a 
service in tandem with the BIP in order to encourage its use. The fact that the 
service would use its own coins would be beneficial to notifiers since they 
wouldn't have to engage in coin control on their end.

I'm not too familiar with the innerworkings of Lightning, but it is my 
understanding that a message can be embedded in each payment. The message in 
this case can be the OP_RETURN payload. That way both the payment and the 
notification payload are sent out in one go. Please correct me if I'm wrong.

The downside is that this isn't as censorship resistant as direct notifications 
but that's probably not going to be a big problem in reality. If these services 
ever go down, users should still be able to notify from their own wallets.

> Alternatively, the service publishes the block height along with the
> notification data contained within that block. Light clients could
> download relevant blocks over the p2p network and perform full
> validation.

This sounds better than requesting transaction data, both from the standpoint 
of simplicity and privacy. The danger is that the service drops notifications, 
either on purpose or by accident, eventually causing clients to miss 
notifications. Two possible solutions: a) the service publishes Merkle Trees b) 
each client subscribes to more than one service.

Alfred

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Bitcoin covenants are inevitable

2022-07-01 Thread Billy Tetrud via bitcoin-dev
@Alex
> The person who obtained greater economic utility from their two
transactions.

That is not the case. The economic utility gained by their two transactions
is probably almost entirely related to something other than bitcoin - the
nature of the specific transactions themselves. The value they got from
using bitcoin is the value they get from the properties of bitcoin when
compared against other competing things in the market (other currencies or
payment systems). Bitcoin's ability to finalize quickly, have no
counterparty risk, reduced 3rd party middleman fees, and the willingness of
that person to transact using bitcoin vs something else, to name a few.

My example was intended to make it very clear that the person who held
bitcoin over 10 years got more value from bitcoin itself, regardless of who
received more economic utility from their chosen transactions.

> Billy appeared to be indicating that the frequent movement of coins in
itself somehow produced utility

I was actually saying the opposite of that. My point, and the point of my
example I explained above, was that holders gain quite a bit of value from
bitcoin, and so bitcoin's value to its users is not derived solely from
transacting.

@Kate
> Pool operators are free to request larger fees from older utxos

You're absolutely right that whoever creates their block template can
decide how to include transactions. However, by doing such non-standard
things, they would lose money, so they are not incentivized to do that.
Keagan's point was about who pays for bitcoin's security. Right now it is
only transactors. And yet transactors are not the only actors who gain
value from the use of bitcoin. As such, the payment for bitcoin's security
is not spread proportionally to those who get value from the use of
bitcoin. It would certainly be ideal if bitcoin's security was paid for by
each actor proportionally to how much value they get from using bitcoin.
Worth it? Questionable. But ideal, certainly. You aren't going to get to
that ideal by expecting individual miners to altruistically lose money to
enact that ideal.

On Wed, Jun 29, 2022 at 3:44 AM Kate Salazar <
mercedes.catherine.sala...@gmail.com> wrote:

> Hey
>
> On Tue, Jun 28, 2022 at 10:43 AM Billy Tetrud via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> @Eric
>> >  People who transact are realizing the benefit of money - the avoidance
>> of barter costs.
>>
>> I'm very confident you're incorrect that holders don't receive any
>> benefit and you're certainly not correct that every spend is receiving the
>> same benefit. As I'm sure you're aware, one of the primary components of a
>> currency's value and purpose is as a store of value. Storing value happens
>> while you're holding it, not while you're spending it. Consider the
>> following two scenarios: one person holds onto 10 bitcoin for 10 years and
>> then spends those 10 bitcoins in some way in 2 transactions. Another person
>> spends 4 bitcoins to buy something, then sells it for 6 bitcoins, and then
>> buys something else for that 6 bitcoins and then never acquires any bitcoin
>> for 10 years.
>>
>> Both people spent 10 bitcoins over 2 transactions. Over that 10 year
>> period, only one of those people utilized bitcoin's utility as a store of
>> value. Who benefited more from their use of bitcoin?
>>
>> > Those who never transact, never realize any benefit.
>>
>> While that's true, its not relevant and basically a red herring. You need
>> to compare those who transact often and rarely hold, to those who hold a
>> lot but rarely transact. Its not helpful to consider those who throw their
>> bitcoin into a bottomless pit and never retrieve them.
>>
>> On an idealistic level, I agree with Keagan that it would make sense to
>> have "a balance of fees to that effect". I think doing that would be
>> technically/economically optimal. However, I think there is an enormous
>> benefit to having a cultural aversion to monetary inflation and the
>> consequences of convincing the bitcoin community that inflation is ok could
>> have unintended negative consequences (not to mention how difficult
>> convincing the community would be in the first place). There's also the
>> economic distortion that inflation causes that has a negative effect which
>> should also be considered. The idea of decaying utxo value is interesting
>> to consider, but it would not solve the economic distortion that
>> monetary inflation causes, because that distortion is a result of monetary
>> devaluation (which decaying utxos would be a form of). Then again, maybe in
>> this case the distortion of inflation would actually be a correction -
>> correcting for the externality of benefit received by holders. I'm
>> stream-of-consciousnessing a bit, but anyways, I suspect its not worth the
>> trouble to perfect the distribution of bitcoin blockchain security costs to
>> include holders. Tho, if I were to go back in time and influence how
>> bitcoin was