kaspanet / kaspad

Kaspad was the reference full node Kaspa implementation written in Go (golang), now rewritten in Rust: https://github.com/kaspanet/rusty-kaspa
ISC License
447 stars 228 forks source link

Kaspa URI scheme IANA registration #2189

Open ey51 opened 1 year ago

ey51 commented 1 year ago

Table of Contents

  1. Monivation 1.1. Context 1.2. Wallets
  2. IANA URI Scheme 2.1. Application 2.2. Process

Motivation

Context

The Kaspa cryptocurrency project launched in November 2021, and is growing quickly. It is a community governed OSS project.

Kaspa's value proposition is to fulfil Satoshi Nakamoto's original vision with Bitcoin, to become a peer to peer electronic cash system. Kaspa is powered by a proof of work network of miners that produce 1 block per second, onto a blockDAG governed by the GHOSTDAG consensus engine. It is under the final stages to upgrade the network to 32 blocks per second by rewriting the peer to peer network node in rustlang. This allows Kaspa to scale down confirmation times to several seconds.

The outcome is a currency that is as secure as Bitcoin under similar network hashrate or more secure considering Kaspa doesn't orphan blocks, as decentralized as Bitcoin or more considering the block rewards are much more granular than Bitcoin making solo-mining more viable, and much more usable as a medium of exchange than Bitcoin considering the network can house at least 8,000 transactions each second, and those transactions can get settled on the network with probabilistic finality in a scale of seconds, eliminating long wait times.

As of writing these lines, Kaspa has a $130.8M market cap, a $224.5M fully dilluted market cap, and $2.7M daily volume.

Wallets

Kaspa has several different self-custidy wallets developed by different community members:

There are projects for adding support of Kaspa by hardware wallets such as Ledger, Tangem, and OneKey. Finally there are custodial wallets for community memberrs to tip each other on Discord and Telegram.

There is a need to establish a standard scheme for sending Kaspa currency between all wallets. In order to establish a standard, I propose to register a scheme in accordance with IANA URI Schema RFC 7595 as described in Section 7.2 Registration Process.

IANA URI Scheme

Application

Scheme name:
   kaspa

Status:
   Provisional

Applications/protocols that use this scheme name:
   Transfer of Kaspa coins, marked as $KAS, by Wallets that 
   implement the Kaspa protocols.

Contact:
   Registegin party: Eyal Yablonka <yablonka@google.com>; 
   Eyal Yablonka <serial@gmail.com>
   Scheme creator: Kaspa URI Scheme

Change controller:
    Either the registering party or someone who is verified to 
    represent the scheme creator.  See previous answer.
    E.g.: Kaspa core developers.

References:
   [1] https://github.com/kaspanet/kaspad
   [2] https://kaspawiki.net
   [3] https://discord.gg/kaspa
   [4] https://kaspa.org

Scheme syntax:
   kaspa:<bech32_address>[?[amount=<size>][&][label=<label>][&][message=<message>][&][payload=<payload_hex>]]

Scheme semantics:
   Send money to a Kaspa address.

Encoding considerations:
   The address is bech32 encoded.
   The payload is hex encoded.
   The labels and message are utf-8 encoded.

Interoperability considerations:
   None.

Security considerations:
   None.

Process

When pre-approved by Kaspa core developers and wallet developers, this proposal should be sent to uri-review@ietf.org

Existing schemes: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml Bitcoin scheme: https://www.iana.org/assignments/uri-schemes/prov/bitcoin Bitcoin Cash scheme: https://www.iana.org/assignments/uri-schemes/prov/bitcoincash Registration process: https://www.rfc-editor.org/rfc/rfc7595.html#section-7.2