Avatar
fmar
30782a8323b7c98b172c5a2af7206bb8283c655be6ddce11133611a03d5f1177
I like freedom and to build stuff Building dart NDK Devops at nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm #bitcoin #nostr #hanggliding #sailing #batucada #diy #powerwall
Replying to Avatar Lyn Alden

A lot of people look down on blue collar work, which I think is misguided. Especially for skilled blue collar work (and most type of work does benefit from skill/experience).

Basically, there’s a popular notion that it’s objectively better to be a CEO than a plumber, or an engineer than a barber, and that’s pretty off base. So it’s not that they criticize blue collar work in any overt way; it’s that they assume that that people in “lower” jobs would all want to be in “higher” roles if they had the choice. A technician would want to be an engineer. A janitor would want to be a CEO.

There are a lot of studies on job happiness and one of the most consistent correlations is that people are happier when they get more immediate feedback. Like if you cut people’s hair or fix mechanical issues or wire up electronic boxes, you often resolve things in minutes, hours, days, or weeks depending the specific task, and with progress along the way, so you get that quick feedback loop where you see the positive results of your work quickly and tangibly. Nothing lingers, unclear and vague.

And for those jobs, often when you’re outside of work hours, you’re truly out. You don’t have to think about it. You can fully devote your focus elsewhere. There’s not some major thing hanging over your head, other than sometimes financial stress or indirect things.

Now, obviously jobs with more complexity and compensation and scale give people other benefits. More material comfort and safety, more power to impact the world at scale, more public prestige, etc. and for some people that’s important for happiness, and for others it is not. And the cost is that it’s generally highly competitive, rarely if ever turns off, and usually comes with much slower and more vague feedback loops in terms of seeing or feeling whether your work is making things better or not.

There was a time in my life where wiring up electronic boxes was really satisfying. Each project had a practical purpose but then also was kind of an artform since I wanted it to look neat for aesthetic and maintainability purposes. I would work on these things like a bonsai enthusiast would sculpt bonsai. And then eventually I would design larger systems and have technicians wire them instead, but for some of the foundational starting points I’d still set up the initial core pieces to get it started right. I wasn’t thrilled when I realistically had to give that up when I moved into management for a while.

I have a housekeeper clean my house every couple weeks. She’s a true pro; she used to clean high-end hotels for years and now works for herself cleaning houses. When we travel, she can let herself in and clean our place, since we trust her.

She doesn’t speak much English, but her daughter does, and that daughter recently graduated college.

Notably, she consistently sings while she cleans. She could listen to music or podcasts but doesn’t. She just sings every time she cleans. I can tell she’s generally in a state of flow while cleaning. She’s good at what she does, and it’s kind of a meditative experience involving repetition but also experience to do it properly and efficiently and then a satisfying conclusion of leaving things better than how they were found. Turning chaos to order.

Last year she was hit by a truck while driving, and had to be out of work for a few months to recover. When she came back, we just back-paid her the normal rate for those few months as though she cleaned on schedule, so she wouldn’t have any income gap from us. Full pay despite a work gap. She was shocked when we did that. We weren’t sure her financial situation (I assume it’s pretty good actually based on her rate), but basically we just treated the situation as though she were salaried with benefits even though she works on a per-job basis. Because skilled, trustworthy, and happy people are hard to come by and worth helping and maintaining connections with.

If I were to guess, I honestly think she is a happier person than I am on a day to day basis. It’s not that I’m unhappy; it’s that I think whatever percentage I might be on the subjective mood scale, she is visibly higher. I experience a state of flow in my work, and my type of work gives me a more frequent state of flow than other work I could do, but I think her work gives her an even higher ratio of flow.

Anyway, my point is that optionality is important. While it’s true that some jobs suck and some jobs are awesome, and financial security matters a lot, for the most part it’s more about how suited you are for a particular type of work at a particular phase in your life. And you’re not defined by your work; it’s just one facet of who you are among several facets.

