[JA] update authorized-trustlines

This commit is contained in:
tequ
2023-03-26 13:38:48 +09:00
parent 9036769770
commit 4afc7704d5
3 changed files with 49 additions and 29 deletions

View File

@@ -1,40 +1,45 @@
---
html: authorized-trust-lines.html
parent: tokens.html
blurb: 通貨発行者が自己の発行済み通貨を保有できる人を制限できる、Authorized Trust Lineについて説明します。
blurb: 認可トラストラインとは、トークンを保有できる人を制限するための設定です。
labels:
- トークン
- セキュリティ
---
# Authorized Trust Lines
# 認可トラストライン
XRP LedgerのAuthorized Trust Lines機能により、通貨イシュアーは自身のXRP以外の発行済み通貨を保有できるユーザーを制限できます。これにより、不明なXRP Ledgerアドレスは発行済み通貨を保有できなくなります。Authorized Trust Lines機能は発行済み通貨にのみ適用され、XRPには影響しません。
XRP Ledgerの認可トラストライン機能により、発行者は、発行者が許可したアカウントのみが保有できるトークンを作成することができます。。認可トラストライン機能はトークンにのみ適用され、XRPには影響しません。
Authorized Trust Lines機能を使用するには、発行アドレスでRequireAuthフラグを有効にします。その後、発行アドレスは他のアドレスからのトラストラインを承認する[TrustSetトランザクション][]を送信できます。RequireAuthが有効であるときに発行アドレスから発行された資金を他のアドレスが保有できるのは、発行アドレスへのトラストラインが承認されている場合だけです。
認可トラストライン機能を使用するには、発行アドレスで**RequireAuth**フラグを有効にします。その後、他のアカウントは、あなたがそのアカウントのトラストラインをあなたの発行アカウントに承認した場合にのみ、あなたが発行したトークンを保持することができます。
トラストラインを承認するトランザクションには発行アドレスによる署名が必要ですが、これにより発行アドレスが危険にさらされる可能性が高くなります。RequireAuthが有効であるXRP Ledgerへの資金の送金プロセスは次のようになります
発行アドレスから[TrustSetトランザクション][]を送信し、自分のアカウントと認可するアカウントとの間のトラストラインを設定することで、トラストラインを認可することができます。トラストラインを認可した後、その認可を取り消すことはできません。(ただし、必要に応じてトラストラインを[凍結](freezes.html)することは可能です)
1. 発行ゲートウェイがその発行アドレスを顧客に公開します。
2. 顧客のXRP Ledgerアドレスからゲートウェイの発行アドレスへのトラストラインを作成するために顧客は[TrustSetトランザクション][]を送信します。これは、ゲートウェイが発行した特定通貨を特定の限度額まで保有することを顧客が望んでいることを意味します。
3. ゲートウェイの発行アドレスは、顧客のトラストラインを承認するTrustSetトランザクションを送信します。
トラストラインを認可するためのトランザクションは、発行アドレスの署名が必要であり、残念ながらそのアドレスのリスクエクスポージャーが増加することを意味します。
**ヒント:** 発行ゲートウェイは、顧客がトラストラインの作成を完了する前に、そのトラストラインを事前に承認できますステップ3。これにより限度額がゼロのトラストラインが作成されます。顧客のTrustSetトランザクションステップ2により、事前承認されたトラストラインに限度額が設定されます。_[TrustSetAuth Amendment][]が必要です。_
**注意:** Require Authを有効にできるのは、アカウントにトラストラインがなく、XRP LedgerにOffersがない場合だけなので、トークンの発行前に使用するかどうかを決定する必要があります。
## RequireAuth設定
## ステーブルコインの発行
`RequireAuth`設定をすることで、発行アドレスが当該通貨に関してその取引相手とのトラストラインを具体的に承認している場合を除き、すべての取引相手はアドレスから発行された残高を保有できなくなります。
XRP Ledger上のステーブルコインと認可トラストラインの使用により、新規顧客の獲得プロセスは以下のようなものになります。
用心として、発行ゲートウェイが[運用アドレスとスタンバイアドレス](issuing-and-operational-addresses.html)に対して`RequireAuth`を常に有効にし、これらのアドレスへのトラストラインを一切承認しないことが推奨されます。これにより、運用アドレスとスタンバイアドレスがXRP Ledgerで誤って通貨を発行することを防止できます。これは純粋な予防措置であり、発行アドレスにより作成された発行済み通貨の残高を、これらのアドレスが意図したとおりに送金することを阻止するものではありません
1. 顧客は、ステーブルコイン発行会社のシステムに登録し、身元を証明する情報「Know Your Customer」KYC情報とも呼ばれるを送信します
2. 顧客とステーブルコイン発行者は、お互いのXRP Ledgerアドレスを提示し合います。
3. 顧客は[TrustSetトランザクション][]を送信し、発行者のアドレスにトラストラインを作成し、正のリミットを設定します。
4. 発行者はTrustSetトランザクションを送信し、顧客のトラストラインを認可します。
Authorized Trust Lines機能を使用するには、イシュアーがその発行アドレスの`RequireAuth`も有効にする必要もあります。その後、発行アドレスは顧客からの[各トラストラインを承認する`TrustSet`トランザクションを送信する](#トラストラインの承認)必要があります。
**ヒント:** 2つのTrustSetトランザクションステップ3および4は、どちらの順序で発生しても構いません。発行者がトラストラインを先に認可した場合、これにより限度額が0に設定されたトラストラインが作成され、顧客のTrustSetトランザクションは、事前に認可されたトラストラインの限度額を設定することになります。([TrustSetAuth amendment][]によって追加されました。)_
## 注意事項
**注意:** アカウントが`RequireAuth`を有効にできるのは、アカウントトラストラインを所有しておらず、またXRP Ledgerにオファーがない場合に限られます。したがってXRP Ledgerで取引を開始する前に、この設定を使用するかどうかを決定しておく必要がありま
認可トラストラインを使用するつもりがない場合でも、[運用アカウントと予備アカウント](issuing-and-operational-addresses.html)のRequire Auth設定を有効にし、これらのアカウントトラストラインを認可させないようにすることができます。これは、これらのアカウントが誤ってトークンを発行することを防止します(たとえば、ユーザーが誤って間違ったアドレスをトラストしてしまった場合など)。これはあくまで予防措置であり、運用アカウントと予備アカウントが意図したとおりに _発行者の_ トークンを転送することを止めるものではありません
## 技術情報
<!--{# TODO: split these off into one or more tutorials on using authorized trust lines, preferably with both JavaScript and Python code samples. #}-->
### RequireAuthの有効化
ローカルでホストされている`rippled`の[submitメソッド][]を使用して、RequireAuthフラグを有効にする[AccountSetトランザクション][]を送信する例を以下に示します。(このメソッドは、アドレスが発行アドレス、運用アドレス、スタンバイアドレスのいずれであっても同様に機能します。)
以下は、ローカルでホストされている`rippled`の[submitメソッド][]を使って、`asfRequireAuth`フラグを使ってRequire Authを有効にする[AccountSetトランザクション][]を送信する例す。(このメソッドは、アドレスが発行アドレス、運用アドレス、スタンバイアドレスのいずれであっても同様に機能します。)
要求:
リクエスト:
```json
POST http://localhost:5005/
@@ -42,7 +47,7 @@ POST http://localhost:5005/
"method": "submit",
"params": [
{
"secret": "sn3nxiW7v8KXzPzAqzyHXbSSKNuN9",
"secret": "s████████████████████████████",
"tx_json": {
"Account": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v",
"Fee": "15000",
@@ -62,17 +67,17 @@ POST http://localhost:5005/
アカウントのRequireAuth設定の有効化の状態を確認するには、[account_infoメソッド][]を使用してアカウントを調べます。`Flags`フィールド(`result.account_data`オブジェクト)の値を、[AccountRootレジャーオブジェクトのビット単位フラグ](accountroot.html)と比較します。
`Flags`値と`lsfRequireAuth`フラグ値0x00040000のビット単位のANDの結果がゼロ以外の場合、アカウントではRequireAuthが有効になっています。結果がゼロの場合、アカウントではRequireAuthが無効になっています。
`Flags`値と`lsfRequireAuth`フラグ値(`0x00040000`のビット単位のANDの結果がゼロ以外の場合、アカウントではRequireAuthが有効になっています。結果がゼロの場合、アカウントではRequireAuthが無効になっています。
## トラストラインの
## トラストラインの認
Authorized Trust Lines機能を使用している場合、他のアカウントからのトラストラインを最初に承認しなければ、これらの他のアカウントはあなたが発行する残高を保有できません。複数の通貨を発行する場合には、各通貨のトラストラインを個別に認する必要があります。
認可トラストライン機能を使用している場合、他のアカウントからのトラストラインを認しなければ、これらの他のアカウントはあなたが発行する残高を保有できません。複数のトークンを発行する場合には、各通貨のトラストラインを個別に認する必要があります。
トラストラインを認するには、`LimitAmount``issuer`として信頼するユーザーを指定して、発行アドレスから[TrustSetトランザクション][]を送信します。`value`(信頼する額)を**0**のままにし、トランザクションの[tfSetfAuth](trustset.html#trustsetのフラグ)フラグを有効にします。
トラストラインを認するには、`LimitAmount``issuer`として信頼するユーザーを指定して、発行アドレスから[TrustSetトランザクション][]を送信します。`value`(信頼する額)を**0**のままにし、トランザクションの[tfSetfAuth](trustset.html#trustsetのフラグ)フラグを有効にします。
ローカルでホストされている`rippled`の[submitメソッド][]を使用して、顧客アドレスrf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn)が発行アドレスrsA2LpzuawewSBQXkiju3YQTMzW13pAAdWからのUSDのイシュアンスを保有することを認するTrustSetトランザクションを送信する例を以下に示します。
以下は、ローカルでホストされている`rippled`の[submitメソッド][]を使用して、顧客アドレス`rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn`アドレス`rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW`で発行したUSDを持つことを認するTrustSetトランザクションを送信する例す。
要求:
リクエスト:
```json
POST http://localhost:8088/
@@ -80,7 +85,7 @@ POST http://localhost:8088/
"method": "submit",
"params": [
{
"secret": "sn3nxiW7v8KXzPzAqzyHXbSSKNuN9",
"secret": "s████████████████████████████",
"tx_json": {
"Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW",
"Fee": "15000",
@@ -100,11 +105,26 @@ POST http://localhost:8088/
{% include '_snippets/secret-key-warning.md' %}
<!--{#_ #}-->
## トラストラインの認状況の確認
## トラストラインの認状況の確認
トラストラインの認状況を確認するには、[account_linesメソッド][]を使用してトラストラインを調べます。要求`account`フィールドに顧客のアドレスを指定し、`peer`フィールドにイシュアーのアドレスを指定します。
トラストラインの認状況を確認するには、[account_linesメソッド][]を使用してトラストラインを調べます。レスポンス`account`フィールドに顧客のアドレスを指定し、`peer`フィールドに発行者のアドレスを指定します。
応答の`result.lines`配列で、必要とする通貨のトラストラインを表している`currency`フィールドを持つオブジェクトを見つけます。そのオブジェクトの`peer_authorized`フィールドに値`true`が設定されている場合は、イシュアー(要求`peer`フィールドとして使用したアドレス)によりそのトラストラインが承認されています。
応答の`result.lines`配列で、必要とする通貨のトラストラインを表している`currency`フィールドを持つオブジェクトを見つけます。そのオブジェクトの`peer_authorized`フィールドに値`true`が設定されている場合は、発行者(レスポンス`peer`フィールドとして使用したアドレス)によりそのトラストラインが承認されています。
## 関連項目
- **コンセプト:**
- [Deposit Authorization](depositauth.html)
- [トークンの凍結](freezes.html)
- **チュートリアル:**
- [ステーブルコインを発行する](become-an-xrp-ledger-gateway.html)
- **リファレンス:**
- [account_linesメソッド][]
- [account_infoメソッド][]
- [AccountSetトランザクション][]
- [TrustSetトランザクション][]
- [AccountRootフラグ](accountroot.html#accountrootのフラグ)
- [RippleState (トラストライン) フラグ](ripplestate.html#ripplestateのフラグ)
<!--{# common link defs #}-->
{% include '_snippets/rippled-api-links.md' %}

View File

@@ -121,7 +121,7 @@ In the response's `result.lines` array, find the object whose `currency` field i
- [Deposit Authorization](depositauth.html)
- [Freezing Issued Currencies](freezes.html)
- **Tutorials:**
- [Become an XRP Ledger Gateway](become-an-xrp-ledger-gateway.html)
- [Become a Stablecoin Issuer](become-an-xrp-ledger-gateway.html)
- **References:**
- [account_lines method][]
- [account_info method][]

View File

@@ -154,7 +154,7 @@ targets:
# Fix links from untranslated issue-a-fungible-token.html
"xrp-ledger-toml.html#account-verification": "xrp-ledger-toml.html#アカウント検証"
"offers.html#offers-and-trust": "offers.html#オファーとトラスト"
"authorized-trust-lines.html#authorizing-trust-lines": "authorized-trust-lines.html#トラストラインの認"
"authorized-trust-lines.html#authorizing-trust-lines": "authorized-trust-lines.html#トラストラインの認"
# Fix links from untranslated freeze tutorials:
"basic-data-types.html#account-sequence": "basic-data-types.html#アカウントシーケンス"
"accountset.html#accountset-flags": "accountset.html#accountsetのフラグ"