From 1cf49e01f51b687d67afc68ad3c00b7f68aef884 Mon Sep 17 00:00:00 2001 From: Yukishige Nakajo Date: Sun, 23 Jul 2023 12:41:26 +0900 Subject: [PATCH 1/6] Proposed DID Specs. --- tip-xxxx.md | 505 ++++++++++++++++++++++++++ tip-xxxx/did-tapyrus-image-create.png | Bin 0 -> 109181 bytes tip-xxxx/did-tapyrus-image-revoke.png | Bin 0 -> 85277 bytes tip-xxxx/did-tapyrus-image-update.png | Bin 0 -> 196763 bytes 4 files changed, 505 insertions(+) create mode 100644 tip-xxxx.md create mode 100644 tip-xxxx/did-tapyrus-image-create.png create mode 100644 tip-xxxx/did-tapyrus-image-revoke.png create mode 100644 tip-xxxx/did-tapyrus-image-update.png diff --git a/tip-xxxx.md b/tip-xxxx.md new file mode 100644 index 0000000..cb2396f --- /dev/null +++ b/tip-xxxx.md @@ -0,0 +1,505 @@ +``` +TIP: xxxx +Type: Application +Title: Tapyrus DID Methods +Status: Draft +Author: Yukishige Nakajo +Created: 2023-07-20 +License: CC0 +``` + +## Abstract + +This document describes the did numbering method for using Tapyrus as a Verifiable Data Registry. + +--- +このドキュメントでは、Tapyrusを検証可能なデータレジストリとして使用するための DIDの採番方法ついて説明します。 + +## Motivation +If Tapyrus can issue IDs that comply with the [DID specifications](https://www.w3.org/TR/did-core/) formulated by the W3C Credentials Community Group, it will be possible to apply Tapyrus to various applications that use Verifiable Credentials and other distributed IDs, for example. + +Also, it is often used by mapping the Tapyrus address to a certain Entity. For example, when using address as the company's ID. In this case, DID Document can be obtained by expressing Tapyrus address as DID instead of using address directly. This makes the ID verifiable and allows Tapyrus addresses to be conveniently mapped for various uses. + +--- +TapyrusがW3C Credentials Community Groupが策定した [DID仕様](https://www.w3.org/TR/did-core/)に準拠した ID を発行できれば、例えば Verifiable Credentials やその他の分散 ID を利用するさまざまなアプリケーションに Tapyrus を利用することが可能になります。 + +また、Tapyrus アドレスを特定の Entity にマッピングして使用することがよくあります。たとえば、会社の ID としてaddressを使用する場合です。この場合、addressを直接使用するのではなく、Tapyrus addressを DID として表現することで DID Document を取得できます。これにより、ID が検証可能になり、Tapyrus addressをさまざまな用途に簡単にマッピングできるようになります。 + +## Specification + +### 1. Introduction +Tapyrus DID Method(`did:tprs`) expresses DID using Tapyrus Blockchain. As a result, in various services provided for enterprises, it becomes possible to assign a unique ID to the target person of the service. + +The second purpose of `did:tprs` is to allow IDs to be given to arbitrary subjects. This makes it possible to assign unique IDs to things that do not have personalities, such as so-called NFTs, arbitrary documents, and image data, and make them targets of Verifiable Credentials. + +Basically, it follows the specification of `did:btcr`, but some items extended by Tapyrus are modified as appropriate. This specification defines the modified items without omission, and also redefines the unmodified parts from the `did:btcr` item. + +`did:tprs` is expressed using the TxRef format. This restriction imposes some inconvenience that the DID must be recorded on-chain, but the trade-off is that the DID is guaranteed to exist. + +--- +Tapyrus DID Method(`did:tprs`)はTapyrus Blockchainを用いてDIDを表現する。これにより、エンタープライズ向けに提供される各種サービスにおいて、そのサービスの対象者に固有のIDを付与することが可能となる。 + +`did:tprs`の第2の目的として、任意のsubjectに対してIDを付与することも可能とする。これにより、いわゆるNFTや任意のドキュメント、画像データなど人格を有しないものに対しても固有のIDが付与でき、Verifiable Credentialの対象とすることが可能となる([WIP])。 + +基本的には`did:btcr`の仕様を踏襲するが、一部Tapyrusで拡張されている項目については適宜改変する。この仕様書では改変項目を漏れなく定義し、またdid:btcrの項目から改変のない部分についても再定義する。 + +did:tprsはTxref形式を用いて表現する。この制限は、DIDが必ずオンチェーンに記録されなければいけないという多少の不便さを強要することにはなるが、その代わりに、DIDが必ず存在していることが保証されるという大きなメリットが得られる。 + +### 2. Terminology + +TBD + +### 3. Basic Concepts + +#### 3.1. TxRef + +**TxRef Piece** + +Like `did:btcr`, `did:tprs` constructs identifiers using [BIP-0136, Bech32 Encoded Transaction Position References.](https://github.com/bitcoin/bips/blob/master/bip-0136.mediawiki) encoding. +However, in Tapyrus there are multiple networks, and they are identified by their Network ID, which extends the target parameter of TxRef. Shown in Table 3-1 below. +Reserved Bit is for adjusting the bit column after Version to be the same as `did:btcr`. Future use should be fully considered. +Also, while [BIP-0136](https://github.com/bitcoin/bips/blob/master/bip-0136.mediawiki) refers to tx input, this specification refers to tx output. + +--- +`did:btcr`と同様に`did:tprs`では[BIP-0136,Bech32 Encoded Transaction Position References.](https://github.com/bitcoin/bips/blob/master/bip-0136.mediawiki) エンコーディングを用いて識別子を組み立てる。 +ただし、Tapyrusでは複数のネットワークが存在し、それらはNetwork IDで識別されるためTxRefの対象のパラメータを拡張する。以下の表3-1に示す。 +なお、Reserved BitはVersion以降のbit列が`did:btcr`と同じになるように調整するためのものである。将来的な利用については十分な検討が必要。 +また、[BIP-0136](https://github.com/bitcoin/bips/blob/master/bip-0136.mediawiki)ではtx inputを参照するのに対して、本仕様ではtx outputを参照する点が異なる。 + +* Table 3-1. Parameters for TxRef + +| | description | possible type | # ob Bits used | values | +|----|----|----|----|----| +| Network ID | Tapyrusのネットワークを識別するID。 | Uint32 | 32 | 0 to 4294967296
ex)Tapyrus API Network = 1 | +| Reserved Bit | bit列の調整のため | Uint8 | 3 | 0 固定 | +| Version | 将来的に利用 | Uint8 | 1 | 0 固定 | +| Block Height | Txを含むBlockの高さ | Uint32 | 24 | Block 0 to Block 16777215 | +| Transaction Index | DIDを含むTxのブロックの中の位置 | Uint16 | 15 | Tx 0 to Tx 32767 | +| Output Index | DIDとなるTx outputの位置 | Uint16 | 15 | Tx 0 to Tx 32767 | + + + +**Encoding Table** + +Convert 5bit data to a string using the same encoding table as Bech32m in [BIP-0350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki). The 32 characters to be mapped are as follows. + +--- +[BIP-0350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)のBech32mと同じエンコーディング表を用いて5bitデータを文字列に変換する。マッピングする32文字は以下の通り。 + +Table 3-2. Conversion Table to String + +| |0|1|2|3|4|5|6|7| +|---|---|---|---|---|---|---|---|---| +|+0|q|p|z|r|y|9|x|8| +|+8|g|f|2|t|v|d|w|0| +|+16|s|3|j|n|5|4|k|h| +|+24|c|e|6|m|u|a|7|l| + + +**Encoding Algorism** + +Shows the algorithm for converting the pieces shown in Table 3-1 to TxRef strings. + +First, generate an array of 5bit numbers in the following order. + +1. Cut out 35bits of Network ID + Reserved Bit by lower 5bits +2. Cut out 25bits of Block Height + Version by lower 5bits +3. Cut out the lower 5 bits of the 15 bits of the Transaction Index +4. If Output Index is not 0, cut out 15bit by lower 5bit + +Finally, after calculating the checksum of the above 5-bit numeric array, convert each value to char according to the character table in Table 3-2. + +A sample code is shown in List 3-1 below. + +--- +表3-1に示すピースについてTxRef文字列に変換するアルゴリズムを示す。 + +最初に以下の順序で5bit数値の配列を生成する。 + +1. Network ID + Reserved Bitの35bitを下位5bitずつ切り出す +2. Block Height + Versionの25bitを下位5bitずつ切り出す +3. Transaction Indexの15bitを下位5bitずつ切り出す +4. Output Indexが0でなければ、15bitを下位5bitずつ切り出す + +最後に上記5bit数値配列のchecksumを計算したのち、表3-2のcharacter表に沿ってそれぞれの値をcharに変換する。 + +以下のリスト3-1にサンプルコードを示す。 + +* List3-1. Sample code for generating an array of 5bit numbers + +```python +def to_uint5_array(val, length): + res = [] + for i in range(0, length): + res.append(val & 0x1f) + val = val >> 5 + return res + +def bech32_encoding(network_id, block_height, tx_index, out_index): + res = [] + res += to_uint5_array(network_id << 3, 7) + res += to_uint5_array(block_height << 1, 5) + res += to_uint5_array(tx_index, 3) + if out_index > 0: + res += to_uint5_array(out_index, 3) + return res +``` + +**Encoding Examples** + +An example of TxRef for Network ID #1, Transaction Index #1234, Block Height #456789, Output Index #0 is shown below. + +--- +Network ID #1、Transaction Index #1234、Block Height #456789、Output Index #0の場合のTxRefの例を以下に示す。 + +| | Decimal Value | Binary Value | # of Bits Used | Bit Index and Value | +|---|---|---|---|---| +| Network ID | 1 | 00000000
00000000
00000000
00000001
| 32 | (ni31, ni30, ni29, ni28, ni27) = (0, 0, 0, 0, 0)
(ni26, ni25, ni24, ni23, ni22) = (0, 0, 0, 0, 0)
(ni21, ni20, ni19, ni18, ni17) = (0, 0, 0, 0, 0)
(ni16, ni15, ni14, ni13, ni12) = (0, 0, 0, 0, 0)
(ni11, ni10, ni09, ni08, ni07) = (0, 0, 0, 0, 0)
(ni06, ni05, ni04, ni03, ni02) = (0, 0, 0, 0, 0)
(ni01, ni00) = (0, 1) | +| Reserved Bit | 0 | 00000000 | 3 | (rb02, rb01, rb00) = (0, 0, 0) | +| Version | 0 | 00000000 | 1 | (vr00) = (0) | +| Block height | 456789 | 00000110
11111000
01010101
| 24 | (bh23, bh22, bh21, bh20) = (0, 0, 0, 0)
(bh19, bh18, bh17, bh16, bh15) = (0, 1, 1, 0, 1)
(bh14, bh13, bh12, bh11, bh10) = (1, 1, 1, 1, 0)
(bh09, bh08, bh07, bh06, bh05) = (0. 0. 0. 1. 0)
(bh04, bh03, bh02, bh01, bh00) = (1, 0, 1, 0, 1)
| +| Transaction index | 1234 | 00000100
11010010 | 15 | (ti14, ti13, ti12, ti11, ti10) = (0, 0, 0, 0, 1)
(ti09, ti08, ti07, ti06, ti05) = (0, 0, 1, 1, 0)
(ti04, ti03, ti02, ti01, ti00) = (1, 0, 0, 1, 0)
| +| Output index | 0 | 省略 | 省略 | 省略 | + +| | ni01 | ni00 | rb02 | rb01 | rb00 | decimal value | encoding char | +|---|---|---|---|---|---|---|---| +| data[0] | 0 | 1 | 0 | 0 | 0 | 8 | g | + +| | ni06 | ni05 | ni04 | ni03 | ni02 | decimal value | encoding char | +|---|---|---|---|---|---|---|---| +| data[1] | 0 | 0 | 0 | 0 | 0 | 0 | q | + +| | ni11 | ni10 | ni09 | ni08 | ni07 | decimal value | encoding char | +|---|---|---|---|---|---|---|---| +| data[2] |0 | 0 | 0 | 0 | 0 | 0 | **q** | + +| | ni16 | ni15 | ni14 | ni13 | ni12 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[3] | 0 | 0 | 0 | 0 | 0 | 0 | **q** | + +| | ni21 | ni20 | ni19 | ni18 | ni17 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[4] | 0 | 0 | 0 | 0 | 0 | 0 | **q** | + +| | ni26 | ni25 | ni24 | ni23 | ni22 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[5] | 0 | 0 | 0 | 0 | 0 | 0 | **q** | + +| | ni31 | ni30 | ni29 | ni28 | ni27 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[6] | 0 | 0 | 0 | 0 | 0 | 0 | **q** | + +| | bh03 | bh02 | bh01 | bh00 | vr00 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[7] | 0 | 1 | 0 | 1 | 0 | 10 | **2** | + +| | bh08 | bh07 | bh06 | bh05 | bh04 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[8] | 0 | 0 | 1 | 0 | 1 | 5 | **9** | + +| | bh13 | bh12 | bh11 | bh10 | bh09 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[9] | 1 | 1 | 1 | 0 | 0 | 28 | **u** | + +| | bh18 | bh17 | bh16 | bh15 | bh14 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[10] | 1 | 1 | 0 | 1 | 1 | 27 | **m** | + +| | bh23 | bh22 | bh21 | bh20 | bh19 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[11] | 0 | 0 | 0 | 0 | 0 | 0 | **q** | + +| | ti04 | ti03 | ti02 | ti01 | ti00 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[12] | 1 | 0 | 0 | 1 | 0 | 18 | **j** | + +| | ti09 | ti08 | ti07 | ti06 | ti05 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[13] | 0 | 0 | 1 | 1 | 0 | 6 | **x** | + +| | ti14 | ti13 | ti12 | ti11 | ti10 | decimal value | encoding char +|---|---|---|---|---|---|---|---| +| data[14] | 0 | 0 | 0 | 0 | 1 | 1 | **p** | + +After conversion, it becomes the following string representation. + +| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| decimal | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 5 | 28 | 27 | 0 | 18 | 6 | 1 | +| char | g | q | q | q | q | q | q | 2 | 9 | u | m | q | j | x | p | + +**Checksum** + +Finally, [BIP-0350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki), Bech32m format checksum is given. The following 6 characters are obtained as Checksum. +check_sum=['p', 'k', '2', 'f', 'u', 'x'] + +The final TxRef will be the following string: + +--- +最後に[BIP-0350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki), Bech32m形式のChecksumを付与する。Checksumとして次の6文字が得られる。 +check_sum=['p', 'k', '2', 'f', 'u', 'x'] + +最終的なTxRefは次の文字列となる。 + +``` +gqqqqqq29umqjxppk2fux +``` + +**Prefix Exclusion** + +As with `did:btcr`, `did:tprs` also excludes Prefix defined in [BIP-0173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki). + +**Elimination of representation ambiguity when Output Index=0** + +As with `did:btcr`, `did:tprs` only uses abbreviations when the Output Index is 0. For example: + +--- +`did:btcr`と同様に`did:tprs`でも[BIP-0173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki)で定義されているPrefixを除外する。 + +**Output Index=0の時の表現のあいまいさの排除** + +`did:btcr`と同様に`did:tprs`もOutput Indexが0の場合は、省略表現のみを用いる。以下に例を挙げる。 + +* When Network ID=1, Block Height=120739, Transaction Index=10, Output Index=0 + +``` +Example) No Output Index + +VALID: +gqqqqqqx6t8q2qqllpff-y + +INVALID: +gqqqqqqx6t8q2qqqqqaajauw +``` + +* When Network ID=1, Block Height=120739, Transaction Index=10, Output Index=2 + +``` +例)With Output Index + +gqqqqqqx6t8q2qqzqqeeq68h +``` + +A DID Resolver MUST reject a DID if it detects an invalid format. + +--- +DID Resolverは無効なformatを検出した場合はDIDを拒否しなければならない。 + +#### 3.2. TPRS DID Format + +The format of `did:tprs` is as follows. + +``` +tprs-did = "did:tprs:" tprs-identifier + [ ";" did-service ] [ "/" did-path ] + [ "?" did-query ] [ "#" did-fragment ] + +tprs-identifier = TxRef encoded transaction id +``` + +Example) When NNetwork ID=1, Tapyrus chain上のtxid 67c0ee676221d9e0e08b98a55a8bf8add9cba854f13dda393e38ffa1b982b833 + +``` +# Beacuase block height 1201739, transaction position 2, tx output index 1 + +gqqqqqqkytfzzqqpqqzyj5es +``` + +#### 3.3. Default Capabilities +For `did:tprs`, the DID resolver needs to generate the DID document from the transaction itself. Specifically, the following functions are given to the public key included in the Unspent Transaction Output. + +- authentication +- Sign to Verifiable Credential(assertionMethod) + +--- +`did:tprs`に対して、DID リゾルバーはトランザクション自体から DID ドキュメントを生成する必要がある。具体的にはUnspent Transaction Outputに含まれる公開鍵に次の機能を付与する。 + +- 認証(authentication) +- Verifiable Credentialへの署名(assertionMethod) + +* Example) DETAILED EXAMPLE OF DEFAULT CAPABILITIES +``` +{ + "@context": ["https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1"], + "id": "did:tprs:gqqq-qqqx-6t8q-2qql-lpff-y", + "verificationMethod": [ + { + "id": "did:tprs:gqqq-qqqx-6t8q-2qql-lpff-y#address-0", + "controller": "did:tprs:gqqq-qqqx-6t8q-2qql-lpff-y", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "38M1FDts7Oea7urmseiugGW7tWc3mLpJh6rKe7xINZ8", + "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4" + } + } + ], + "authentication": [ + "did:tprs:gqqq-qqqx-6t8q-2qql-lpff-y#address-0" + ], + "assertionMethod": [ + "did:tprs:gqqq-qqqx-6t8q-2qql-lpff-y#address-0" + ] +} +``` + +Like `did:btcr`, `did:tprs` will generate a document if it transaction is UTXO. If the TPRS DID's transaction is spent (SPENT), we need to follow the transaction chain and look for an unused tip tx. + +--- +`did:btcr`と同様に`did:tprs`ではトランザクションが未使用の場合に、ドキュメントが生成される。TPRS DIDのトランザクションが使用済み(SPENT)の場合は、トランザクションチェーンをたどり、未使用のtip txを探す必要がある。 + +#### 3.4. Continuation DID Documents + +`did:tprs` does not have the DDO (DID Descriptor Object) defined by `did:btcr`. `did:tprs` generates a DID Document from transactions only. This specification was adopted considering the following points. + +- Writing a URL in OP_RETURN leads to an increase in block capacity. +- The existence of the DID Document at the URL destination introduces the risk of tampering, and the advantage of registering the DID with Tapyrus is lost. + +Since `did:tprs` assumes a wider range of users, it is designed with a focus on security risks. + +--- +`did:tprs`では`did:btcr`で定義されているDDO(DID Descriptor Object)は保有しない。`did:tprs`はトランザクションのみからDID Documentを生成する。以下の点を考慮してこの仕様を採用した。 + +- OP_RETURNにURLを記載することはブロックの容量増加に繋がる。 +- URL先にDID Documentが存在することは改ざんのリスクを持ち込むこととなり、TapyrusにDIDを登録する利点が失われる。 + +`did:tprs`ではより広範な利用者を想定しているため、セキュリティリスクに重きを置いた設計としている。 + +### 4. Operations + +#### 4.1. Creating a DID + +`did:tprs` is generated by creating and broadcasting a Tapyrus transaction according to the specifications described in this section. Tx output with P2PK(Pay-to-PublicKey) contract is available as `did:tprs`. + +**abbreviation:** +- TXi = Tapyrus transaction i +- Pi = public key i +- Si = private key i + +**Creating the first `did:tprs`:** +1. Decide TX0 to use as tx input +2. Create key P1/S1 +3. Create a Tapyrus transaction TX1 with the following 4. and 5. +4. tx input => any output of TX0 +5. tx output => P2PK for payments to P1 +6. TX1's P2PK reveals the public key +7. Broadcast TX1 and wait for Block confirmation +8. Encode it to TxRef that the output with P2PK in confirmed transaction TX1. + +Once the above is done, you will have a DID of the form did:tprs:TxRef(TX1). + +It is possible to create multiple `did:tprs` with one tx by having multiple P2PK outputs. + +coinbase TX output is not `did:tprs`. + +--- +`did:tprs`はこのセクションで説明する仕様に則った、Tapyrusトランザクションを作成することで作成される。P2PK(Pay-to-PublicKey) コントラクトを持つTx outputが`did:tprs`として利用可能である。 + +**略語:** + +- TXi = Tapyrus トランザクション i +- Pi = 公開鍵 i +- Si = 秘密鍵 i + +**最初の `did:tprs` の作成:** + +1. tx inputとして利用するTX0を決定する +2. キー P1/S1 を作成 +3. 以下の4. , 5. を持つTapyrus トランザクション TX1を作成する +4. tx input => TX0の任意のoutput +5. tx output => P1に対するP2PK +6. TX1のP2PKから公開鍵が明らかになる +7. TX1をブロードキャストし、Blockのconfirmationを待つ +8. 確認済みトランザクションTX1からP2PKをもつoutputのTxRefエンコーディングを取得 + +上記が完了すると、did:tprs:TxRef(TX1) 形式の DID が得られる。 + +複数のP2PK outputを持つことで1つのtxで複数の`did:tprs`を作成することが可能。 + +coinbase TX outputは`did:tprs`ではない。 + +![tips status workflow](tip-xxxx/did-tapyrus-image-create.png) + +#### 4.2. Reading a DID + +1. Extract TxRef (TxRef(TX1) part of did:tprs:TxRef(TX1)) from `did:tprs`. +2. Search for transactions. +3. Check if output is UTXO. + +**YES**: Is a valid DID. A resolver MUST generate and return a DID Document. (see 3.3) + +**NO**: Find tip tx that is both P2PK and UTXO. After that, generate and return the public key of tip tx as a DID Document. If the P2PK UTXO is not found, treat the DID as revoked. + +--- +1. `did:tprs`からTxRef(did:tprs:TxRef(TX1)のTxRef(TX1)部分)を抽出する。 +2. トランザクションを検索する。 +3. outputはUTXOかチェックする。 + +**YES**: 有効なDIDである。リゾルバーはDID Documentを生成して返さなければならない。(3.3を参照) + +**NO**: P2PKであり且つ、UTXOであるtip txを探索する。その後、tip txの公開鍵をDID Documentとして生成して返す。もし、P2PKのUTXOが見つからない場合はそのDIDは失効したものとして扱う。 + +#### 4.3. Updating a DID + +It is assumed that did for key P1 has already been issued. Let TX1 be the transaction of that did. + +1. Create new key P2/S2 +2. Create a Tapyrus transaction TX2 with the following 3. and 4. +3. tx input => output specified by `did:tprs` of TX1 +4. tx output => P2PK for payments to P2 +5. TX2's P2PK reveals the public key +6. Broadcast TX2 and wait for Block confirmation + +It is also possible to update multiple `did:tprs` with one tx. However, the number of P2PKs referred to by input and the number of P2PKs existing in output MUST be the same.Otherwise, all `did:tprs` referred to by input are revoked. +--- +前提としてキーP1 に対するdidを既に発行済みとする。そのdidのtransactionをTX1とする。 + +1. 新しいキー P2/S2 を作成 +2. 以下の3. 4. を含むTX2を作成 +3. tx input => TX1の`did:tprs`で指定したoutput +4. tx output => P2に対するP2PK +5. TX2のP2PKから公開鍵が明らかになる +6. TX2をブロードキャストし、Blockのconfirmationを待つ + +複数の`did:tprs`を同時にupdateすることも可能。ただし、inputが参照しているP2PKの数とoutputに存在するP2PKの数が必ず一致していなければならない。そうでない場合はinputが参照している`did:tprs`は失効する。 + +![tips status workflow](tip-xxxx/did-tapyrus-image-update.png) + +#### 4.4. Revoke a DID + +It is assumed that did for key P1 has already been issued. Let TX1 be the transaction of that did. + +1. Create new key P2/S2 +2. Create TX2 including 3. 4. below +3. tx input => output specified by `did:tprs` of TX1 +4. tx output => other than P2PK +5. Broadcast TX2 and wait for Block confirmation + +If there is no P2PK on the output of the tip tx, the `did:tprs` paid as the input of that tx will be revoked. + +Also, if the number of P2PKs referenced by the tx input is not the same as the number of P2PKs present in the output, all `did:txrs` referenced by the tx input will be revoked. +This is true even if the number of outputs with P2PK is greater than the number of inputs. + +A Tapyrus transaction always expresses only one of DID issuance, update, and revocation. + +A single transaction cannot perform multiple operations such as issue, update, and revoke. + +--- +前提としてキーP1 に対するdidを既に発行済みとする。そのdidのtransactionをTX1とする。 + +1. 新しいキー P2/S2 を作成 +2. 以下の3. 4. を含むTX2を作成 +3. tx input => TX1の`did:tprs`で指定したoutput +4. tx output => P2PK以外のフォーマットのoutput +5. TX2をブロードキャストし、Blockのconfirmationを待つ + +tip txのoutputにP2PKが存在しない場合、そのtxのinputとして消費された`did:tprs`は失効される。 + +また、txのinputが参照しているP2PKの数と、outputに存在するP2PKの数が一致していない場合も、tx inputが参照している全ての`did:txrs`は失効される。 +これは、P2PKを持つoutputの数がinputの数よりも多い場合でも同様です。 + +Tapyrusのtransactionは、必ずDIDの発行、更新、失効のいずれか1つの操作のみを表現します。 + +1つのtransactionは発行、更新、失効の複数の操作を行えません。 + +![tips status workflow](tip-xxxx/did-tapyrus-image-revoke.png) diff --git a/tip-xxxx/did-tapyrus-image-create.png b/tip-xxxx/did-tapyrus-image-create.png new file mode 100644 index 0000000000000000000000000000000000000000..7be1ba845224ce4c4014bb1fe8ae1ce145842d90 GIT binary patch literal 109181 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Π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