├── .gitignore
├── README.md
├── concepts-contracts.md
├── concepts-enforcement.md
├── concepts-governance.md
├── concepts-instrument-management.md
├── concepts-instrument-transfers.md
├── concepts-messaging.md
├── concepts-operations.md
├── concepts-oracles.md
├── concepts-permissions.md
├── concepts-registers.md
├── concepts-rules.md
├── concepts-tokens.md
├── concepts-transactions.md
├── config
└── toc-docs.yaml
├── example-concert-entry.md
├── example-family-trust.md
├── example-frequent-flyer-points.md
├── example-loyalty-points.md
├── example-movie-tickets.md
├── example-transportation-tickets.md
├── images
├── 028contract2.svg
├── 056bitcoin1.svg
├── IMAGE ARCHIVE
│ ├── Confiscation.svg
│ ├── Exchange-transfer-signature-request.svg
│ ├── actions.svg
│ ├── addition-action.svg
│ ├── alteration-action.svg
│ ├── asset-creation.png
│ ├── asset-modification-by-vote.png
│ ├── asset-modification-by-vote.vsdx
│ ├── asset-modification-unilateral.png
│ ├── atomic-swap-order-of-operations.svg
│ ├── atomic-swap-process-order-of-operations.svg
│ ├── atomic-swap-settlement-action.svg
│ ├── atomic-swap-settlement-signature-request-message.svg
│ ├── atomic-swap-settlement-signature-request.svg
│ ├── atomic-swap-settlement.svg
│ ├── atomic-swap-transfer-action.svg
│ ├── atomic-swap-transfer-final.svg
│ ├── atomic-swap-transfer-offer-message.svg
│ ├── atomic-swap-transfer-offer.svg
│ ├── atomic-swap-transfer-signature-request-message.svg
│ ├── atomic-swap-transfer-signature-request.svg
│ ├── atomic-swap-transfer-template.svg
│ ├── ballot-cast-action.svg
│ ├── ballot-counted-action.svg
│ ├── basic-settlement-example.svg
│ ├── basic-transfer-example.svg
│ ├── bob-airmile-transfer-final.svg
│ ├── bob-dianne-family-addition-action.svg
│ ├── candy-bar-pre-paid-settlement.svg
│ ├── candy-bar-pre-paid-transfer-final.svg
│ ├── candy-bar-pre-paid-transfer-template.svg
│ ├── candy-bar-settlement.svg
│ ├── candy-bar-transfer-final.svg
│ ├── candy-bar-transfer-template.svg
│ ├── carols-receipt-message.svg
│ ├── cinema-final-settlement.svg
│ ├── cinema-settlement-template.svg
│ ├── cinema-transfer-final.svg
│ ├── cinema-transfer-template.svg
│ ├── confiscation-action.svg
│ ├── confiscation.JPG
│ ├── contract-amendment-action.svg
│ ├── contract-amendment-by-vote.png
│ ├── contract-amendment-by-vote.svg
│ ├── contract-amendment-unilateral.png
│ ├── contract-amendment-unilateral.svg
│ ├── contract-establishment.png
│ ├── contract-establishment.svg
│ ├── contract-formation-action-amendment.svg
│ ├── contract-formation-action.svg
│ ├── contract-formation-decision-tree.svg
│ ├── contract-formation.svg
│ ├── contract-offer-action-final.svg
│ ├── contract-offer-action-template.svg
│ ├── contract-offer-action.svg
│ ├── contract.svg
│ ├── dianne-edward-family-addition-action.svg
│ ├── dianne-fran-family-addition-action.svg
│ ├── diannes-booking-settlement-template.svg
│ ├── diannes-booking-transfer-signed.svg
│ ├── diannes-booking-transfer-template.svg
│ ├── establishment-action.svg
│ ├── exchange-order-of-operations.svg
│ ├── exchange-settlement-example-final.svg
│ ├── exchange-settlement-example.svg
│ ├── exchange-transfer-example-final.svg
│ ├── exchange-transfer-example-template.svg
│ ├── exchange-transfer-example.svg
│ ├── exchange-transfer-offer-message.svg
│ ├── exchange-transfer-offer.svg
│ ├── exchange-transfer-signature-request-message.svg
│ ├── freeze-action.svg
│ ├── image (4).png
│ ├── initiative.JPG
│ ├── instrument-creation-action-amendment.svg
│ ├── instrument-creation-action.svg
│ ├── instrument-creation.svg
│ ├── instrument-definition-action.svg
│ ├── instrument-enforcement-confiscation.svg
│ ├── instrument-enforcement-freeze.svg
│ ├── instrument-enforcement-reconciliation.svg
│ ├── instrument-enforcement-thaw.svg
│ ├── instrument-modification-action.svg
│ ├── instrument-modification-by-vote.svg
│ ├── instrument-modification-unilateral.svg
│ ├── instrument-transfer-exchange.svg
│ ├── instrument-transfer-send.svg
│ ├── instrument-transfer-swap.svg
│ ├── main-concepts-authorization-flags.svg
│ ├── main-concepts-oracles.svg
│ ├── main-concepts-transaction-overview.svg
│ ├── message-action.svg
│ ├── one-receiver-settlement-example.svg
│ ├── one-receiver-transfer-example.svg
│ ├── order-action-confiscation.svg
│ ├── order-action-freeze.svg
│ ├── order-action-reconciliation.svg
│ ├── order-action-thaw.svg
│ ├── proposal-action.svg
│ ├── reconciliation-action.svg
│ ├── rejection-action.svg
│ ├── removal-action.svg
│ ├── result-action.svg
│ ├── static-contract-formation-action.svg
│ ├── tbact-contract-formation.svg
│ ├── tbact-contract-offer.svg
│ ├── tbact-home-definition-action.svg
│ ├── tbact-instrument-creation.svg
│ ├── tbact-instrument-definition.svg
│ ├── tbact-instrument-settlement.svg
│ ├── tbact-instrument-transfer.svg
│ ├── thaw-action.svg
│ ├── two-receiver-settlement-example.svg
│ ├── two-receiver-transfer-example.svg
│ ├── two-receivers-settlement-example.svg
│ ├── two-receivers-transfer-example.svg
│ ├── vote-action.svg
│ └── vote-order-of-operations.svg
├── addition-action.svg
├── alteration-action.svg
├── atomic-swap-process-order-of-operations.svg
├── atomic-swap-settlement-action.svg
├── atomic-swap-settlement-request-message-1.svg
├── atomic-swap-settlement-request-message.svg
├── atomic-swap-settlement-signature-request-message.svg
├── atomic-swap-transfer-action.svg
├── atomic-swap-transfer-offer-message.svg
├── atomic-swap-transfer-signature-request-message.svg
├── authorization-flags.svg
├── ballot-cast-action.svg
├── ballot-counted-action.svg
├── bob-airmile-settlement-final.svg
├── bob-airmile-transfer-final.svg
├── bob-dianne-family-addition-action.svg
├── candy-bar-final-transfer-1.svg
├── candy-bar-final-transfer.svg
├── candy-bar-pre-paid-settlement-1.svg
├── candy-bar-pre-paid-settlement.svg
├── candy-bar-pre-paid-transfer-final-1.svg
├── candy-bar-pre-paid-transfer-final.svg
├── candy-bar-pre-paid-transfer-template-1.svg
├── candy-bar-pre-paid-transfer-template.svg
├── candy-bar-settlement-1.svg
├── candy-bar-settlement.svg
├── candy-bar-transfer-final.svg
├── candy-bar-transfer-template-1.svg
├── candy-bar-transfer-template.svg
├── chevron-pointing-to-the-left-1.svg
├── chevron-pointing-to-the-left-2.svg
├── chevron-pointing-to-the-left.svg
├── cinema-final-settlement-1.svg
├── cinema-final-settlement.svg
├── cinema-settlement-template-1.svg
├── cinema-settlement-template.svg
├── cinema-transfer-final.svg
├── cinema-transfer-template.svg
├── concepts-oracles.svg
├── concert-venue-edison-settlement.svg
├── concert-venue-edison-transfer.svg
├── confiscation-action.svg
├── connection-1.svg
├── connection.svg
├── contract-address-change-action.svg
├── contract-amendment-action.svg
├── contract-formation-action-amendment.svg
├── contract-formation-action.svg
├── contract-formation-decision-tree.svg
├── contract-offer-action-template.svg
├── contract-offer-action.svg
├── dianne-edward-family-addition-action.svg
├── dianne-fran-family-addition-action.svg
├── diannes-booking-multi-user-signature-order-of-operations.svg
├── diannes-booking-multicontract-signature-order-of-operations.svg
├── diannes-booking-transfer-template.svg
├── diannes-holiday-final-settlement.svg
├── diannes-holiday-multi-contract-settlement-process.svg
├── display-1.svg
├── display-2.svg
├── display.svg
├── dominics-pizza-confiscation-action.svg
├── dominics-pizza-contract-formation.svg
├── dominics-pizza-contract-offer.svg
├── dominics-pizza-harry-settlement.svg
├── dominics-pizza-harry-transfer-order-of-operations.svg
├── dominics-pizza-harry-transfer.svg
├── dominics-pizza-jo-anne-settlement.svg
├── dominics-pizza-jo-anne-transfer.svg
├── dominics-pizza-loyalty-points-instrument-creation.svg
├── dominics-pizza-loyalty-points-instrument-definition.svg
├── dominics-pizza-order-confiscation.svg
├── dominics-pizza-slice-coupons-instrument-creation.svg
├── dominics-pizza-slice-coupons-instrument-definition.svg
├── edison-ticket-settlement.svg
├── edison-ticket-transfer.svg
├── establishment-action.svg
├── exchange-settlement-example.svg
├── exchange-transfer-example.svg
├── exchange-transfer-offer-message.svg
├── exchange-transfer-signature-request-message.svg
├── freeze-action.svg
├── instrument-1.svg
├── instrument-2.svg
├── instrument-3.svg
├── instrument-creation-action-amendment.svg
├── instrument-creation-action.svg
├── instrument-definition-action.svg
├── instrument-modification-action.svg
├── locomotive-1.svg
├── locomotive.svg
├── main-concepts-oracles.svg
├── message-action.svg
├── one-receiver-settlement-example.svg
├── one-receiver-transfer-example.svg
├── order-action-confiscation.svg
├── order-action-freeze.svg
├── order-action-reconciliation.svg
├── order-action-thaw.svg
├── order-of-operations.svg
├── private-line-final-transfer.svg
├── private-line-settlement.svg
├── private-line-transfer-template.svg
├── proposal-action.svg
├── reconciliation-action.svg
├── rejection-action.svg
├── removal-action.svg
├── result-action.svg
├── static-contract-formation-action.svg
├── tbact-contract-formation.svg
├── tbact-contract-offer.svg
├── tbact-instrument-creation.svg
├── tbact-instrument-definition.svg
├── tbact-instrument-settlement.svg
├── tbact-instrument-transfer.svg
├── terminal.svg
├── thaw-action.svg
├── transactions-overview.svg
├── turnstiles-1.svg
├── turnstiles-2.svg
├── turnstiles-3.svg
├── turnstiles-4.svg
├── turnstiles-5.svg
├── turnstiles.svg
├── two-receivers-settlement-example.svg
├── two-receivers-transfer-example.svg
├── vote-action.svg
└── vote-order-of-operations.svg
├── intro-philosophy.md
├── intro-preface.md
├── protocol-actions.md
├── protocol-instruments.md
├── protocol-intro.md
├── protocol-messages.md
└── protocol-resources.md
/.gitignore:
--------------------------------------------------------------------------------
1 | tmp
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # docs
2 | Tokenized Protocol Documentation
3 |
--------------------------------------------------------------------------------
/concepts-registers.md:
--------------------------------------------------------------------------------
1 | # Registers
2 |
3 | - [Introduction](#introduction)
4 | - [Register Actions](#register-actions)
5 | - [Establishment](#establishment)
6 | - [Addition](#addition)
7 | - [Alteration](#alteration)
8 | - [Removal](#removal)
9 |
10 |
11 |
12 | ## Introduction
13 |
14 | The Tokenized Protocol has a full set of register actions that are able to support a wide range of general purpose register functions such as whitelisting, blacklisting, and more. Registers do not need to be operated by Tokenized smart contracts.
15 |
16 |
17 |
18 | ## Register Actions
19 |
20 | There are four actions involved in the creation and management of a registry.
21 |
22 | - Establishment
23 | - Addition
24 | - Alteration
25 | - Removal
26 |
27 |
28 |
29 | ### Establishment
30 |
31 | The Establishment action establishes a register.
32 |
33 | 
34 | Establishment action
35 |
36 |
37 |
38 | ### Addition
39 |
40 | The Addition action adds a record to the register.
41 |
42 | 
43 | Addition action
44 |
45 |
46 |
47 | ### Alteration
48 |
49 | The Alteration action alters (amends/modifies) a record ont the register.
50 |
51 | 
52 | Alteration action
53 |
54 |
55 |
56 | ### Removal
57 |
58 | The Removal action removes a record from the register.
59 |
60 | 
61 | Removal action
62 |
--------------------------------------------------------------------------------
/concepts-tokens.md:
--------------------------------------------------------------------------------
1 | # Tokens
2 |
3 | - [Introduction](#introduction)
4 | - [Token Types](#token-types)
5 | - [Token Identification](#token-identification)
6 | - [Token Fungibility](#token-fungibility)
7 | - [Modifying Tokens](#modifying-tokens)
8 | - [Token Balances](#token-balances)
9 |
10 |
11 |
12 | ## Introduction
13 |
14 | A token is defined, in this context, as a digital record of ownership that is managed by a smart contract. The term 'token' implies a sense of physicality in that it can only be in one place at one time. However, at a technical level, it is simply a digital ledger entry that records the ownership rights of a certain entity for a given instrument, and the subsequent changes of ownership over time to the Bitcoin (BSV) ledger. The protocol doesn't recognize two owners of a token at the same point in time, and the smart contract governs this rule.
15 |
16 | With Tokenized tokens, the owner of the instrument is the entity that possesses the associated token by controlling the private keys to the Bitcoin public address that the token is held at. For the ownership of the instrument to change, the token must be transferred to the new owners.
17 |
18 | A token is created by a smart contract with an Instrument Creation action, at the request of the administration of a contract issuer by way of the Instrument Definition action. The administration specifies what rules/terms the smart contract uses to control the token(s) and the smart contract will adhere to these terms, but only if they are in accordance with the rules of the protocol. Tokens can only be transferred from one pkh to another by way of a Settlement, or Confiscation action published to the blockchain by the smart contract in response to a valid request action. Tokens can only be created or destroyed by an Instrument Creation action or a Reconciliation action.
19 |
20 | It is up to the administration to ensure that the rules under which tokens are managed and exchanged are in-line with the legal and regulatory requirements of the jurisdiction that they are subject to. The protocol provides enough expressiveness and functionality to cover all the administration's compliance requirements.
21 |
22 |
23 |
24 | ## Token Types
25 |
26 | A token is a concept, and as a concept the definition does not vary. A token is a token. However, the instrument that the token represents varies significantly with respect to the metadata that defines it. Instrument types are broadly defined by a 3-letter code called the Instrument Type, which is used by the wallet, smart contract and the rest of the ecosystem to inform them how the metadata is to be parsed and presented.
27 |
28 | The metadata is defined by the user and confirmed by the smart contract at the creation stage. The user can specify any metadata as long as it adheres to the protocol rules.
29 |
30 |
31 |
32 | ## Token Identification
33 |
34 | The identity of a token is centred around its Instrument ID (Instrument ID = `Instrument Type + base58(Instrument Code + checksum)`) which should be unique on the Bitcoin network. However, the Instrument ID is always associated with a particular contract address and the real identity of a token should always be referenced by the Contract Address + Instrument ID. Instrument ID's are generated by creating a Sha256 hash of the Contract's PKH and the index of the instrument. This is to ensure they are created by an administration in a random way such that there cannot exist multiple copies of the same Instrument ID except through extreme incidents of chance. The potential for fraud is minimised by ensuring users cannot be misled into buying the wrong instrument with a copied Instrument ID.
35 |
36 | The Instrument ID is generated by the issuer's wallet when the tokens are created and is used by the token until they are destroyed. The Instrument ID can never be changed and attempts to do so will be rejected by the smart contract.
37 |
38 |
39 |
40 | ## Token Fungibility
41 |
42 | Fungibility is the property of a good or a commodity whose individual units are essentially interchangeable, where each unit is indistinguishable from any other unit. Tokens that are created with the same instrument ID are considered fungible tokens. These tokens can be exchanged and will carry the same value as any other token created in the same instrument ID.
43 |
44 | It is possible to create non-fungible tokens by creating tokens that have unique instrument IDs. These tokens can represent unique qualities such as seat numbers or other details for things such as in-game collectibles or other such items.
45 |
46 |
47 |
48 | ## Modifying Tokens
49 |
50 | Depending on the rules of the instrument and smart contract, most tokens can have their metadata modified using on-chain messages to the smart contract.
51 |
52 | Modifications can be made to any individual field (within rules) but modifications to the payload require the full data encapsulated within the payload to be overwritten.
53 |
54 |
55 |
56 | ## Token Balances
57 |
58 | Token balances are held at Bitcoin public key hashes (PKH). Token balances at a PKH are only incremented or decremented by the following actions:
59 |
60 | - [Instrument Creation](../protocol/actions#action-instrument-creation)
61 | - [Settlement](../protocol/actions#action-settlement)
62 | - [Confiscation](../protocol/actions#action-confiscation)
63 | - [Reconciliation](../protocol/actions#action-reconciliation)
64 |
65 | Settlement and Confiscation actions transfer tokens from a PKH(s) to another PKH(s). Tokens can only be created or destroyed by an Instrument Creation action or a Reconciliation action. A PKH can hold any number of tokens, up to the max value of uint64 per instrument (InstrumentID), for any number of instruments managed by an unlimited amount of smart contracts.
66 |
--------------------------------------------------------------------------------
/config/toc-docs.yaml:
--------------------------------------------------------------------------------
1 | Intro:
2 | pages:
3 | intro/preface: "Preface"
4 | intro/philosophy: "Philosophy"
5 |
6 | Concepts:
7 | pages:
8 | concepts/contracts: "Contracts"
9 | concepts/transactions: "Transactions"
10 | concepts/operations: "Operations"
11 | concepts/rules: "Rules"
12 | concepts/tokens: "Tokens"
13 | concepts/instrument-management: "Instrument Management"
14 | concepts/instrument-transfers: "Instrument Transfers"
15 | concepts/governance: "Governance"
16 | concepts/enforcement: "Enforcement"
17 | concepts/permissions: "Permissions"
18 | concepts/oracles: "Oracles"
19 | concepts/registers: "Registers"
20 | concepts/messaging: "Messaging"
21 |
22 | Specification:
23 | pages:
24 | protocol/intro: "Introduction"
25 | protocol/actions: "Actions"
26 | protocol/instruments: "Instruments"
27 | protocol/messages: "Messages"
28 | protocol/resources: "Resources"
29 |
30 | Examples:
31 | pages:
32 | example/frequent-flyer-points: "Frequent Flyer"
33 | example/movie-tickets: "Movie Tickets"
34 |
--------------------------------------------------------------------------------
/example-concert-entry.md:
--------------------------------------------------------------------------------
1 | # Concert entry
2 |
3 | - [Introduction](#introduction)
4 | - [Ticket Purchase Transfer](#ticket-purchase-transfer)
5 | - [Ticket Purchase Settlement](#ticket-purchase-settlement)
6 | - [4 Months Later](#4-months-later)
7 | - [Entry Pass Redemption Transfer](#entry-pass-redemption-transfer)
8 | - [Entry Pass Redemption Settlement](#entry-pass-redemption-settlement)
9 |
10 |
11 |
12 | ## Introduction
13 |
14 | Edison is very excited to hear that his favourite band from the late 90's is on it's way to his local entertainment venue and moves immediately to secure a ticket. He goes to the venue's booking interface and selects a VIP ticket including a back stage pass so that he can meet the band members after the show.
15 |
16 |
17 |
18 | ## Ticket Purchase Transfer
19 |
20 | The website provides a Transfer request template for his wallet that purchases a VIP pass in exchange for 0.451BSV.
21 |
22 | 
23 | Edison's Ticket Transfer
24 |
25 | Edison adds several inputs to the template to reach the 0.451BSV amount needed, plus the cost of the settlement fees before sending the transaction back to the venue for signing. This request/response action is handled off-chain via an API.
26 |
27 |
28 |
29 | ## Ticket Purchase Settlement
30 |
31 | The venue's smart contract responds with a settlement, sending the token to Edison's wallet.
32 |
33 | 
34 | Edison's Ticket Settlement
35 |
36 |
37 |
38 | ## 4 months later
39 |
40 | The big night has arrived, and Edison has arrived at the venue where the concert is taking place. He joins the queue for entry into the backstage area and opens his wallet ready to exchange his token for a pass.
41 | When he reaches the front of the queue, he is presented with an address to use to redeem his backstage pass.
42 |
43 |
44 |
45 | ## Entry Pass Redemption Transfer
46 |
47 | His wallet prepares a transfer action that requests the token be sent to the given address. The tokens are collected by the security company who are handling the venue entries on the night.
48 |
49 | 
50 | Edison's Ticket Transfer
51 |
52 |
53 |
54 | ## Entry Pass Redemption Settlement
55 |
56 | The smart contract receives the transfer order and evaluates it for correctness before building a settlement response. It sends this directly to the network where it is detected by the security company's wallet.
57 |
58 | 
59 | Edison's Ticket Settlement
60 |
61 | Edison is given his backstage pass which comes with a commemorative lanyard and is ushered into the waiting area to meet the band...
62 |
--------------------------------------------------------------------------------
/images/028contract2.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/images/056bitcoin1.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/Confiscation.svg:
--------------------------------------------------------------------------------
1 |
45 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/addition-action.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/alteration-action.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/asset-creation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/asset-creation.png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/asset-modification-by-vote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/asset-modification-by-vote.png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/asset-modification-by-vote.vsdx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/asset-modification-by-vote.vsdx
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/asset-modification-unilateral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/asset-modification-unilateral.png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/ballot-cast-action.svg:
--------------------------------------------------------------------------------
1 |
39 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/ballot-counted-action.svg:
--------------------------------------------------------------------------------
1 |
39 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/confiscation.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/confiscation.JPG
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/contract-amendment-action.svg:
--------------------------------------------------------------------------------
1 |
41 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/contract-amendment-by-vote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/contract-amendment-by-vote.png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/contract-amendment-unilateral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/contract-amendment-unilateral.png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/contract-establishment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/contract-establishment.png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/establishment-action.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/image (4).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/image (4).png
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/initiative.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokenized/docs/bd495cc0b3bb5652f70b810bed6e46791c410651/images/IMAGE ARCHIVE/initiative.JPG
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/one-receiver-settlement-example.svg:
--------------------------------------------------------------------------------
1 |
39 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/one-receiver-transfer-example.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/order-action-confiscation.svg:
--------------------------------------------------------------------------------
1 |
45 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/order-action-freeze.svg:
--------------------------------------------------------------------------------
1 |
45 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/order-action-reconciliation.svg:
--------------------------------------------------------------------------------
1 |
41 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/order-action-thaw.svg:
--------------------------------------------------------------------------------
1 |
43 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/removal-action.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/result-action.svg:
--------------------------------------------------------------------------------
1 |
41 |
--------------------------------------------------------------------------------
/images/IMAGE ARCHIVE/two-receivers-settlement-example.svg:
--------------------------------------------------------------------------------
1 |
44 |
--------------------------------------------------------------------------------
/images/addition-action.svg:
--------------------------------------------------------------------------------
1 |
43 |
--------------------------------------------------------------------------------
/images/alteration-action.svg:
--------------------------------------------------------------------------------
1 |
44 |
--------------------------------------------------------------------------------
/images/atomic-swap-settlement-request-message.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/images/ballot-cast-action.svg:
--------------------------------------------------------------------------------
1 |
47 |
--------------------------------------------------------------------------------
/images/ballot-counted-action.svg:
--------------------------------------------------------------------------------
1 |
47 |
--------------------------------------------------------------------------------
/images/bob-dianne-family-addition-action.svg:
--------------------------------------------------------------------------------
1 |
37 |
--------------------------------------------------------------------------------
/images/chevron-pointing-to-the-left-1.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/images/chevron-pointing-to-the-left-2.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/images/chevron-pointing-to-the-left.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/images/connection-1.svg:
--------------------------------------------------------------------------------
1 |
27 |
--------------------------------------------------------------------------------
/images/connection.svg:
--------------------------------------------------------------------------------
1 |
27 |
--------------------------------------------------------------------------------
/images/dianne-edward-family-addition-action.svg:
--------------------------------------------------------------------------------
1 |
37 |
--------------------------------------------------------------------------------
/images/dianne-fran-family-addition-action.svg:
--------------------------------------------------------------------------------
1 |
37 |
--------------------------------------------------------------------------------
/images/display-1.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/images/display-2.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/images/display.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/images/dominics-pizza-contract-formation.svg:
--------------------------------------------------------------------------------
1 |
41 |
--------------------------------------------------------------------------------
/images/dominics-pizza-loyalty-points-instrument-creation.svg:
--------------------------------------------------------------------------------
1 |
41 |
--------------------------------------------------------------------------------
/images/dominics-pizza-order-confiscation.svg:
--------------------------------------------------------------------------------
1 |
39 |
--------------------------------------------------------------------------------
/images/dominics-pizza-slice-coupons-instrument-creation.svg:
--------------------------------------------------------------------------------
1 |
41 |
--------------------------------------------------------------------------------
/images/establishment-action.svg:
--------------------------------------------------------------------------------
1 |
43 |
--------------------------------------------------------------------------------
/images/instrument-1.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/images/instrument-2.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/images/instrument-3.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/images/locomotive-1.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/images/locomotive.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/images/order-action-reconciliation.svg:
--------------------------------------------------------------------------------
1 |
49 |
--------------------------------------------------------------------------------
/images/removal-action.svg:
--------------------------------------------------------------------------------
1 |
44 |
--------------------------------------------------------------------------------
/images/turnstiles-1.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/images/turnstiles-2.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/images/turnstiles-3.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/images/turnstiles-4.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/images/turnstiles-5.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/images/turnstiles.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/intro-preface.md:
--------------------------------------------------------------------------------
1 | # Preface
2 |
3 | - [Introduction](#introduction)
4 | - [Key Components](#key-components)
5 | - [Specification](#specification)
6 | - [Support](#support)
7 |
8 |
9 |
10 | ## Introduction
11 |
12 | The Tokenized Protocol is an open source application layer protocol that utilizes the Bitcoin SV network for passing and storing messages. The protocol focuses on data (aka records) captured from financial, legal, commercial and accounting activities for all types of legal entities and ownership structures. It aims to replace current financial messaging (eg. bank to bank (SWIFT), security exchanges (FIX) and fiat payment systems (credit cards, e-money, etc.), as well as other EDI standards like X12, etc. However, it also provides the framework for issuing any kind of token for any type of use case.
13 |
14 | The protocol utilizes smart contracts, tokens, registers and messages as the building blocks to provide users and issuers with all of the tools required to manage their financial and legal lives in a more secure, private and low-cost way - while at the same time providing a streamlined user experience.
15 |
16 | This documentation is intended to provide a clear and concise set of information on how to use the protocol. It also acts as the reference material for developers who wish to build an implementation.
17 |
18 |
19 |
20 | ### Key Components
21 |
22 | The Tokenized Protocol operates using two key components:
23 |
24 | - [Smart Contract](https://github.com/tokenized/smart-contract): An autonomous agent service, hosted by the issuer or a third party provider on behalf of the issuer.
25 |
26 | - [Tokenized Wallet](https://github.com/tokenized/wallet): An enhanced bitcoin wallet, operated by the user or administration of the contract issuer.
27 |
28 | The smart contract and wallet both operate with the Tokenized Protocol and interact by [broadcasting actions](../protocol/actions) to the Bitcoin network. These actions are commonly prepared in the form of a request, coming from the wallet, and a response, from the smart contract — each providing a cryptographically proven event between two or more parties, solidified in the immutable blockchain.
29 |
30 |
31 |
32 | ## Specification
33 |
34 | The Tokenized Protocol defines action messages that provide various methods for common use cases, such as governance and compliance. A unique aspect of the Tokenized Protocol is its precise alignment with real-world scenarios and coverage of the various requirements when conducting business.
35 |
36 | An example of an action message is the creation of an instrument token, prepared as an [Instrument Definition](../protocol/actions#action-instrument-definition) request and sent by the wallet to the smart contract. The Instrument Definition contains all the information about the instrument, including the instrument class, the number of issued tokens, a unique code, metadata and other details.
37 |
38 | Each action message contains many data fields that are populated to form the final protocol message, sent across the Bitcoin network. The message contents include the value of each data field concatenated together. This method provides maximum efficiency for storing the data on the blockchain.
39 |
40 | It is crucial when converting these messages that every implementation uses the same specification. Find the source of truth for the Tokenized specification via the Tokenized GitHub repository:
41 |
42 | - [Tokenized Protocol Specification](https://github.com/tokenized/specification)
43 |
44 | This repository is a reference for the Tokenized Protocol structure. All definitions for message types and instrument types are stored in YAML to be parsed and compiled into various programming languages.
45 |
46 |
47 |
48 | ## Support
49 |
50 | The Tokenized team are available to give support for protocol-specific queries and requests. If the protocol does not satisfy your needs, use case, or you have constructive feedback, then please feel free to contact us or reach out through our community resources ([Telegram](https://t.me/joinchat/TWC9JGKemPMwZjc1), [Twitter](https://twitter.com/Tokenized_com) or our [forum](https://forum.tokenized.com/)).
51 |
--------------------------------------------------------------------------------