Avatar
Water Blower
6b9da920c4b6ecbf2c12018a7a2d143b4dfdf9878c3beac69e39bb597841cc6e
Creator of Blowater & I self identify as a Pro Sleeper

developing a nostr cli for developers, with deno & nostr.ts

Did you tip them in bitcoin?

Need to rest for 2 days before going to JP. See you all at #nostrasia

Replying to Avatar Water Blower

This article will also be the talk I will give at NostrAsia Tokyo.

Traditionally, people (tech & non tech) associate decentralization with blockchains, mostly because blockchains (including Bitcoin, the first ever blockchain) introduced the concept of decentralization to the mass audience.

__Blockchains, regardless of types, are created to solve problems that require global consensus.__

However, most types of applications don't need global consensus. I argue that 99% of the applications don't need global consensus even if they are networked.

Your chat with your friends don't need to be agreed by all computers globally. As long as the participants of the conversation agree on the same chat history, it works.

If you share some files with your colleagues in a collaborative editing software, such as Google Docs or Notion, this file & its editing history don't need a global consensus of all computers. As long as all editors/commenters/viewers can agree on the same file, it works.

Besides chat and office software, most softwares just doesn't need global consensus.

__Global consensus, at its core, is to address problems around limited resource, such as Bitcoin's limited quantity of money.__

Most softwares is just not about limited resources at all. This is why building decentralized applications on top of blockchains don't work in general. They are solving the wrong problem with the wrong tool.

Nostr solves the missing part of decentralization infrastructure. I am not saying that the current implementation of Nostr is the true and only solution. But its philosophy, generic relays + specific clients, is the right way to go.

There are 3 major areas of decentralization problems:

1. Identity

2. data manipulation

3. data preservation

### Identity

Nostr's private key + public key makes it possible to locally verify identity with algorithms instead of relying on centralized servers to tell you if this person is this person, in contrast to OAuth.

### Data Manipulation

Because of No.1, all clients can independently create & manipulate data without needing to communicate with servers.

### Data Preservation

Relays only act as the long term storage layer and communication layer instead of the authority of business logic.

A normal relay is vastly simpler than traditional cloud-first server software. Therefore,

1. it's cheaper to develop. The best relay, `strfry`, is only developed by a single person with only 15K lines of code, yet it's more useful than most centralized cloud software.

2. It's cheaper to operate.

3. Because business logic developers don't need to write server code anymore, it's much faster for them to release their features.

We can call this decentralization, or we can call this local-first software. The key takeaway here is, by reducing useless server code, we can save money, save time, and create better software so that the whole society benefits from it. Some of us can probably get rich because we save so much money, even if we operate in a 100% fiat way.

### What's the opportunity for us?

Because most people, especially decision makers in most companies, still think __decentralization__ == __blockchain__ and they fear the regulation complexity of blockchains, they are blind to see this other part, the major part in fact, of decentralization.

They will miss a huge opportunity to reduce cost and boost productivity.

Therefore, our opportunity is to build better software & services in a much more efficient way and actually beat them in the fiat world. We don’t even need to unleash the superpower of zaps.

What if, instead of using slides, I just use nostr long forms as my presentation? Need more pictures.

Replying to Avatar Water Blower

This article will also be the talk I will give at NostrAsia Tokyo.

Traditionally, people (tech & non tech) associate decentralization with blockchains, mostly because blockchains (including Bitcoin, the first ever blockchain) introduced the concept of decentralization to the mass audience.

__Blockchains, regardless of types, are created to solve problems that require global consensus.__

However, most types of applications don't need global consensus. I argue that 99% of the applications don't need global consensus even if they are networked.

Your chat with your friends don't need to be agreed by all computers globally. As long as the participants of the conversation agree on the same chat history, it works.

If you share some files with your colleagues in a collaborative editing software, such as Google Docs or Notion, this file & its editing history don't need a global consensus of all computers. As long as all editors/commenters/viewers can agree on the same file, it works.

Besides chat and office software, most softwares just doesn't need global consensus.

__Global consensus, at its core, is to address problems around limited resource, such as Bitcoin's limited quantity of money.__

Most softwares is just not about limited resources at all. This is why building decentralized applications on top of blockchains don't work in general. They are solving the wrong problem with the wrong tool.

Nostr solves the missing part of decentralization infrastructure. I am not saying that the current implementation of Nostr is the true and only solution. But its philosophy, generic relays + specific clients, is the right way to go.

There are 3 major areas of decentralization problems:

1. Identity

2. data manipulation

3. data preservation

### Identity

Nostr's private key + public key makes it possible to locally verify identity with algorithms instead of relying on centralized servers to tell you if this person is this person, in contrast to OAuth.

### Data Manipulation

Because of No.1, all clients can independently create & manipulate data without needing to communicate with servers.

### Data Preservation

Relays only act as the long term storage layer and communication layer instead of the authority of business logic.

A normal relay is vastly simpler than traditional cloud-first server software. Therefore,

1. it's cheaper to develop. The best relay, `strfry`, is only developed by a single person with only 15K lines of code, yet it's more useful than most centralized cloud software.

2. It's cheaper to operate.

3. Because business logic developers don't need to write server code anymore, it's much faster for them to release their features.

We can call this decentralization, or we can call this local-first software. The key takeaway here is, by reducing useless server code, we can save money, save time, and create better software so that the whole society benefits from it. Some of us can probably get rich because we save so much money, even if we operate in a 100% fiat way.

### What's the opportunity for us?

Because most people, especially decision makers in most companies, still think __decentralization__ == __blockchain__ and they fear the regulation complexity of blockchains, they are blind to see this other part, the major part in fact, of decentralization.

They will miss a huge opportunity to reduce cost and boost productivity.

Therefore, our opportunity is to build better software & services in a much more efficient way and actually beat them in the fiat world. We don’t even need to unleash the superpower of zaps.

nostr:naddr1qqxnzd3e8q6rwwpexscrwwpcqgsxh8dfyrztdm9l9sfqrzn6952rkn0alxrccwl2c60rnw6e0pqucmsrqsqqqa280feaej

NIP-07 interfaces are not down yet. But the whole Blowater app is running already as an extension. NIP-07 interfaces are easy to implement. I just need to work on a better layout for extension view (it's actually like a mobile view)

This idea started as a rant nostr:nprofile1qqsverg89m7ucem0ewkpfakddqj7ms6hde27k7r292t4acp556szdjcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgdwaehxw309a38yc3wd9hj7znrckc had about blowater's shitty mobile experience and blowater's shitty nip07 integration.

So I'm like: what if, instead of integrating nip07, just be the nip07?

I just love the meta joke here.

Just so you know, Blowater is a browser extension now. Not released yet. But you will be able to login other nostr clients with Blowater. Yes, blowater as NIP-07.

Why? 2 advantages:

1. Your DM is always ready, you don't need to open blowater.app

2. Blowater's event decryption is 3-6X faster than nostr-tools, thanks to nostr.ts, so that even if you are using other clients, their performance will be faster.

Yes, you can still use Alby to Zap.

What apps should I download before landing in Japan?