Find what gives you a good state of flow, pays your bills, lets you save a surplus, and lets you express yourself in one way or another.

That probably depends if their clients validate the signatures properly. Check the source code.

Bull Bitcoin becomes the first mobile Bitcoin wallet that allows users to send and receive asynchronous Payjoin transactions without needing to run their own server, using BIP77!

I am very excited about this new and bleeding-edge feature, because it has been a long-standing ambition of Bull Bitcoin to become the first Bitcoin exchange to process Bitcoin withdrawals via Payjoin (Pay-to-Endpoint) transactions.

However, it was hard to justify Bull Bitcoin investing time into building this feature since there were no commercially available end-user Bitcoin wallets that were able to receive Payjoin payments.

Indeed, in order to receive Payjoin payments (BIP78), a Bitcoin wallet needed to be connected to a full node server and be online at the moment the payment is made. This means in practice that only merchants, professional service providers and advanced full node users had the capacity to receive Payjoin payments. This is, we believe, one of the major reasons why Payjoin had failed to gain significant traction among Bitcoin users.

For this reason, the Payjoin V2 protocol (BIP77) was conceived and developed by Dan Gould, as part of the Payjoin Dev Kit project, to outsource the receiver's requirement to run his own server to an untrusted third-party server called the Payjoin Directory. In order to prevent the server from spying on users, the information is encrypted and relayed to the Payjoin Directory via an Oblivious HTTP server.

Bull Bitcoin’s Payjoin ambitions had been put on hold since 2020, until there was more adoption of Payjoin receiving capabilities among end-user Bitcoin wallets…

But it turns out that in the meanwhile, Bull Bitcoin developed its own mobile Bitcoin wallet. And it also turns out that the open-source Bitcoin development firm Let There Be Lightning, which we had collaborated with in the past, had itself collaborated with Dan to build a software library for Payjoin that was compatible with and relatively straightforward to integrate into our own wallet software. All that was missing was to put the pieces together into a finished product.

Thanks to the collaborative open source effort of the Payjoin Dev Kit team, Let There Be Lightning team and the Bull Bitcoin team, the Bull Bitcoin wallet has now become the first commercially available end-user mobile wallet on the Google Play store to implement the BIP 77 Payjoin V2 protocol.

Moreover, the Bull Bitcoin wallet has also implemented asynchronous Payjoin payments, which means that a Payjoin transaction can be “paused” until the receiver or the sender come back online. This way, the receiver's mobile phone can be “turned off” when the sender makes the payment. As soon as the recipient’s phone is turned back on, the Payjoin session will resume and the recipient will receive the payment. This is a major breakthrough in the mobile Payjoin user experience.

We would like to thank the Human Rights Foundation for allocating a generous bounty for the development of a Serverless Payjoin protocol and its implementation in a mobile Bitcoin wallet, as well as OpenSats and Spiral for supporting the work of Payjoin Dev Kit, which made this all possible.

Why does this matter?

Payjoin, also known as Pay-to-endpoint, is a protocol which allows the Bitcoin wallet of a payments receiver and the Bitcoin wallet a payments sender to communicate with each other for the purpose of collaborating on creating a Bitcoin transaction.

I first heard about Payjoin (then called Pay-to-endpoint) in 2018 and it completely blew my mind. What I liked most about it was that it was not a protocol change to Bitcoin, but rather it was an application-layer protocol that allows wallets to communicate in order to create smarter and more efficient Bitcoin transactions.

Whereas in a normal Bitcoin payment the transaction is created by the sender, and all the inputs of that transaction belong to the sender, in a Payjoin payment both the sender and the receiver contribute coins as inputs.

In the Bitcoin whitepaper, Satoshi wrote:

"some linking is still unavoidable with multi-input transactions, which necessarily reveal that their inputs were owned by the same owner"

