Skip to content

Commit

Permalink
Reorder BIP sections (#129)
Browse files Browse the repository at this point in the history
  • Loading branch information
casey authored Feb 10, 2022
1 parent 554db2a commit 0fd18b5
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions bip.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -147,40 +147,40 @@ Since any ordinal can be sent to any address at any time, ordinals that are tran

Ordinal numbers are fully backwards compatible and require no changes to the bitcoin network.

== Applications ==

=== Accounts and Authentication ===

Ordinal numbers can serve as the basis for account and authentication schemes. The account issuer associates a newly created account with an ordinal number in an output controlled by the account owner. The account owner can then log in and take actions related to the account by signing messages with the private key associated with the public key associated with the output that contains the account ordinal. This key is only known to the account owner, preventing unauthorized access.

By transferring the ordinal to a new output, the owner can rotate their private key, or transfer the account to a new owner. Transferring an ordinal requires creating a transaction signed by the current outputs private key, preventing unauthorized transfer of accounts.

=== Colored Coins ===

Ordinals can be used as the basis for colored coin schemes. Unlike other colored coin schemes which use additional outputs or require manipulation of other parts of a transaction, ordinal-based colored coin schemes can take advantage of the full range of available script types, and other base-layer bitcoin features.

=== Compatibility with Existing and Envisaged Applications ===

Ordinals are compatible with many current and planned applications.

==== Covenant Compatibility ====
==== Covenants ====

Since ordinals are borne by outputs, they can be encumbered by covenants. [https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki BIP-119] specifies OP_CTV, which constraints outputs by pre-committing to a spending transaction template. This template commits to the number, value, and order of spending transaction outputs, which allows constraining how specific ordinals are spent in future transactions.

==== Lightning Network Compatibility ====
==== The Lightning Network ====

Lightning Network channels can be created with inputs whose ordinals are colored coins, for example colored coins honored for redemption by a stablecoin issuer. These channels can be used to conduct instant, low-fee USD-denominated off-chain payments, and would require only modest changes to existing Lightning Network nodes.

On channel close, fees would have to be paid by child-pays-for-parent, to avoid paying stablecoin ordinals as fees.

==== RGB Compatibility ====
==== RGB ====

[https://rgb-org.github.io/ RGB] is a proposed scheme for using sequences of single-use seals to define state transitions of off-chain, client-side-validated state machines, for example smart contract platforms. Such chains of single-use seals could be addressed by an ordinal contained in the output that starts the chain of single-use seals.

==== State Chain Compatibility ====
==== State Chains ====

[https://github.com/RubenSomsen/rubensomsen.github.io/blob/master/img/statechains.pdf The state chain proposal] facilitates off-chain transfer of whole outputs, which could contain ordinals with specific meanings, for example stable coins or NFTs, allowing off-chain transfer of such digital assets.

== Applications ==

=== Accounts and Authentication ===

Ordinal numbers can serve as the basis for account and authentication schemes. The account issuer associates a newly created account with an ordinal number in an output controlled by the account owner. The account owner can then log in and take actions related to the account by signing messages with the private key associated with the public key associated with the output that contains the account ordinal. This key is only known to the account owner, preventing unauthorized access.

By transferring the ordinal to a new output, the owner can rotate their private key, or transfer the account to a new owner. Transferring an ordinal requires creating a transaction signed by the current outputs private key, preventing unauthorized transfer of accounts.

=== Colored Coins ===

Ordinals can be used as the basis for colored coin schemes. Unlike other colored coin schemes which use additional outputs or require manipulation of other parts of a transaction, ordinal-based colored coin schemes can take advantage of the full range of available script types, and other base-layer bitcoin features.

=== The DNS ===

The DNS root of trust could be defined not as a specific set of public keys, but as a specific set of ordinals, which would allow for easy key rotation and updates to the set.
Expand Down

0 comments on commit 0fd18b5

Please sign in to comment.