Why Nostr? What is Njump?
2024-09-06 20:59:04
in reply to

Brunswick on Nostr: Ive issued an update to address concerns from this discussion ...

Ive issued an update to address concerns from this discussion
### Nostr Improvement Possibility (NIP): NPUB to Bitcoin Address Anchoring with Identity Functions

**NIP Number**: TBD
**NIP Title**: NPUB to Bitcoin Address Anchoring for Enhanced Identity and Spam Prevention
**Author**: Brunswick
**Date**: 9/6/2024 blockheight 860194
**Status**: Draft r2
**Discussion**: "Proof of Bitcoin"

---

#### **Abstract**

This NIP introduces a mechanism to connect a NOSTR Public Key (NPUB) with a Bitcoin address to establish credibility and prevent spam. The system offers three key functions: establishing, updating, and revoking NPUB identities through Bitcoin addresses. This proposal addresses immediate identity and credibility needs for NOSTR users, providing an economic and feasible way to enter the network without reliance on third-party services or KYC procedures. While concerns about scalability exist due to Bitcoin's limitations, this NIP is designed as a short-term, practical solution, not a long-term fix.

---

#### **Motivation**

The NOSTR ecosystem currently lacks a robust method for new users to establish identity credibility without relying on third-party services or domain-based verification (e.g., NIP-05). This gap creates a barrier to entry for serious individuals who wish to participate in NOSTR while maintaining privacy. Bots, spam accounts, and low-quality actors pose additional risks without a verifiable means of anchoring identities.

This NIP proposes connecting an NPUB to a Bitcoin address, leveraging Bitcoin’s cryptographic proofs to create a decentralized and verifiable identity system. The immediate objective is to give users a way to build credibility without linking their NPUB to personal information, social networks, or centralized services.

---

#### **Scalability Concerns and Responses**

Two primary concerns have been raised regarding scalability:
1. **Bitcoin’s UXTO Limitation**:
- A calculation found that distributing Bitcoin UTXOs to 10 billion users would take approximately 19 years, assuming 10,000 UTXOs per block. This suggests the current Bitcoin blockchain could struggle to support such a vast system.
- However, this NIP does not intend to scale to 10 billion people in the immediate future. The proposal serves as a **short-term solution** to establish identity for early adopters on NOSTR, where large-scale UTXO consumption is not yet a concern.

2. **Limited Supply of Bitcoin**:
- Requiring each user to hold 100,000 satoshis (SATs) would constrain Bitcoin's supply. Critics argue this would limit the system's long-term scalability.
- The 100,000 SAT threshold is based on current economic realities, where most Bitcoiners recommend this as the minimum UTXO size to avoid future transaction fees becoming disproportionate to the balance. This threshold is designed to balance practicality and spam deterrence, not to serve as a permanent requirement.

It is important to note that this NIP is not aimed at solving identity anchoring for **eternity**. Bitcoin’s protocol and scalability will likely evolve in the coming years, and potential solutions like e-cash or sidechains may offer alternatives. In the short term, however, anchoring NPUBs to Bitcoin is feasible and economical, especially given the current scale of NOSTR.

---

#### **Use Cases and Functions**

The system offers three key functions for managing identity:

1. **Establishing the NPUB-Bitcoin Address Connection**:
- Users can anchor their NPUB to a Bitcoin address by publishing a message that includes the NPUB, the Bitcoin address, the current block height, and a signature.
- The signature proves control of both the NPUB and the Bitcoin address and should be verified by NOSTR clients to confirm the user's credibility.
- A non-trivial amount of Bitcoin should be held in the address to prevent spam, with 100,000 SATs being the recommended threshold.

2. **Changing the Bitcoin Address**:
- Users can update their Bitcoin address while maintaining the same NPUB by signing a message with both the old and new Bitcoin addresses.
- This process includes signatures from both addresses to verify ownership transfer and should be treated as an irrevocable identity update.
- The old address is effectively retired, and the new one becomes the primary address for the NPUB.

3. **Revoking and Reassigning NPUB Identity**:
- Users can revoke their NPUB and assign a new one without losing their Bitcoin identity. The revocation message includes the old NPUB, the new NPUB, the block height, and a signature from the Bitcoin address.
- Any messages signed by the old NPUB after the revocation block height are considered invalid.
- This ensures that users can maintain credibility and identity continuity even after NPUB changes.

---

#### **Specification**

1. **Message Format**:
- Each message contains:
- NPUB (or NPUBs in the case of revocation)
- Bitcoin address
- Block height
- A signature generated using the Bitcoin private key.
- For changes in Bitcoin address, the message is signed by both the old and new addresses.

2. **Relay and Client Support**:
- Relays should treat these messages as irrevocable, enabling verifiable identity across the network.
- Clients must support signature verification using standard Bitcoin cryptographic methods.

3. **Economic Constraints**:
- Users must hold a non-trivial amount of Bitcoin in the associated address (e.g., 100,000 SATs) to prevent abuse and spam.
- This requirement ensures that only users with a stake in maintaining credibility will participate in the system.

---

#### **Rationale**

This NIP provides a practical method for establishing short-term credibility in NOSTR, allowing users to build a reputation without tying their NPUB to personal information or social networks. The proposal is designed to bridge the gap for newcomers entering NOSTR without going through KYC processes, enhancing privacy while discouraging spam.

While Bitcoin scalability concerns are valid for the long term, this NIP addresses **immediate needs**. By the time NOSTR reaches a global scale, alternate identity mechanisms or blockchain improvements will likely emerge. In the meantime, Bitcoin provides a **feasible, decentralized method** for early adopters to anchor their identities.

---

#### **Backwards Compatibility**

This NIP is fully compatible with existing identity standards such as NIP-05. It offers an additional identity verification method, not a replacement, and can coexist with domain-based or social network-based methods.

---

#### **Security Considerations**

- **Private Key Management**: Users must protect their Bitcoin private keys to prevent identity theft. Compromised keys would result in lost credibility and the inability to manage their NPUB identity.
- **Spam Mitigation**: The requirement of holding a non-trivial amount of Bitcoin reduces the likelihood of spam accounts, but the threshold must be carefully monitored to prevent abuse.
- **Scalability**: This NIP focuses on immediate scalability. Future developments in Bitcoin or identity systems may alleviate long-term concerns.

---

#### **References**

- [NIP-05](https://github.com/nostr-protocol/nips/blob/master/05.md): Mapping Nostr Public Keys to DNS-based Identities
- Bitcoin Signed Messages: [BIP-137 Specification](https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki)

---

#### **Acknowledgments**

Thanks to the Nostr and Bitcoin communities for feedback and technical insights that helped shape this proposal.
Author Public Key
npub1c856kwjk524kef97hazw5e9jlkjq4333r6yxh2rtgefpd894ddpsmq6lkc