With Payjoin, this assumption is no longer true. With Payjoin, we have fixed one of Bitcoin’s most fundamental privacy problems... without changing the Bitcoin protocol!

In a Payjoin transaction, the output amounts visible on the blockchain does not necessarily reflect the value of the payment that was actually exchanged. In other words, you can’t easily tell how much money one wallet sent to the other. This is great for users that are concerned a malicious third party may be attempting to obtain sensitive information about their finances without their consent. This does not however pose an accounting problem for the Bitcoin wallets involved in that transaction: since both wallets are aware of which coins they used as inputs and outputs, they are independently able to calculate the "actual" value of the payment that was sent even if the payment on the blockchain appears to be a of a different amount.

Payjoin breaks the common input ownership heuristic, an assumption used by hackers and fraudsters to track ownership of addresses on the blockchain. The neat thing about this property of Payjoin is that it benefits everyone on the network, not just the Payjoin users themselves.

It allows the receiver of a payment to opportunistically consolidate his utxos when he is receiving funds, in a way which does not necessarily appear to be a consolidation transaction on the blockchain. Depending on the configuration of a payment transaction, it can also make a regular payment look like a consolidation.

In addition to these benefits, the introduction of collaborative peer-to-peer transaction protocols opens up exciting opportunities for the creation of Lightning Network channels, as well as efficiencies for transaction batching.

How to use Payjoin in the Bull Bitcoin wallet:

It’s so seamless, you may not even realize you are using it!

To receive via Payjoin, simply navigate to the “Receive tab” using the network “Bitcoin” and you will see a Payjoin invoice. When you want to get paid, send this invoice to the payer, or show them the QR code. If the sender’s wallet is compatible with Payjoin, it will be up to the sender to decide whether or not they want to use Payjoin.

To send via Payjoin, simply paste the receiver's Payjoin invoice, or scan the associated QR code, in the Bull Bitcoin wallet. If you decide that you don’t want to pay with Payjoin, simply turn off the Payjoin toggle.

Original post: https://www.bullbitcoin.com/blog/bull-bitcoin-wallet-payjoin

Download the wallet: https://play.google.com/store/apps/details?id=com.bullbitcoin.mobile&hl=en-IN

Awesome to see it written in flutter and using BDK, but please build with --split-per-abi for smaller apk sizes.

Replying to Avatar Gigi

GM

Where's the nicey photo? ;)

Winter is here

Replying to Avatar Zapstore

Developers who sign on Zapstore:

How can we improve the signing process? What features would you like to see first on zapstore-cli?

nostr:nprofile1qqsrf5h4ya83jk8u6t9jgc76h6kalz3plp9vusjpm2ygqgalqhxgp9gpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzyrhwden5te0dehhxarj9ekxzmnyqyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueq555fk2 nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0dv4ph5 nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcpz9mhxue69uhkummnw3ezuamfdejj7qgwwaehxw309ahx7uewd3hkctcscpyug nostr:nprofile1qqsxg45ph8gx0vdrvtzta6xal7v86frx6jvstsnvhrlvtehmwwh4epqpzamhxue69uhhyetvv9ujuvrcvd5xzapwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9nhwden5te0v4jx2m3wdehhxarj9ekxzmny9ua2vh28 nostr:nprofile1qqsrq7p2sv3m0jvtzuk952hhyp4ms2puv4d7dhwwzyfnvydq8403zacppamhxue69uhkummnw3ezumt0d5q3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7qgdwaehxw309ahx7uewd3hkc598d06 nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7epwvdhhyctrd3jjuar0dak8xtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7208x3z nostr:nprofile1qqs84k6jpsav0jmdeqjn2zxlpnsajaw6f8l0m2d4e9t8gjsyn53s4nspzamhxue69uhhyetvv9ujuumfv9khxarj9e3k7mgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3vamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmnyhat8ky

Multi authors (builders) per app/release

Thanks for sharing.

Did you made use of splicing and bolt12?

Beautiful colors. Self made?