mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-22 04:35:49 +00:00
[JA] update multisig
This commit is contained in:
@@ -826,11 +826,11 @@ XRP Ledgerの分散型取引所において、オファーの掛け合わせの
|
|||||||
| デフォルトの投票(最新の安定版) | はい |
|
| デフォルトの投票(最新の安定版) | はい |
|
||||||
| Amendment前の機能は廃止? | はい |
|
| Amendment前の機能は廃止? | はい |
|
||||||
|
|
||||||
トランザクションの承認方法として[マルチ署名](multi-signing.html)を導入します。[`SignerList`レジャーオブジェクトタイプ](signerlist.html)と[`SignerListSet`トランザクションタイプ](signerlistset.html)を作成します。省略可能な`Signers`フィールドをすべてのトランザクションタイプに追加します。一部のトランザクション結果コードを変更します。
|
トランザクションの承認方法として[マルチシグ](multi-signing.html)を導入します。[`SignerList`レジャーオブジェクトタイプ](signerlist.html)と[`SignerListSet`トランザクションタイプ](signerlistset.html)を作成します。省略可能な`Signers`フィールドをすべてのトランザクションタイプに追加します。一部のトランザクション結果コードを変更します。
|
||||||
|
|
||||||
この修正により、マルチ署名のアドレスからトランザクションを承認できる署名者のリストをそのアドレスに保持できるようになります。このリストには定数があり、1から8で重み付けされた署名者が記載されています。これにより、「5人のうち任意の3人」や「Aの署名とその他任意の2人の署名」などの多様な設定が可能になります。
|
この修正により、マルチシグのアドレスからトランザクションを承認できる署名者のリストをそのアドレスに保持できるようになります。このリストには定数があり、1から8で重み付けされた署名者が記載されています。これにより、「5人のうち任意の3人」や「Aの署名とその他任意の2人の署名」などの多様な設定が可能になります。
|
||||||
|
|
||||||
署名者は資金供給のあるアドレスでも資金供給のないアドレスでも可能です。署名者リストのうち資金供給のあるアドレスは、レギュラーキー(定義済みの場合)またはマスターキー(無効でない場合)を使用して署名できます。資金供給のないアドレスは、マスターキーを使用して署名できます。マルチ署名済みトランザクションは、レギュラーキーで署名されたトランザクションと同じ権限を持ちます。
|
署名者は資金供給のあるアドレスでも資金供給のないアドレスでも可能です。署名者リストのうち資金供給のあるアドレスは、レギュラーキー(定義済みの場合)またはマスターキー(無効でない場合)を使用して署名できます。資金供給のないアドレスは、マスターキーを使用して署名できます。マルチシグトランザクションは、レギュラーキーで署名されたトランザクションと同じ権限を持ちます。
|
||||||
|
|
||||||
SignerListを持つアドレスは、レギュラーキーが定義されていなくてもマスターキーを無効にすることができます。また、SignerListを持つアドレスは、マスターキーが無効な場合でもレギュラーキーを削除することができます。`tecMASTER_DISABLED`トランザクション結果コードは`tecNO_ALTERNATIVE_KEY`に名前が変更されます。`tecNO_REGULAR_KEY`トランザクション結果コードは廃止となり、`tecNO_ALTERNATIVE_KEY`に代わります。さらに、この修正は以下の新しい[トランザクション結果コード](transaction-results.html)を追加します。
|
SignerListを持つアドレスは、レギュラーキーが定義されていなくてもマスターキーを無効にすることができます。また、SignerListを持つアドレスは、マスターキーが無効な場合でもレギュラーキーを削除することができます。`tecMASTER_DISABLED`トランザクション結果コードは`tecNO_ALTERNATIVE_KEY`に名前が変更されます。`tecNO_REGULAR_KEY`トランザクション結果コードは廃止となり、`tecNO_ALTERNATIVE_KEY`に代わります。さらに、この修正は以下の新しい[トランザクション結果コード](transaction-results.html)を追加します。
|
||||||
|
|
||||||
@@ -853,7 +853,7 @@ SignerListを持つアドレスは、レギュラーキーが定義されてい
|
|||||||
| デフォルトの投票(最新の安定版) | はい |
|
| デフォルトの投票(最新の安定版) | はい |
|
||||||
| Amendment前の機能は廃止? | いいえ |
|
| Amendment前の機能は廃止? | いいえ |
|
||||||
|
|
||||||
XRP Ledgerアカウントが[マルチ署名](multi-signing.html) SignerListを所有する場合、アカウントに加算される[所有者準備金](reserves.html#所有者準備金)を削減します。
|
XRP Ledgerアカウントが[マルチシグ](multi-signing.html) SignerListを所有する場合、アカウントに加算される[所有者準備金](reserves.html#所有者準備金)を削減します。
|
||||||
|
|
||||||
この修正を行わない場合、SignerListの所有者準備金は、リスト内の署名者数に応じて15~50 XRPの範囲となります。
|
この修正を行わない場合、SignerListの所有者準備金は、リスト内の署名者数に応じて15~50 XRPの範囲となります。
|
||||||
|
|
||||||
@@ -974,7 +974,7 @@ XRP Ledgerプロトコルの署名要件を変更し、いかなる場合にも
|
|||||||
|
|
||||||
この修正が適用されない場合、トランザクションがsecp256k1署名を使用し、tfFullyCanonicalSigが有効でない場合は、変更可能となります。ほとんどの署名ユーティリティは、デフォルトでtfFullyCanonicalSigを有効にしていますが、例外もあります。
|
この修正が適用されない場合、トランザクションがsecp256k1署名を使用し、tfFullyCanonicalSigが有効でない場合は、変更可能となります。ほとんどの署名ユーティリティは、デフォルトでtfFullyCanonicalSigを有効にしていますが、例外もあります。
|
||||||
|
|
||||||
この修正により、単独署名のトランザクションは展性になりません。(署名者が必要以上の署名を提供した場合、[マルチ署名のトランザクションはまだ展性であるかもしれません](transaction-malleability.html#マルチ署名の展性))。すべてのトランザクションは、tfFullyCanonicalSigフラグに関係なく、署名の完全な正規の形式を使用する必要があります。完全に正規化された署名を作成しない署名ユーティリティはサポートされていません。Ripple社が提供するすべての署名ユーティリティは、少なくとも2014年以降、完全に正規化された署名のみを提供するようになっています。
|
この修正により、単独署名のトランザクションは展性になりません。(署名者が必要以上の署名を提供した場合、[マルチシグのトランザクションはまだ展性であるかもしれません](transaction-malleability.html#マルチシグの展性))。すべてのトランザクションは、tfFullyCanonicalSigフラグに関係なく、署名の完全な正規の形式を使用する必要があります。完全に正規化された署名を作成しない署名ユーティリティはサポートされていません。Ripple社が提供するすべての署名ユーティリティは、少なくとも2014年以降、完全に正規化された署名のみを提供するようになっています。
|
||||||
|
|
||||||
詳しくは、[`rippled` issue #3042](https://github.com/ripple/rippled/issues/3042)を参照してください。
|
詳しくは、[`rippled` issue #3042](https://github.com/ripple/rippled/issues/3042)を参照してください。
|
||||||
|
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ labels:
|
|||||||
|
|
||||||
**[tfFullyCanonicalSigフラグ](transaction-common-fields.html#グローバルフラグ)を使用** して、トランザクションに展性がないことを保証します。[Ed25519キーで署名されている](cryptographic-keys.html#署名アルゴリズム)トランザクションはこの問題に対して脆弱ではありませんが、 _すべての_ トランザクションにこのフラグを使用しても **特に不都合はありません** 。
|
**[tfFullyCanonicalSigフラグ](transaction-common-fields.html#グローバルフラグ)を使用** して、トランザクションに展性がないことを保証します。[Ed25519キーで署名されている](cryptographic-keys.html#署名アルゴリズム)トランザクションはこの問題に対して脆弱ではありませんが、 _すべての_ トランザクションにこのフラグを使用しても **特に不都合はありません** 。
|
||||||
|
|
||||||
2. トランザクションが[マルチ署名済み](multi-signing.html)であり、署名の数が必要以上に多い場合。元々トランザクションに必要な数を上回る署名がされていなかった場合でも、権限のある署名者が追加の署名を提供すると、このトランザクションが展性を得ることがあります。
|
2. トランザクションが[マルチシグ](multi-signing.html)であり、署名の数が必要以上に多い場合。元々トランザクションに必要な数を上回る署名がされていなかった場合でも、権限のある署名者が追加の署名を提供すると、このトランザクションが展性を得ることがあります。
|
||||||
|
|
||||||
適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。ガイドラインについては、[マルチ署名の展性の緩和対策](#マルチ署名の展性の緩和対策)を参照してください。
|
適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。ガイドラインについては、[マルチシグの展性の緩和対策](#マルチシグの展性の緩和対策)を参照してください。
|
||||||
|
|
||||||
|
|
||||||
## 背景
|
## 背景
|
||||||
@@ -58,12 +58,12 @@ Rippleが公開しているすべてのXRP Ledgerソフトウェア(`rippled`
|
|||||||
次の2つの状況においては、RippleのXRP Ledgerの署名実装によってtfFullyCanonicalSigフラグが自動的に有効になりません。次の状況では、フラグを慎重に設定する必要があります。
|
次の2つの状況においては、RippleのXRP Ledgerの署名実装によってtfFullyCanonicalSigフラグが自動的に有効になりません。次の状況では、フラグを慎重に設定する必要があります。
|
||||||
|
|
||||||
- ユーザーがトランザクションの`Flags`フィールドを明示的に指定している場合。ビット単位のORを使用してtfFullyCanonicalSig _と_ その他の必要なすべてのフラグを適用します。
|
- ユーザーがトランザクションの`Flags`フィールドを明示的に指定している場合。ビット単位のORを使用してtfFullyCanonicalSig _と_ その他の必要なすべてのフラグを適用します。
|
||||||
- ユーザーがトランザクションにマルチ署名を提供する場合。マルチ署名の複数の参加者は _厳密に_ 同一のデータに署名する必要があるので、署名コードはtfFullyCanonicalSigフラグを追加するというトランザクションの指示を事前に処理しません。マルチ署名済みトランザクションでは、常にtfFullyCanonicalSigフラグを明示的に有効にしてください。
|
- ユーザーがトランザクションにマルチシグを提供する場合。マルチシグの複数の参加者は _厳密に_ 同一のデータに署名する必要があるので、署名コードはtfFullyCanonicalSigフラグを追加するというトランザクションの指示を事前に処理しません。マルチシグトランザクションでは、常にtfFullyCanonicalSigフラグを明示的に有効にしてください。
|
||||||
|
|
||||||
|
|
||||||
### マルチ署名の展性
|
### マルチシグの展性
|
||||||
|
|
||||||
マルチ署名の明示的で重要な機能として、さまざまな設定によってトランザクションを有効にできるという機能があげられます。たとえば、5人の署名者のうち3人の署名者の署名によってトランザクションを承認できるようにアカウントを設定できます。ただしこの場合、有効なトランザクションにはいくつかのバリエーションが存在する可能性があり、識別用ハッシュは各バリエーションごとに異なります。
|
マルチシグの明示的で重要な機能として、さまざまな設定によってトランザクションを有効にできるという機能があげられます。たとえば、5人の署名者のうち3人の署名者の署名によってトランザクションを承認できるようにアカウントを設定できます。ただしこの場合、有効なトランザクションにはいくつかのバリエーションが存在する可能性があり、識別用ハッシュは各バリエーションごとに異なります。
|
||||||
|
|
||||||
以下のケースはすべて、トランザクション展性の問題につながる可能性があります。
|
以下のケースはすべて、トランザクション展性の問題につながる可能性があります。
|
||||||
|
|
||||||
@@ -73,16 +73,16 @@ Rippleが公開しているすべてのXRP Ledgerソフトウェア(`rippled`
|
|||||||
|
|
||||||
権限のある署名者に意図的な悪意がない場合でも、混乱や不適切な調整が原因で、複数の署名者が同じトランザクションの異なる有効バージョンを送信することがあります。
|
権限のある署名者に意図的な悪意がない場合でも、混乱や不適切な調整が原因で、複数の署名者が同じトランザクションの異なる有効バージョンを送信することがあります。
|
||||||
|
|
||||||
#### マルチ署名の展性の緩和対策
|
#### マルチシグの展性の緩和対策
|
||||||
|
|
||||||
**適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。** 通常、以下のような適切な運用セキュリティ対策に従っていれば、マルチ署名でのトランザクション展性の問題を防ぐことができます。
|
**適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。** 通常、以下のような適切な運用セキュリティ対策に従っていれば、マルチシグでのトランザクション展性の問題を防ぐことができます。
|
||||||
|
|
||||||
- 必要な数以上の署名を収集しない。
|
- 必要な数以上の署名を収集しない。
|
||||||
- 必要な数の署名を収集した後でトランザクションを作成する当事者を任命するか、または署名者が事前に定義された順序でトランザクション指示に署名して次に渡せるように「チェーン」を指定する。
|
- 必要な数の署名を収集した後でトランザクションを作成する当事者を任命するか、または署名者が事前に定義された順序でトランザクション指示に署名して次に渡せるように「チェーン」を指定する。
|
||||||
- マルチ署名リストに不要な署名者または信頼できない署名者を追加しない。これは、これらの署名者のキーに関連付けられている`weight`の値が、トランザクションの承認には不十分である場合にも該当する。
|
- マルチシグリストに不要な署名者または信頼できない署名者を追加しない。これは、これらの署名者のキーに関連付けられている`weight`の値が、トランザクションの承認には不十分である場合にも該当する。
|
||||||
- トランザクションが異なるハッシュまたは想定外の署名セットを使用して実行される可能性に対処できるよう備える。アカウントから送信されたトランザクションを注意深く監視する([account_txメソッド][]などを使用)。
|
- トランザクションが異なるハッシュまたは想定外の署名セットを使用して実行される可能性に対処できるよう備える。アカウントから送信されたトランザクションを注意深く監視する([account_txメソッド][]などを使用)。
|
||||||
- アカウントの`Sequence`番号を監視する([account_infoメソッド][]などを使用)。この番号は、アカウントがトランザクションを正常に送信するたびに1ずつ増えますが、それ以外の状況で増えることはありません。番号が想定した番号と一致しない場合は、最近のトランザクションを調べてその原因を確認します。(展性のあるトランザクションの他にも、このような状況が発生することがあります。たとえばトランザクションを送信するように別のアプリケーションを設定する場合などです。不正使用者が秘密鍵にアクセスした可能性もあります。あるいは、アプリケーションでデータが失われ、送信済みのトランザクションが忘れられた可能性もあります。)
|
- アカウントの`Sequence`番号を監視する([account_infoメソッド][]などを使用)。この番号は、アカウントがトランザクションを正常に送信するたびに1ずつ増えますが、それ以外の状況で増えることはありません。番号が想定した番号と一致しない場合は、最近のトランザクションを調べてその原因を確認します。(展性のあるトランザクションの他にも、このような状況が発生することがあります。たとえばトランザクションを送信するように別のアプリケーションを設定する場合などです。不正使用者が秘密鍵にアクセスした可能性もあります。あるいは、アプリケーションでデータが失われ、送信済みのトランザクションが忘れられた可能性もあります。)
|
||||||
- トランザクションを再度作成してマルチ署名済みにする場合は、目的の処理がまだ実行されていないことを手動で確認している場合を除き、`Sequence`番号を変更 _しないでください_ 。
|
- トランザクションを再度作成してマルチシグにする場合は、目的の処理がまだ実行されていないことを手動で確認している場合を除き、`Sequence`番号を変更 _しないでください_ 。
|
||||||
- 署名前にtfFullyCanonicalSigフラグが有効であることを確認する。
|
- 署名前にtfFullyCanonicalSigフラグが有効であることを確認する。
|
||||||
|
|
||||||
セキュリティ強化のため、上記のガイドラインにより何重もの保護対策が講じられます。
|
セキュリティ強化のため、上記のガイドラインにより何重もの保護対策が講じられます。
|
||||||
@@ -92,7 +92,7 @@ Rippleが公開しているすべてのXRP Ledgerソフトウェア(`rippled`
|
|||||||
|
|
||||||
XRP Ledgerとのインフターフェイスに使用するソフトウェアから展性のあるトランザクションが送信されると、不正使用者がソフトウェアをだましてトランザクションの最終結果を確認できなくし、(最悪の場合)同額の支払いを複数回送金させることが可能になります。
|
XRP Ledgerとのインフターフェイスに使用するソフトウェアから展性のあるトランザクションが送信されると、不正使用者がソフトウェアをだましてトランザクションの最終結果を確認できなくし、(最悪の場合)同額の支払いを複数回送金させることが可能になります。
|
||||||
|
|
||||||
シングルシグネチャーを使用していて、tfFullyCanonicalSigフラグを常に有効にしている場合には、このような悪用に対し脆弱ではありません。マルチ署名を使用していて、署名者が必要な数を超える署名を提供する場合には脆弱になります。
|
シングルシグネチャーを使用していて、tfFullyCanonicalSigフラグを常に有効にしている場合には、このような悪用に対し脆弱ではありません。マルチシグを使用していて、署名者が必要な数を超える署名を提供する場合には脆弱になります。
|
||||||
|
|
||||||
### 悪用シナリオの流れ
|
### 悪用シナリオの流れ
|
||||||
|
|
||||||
@@ -103,10 +103,10 @@ XRP Ledgerとのインフターフェイスに使用するソフトウェアか
|
|||||||
トランザクションでtfFullyCanonicalSigフラグが有効に設定されない状況として以下の3つがあります。
|
トランザクションでtfFullyCanonicalSigフラグが有効に設定されない状況として以下の3つがあります。
|
||||||
|
|
||||||
- システムが`Flags`フィールドを明示的に指定し、このフィールドでtfFullyCanonicalSigビットが有効になっていない。
|
- システムが`Flags`フィールドを明示的に指定し、このフィールドでtfFullyCanonicalSigビットが有効になっていない。
|
||||||
- トランザクションがマルチ署名済みであり、tfFullyCanonicalSigフラグが明示的に有効にされていない。
|
- トランザクションがマルチシグであり、tfFullyCanonicalSigフラグが明示的に有効にされていない。
|
||||||
- システムでトランザクションのフィールドから`Flags`フィールドが省略されているが、署名時にtfFullyCanonicalSigを自動的に有効にしない非標準の実装が使用されている。
|
- システムでトランザクションのフィールドから`Flags`フィールドが省略されているが、署名時にtfFullyCanonicalSigを自動的に有効にしない非標準の実装が使用されている。
|
||||||
|
|
||||||
トランザクションがECDSAキーペアで署名されている場合、そのトランザクションは脆弱になります。マルチ署名済みの場合、トランザクションの署名に少なくとも1つのECDSAキーペアが使用される必要があります。
|
トランザクションがECDSAキーペアで署名されている場合、そのトランザクションは脆弱になります。マルチシグの場合、トランザクションの署名に少なくとも1つのECDSAキーペアが使用される必要があります。
|
||||||
|
|
||||||
ほとんどの場合、脆弱なトランザクションには完全に正規である署名が使用されていますが、トランザクションが完全に正規ではない署名を使用していても、フラグはそのトランザクションが有効であると示します。また、限られた時間内に最終結果が判かるように、トランザクションで`LastLedgerSequence`が使用されていることもあります。
|
ほとんどの場合、脆弱なトランザクションには完全に正規である署名が使用されていますが、トランザクションが完全に正規ではない署名を使用していても、フラグはそのトランザクションが有効であると示します。また、限られた時間内に最終結果が判かるように、トランザクションで`LastLedgerSequence`が使用されていることもあります。
|
||||||
|
|
||||||
|
|||||||
@@ -80,9 +80,9 @@ XRP LedgerのConsensusアルゴリズムの動作方法の詳細は、[XRP Ledge
|
|||||||
## 安全で適応性のある暗号技術
|
## 安全で適応性のある暗号技術
|
||||||
[安全で適応性のある暗号技術]: #安全で適応性のある暗号技術
|
[安全で適応性のある暗号技術]: #安全で適応性のある暗号技術
|
||||||
|
|
||||||
暗号技術は分散システムにおいて最も重要な部分の1つであり、小さな技術的問題が一瞬にして世界中の悪意あるハッカーによる盗難につながる危険性を秘めています。XRP Ledgerは、取引の署名および検証のための業界標準の技術と、何年もの間、数千億USドルにも相当する価値を保護することに成功してきたアルゴリズムを使用しています。また、XRP Ledgerにはマルチ署名機能が備わっているため、バックアップとして多要素認証や複数のユーザー間で分割キーを使用できます。さらに暗号技術の飛躍的な進歩によって古いアルゴリズムが時代遅れになり、新しいアルゴリズムが導入される場合でも、ユーザーはそのままキーを使い続けることができます。
|
暗号技術は分散システムにおいて最も重要な部分の1つであり、小さな技術的問題が一瞬にして世界中の悪意あるハッカーによる盗難につながる危険性を秘めています。XRP Ledgerは、取引の署名および検証のための業界標準の技術と、何年もの間、数千億USドルにも相当する価値を保護することに成功してきたアルゴリズムを使用しています。また、XRP Ledgerにはマルチシグ機能が備わっているため、バックアップとして多要素認証や複数のユーザー間で分割キーを使用できます。さらに暗号技術の飛躍的な進歩によって古いアルゴリズムが時代遅れになり、新しいアルゴリズムが導入される場合でも、ユーザーはそのままキーを使い続けることができます。
|
||||||
|
|
||||||
詳細は、[暗号鍵](cryptographic-keys.html)および[マルチ署名](multi-signing.html)を参照してください。
|
詳細は、[暗号鍵](cryptographic-keys.html)および[マルチシグ](multi-signing.html)を参照してください。
|
||||||
|
|
||||||
|
|
||||||
## スマートコントラクト用の最新機能
|
## スマートコントラクト用の最新機能
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ XRP Ledgerの「アカウント」は、XRPの所有者と[トランザクショ
|
|||||||
- [トランザクションの承認](transaction-basics.html#トランザクションの承認)方法。以下に例を示します。
|
- [トランザクションの承認](transaction-basics.html#トランザクションの承認)方法。以下に例を示します。
|
||||||
- アカウント固有のマスターキーのペア。([無効](accountset.html)にできますが、変更はできません。)
|
- アカウント固有のマスターキーのペア。([無効](accountset.html)にできますが、変更はできません。)
|
||||||
- [ローテーションで使用](setregularkey.html)できる「レギュラー」キーペア。
|
- [ローテーションで使用](setregularkey.html)できる「レギュラー」キーペア。
|
||||||
- [マルチ署名](multi-signing.html)の署名者のリスト。(アカウントのコアデータとは別に保存されます。)
|
- [マルチシグ](multi-signing.html)の署名者のリスト。(アカウントのコアデータとは別に保存されます。)
|
||||||
|
|
||||||
アカウントのコアデータは、レジャーのデータツリーの[AccountRoot](accountroot.html)レジャーのオブジェクトタイプに保存されます。アカウントは、他の複数のタイプのデータの所有者(または部分的な所有者)になることもできます。
|
アカウントのコアデータは、レジャーのデータツリーの[AccountRoot](accountroot.html)レジャーのオブジェクトタイプに保存されます。アカウントは、他の複数のタイプのデータの所有者(または部分的な所有者)になることもできます。
|
||||||
|
|
||||||
@@ -102,9 +102,9 @@ XRP Ledgerでは、トランザクション(取引)履歴をトランザク
|
|||||||
- `RippleState`オブジェクト(トラストライン)。アカウントに関連付けられています。
|
- `RippleState`オブジェクト(トラストライン)。アカウントに関連付けられています。
|
||||||
- `DirectoryNode`オブジェクト(特にアカウントの所有オブジェクトを追跡する所有者ディレクトリ)。
|
- `DirectoryNode`オブジェクト(特にアカウントの所有オブジェクトを追跡する所有者ディレクトリ)。
|
||||||
- `Offer`オブジェクト。分散型取引所でのアカウントの未処理の取引注文を表すオブジェクト。
|
- `Offer`オブジェクト。分散型取引所でのアカウントの未処理の取引注文を表すオブジェクト。
|
||||||
- `PayChannel` アカウントとの間の非同期のPayment Channelを表すオブジェクト。
|
- `PayChannel`アカウントとの間の非同期のPayment Channelを表すオブジェクト。
|
||||||
- `Escrow` 時間または暗号条件によってロックされ、アカウントとの間の保留中の支払いを表すオブジェクト。
|
- `Escrow`時間または暗号条件によってロックされ、アカウントとの間の保留中の支払いを表すオブジェクト。
|
||||||
- `SignerList` [マルチ署名](multi-signing.html)によってアカウントのトランザクションを承認できるアドレスのリストを表すオブジェクト。
|
- `SignerList`[マルチシグ](multi-signing.html)によってアカウントのトランザクションを承認できるアドレスのリストを表すオブジェクト。
|
||||||
|
|
||||||
これらの各オブジェクトの詳細は、[レジャーフォーマットのリファレンス](ledger-data-formats.html)を参照してください。
|
これらの各オブジェクトの詳細は、[レジャーフォーマットのリファレンス](ledger-data-formats.html)を参照してください。
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ XRP Ledgerでは、[トランザクション](transaction-basics.html)による
|
|||||||
|
|
||||||
**シード**
|
**シード**
|
||||||
|
|
||||||
_シード_ 値は、アカウントの実際の秘密鍵(および公開鍵)を[導出する](#鍵導出)ために使用されるコンパクトな値です。`master_key`、`master_seed`、および`master_seed_hex`はすべて、同じシード値を表しますが、フォーマットが異なります。これらのいずれのフォーマットも、[`rippled` API](http-websocket-apis.html)や[その他のXRPLソフトウェア](software-ecosystem.html)で[トランザクションに署名](transaction-basics.html#トランザクションへの署名とトランザクションの送信)するときに使用することができます。キーの先頭に`master_`が付いていますが、このシードが表すキーが必ずしもアカウントのマスターキーであるとは限りません。キーペアは、レギュラーキーだけでなく、マルチ署名のリストのメンバーとしても使用できます。
|
_シード_ 値は、アカウントの実際の秘密鍵(および公開鍵)を[導出する](#鍵導出)ために使用されるコンパクトな値です。`master_key`、`master_seed`、および`master_seed_hex`はすべて、同じシード値を表しますが、フォーマットが異なります。これらのいずれのフォーマットも、[`rippled` API](http-websocket-apis.html)や[その他のXRPLソフトウェア](software-ecosystem.html)で[トランザクションに署名](transaction-basics.html#トランザクションへの署名とトランザクションの送信)するときに使用することができます。キーの先頭に`master_`が付いていますが、このシードが表すキーが必ずしもアカウントのマスターキーであるとは限りません。キーペアは、レギュラーキーだけでなく、マルチシグのリストのメンバーとしても使用できます。
|
||||||
|
|
||||||
シード値はアカウントのその他のあらゆる情報の基盤であるため、慎重に保護する必要があります。アドレスのシード値を知っている人なら誰でも、事実上そのアドレスを完全に制御できます。
|
シード値はアカウントのその他のあらゆる情報の基盤であるため、慎重に保護する必要があります。アドレスのシード値を知っている人なら誰でも、事実上そのアドレスを完全に制御できます。
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
---
|
---
|
||||||
html: multi-signing.html
|
html: multi-signing.html
|
||||||
parent: accounts.html
|
parent: accounts.html
|
||||||
blurb: マルチ署名を使用することで、トランザクション送信時のセキュリティが強化されます。
|
blurb: マルチシグを使用することで、トランザクション送信時のセキュリティが強化されます。
|
||||||
labels:
|
labels:
|
||||||
- スマートコントラクト
|
- スマートコントラクト
|
||||||
- セキュリティ
|
- セキュリティ
|
||||||
---
|
---
|
||||||
# マルチ署名
|
# マルチシグ
|
||||||
|
|
||||||
マルチ署名は、複数のシークレットキーを組み合わせて使用してXRP Ledgerの[トランザクションを承認する](transaction-basics.html#トランザクションの承認)手法です。アドレスで有効な承認手法(マルチ署名、[マスターキーペア](cryptographic-keys.html#マスターキーペア)、[レギュラーキーペア](cryptographic-keys.html#レギュラーキーペア)など)を自由に組み合わせて使用できます。(唯一の要件は、 _少なくとも1つの_ 手法を有効にする必要があることです。)
|
マルチシグは、複数のシークレットキーを組み合わせて使用してXRP Ledgerの[トランザクションを承認する](transaction-basics.html#トランザクションの承認)手法です。アドレスで有効な承認手法(マルチシグ、[マスターキーペア](cryptographic-keys.html#マスターキーペア)、[レギュラーキーペア](cryptographic-keys.html#レギュラーキーペア)など)を自由に組み合わせて使用できます。(唯一の要件は、 _少なくとも1つの_ 手法を有効にする必要があることです。)
|
||||||
|
|
||||||
マルチ署名には次のメリットがあります。
|
マルチシグには次のメリットがあります。
|
||||||
|
|
||||||
* 複数のデバイスからのキーを要求できます。これにより、不正使用者があなたの代わりにトランザクションを送信するには複数のマシンを悪用しなければならなくなります。
|
* 複数のデバイスからのキーを要求できます。これにより、不正使用者があなたの代わりにトランザクションを送信するには複数のマシンを悪用しなければならなくなります。
|
||||||
* 複数のユーザー間で1つのアドレスの管理を共有できます。この場合、各ユーザーが、そのアドレスからトランザクションを送信する際に必要な複数のキーのいずれか1つだけを所有します。
|
* 複数のユーザー間で1つのアドレスの管理を共有できます。この場合、各ユーザーが、そのアドレスからトランザクションを送信する際に必要な複数のキーのいずれか1つだけを所有します。
|
||||||
@@ -19,25 +19,68 @@ labels:
|
|||||||
|
|
||||||
## 署名者リスト
|
## 署名者リスト
|
||||||
|
|
||||||
マルチ署名を使用するには、あなたの代理として署名できるアドレスのリストを作成する必要があります。
|
マルチシグを使用するには、あなたの代理として署名できるアドレスのリストを作成する必要があります。
|
||||||
|
|
||||||
[SignerListSetトランザクション][]は、あなたのアドレスからのトランザクションを承認できるアドレスを定義します。SignerListには最大8個のアドレスを指定できます。SignerListのquorum値とweight値を使用して、必要な署名の数と組み合わせを制御できます。
|
[SignerListSetトランザクション][]は、_署名者リスト_(自分のアドレスからのトランザクションを承認できるアドレスのセット)を定義します。署名者リストには、1~32のアドレスを含めることができます。このリストには、自分のアドレスを含めることはできず、重複して登録することはできません。リストの _Signer Weight_ と _Quorum_ の設定を使用することで、どのような組み合わせでどれだけの署名が必要かを制御することができます。
|
||||||
|
|
||||||
## マルチ署名済みトランザクションの送信
|
_([ExpandedSignerList amendment][]により更新されました。)_
|
||||||
|
|
||||||
マルチ署名済みトランザクションを正常に送信するには、以下のすべての条件を満たす必要があります。
|
### Signer Weight
|
||||||
|
|
||||||
* トランザクションを送信するアドレス(`Account`に指定されるアドレス)は、[レジャーに`SignerList`](signerlist.html)を所有する必要があります。
|
リスト内の各署名者にウェイトを割り当てます。ウェイトは、リスト上の他の署名者と比較して、その署名者の相対的な権限を表します。値が高いほど、より多くの権限を持つことになります。個々のウェイト値は、2<sup>16</sup>-1を超えることはできません。
|
||||||
|
|
||||||
|
### Quorum
|
||||||
|
|
||||||
|
リストの定足数(quorum)の値は、トランザクションを承認するために必要な最小のウェイト合計です。クォーラムは0より大きく、署名者リストのウェイト値の合計以下でなければならない。つまり、与えられた署名者のウェイトでクォーラムを達成することが可能でなければなりません。
|
||||||
|
|
||||||
|
### Wallet Locator
|
||||||
|
|
||||||
|
また、リスト内の各署名者のエントリに最大256ビットの任意のデータを追加することができます。このデータはネットワークで必要とされたり使用されたりすることはありませんが、スマートコントラクトや他のアプリケーションが署名者に関する他のデータを特定したり確認したりするために使用することができます。
|
||||||
|
|
||||||
|
_([ExpandedSignerList amendment][]によって追加されました。)_
|
||||||
|
|
||||||
|
### Signer WeightとQuorumの使用例
|
||||||
|
|
||||||
|
ウェイトと定足数により、アカウントを管理する責任ある参加者への相対的な信頼と権限に基づき、トランザクションごとに適切なレベルの監視を設定することができます。
|
||||||
|
|
||||||
|
共有アカウントのユースケースの場合、定足数1のリストを作成し、すべての参加者に1のウェイトを与えることができます。
|
||||||
|
|
||||||
|
非常に重要なアカウントの場合、定足数を3に設定し、重みを1とする3人の参加者を設定することができます。すべての参加者がトランザクションごとに同意して承認する必要があります。
|
||||||
|
|
||||||
|
CEOのウェイトを3、副社長3人のウェイトを各2、取締役3人のウェイトを各1に割り当てたとする。このアカウントのトランザクションを承認するには、取締役3名全員(合計ウェイト3)、副社長1名と取締役1名(合計ウェイト3)、副社長2名(合計ウェイト4)、またはCEO(合計ウェイト3)の承認が必要となります。
|
||||||
|
|
||||||
|
先の3つのユースケースでは、レギュラーキーを設定せずにマスターキーを無効にすることで、マルチシグが唯一の[トランザクションの承認](transaction-basics.html#authorizing-transactions)の方法となるようにします。
|
||||||
|
|
||||||
|
"バックアッププラン"としてマルチシグリストを作成するシナリオがあるかもしれません。アカウント所有者は、通常、トランザクションにレギュラーキー(マルチシグではない)を使用します。もしアカウント所有者が秘密鍵を紛失した場合、通常の鍵に代わるトランザクションにマルチシグするよう友人に依頼することができます。
|
||||||
|
|
||||||
|
## マルチシグトランザクションの送信
|
||||||
|
|
||||||
|
マルチシグトランザクションを正常に送信するには、以下のすべての条件を満たす必要があります。
|
||||||
|
|
||||||
|
* トランザクションを送信するアドレス(`Account`に指定されるアドレス)は、[レジャーに`SignerList`](signerlist.html)を所有する必要があります。この方法については、[マルチシグを設定する](set-up-multi-signing.html)を参照してください。
|
||||||
* トランザクションに`SigningPubKey`フィールドを空の文字列として含める必要があります。
|
* トランザクションに`SigningPubKey`フィールドを空の文字列として含める必要があります。
|
||||||
* トランザクションに、署名の配列が指定されている[`Signers`フィールド](transaction-common-fields.html#signersフィールド)を含める必要があります。
|
* トランザクションに、署名の配列が指定されている[`Signers`フィールド](transaction-common-fields.html#signersフィールド)を含める必要があります。
|
||||||
* `Signers`配列に含まれている署名は、SignerListで定義されている署名と一致している必要があります。
|
* `Signers`配列に含まれている署名は、`SignerList`で定義されている署名と一致している必要があります。
|
||||||
* 指定された署名で、これらの署名者に関連付けられている`weight`の合計が、SignerListの`quorum`以上である必要があります。
|
* 指定された署名で、これらの署名者に関連付けられている`weight`の合計が、`SignerList`の`quorum`以上である必要があります。
|
||||||
* [トランザクションコスト](transaction-cost.html)(`Fee`フィールドで指定)は、通常のトランザクションコストの(N+1)倍以上である必要があります。このNは、指定される署名の数です。
|
* [トランザクションコスト](transaction-cost.html)(`Fee`フィールドで指定)は、通常のトランザクションコストの(N+1)倍以上である必要があります。このNは、指定される署名の数です。
|
||||||
* トランザクションのすべてのフィールドは、署名収集前に定義する必要があります。フィールドの[自動入力](transaction-common-fields.html#自動入力可能なフィールド)は実行できません。
|
* トランザクションのすべてのフィールドは、署名収集前に定義する必要があります。フィールドの[自動入力](transaction-common-fields.html#自動入力可能なフィールド)は実行できません。
|
||||||
* `Signers` 配列がバイナリ形式で指定される場合、この配列は署名者アドレスの数値に基づいて、低い値から順にソートされている必要があります。(JSONとして提出される場合は、[submit_multisignedメソッド][] がこの処理を自動的に実行します。)
|
* `Signers`配列がバイナリ形式で指定される場合、この配列は署名者アドレスの数値に基づいて、低い値から順にソートされている必要があります。(JSONとして提出される場合は、[submit_multisignedメソッド][]がこの処理を自動的に実行します。)
|
||||||
|
|
||||||
詳細は、[マルチ署名の設定](set-up-multi-signing.html)を参照してください。
|
詳細は、[マルチシグの設定](set-up-multi-signing.html)を参照してください。
|
||||||
|
|
||||||
|
## 関連項目
|
||||||
|
|
||||||
|
- **チュートリアル:**
|
||||||
|
- [マルチシグを設定する](set-up-multi-signing.html)
|
||||||
|
- [マルチシグトランザクションを送信する](send-a-multi-signed-transaction.html)
|
||||||
|
- **コンセプト:**
|
||||||
|
- [暗号鍵](cryptographic-keys.html)
|
||||||
|
- [マルチシグトランザクションの特別なトランザクションコスト](transaction-cost.html#特別なトランザクションコスト)
|
||||||
|
- **リファレンス:**
|
||||||
|
- [SignerListSetトランザクション][]
|
||||||
|
- [SignerListオブジェクト](signerlist.html)
|
||||||
|
- [sign_forメソッド][]
|
||||||
|
- [submit_multisignedメソッド][]
|
||||||
|
|
||||||
{% include '_snippets/rippled-api-links.md' %}
|
{% include '_snippets/rippled-api-links.md' %}
|
||||||
{% include '_snippets/tx-type-links.md' %}
|
{% include '_snippets/tx-type-links.md' %}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引
|
|||||||
|
|
||||||
|
|
||||||
- **Concepts:**
|
- **Concepts:**
|
||||||
- [マルチ署名](multi-signing.html)
|
- [マルチシグ](multi-signing.html)
|
||||||
- **Tutorials:**
|
- **Tutorials:**
|
||||||
- [チケットを使用する](use-tickets.html)
|
- [チケットを使用する](use-tickets.html)
|
||||||
- **References:**
|
- **References:**
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ _トランザクション(取引)_ は、XRP Ledgerを変更する唯一の
|
|||||||
|
|
||||||
* 送信元アドレスと数学的に関連付けられている、マスター秘密鍵による単一の署名。[AccountSetトランザクション][]を使用して、マスターキーペアを無効または有効にできます。
|
* 送信元アドレスと数学的に関連付けられている、マスター秘密鍵による単一の署名。[AccountSetトランザクション][]を使用して、マスターキーペアを無効または有効にできます。
|
||||||
* アドレスに関連付けられているレギュラー秘密鍵と一致する単一の署名。[SetRegularKeyトランザクション][]を使用して、レギュラーキーペアを追加、削除、または置き換えることができます。
|
* アドレスに関連付けられているレギュラー秘密鍵と一致する単一の署名。[SetRegularKeyトランザクション][]を使用して、レギュラーキーペアを追加、削除、または置き換えることができます。
|
||||||
* アドレスが所有する署名者のリストと一致する[マルチ署名](multi-signing.html)。[SignerListSetトランザクション][]を使用して、署名者のリストを追加、削除、または置換することができます。
|
* アドレスが所有する署名者のリストと一致する[マルチシグ](multi-signing.html)。[SignerListSetトランザクション][]を使用して、署名者のリストを追加、削除、または置換することができます。
|
||||||
|
|
||||||
署名の種類に関係なく、あらゆるタイプのトランザクションを承認できます。ただし、次の例外があります。
|
署名の種類に関係なく、あらゆるタイプのトランザクションを承認できます。ただし、次の例外があります。
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ
|
|||||||
|-----------------------|--------------------------|
|
|-----------------------|--------------------------|
|
||||||
| [Referenceトランザクション](#referenceトランザクションコスト)(ほとんどのトランザクション) | 10 drop |
|
| [Referenceトランザクション](#referenceトランザクションコスト)(ほとんどのトランザクション) | 10 drop |
|
||||||
| [Key Resetトランザクション](#key-resetトランザクション)| 0 |
|
| [Key Resetトランザクション](#key-resetトランザクション)| 0 |
|
||||||
| [マルチ署名済みトランザクション](multi-signing.html)| 10 drop × (1 + 署名の数) |
|
| [マルチシグトランザクション](multi-signing.html)| 10 drop × (1 + 署名の数) |
|
||||||
| [フルフィルメントを伴うEscrowFinishトランザクション](escrowfinish.html)| 10 drop × (33 + (バイト単位のフルフィルメントサイズ ÷ 16)) |
|
| [フルフィルメントを伴うEscrowFinishトランザクション](escrowfinish.html)| 10 drop × (33 + (バイト単位のフルフィルメントサイズ ÷ 16)) |
|
||||||
| [AccountDeleteトランザクション](accounts.html#アカウントの削除)| 5,000,000 drop |
|
| [AccountDeleteトランザクション](accounts.html#アカウントの削除)| 5,000,000 drop |
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ
|
|||||||
|
|
||||||
新しいレジャーバージョンごとに、サーバーは前のレジャーのトランザクション数に基づいてオープンレジャーに含めるトランザクション数のソフトリミットを選択します。オープンレジャーコストは、オープンレジャー内のトランザクション数がソフトリミットと等しくなるまでは、スケーリングされていない最低トランザクションコストと同じです。それを超えると、オープンレジャーコストはオープンレジャーに含まれるトランザクションごとに急激に増加します。次のレジャーでは、現行のレジャーにソフトリミットを超えるトランザクションが含まれていれば、サーバーはソフトリミットを高くし、コンセンサスプロセスに5秒より時間が掛かる場合はソフトリミットを低くします。
|
新しいレジャーバージョンごとに、サーバーは前のレジャーのトランザクション数に基づいてオープンレジャーに含めるトランザクション数のソフトリミットを選択します。オープンレジャーコストは、オープンレジャー内のトランザクション数がソフトリミットと等しくなるまでは、スケーリングされていない最低トランザクションコストと同じです。それを超えると、オープンレジャーコストはオープンレジャーに含まれるトランザクションごとに急激に増加します。次のレジャーでは、現行のレジャーにソフトリミットを超えるトランザクションが含まれていれば、サーバーはソフトリミットを高くし、コンセンサスプロセスに5秒より時間が掛かる場合はソフトリミットを低くします。
|
||||||
|
|
||||||
オープンレジャーコストの水準は、絶対的なトランザクションコストではなく[標準的なトランザクションコストに比例](#手数料レベル)しています。標準よりも高い要件を持つトランザクションタイプ([マルチ署名済みトランザクション](multi-signing.html)など)は、オープンレジャーコストを満たすために最低限のトランザクションコスト要件を持つトランザクションよりも多く支払う必要があります。
|
オープンレジャーコストの水準は、絶対的なトランザクションコストではなく[標準的なトランザクションコストに比例](#手数料レベル)しています。標準よりも高い要件を持つトランザクションタイプ([マルチシグトランザクション](multi-signing.html)など)は、オープンレジャーコストを満たすために最低限のトランザクションコスト要件を持つトランザクションよりも多く支払う必要があります。
|
||||||
|
|
||||||
関連項目: [`rippled`リポジトリー内のFee Escalationの説明](https://github.com/ripple/rippled/blob/release/src/ripple/app/misc/FeeEscalation.md)。
|
関連項目: [`rippled`リポジトリー内のFee Escalationの説明](https://github.com/ripple/rippled/blob/release/src/ripple/app/misc/FeeEscalation.md)。
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ
|
|||||||
|
|
||||||
## Referenceトランザクションコスト
|
## Referenceトランザクションコスト
|
||||||
|
|
||||||
「Referenceトランザクション」とは、負荷スケーリング前の[トランザクションコスト](transaction-cost.html)という観点からは、最も安価な(無料ではない)トランザクションと言えます。ほとんどのトランザクションのコストはReferenceトランザクションと同じです。[マルチ署名済みトランザクション](multi-signing.html)など一部のトランザクションでは、このコストの数倍のコストが必要です。オープンレジャーコストが上昇する場合は、コスト水準はトランザクションの基本コストに比例します。
|
「Referenceトランザクション」とは、負荷スケーリング前の[トランザクションコスト](transaction-cost.html)という観点からは、最も安価な(無料ではない)トランザクションと言えます。ほとんどのトランザクションのコストはReferenceトランザクションと同じです。[マルチシグトランザクション](multi-signing.html)など一部のトランザクションでは、このコストの数倍のコストが必要です。オープンレジャーコストが上昇する場合は、コスト水準はトランザクションの基本コストに比例します。
|
||||||
|
|
||||||
### 手数料レベル
|
### 手数料レベル
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ
|
|||||||
| トランザクション | drop単位の最少コスト | 手数料レベルでの最少コスト | drop単位で倍のコスト | 手数料レベルで倍のコスト |
|
| トランザクション | drop単位の最少コスト | 手数料レベルでの最少コスト | drop単位で倍のコスト | 手数料レベルで倍のコスト |
|
||||||
|-------------|-----------------------|----------------------------|----------------------|---------------------------|
|
|-------------|-----------------------|----------------------------|----------------------|---------------------------|
|
||||||
| Referenceトランザクション(ほとんどのトランザクション) | 10 | 256 | 20 | 512 |
|
| Referenceトランザクション(ほとんどのトランザクション) | 10 | 256 | 20 | 512 |
|
||||||
| 4つの署名を持つ[マルチ署名済みトランザクション](multi-signing.html) | 50 | 256 | 100 | 512 |
|
| 4つの署名を持つ[マルチシグトランザクション](multi-signing.html) | 50 | 256 | 100 | 512 |
|
||||||
| [Key Resetトランザクション](transaction-cost.html#key-resetトランザクション) | 0 | (事実上無限) | なし | (事実上無限) |
|
| [Key Resetトランザクション](transaction-cost.html#key-resetトランザクション) | 0 | (事実上無限) | なし | (事実上無限) |
|
||||||
| 32バイトのプリイメージ付きの[EscrowFinishトランザクション](escrowfinish.html)。 | 350 | 256 | 700 | 512 |
|
| 32バイトのプリイメージ付きの[EscrowFinishトランザクション](escrowfinish.html)。 | 350 | 256 | 700 | 512 |
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ
|
|||||||
* 署名するトランザクションの`Fee`フィールドの正確な値は事前にわかりません。
|
* 署名するトランザクションの`Fee`フィールドの正確な値は事前にわかりません。
|
||||||
* `rippled`を使用している場合は、[signメソッド][]の`fee_mult_max`パラメーターと`fee_div_max`パラメーターを使用して、署名しようとしている負荷スケーリングに制限を設定することもできます。
|
* `rippled`を使用している場合は、[signメソッド][]の`fee_mult_max`パラメーターと`fee_div_max`パラメーターを使用して、署名しようとしている負荷スケーリングに制限を設定することもできます。
|
||||||
* オフラインのマシンから現在のトランザクションコストを調べることはできません。
|
* オフラインのマシンから現在のトランザクションコストを調べることはできません。
|
||||||
* [マルチ署名](multi-signing.html)の場合、トランザクションコストの自動指定は行えません。
|
* [マルチシグ](multi-signing.html)の場合、トランザクションコストの自動指定は行えません。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ Escrow Amendmentのステータスは、[featureメソッド][]を使用して
|
|||||||
|
|
||||||
Escrowが時間のみによってロックされており、Crypto-conditionがない場合、EscrowFinishのコストは、リファレンストランザクションの標準[トランザクションコスト](transaction-cost.html)のみです。
|
Escrowが時間のみによってロックされており、Crypto-conditionがない場合、EscrowFinishのコストは、リファレンストランザクションの標準[トランザクションコスト](transaction-cost.html)のみです。
|
||||||
|
|
||||||
必要となる追加のトランザクションコストは、フルフィルメントのサイズに比例します。現時点では、フルフィルメントのあるEscrowFinishでは最小トランザクションコストとして、**330 drop([XRPのdrop数](basic-data-types.html#通貨額の指定))と、フルフィルメントのサイズで16バイトあたり10 drop**が必要です。[マルチ署名済み](multi-signing.html)トランザクションの場合、マルチ署名のコストがフルフィルメントのコストに加算されます。
|
必要となる追加のトランザクションコストは、フルフィルメントのサイズに比例します。現時点では、フルフィルメントのあるEscrowFinishでは最小トランザクションコストとして、**330 drop([XRPのdrop数](basic-data-types.html#通貨額の指定))と、フルフィルメントのサイズで16バイトあたり10 drop**が必要です。[マルチシグ](multi-signing.html)トランザクションの場合、マルチシグのコストがフルフィルメントのコストに加算されます。
|
||||||
|
|
||||||
**注記:** 上記の式は、トランザクションのリファレンスコストがXRPの10 dropであることを前提としています。
|
**注記:** 上記の式は、トランザクションのリファレンスコストがXRPの10 dropであることを前提としています。
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ XRP Ledgerは金融機関に対し、その発行資金が表す債務を履行
|
|||||||
|
|
||||||
No Freeze設定は、アドレスに対して発行される通貨と、アドレスから発行される通貨のすべてに適用されます。一部の通貨のみを凍結できるようにしたい場合は、通貨ごとに異なるアドレスを使用してください。
|
No Freeze設定は、アドレスに対して発行される通貨と、アドレスから発行される通貨のすべてに適用されます。一部の通貨のみを凍結できるようにしたい場合は、通貨ごとに異なるアドレスを使用してください。
|
||||||
|
|
||||||
No Freeze設定は、アドレスのマスターキーのシークレットキーにより署名されたトランザクションでのみ有効にできます。[レギュラーキー](setregularkey.html)または[マルチ署名済みトランザクション](multi-signing.html)を使用してNo Freezeを有効にすることはできません。
|
No Freeze設定は、アドレスのマスターキーのシークレットキーにより署名されたトランザクションでのみ有効にできます。[レギュラーキー](setregularkey.html)または[マルチシグトランザクション](multi-signing.html)を使用してNo Freezeを有効にすることはできません。
|
||||||
|
|
||||||
|
|
||||||
<!--{# TODO: update "See Also" with new tutorials' technical details #}-->
|
<!--{# TODO: update "See Also" with new tutorials' technical details #}-->
|
||||||
|
|||||||
@@ -180,18 +180,18 @@ Connecting to 127.0.0.1:5005
|
|||||||
| `master_seed` | 文字列 | これはキーペアの秘密鍵です。このアカウントに関するその他のあらゆる情報が、マスターシードからXRP Ledgerの[base58][]エンコード文字列フォーマットで引き出されます。通常、このフォーマットのキーを使用してトランザクションに署名します。 |
|
| `master_seed` | 文字列 | これはキーペアの秘密鍵です。このアカウントに関するその他のあらゆる情報が、マスターシードからXRP Ledgerの[base58][]エンコード文字列フォーマットで引き出されます。通常、このフォーマットのキーを使用してトランザクションに署名します。 |
|
||||||
| `master_seed_hex` | 文字列 | 16進数形式のマスターシード。単純で広く支持されている秘密鍵表示法。トランザクションの署名に使用できます。 |
|
| `master_seed_hex` | 文字列 | 16進数形式のマスターシード。単純で広く支持されている秘密鍵表示法。トランザクションの署名に使用できます。 |
|
||||||
| `master_key` | 文字列 | **廃止予定** [RFC-1751][]形式のマスターシード。覚えやすく書き留めやすい秘密鍵。トランザクションの署名に使用できます。**注記:** `rippled`の実装では、RFC-1751からデコードした後、RFC-1751にエンコードする前に、キーのバイト順序が逆になります。別のRFC-1751実装を使用して、XRP Ledgerで使用するキーの読み書きを行う場合は、同様にして、`rippled`のRFC-1751エンコーディングとの互換性を保つ必要があります。 |
|
| `master_key` | 文字列 | **廃止予定** [RFC-1751][]形式のマスターシード。覚えやすく書き留めやすい秘密鍵。トランザクションの署名に使用できます。**注記:** `rippled`の実装では、RFC-1751からデコードした後、RFC-1751にエンコードする前に、キーのバイト順序が逆になります。別のRFC-1751実装を使用して、XRP Ledgerで使用するキーの読み書きを行う場合は、同様にして、`rippled`のRFC-1751エンコーディングとの互換性を保つ必要があります。 |
|
||||||
| `account_id` | 文字列 | XRP Ledgerの[base58][]フォーマットで作成されたアカウントの[アドレス][]。これは公開鍵ではありませんが、公開鍵を2回ハッシュ化したものです。チェックサムも持っているため、タイプミスした場合はほぼ間違いなく無効なアドレスとみなされ、有効だが異なるアドレスとはみなされません。これはXRP LedgerのアカウントのプライマリIDです。支払いを受けるときにこれを人に伝えたり、トランザクションにおいて、自身や、支払先、委託先識別するのに使用します。[マルチ署名のリスト](multi-signing.html)でもこれを使用して、他の署名者を識別します。 |
|
| `account_id` | 文字列 | XRP Ledgerの[base58][]フォーマットで作成されたアカウントの[アドレス][]。これは公開鍵ではありませんが、公開鍵を2回ハッシュ化したものです。チェックサムも持っているため、タイプミスした場合はほぼ間違いなく無効なアドレスとみなされ、有効だが異なるアドレスとはみなされません。これはXRP LedgerのアカウントのプライマリIDです。支払いを受けるときにこれを人に伝えたり、トランザクションにおいて、自身や、支払先、委託先識別するのに使用します。[マルチシグリスト](multi-signing.html)でもこれを使用して、他の署名者を識別します。 |
|
||||||
| `public_key` | 文字列 | XRP Ledgerの[base58][]エンコード文字列フォーマットで作成された、キーペアの公開鍵。`master_seed`から生成されます。 |
|
| `public_key` | 文字列 | XRP Ledgerの[base58][]エンコード文字列フォーマットで作成された、キーペアの公開鍵。`master_seed`から生成されます。 |
|
||||||
| `public_key_hex` | 文字列 | これは16進数で作成されたキーペアの公開鍵です。`master_seed`から生成されます。トランザクションの署名を検証する場合、`rippled`にはこの公開鍵が必要です。そのため、署名されたトランザクションのフォーマットの`SigningPubKey`フィールドには公開鍵が入力されています。 |
|
| `public_key_hex` | 文字列 | これは16進数で作成されたキーペアの公開鍵です。`master_seed`から生成されます。トランザクションの署名を検証する場合、`rippled`にはこの公開鍵が必要です。そのため、署名されたトランザクションのフォーマットの`SigningPubKey`フィールドには公開鍵が入力されています。 |
|
||||||
| `warning` | 文字列 | (削除される可能性あり)要求にシード値を指定した場合、このフィールドに安全でない可能性があるという警告が表示されます。[新規: rippled 0.32.0][] |
|
| `warning` | 文字列 | (削除される可能性あり)要求にシード値を指定した場合、このフィールドに安全でない可能性があるという警告が表示されます。[新規: rippled 0.32.0][] |
|
||||||
|
|
||||||
このメソッドを使用してキーペアを生成し、アカウントのレギュラーキーペアとして使用することもできます。アカウントにレギュラーキーペアを割り当てて、それを使用してほとんどのトランザクションに署名し、マスターキーペアをできるだけオフラインにしておくことも可能です。
|
このメソッドを使用してキーペアを生成し、アカウントのレギュラーキーペアとして使用することもできます。アカウントにレギュラーキーペアを割り当てて、それを使用してほとんどのトランザクションに署名し、マスターキーペアをできるだけオフラインにしておくことも可能です。
|
||||||
|
|
||||||
レギュラーキーペアとして使用するほかに、マルチ署名のリスト(SignerList)のメンバーとして使用することもできます。
|
レギュラーキーペアとして使用するほかに、マルチシグのリスト(SignerList)のメンバーとして使用することもできます。
|
||||||
|
|
||||||
マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](cryptographic-keys.html)を参照してください。
|
マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](cryptographic-keys.html)を参照してください。
|
||||||
|
|
||||||
マルチ署名の詳細は、[マルチ署名](multi-signing.html)を参照してください。
|
マルチシグの詳細は、[マルチシグ](multi-signing.html)を参照してください。
|
||||||
|
|
||||||
|
|
||||||
### 考えられるエラー
|
### 考えられるエラー
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ labels:
|
|||||||
# sign
|
# sign
|
||||||
[[ソース]](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/SignHandler.cpp "ソース")
|
[[ソース]](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/SignHandler.cpp "ソース")
|
||||||
|
|
||||||
`sign`メソッドは[JSONフォーマットのトランザクション](transaction-formats.html)と[シード値](cryptographic-keys.html)を受け取り、トランザクションの署名済みバイナリー表現を返します。[マルチ署名済みトランザクション](multi-signing.html)に署名を付与する場合は、代わりに[sign_forメソッド][]を使用します。
|
`sign`メソッドは[JSONフォーマットのトランザクション](transaction-formats.html)と[シード値](cryptographic-keys.html)を受け取り、トランザクションの署名済みバイナリー表現を返します。[マルチシグトランザクション](multi-signing.html)に署名を付与する場合は、代わりに[sign_forメソッド][]を使用します。
|
||||||
|
|
||||||
{% include '_snippets/public-signing-note.md' %}
|
{% include '_snippets/public-signing-note.md' %}
|
||||||
<!--_ -->
|
<!--_ -->
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
---
|
---
|
||||||
html: sign_for.html
|
html: sign_for.html
|
||||||
parent: signing-methods.html
|
parent: signing-methods.html
|
||||||
blurb: マルチ署名済みトランザクションの署名を1つ提供します。
|
blurb: マルチシグトランザクションの署名を1つ提供します。
|
||||||
labels:
|
labels:
|
||||||
- トランザクション送信
|
- トランザクション送信
|
||||||
---
|
---
|
||||||
# sign_for
|
# sign_for
|
||||||
[[ソース]](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SignFor.cpp "Source")
|
[[ソース]](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SignFor.cpp "Source")
|
||||||
|
|
||||||
`sign_for`コマンドは、[マルチ署名済みトランザクション](multi-signing.html)の署名を1つ提供します。
|
`sign_for`コマンドは、[マルチシグトランザクション](multi-signing.html)の署名を1つ提供します。
|
||||||
|
|
||||||
{% include '_snippets/public-signing-note.md' %}
|
{% include '_snippets/public-signing-note.md' %}
|
||||||
<!--_ -->
|
<!--_ -->
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ rippled account_info r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 true
|
|||||||
| `Field` | 型 | 説明 |
|
| `Field` | 型 | 説明 |
|
||||||
|:-----------------------|:--------|:------------------------------------------|
|
|:-----------------------|:--------|:------------------------------------------|
|
||||||
| `account_data` | オブジェクト | このアカウントの情報を含む[AccountRootレジャーオブジェクト](accountroot.html)がレジャーに保管されているとおりに表示されます。 |
|
| `account_data` | オブジェクト | このアカウントの情報を含む[AccountRootレジャーオブジェクト](accountroot.html)がレジャーに保管されているとおりに表示されます。 |
|
||||||
| `signer_lists` | 配列 | (要求に`signer_lists`が指定されていて、少なくとも1つのSignerListがアカウントに関連する場合を除いて省略されます。)[マルチ署名](multi-signing.html)用にアカウントに関連付けられた[SignerListレジャーオブジェクト](signerlist.html)の配列。アカウントが所有できるSignerListは最大1つであるため、この配列のメンバーは存在するとすれば、1メンバーのみです。[新規: rippled 0.31.0][] |
|
| `signer_lists` | 配列 | (要求に`signer_lists`が指定されていて、少なくとも1つのSignerListがアカウントに関連する場合を除いて省略されます。)[マルチシグ](multi-signing.html)用にアカウントに関連付けられた[SignerListレジャーオブジェクト](signerlist.html)の配列。アカウントが所有できるSignerListは最大1つであるため、この配列のメンバーは存在するとすれば、1メンバーのみです。[新規: rippled 0.31.0][] |
|
||||||
| `ledger_current_index` | 整数 | (`ledger_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていた最新のレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 |
|
| `ledger_current_index` | 整数 | (`ledger_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていた最新のレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 |
|
||||||
| `ledger_index` | 整数 | (`ledger_current_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていたレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 |
|
| `ledger_index` | 整数 | (`ledger_current_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていたレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 |
|
||||||
| `queue_data` | オブジェクト | (`queue`が`true`と指定され、現在開いているレジャーを問い合わせている場合を除いて省略されます。)このアカウントによって送信された[キューに入れられたトランザクション](transaction-cost.html#キューに入れられたトランザクション)についての情報。この情報にはローカル`rippled`サーバーの状態が示されますが、コンセンサスネットワーク内の他のサーバーとは異なる場合があります。示される値はキューイングメカニズムによって「大まかに」計算されるため、一部のフィールドは省略される場合があります。 |
|
| `queue_data` | オブジェクト | (`queue`が`true`と指定され、現在開いているレジャーを問い合わせている場合を除いて省略されます。)このアカウントによって送信された[キューに入れられたトランザクション](transaction-cost.html#キューに入れられたトランザクション)についての情報。この情報にはローカル`rippled`サーバーの状態が示されますが、コンセンサスネットワーク内の他のサーバーとは異なる場合があります。示される値はキューイングメカニズムによって「大まかに」計算されるため、一部のフィールドは省略される場合があります。 |
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ labels:
|
|||||||
|
|
||||||
- 現在処理中、資金化されていない、または有効期限切れで削除されていないオーダーの[Offerオブジェクト](offer.html)。(詳細は、[オファーのライフサイクル](offers.html#オファーのライフサイクル)を参照してください。)
|
- 現在処理中、資金化されていない、または有効期限切れで削除されていないオーダーの[Offerオブジェクト](offer.html)。(詳細は、[オファーのライフサイクル](offers.html#オファーのライフサイクル)を参照してください。)
|
||||||
- このアカウント側がデフォルト状態にないトラストラインの[RippleStateオブジェクト](ripplestate.html)。
|
- このアカウント側がデフォルト状態にないトラストラインの[RippleStateオブジェクト](ripplestate.html)。
|
||||||
- アカウントの[SignerList](signerlist.html)(アカウントで[マルチ署名](multi-signing.html)が有効な場合)。
|
- アカウントの[SignerList](signerlist.html)(アカウントで[マルチシグ](multi-signing.html)が有効な場合)。
|
||||||
- 実行されていないかまたは取り消されていない保留中の支払いの[Escrowオブジェクト](escrow.html)。
|
- 実行されていないかまたは取り消されていない保留中の支払いの[Escrowオブジェクト](escrow.html)。
|
||||||
- オープンPayment Channelの[PayChannelオブジェクト](paychannel.html)。
|
- オープンPayment Channelの[PayChannelオブジェクト](paychannel.html)。
|
||||||
- 保留中のCheckの[Checkオブジェクト](check.html)。
|
- 保留中のCheckの[Checkオブジェクト](check.html)。
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ XRP Ledgerのアカウントとは、XRPの保有者と取引の送信者を意
|
|||||||
トランザクションだけが、XRP Ledgerの共有されている状態を変更できます。XRP Ledgerに対するすべてのビジネスはトランザクションの形態をとります。以下のメソッドを使用して、トランザクションを処理します。
|
トランザクションだけが、XRP Ledgerの共有されている状態を変更できます。XRP Ledgerに対するすべてのビジネスはトランザクションの形態をとります。以下のメソッドを使用して、トランザクションを処理します。
|
||||||
|
|
||||||
* **[`sign`](sign.html)** - トランザクションに暗号で署名します。
|
* **[`sign`](sign.html)** - トランザクションに暗号で署名します。
|
||||||
* **[`sign_for`](sign_for.html)** - マルチ署名に署名を提供します。
|
* **[`sign_for`](sign_for.html)** - マルチシグに署名を提供します。
|
||||||
* **[`submit`](submit.html)** - トランザクションをネットワークに送信します。
|
* **[`submit`](submit.html)** - トランザクションをネットワークに送信します。
|
||||||
* **[`submit_multisigned`](submit_multisigned.html)** - マルチ署名済みトランザクションをネットワークに送信します。
|
* **[`submit_multisigned`](submit_multisigned.html)** - マルチシグトランザクションをネットワークに送信します。
|
||||||
* **[`transaction_entry`](transaction_entry.html)** - レジャーの特定のバージョンからトランザクションについての情報を取得します。
|
* **[`transaction_entry`](transaction_entry.html)** - レジャーの特定のバージョンからトランザクションについての情報を取得します。
|
||||||
* **[`tx`](tx.html)** - 手元にあるすべてのレジャーからトランザクションについての情報を取得します。
|
* **[`tx`](tx.html)** - 手元にあるすべてのレジャーからトランザクションについての情報を取得します。
|
||||||
* **[`tx_history`](tx_history.html)** - 最新の全トランザクションについての情報を取得します。
|
* **[`tx_history`](tx_history.html)** - 最新の全トランザクションについての情報を取得します。
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ labels:
|
|||||||
|
|
||||||
| `Field` | 型 | 説明 |
|
| `Field` | 型 | 説明 |
|
||||||
|:------------|:--------|:-----------------------------------------------------|
|
|:------------|:--------|:-----------------------------------------------------|
|
||||||
| `tx_blob` | 文字列 | 送信する署名済みトランザクションの16進表現。[マルチ署名済みトランザクション](multi-signing.html)を送信することもできます。 |
|
| `tx_blob` | 文字列 | 送信する署名済みトランザクションの16進表現。[マルチシグトランザクション](multi-signing.html)を送信することもできます。 |
|
||||||
| `fail_hard` | ブール値 | (省略可。デフォルトはfalse)trueにした場合は、トランザクションがローカルで失敗したときに再試行されず、他のサーバーにも中継されません。 |
|
| `fail_hard` | ブール値 | (省略可。デフォルトはfalse)trueにした場合は、トランザクションがローカルで失敗したときに再試行されず、他のサーバーにも中継されません。 |
|
||||||
|
|
||||||
### 要求フォーマット
|
### 要求フォーマット
|
||||||
@@ -68,7 +68,7 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534
|
|||||||
|
|
||||||
## 署名と送信モード
|
## 署名と送信モード
|
||||||
|
|
||||||
このモードでは、トランザクションに署名してただちに送信します。このモードは、テストで使用することを目的としています。[マルチ署名済みトランザクション](multi-signing.html)には使用できません。
|
このモードでは、トランザクションに署名してただちに送信します。このモードは、テストで使用することを目的としています。[マルチシグトランザクション](multi-signing.html)には使用できません。
|
||||||
|
|
||||||
_デフォルトでは、署名と送信モードは[管理者専用](admin-api-methods.html)です。_ サーバーで[パブリック署名が有効になっている](enable-public-signing.html)場合は、パブリックメソッドとして使用できます。
|
_デフォルトでは、署名と送信モードは[管理者専用](admin-api-methods.html)です。_ サーバーで[パブリック署名が有効になっている](enable-public-signing.html)場合は、パブリックメソッドとして使用できます。
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
---
|
---
|
||||||
html: submit_multisigned.html
|
html: submit_multisigned.html
|
||||||
parent: transaction-methods.html
|
parent: transaction-methods.html
|
||||||
blurb: マルチ署名済みトランザクションを適用し、このトランザクションをネットワークに送信します。
|
blurb: マルチシグトランザクションを適用し、このトランザクションをネットワークに送信します。
|
||||||
labels:
|
labels:
|
||||||
- トランザクション送信
|
- トランザクション送信
|
||||||
---
|
---
|
||||||
# submit_multisigned
|
# submit_multisigned
|
||||||
[[ソース]](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SubmitMultiSigned.cpp "Source")
|
[[ソース]](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SubmitMultiSigned.cpp "Source")
|
||||||
|
|
||||||
`submit_multisigned`コマンドは[マルチ署名済み](multi-signing.html)トランザクションを適用し、このトランザクションをネットワークに送信して、今後のレジャーに追加します。([`submit`コマンドを送信専用モードで](submit.html#送信専用モード)使用して、マルチ署名済みトランザクションをバイナリー形式で送信することもできます。)
|
`submit_multisigned`コマンドは[マルチシグ](multi-signing.html)トランザクションを適用し、このトランザクションをネットワークに送信して、今後のレジャーに追加します。([`submit`コマンドを送信専用モードで](submit.html#送信専用モード)使用して、マルチシグトランザクションをバイナリー形式で送信することもできます。)
|
||||||
|
|
||||||
このコマンドを使用するには、[MultiSign Amendment][]が有効になっている必要があります。[新規: rippled 0.31.0][]
|
このコマンドを使用するには、[MultiSign Amendment][]が有効になっている必要があります。[新規: rippled 0.31.0][]
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ blurb: さまざまなタイプのオブジェクトがそれぞれ異なる方
|
|||||||
| 署名済みのトランザクション | トランザクションの`hash` | `0x54584E00` | `TXN\0` |
|
| 署名済みのトランザクション | トランザクションの`hash` | `0x54584E00` | `TXN\0` |
|
||||||
| メタデータを持つトランザクション | なし | `0x534E4400` | `SND\0` |
|
| メタデータを持つトランザクション | なし | `0x534E4400` | `SND\0` |
|
||||||
| 未署名のトランザクション(シングル署名) | なし | `0x53545800` | `STX\0` |
|
| 未署名のトランザクション(シングル署名) | なし | `0x53545800` | `STX\0` |
|
||||||
| 未署名のトランザクション(マルチ署名) | なし | `0x534D5400` | `SMT\0` |
|
| 未署名のトランザクション(マルチシグ) | なし | `0x534D5400` | `SMT\0` |
|
||||||
| 検証の投票 | なし | `0x56414C00` | `VAL\0` |
|
| 検証の投票 | なし | `0x56414C00` | `VAL\0` |
|
||||||
| バリデータサブキー認証(「バリデータマニフェスト」) | なし | `0x4D414E00` | `MAN\0` |
|
| バリデータサブキー認証(「バリデータマニフェスト」) | なし | `0x4D414E00` | `MAN\0` |
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
html: signerlist.html
|
html: signerlist.html
|
||||||
parent: ledger-object-types.html
|
parent: ledger-object-types.html
|
||||||
blurb: マルチ署名トランザクションのアドレスのリストです。
|
blurb: マルチシグトランザクションのアドレスのリストです。
|
||||||
labels:
|
labels:
|
||||||
- セキュリティ
|
- セキュリティ
|
||||||
---
|
---
|
||||||
@@ -71,11 +71,11 @@ _([MultiSign Amendment][]が必要です。)_
|
|||||||
|
|
||||||
| 名前 | JSONの型 | 内部の型 | 説明 |
|
| 名前 | JSONの型 | 内部の型 | 説明 |
|
||||||
|:---------------|:----------|:--------------|:--------------------------------|
|
|:---------------|:----------|:--------------|:--------------------------------|
|
||||||
| `Account` | 文字列 | AccountID | 署名がマルチ署名に提供されるXRP Ledgerアドレス。レジャーの資金供給のあるアドレスである必要はありません。 |
|
| `Account` | 文字列 | AccountID | 署名がマルチシグに提供されるXRP Ledgerアドレス。レジャーの資金供給のあるアドレスである必要はありません。 |
|
||||||
| `SignerWeight` | 数値 | UInt16 | この署名者による署名の重み。マルチ署名は、付与された署名の重みの合計がSignerListの`SignerQuorum`値を超えている場合にのみ有効となります。 |
|
| `SignerWeight` | 数値 | UInt16 | この署名者による署名の重み。マルチシグは、付与された署名の重みの合計がSignerListの`SignerQuorum`値を超えている場合にのみ有効となります。 |
|
||||||
| `WalletLocator` | 文字列 | Hash256 | (省略可)Arbitrary hexadecimal data. This can be used to identify the signer or for other, related purposes. Added by the [ExpandedSignerList amendment][]. <!-- TODO: translate --> |
|
| `WalletLocator` | 文字列 | Hash256 | (省略可)任意の16進数データ。これは署名者を識別するため、または他の関連する目的のために使用することができます。[ExpandedSignerList amendment][]によって追加されました。 |
|
||||||
|
|
||||||
マルチ署名済みトランザクションを処理する際に、サーバーはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.html)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチ署名を別のマルチ署名の一部として使用することはできません。
|
マルチシグトランザクションを処理する際に、サーバーはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.html)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチシグを別のマルチシグの一部として使用することはできません。
|
||||||
|
|
||||||
## {{currentpage.name}}のフラグ
|
## {{currentpage.name}}のフラグ
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ curated_anchors:
|
|||||||
|
|
||||||
5. フィールド(プレフィクスを含む)をソート順に連結します。
|
5. フィールド(プレフィクスを含む)をソート順に連結します。
|
||||||
|
|
||||||
その結果、ECDSA(secp256k1楕円曲線を使用)やEd25519などの既知の署名アルゴリズムを使用して署名できるバイナリブロブが1つ作成されます。XRP Ledgerのために、適切なプレフィクス(シングル署名の場合は`0x53545800`、マルチ署名の場合は`0x534D5400`)を使用してデータを[ハッシュ化][ハッシュ]する必要があります。署名後に、指定されている`TxnSignature`フィールドを使用してトランザクションを再度シリアル化する必要があります。 <!--{# TODO: link docs on how to compute a transaction signature. #}-->
|
その結果、ECDSA(secp256k1楕円曲線を使用)やEd25519などの既知の署名アルゴリズムを使用して署名できるバイナリブロブが1つ作成されます。XRP Ledgerのために、適切なプレフィクス(シングル署名の場合は`0x53545800`、マルシグの場合は`0x534D5400`)を使用してデータを[ハッシュ化][ハッシュ]する必要があります。署名後に、指定されている`TxnSignature`フィールドを使用してトランザクションを再度シリアル化する必要があります。 <!--{# TODO: link docs on how to compute a transaction signature. #}-->
|
||||||
|
|
||||||
**注記:** XRP Ledgerでは、[レジャーオブジェクト](ledger-object-types.html)や処理済みのトランザクションなど他のタイプのデータを表す場合にも同じシリアル化フォーマットが使用されます。ただし、署名されるトランザクションに追加するのに適切なフィールドは限られています。(たとえば署名自体が指定されている`TxnSignature`フィールドは、署名するバイナリブロブに含まれていてはなりません。)このように、「署名」フィールドとされてオブジェクトに署名するときにオブジェクトに含まれるフィールドもあれば、「非署名」とされてオブジェクトに含まれないフィールドもあります。
|
**注記:** XRP Ledgerでは、[レジャーオブジェクト](ledger-object-types.html)や処理済みのトランザクションなど他のタイプのデータを表す場合にも同じシリアル化フォーマットが使用されます。ただし、署名されるトランザクションに追加するのに適切なフィールドは限られています。(たとえば署名自体が指定されている`TxnSignature`フィールドは、署名するバイナリブロブに含まれていてはなりません。)このように、「署名」フィールドとされてオブジェクトに署名するときにオブジェクトに含まれるフィールドもあれば、「非署名」とされてオブジェクトに含まれないフィールドもあります。
|
||||||
|
|
||||||
@@ -183,7 +183,7 @@ curated_anchors:
|
|||||||
| [Hash160][] | 17 | 160 | いいえ | 160ビットの任意のバイナリ値。これにより通貨コードまたはイシュアーが定義されます。 |
|
| [Hash160][] | 17 | 160 | いいえ | 160ビットの任意のバイナリ値。これにより通貨コードまたはイシュアーが定義されます。 |
|
||||||
| [Hash256][] | 5 | 256 | いいえ | 256ビットの任意のバイナリ値。これは通常、トランザクション、レジャーバージョン、またはレジャーデータオブジェクトの「SHA-512ハーフ」ハッシュを表します。 |
|
| [Hash256][] | 5 | 256 | いいえ | 256ビットの任意のバイナリ値。これは通常、トランザクション、レジャーバージョン、またはレジャーデータオブジェクトの「SHA-512ハーフ」ハッシュを表します。 |
|
||||||
| [PathSet][] | 18 | 可変 | いいえ | [複数通貨間ペイメント](cross-currency-payments.html)の有効な[ペイメントパス](paths.html)のセット。 |
|
| [PathSet][] | 18 | 可変 | いいえ | [複数通貨間ペイメント](cross-currency-payments.html)の有効な[ペイメントパス](paths.html)のセット。 |
|
||||||
| [STArray][] | 15 | 可変 | いいえ | 可変数のメンバーからなる配列。フィールドによってタイプが異なる場合があります。この例として、[memos](transaction-common-fields.html#memosフィールド)や[マルチ署名](multi-signing.html)で使用される署名者のリストがあります。 |
|
| [STArray][] | 15 | 可変 | いいえ | 可変数のメンバーからなる配列。フィールドによってタイプが異なる場合があります。この例として、[memos](transaction-common-fields.html#memosフィールド)や[マルチシグ](multi-signing.html)で使用される署名者のリストがあります。 |
|
||||||
| [STIssue][] | 24 | 320 | いいえ | :not_enabled: An asset definition, XRP or a token, with no quantity.<!-- TODO: translate --> |
|
| [STIssue][] | 24 | 320 | いいえ | :not_enabled: An asset definition, XRP or a token, with no quantity.<!-- TODO: translate --> |
|
||||||
| [STObject][] | 14 | 可変 | いいえ | 1つ以上のネストされたフィールドを含むオブジェクト。 |
|
| [STObject][] | 14 | 可変 | いいえ | 1つ以上のネストされたフィールドを含むオブジェクト。 |
|
||||||
| [UInt8][] | 16 | 8 | いいえ | 8ビットの符号なし整数。 |
|
| [UInt8][] | 16 | 8 | いいえ | 8ビットの符号なし整数。 |
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ labels:
|
|||||||
| [Flags][] | 符号なし整数 | UInt32 | _(省略可)_ このトランザクションのビットフラグのセット。 |
|
| [Flags][] | 符号なし整数 | UInt32 | _(省略可)_ このトランザクションのビットフラグのセット。 |
|
||||||
| LastLedgerSequence | 数値 | UInt32 | _(省略可。使用を強く推奨)_ このトランザクションを登録できるレジャーインデックスの最大値。このフィールドを指定することにより、トランザクションが検証または拒否されるのを待たなければならない期間の上限を設定することができます。詳細は、[信頼できるトランザクションの送信](reliable-transaction-submission.html)を参照してください。 |
|
| LastLedgerSequence | 数値 | UInt32 | _(省略可。使用を強く推奨)_ このトランザクションを登録できるレジャーインデックスの最大値。このフィールドを指定することにより、トランザクションが検証または拒否されるのを待たなければならない期間の上限を設定することができます。詳細は、[信頼できるトランザクションの送信](reliable-transaction-submission.html)を参照してください。 |
|
||||||
| [Memos][] | オブジェクトの配列 | 配列 | _(省略可)_ このトランザクションの識別に使用される任意の追加情報。 |
|
| [Memos][] | オブジェクトの配列 | 配列 | _(省略可)_ このトランザクションの識別に使用される任意の追加情報。 |
|
||||||
| [Signers][] | 配列 | 配列 | _(省略可)_ このトランザクションを承認するための[マルチ署名](multi-signing.html)を表すオブジェクトの配列。 |
|
| [Signers][] | 配列 | 配列 | _(省略可)_ このトランザクションを承認するための[マルチシグ](multi-signing.html)を表すオブジェクトの配列。 |
|
||||||
| SourceTag | 符号なし整数 | UInt32 | _(省略可)_ この支払いの理由、またはこのトランザクションの実行元である送信者を識別するために使用される任意の整数。一般的に、返金については、最初の支払いの`SourceTag`を返金の`DestinationTag`として指定する必要があります。 |
|
| SourceTag | 符号なし整数 | UInt32 | _(省略可)_ この支払いの理由、またはこのトランザクションの実行元である送信者を識別するために使用される任意の整数。一般的に、返金については、最初の支払いの`SourceTag`を返金の`DestinationTag`として指定する必要があります。 |
|
||||||
| SigningPubKey | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションへの署名に使用される秘密鍵に対応する公開鍵の16進表現。空文字列の場合は、代わりに`Signers`フィールドにマルチ署名が保持されていることを示します。 |
|
| SigningPubKey | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションへの署名に使用される秘密鍵に対応する公開鍵の16進表現。空文字列の場合は、代わりに`Signers`フィールドにマルチシグが保持されていることを示します。 |
|
||||||
| TxnSignature | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションが、発信元であると主張しているアカウントから発信されたものであることを検証するための署名。 |
|
| TxnSignature | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションが、発信元であると主張しているアカウントから発信されたものであることを検証するための署名。 |
|
||||||
|
|
||||||
[自動入力可能]: #自動入力可能なフィールド
|
[自動入力可能]: #自動入力可能なフィールド
|
||||||
@@ -75,7 +75,7 @@ AccountTxnIDを使用するには、アカウントの1つ前のトランザク
|
|||||||
|:--------------------|:-----------|:--------------|:--------------------------|
|
|:--------------------|:-----------|:--------------|:--------------------------|
|
||||||
| tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 |
|
| tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 |
|
||||||
|
|
||||||
[signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチ署名済みトランザクションに署名を追加する場合も、自動的には有効に***なりません***。
|
[signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチシグトランザクションに署名を追加する場合も、自動的には有効に***なりません***。
|
||||||
|
|
||||||
**警告:** `tfFullyCanonicalSig`を有効にしない場合は、不正使用者がトランザクションの署名を改変して、期待されるものとは別のハッシュを使用してトランザクションを成功させることが理論上可能になります。最悪の場合、同一の支払を何回も送信するようシステムに仕掛けられるおそれがあります。この問題を回避するには、署名するすべてのトランザクションで`tfFullyCanonicalSig`フラグを有効にします。
|
**警告:** `tfFullyCanonicalSig`を有効にしない場合は、不正使用者がトランザクションの署名を改変して、期待されるものとは別のハッシュを使用してトランザクションを成功させることが理論上可能になります。最悪の場合、同一の支払を何回も送信するようシステムに仕掛けられるおそれがあります。この問題を回避するには、署名するすべてのトランザクションで`tfFullyCanonicalSig`フラグを有効にします。
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ MemoTypeフィールドとMemoFormatフィールドには、以下の文字の
|
|||||||
|
|
||||||
## Signersフィールド
|
## Signersフィールド
|
||||||
|
|
||||||
`Signers`フィールドには、最大8つのキーペアから取得された署名を保持し、トランザクションを承認するための[マルチ署名](multi-signing.html)が含まれています。`Signers`リストはオブジェクトの配列であり、各オブジェクトが1つの`Signer`フィールドを保持しています。`Signer`フィールドには、以下の入れ子フィールドがあります。
|
`Signers`フィールドには、最大8つのキーペアから取得された署名を保持し、トランザクションを承認するための[マルチシグ](multi-signing.html)が含まれています。`Signers`リストはオブジェクトの配列であり、各オブジェクトが1つの`Signer`フィールドを保持しています。`Signer`フィールドには、以下の入れ子フィールドがあります。
|
||||||
|
|
||||||
| フィールド | 型 | [内部の型][] | 説明 |
|
| フィールド | 型 | [内部の型][] | 説明 |
|
||||||
|:--------------|:-------|:------------------|:--------------------------------|
|
|:--------------|:-------|:------------------|:--------------------------------|
|
||||||
@@ -138,7 +138,7 @@ MemoTypeフィールドとMemoFormatフィールドには、以下の文字の
|
|||||||
|
|
||||||
`SigningPubKey`は、`Account`アドレスに関連付けられているキーでなければなりません。参照されている`Account`が、レジャーにあり資金供給済みアカウントである場合、SigningPubKeyには、そのアカウントの現在のレギュラーキー(設定されている場合)を指定できます。また、[lsfDisableMaster](accountroot.html#accountrootのフラグ)フラグが有効になっている場合を除き、そのアカウントのマスターキーを指定することもできます。参照されている`Account`アドレスが、レジャーの資金供給済みのアカウントではない場合、`SigningPubKey`は、そのアドレスに関連付けられているマスターキーでなければなりません。
|
`SigningPubKey`は、`Account`アドレスに関連付けられているキーでなければなりません。参照されている`Account`が、レジャーにあり資金供給済みアカウントである場合、SigningPubKeyには、そのアカウントの現在のレギュラーキー(設定されている場合)を指定できます。また、[lsfDisableMaster](accountroot.html#accountrootのフラグ)フラグが有効になっている場合を除き、そのアカウントのマスターキーを指定することもできます。参照されている`Account`アドレスが、レジャーの資金供給済みのアカウントではない場合、`SigningPubKey`は、そのアドレスに関連付けられているマスターキーでなければなりません。
|
||||||
|
|
||||||
署名の検証は大量の演算能力を消費するタスクであるため、マルチ署名済みトランザクションをネットワークに中継するには、追加のXRPがコストとしてかかります。マルチ署名に含まれている署名ごとに、トランザクションに必要な[トランザクションコスト][]が増加します。例えば、トランザクションをネットワークに中継するための現在の最小トランザクションコストが`10000`dropである場合、`Signers`配列に3つのエントリーが含まれているマルチ署名済みトランザクションを中継するには、`Fee`の値を少なくとも`40000`dropにする必要があります。
|
署名の検証は大量の演算能力を消費するタスクであるため、マルチシグトランザクションをネットワークに中継するには、追加のXRPがコストとしてかかります。マルチシグに含まれている署名ごとに、トランザクションに必要な[トランザクションコスト][]が増加します。例えば、トランザクションをネットワークに中継するための現在の最小トランザクションコストが`10000`dropである場合、`Signers`配列に3つのエントリーが含まれているマルチシグトランザクションを中継するには、`Fee`の値を少なくとも`40000`dropにする必要があります。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ labels:
|
|||||||
| `tecNO_LINE_INSUF_RESERVE` | 126 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](reserves.html)を参照)このエラーは、取引相手がこのアカウントに対する同一通貨のトラストラインを持っていない場合に発生します。(その他のケースについては`tecINSUF_RESERVE_LINE`を参照してください。) |
|
| `tecNO_LINE_INSUF_RESERVE` | 126 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](reserves.html)を参照)このエラーは、取引相手がこのアカウントに対する同一通貨のトラストラインを持っていない場合に発生します。(その他のケースについては`tecINSUF_RESERVE_LINE`を参照してください。) |
|
||||||
| `tecNO_LINE_REDUNDANT` | 127 | トランザクションはトラストラインをデフォルト状態に設定しようと試みましたが、トラストラインが存在していなかったため、失敗しました。 |
|
| `tecNO_LINE_REDUNDANT` | 127 | トランザクションはトラストラインをデフォルト状態に設定しようと試みましたが、トラストラインが存在していなかったため、失敗しました。 |
|
||||||
| `tecNO_PERMISSION` | 139 | 送信者にはこの操作を実行する権限がありません。たとえば[EscrowFinishトランザクション][]が`FinishAfter`時刻に達する前に保留中の支払をリリースしようとしたか、送信者が所有していないChannelで誰かが[PaymentChannelFund][]を使用しようとしたか、または[Payment][]が「DepositAuth」フラグが有効になっているアカウントに資金の送金を試みました。 |
|
| `tecNO_PERMISSION` | 139 | 送信者にはこの操作を実行する権限がありません。たとえば[EscrowFinishトランザクション][]が`FinishAfter`時刻に達する前に保留中の支払をリリースしようとしたか、送信者が所有していないChannelで誰かが[PaymentChannelFund][]を使用しようとしたか、または[Payment][]が「DepositAuth」フラグが有効になっているアカウントに資金の送金を試みました。 |
|
||||||
| `tecNO_REGULAR_KEY` | 131 | [AccountSetトランザクション][]がマスターキーを無効にしようとしましたが、アカウントにはマスターキー以外で[トランザクションを承認する](transaction-basics.html#トランザクションの承認)方法がありません。[マルチ署名](multi-signing.html)が有効な場合、このコードは廃止予定であり、代わりに`tecNO_ALTERNATIVE_KEY`が使用されます。 |
|
| `tecNO_REGULAR_KEY` | 131 | [AccountSetトランザクション][]がマスターキーを無効にしようとしましたが、アカウントにはマスターキー以外で[トランザクションを承認する](transaction-basics.html#トランザクションの承認)方法がありません。[マルチシグ](multi-signing.html)が有効な場合、このコードは廃止予定であり、代わりに`tecNO_ALTERNATIVE_KEY`が使用されます。 |
|
||||||
| `tecNO_TARGET` | 138 | トランザクションが参照するEscrowレジャーオブジェクトまたはPayChannelレジャーオブジェクトが存在していません。これらのオブジェクトは、これまでに存在したことがないか、すでに削除されています。(たとえば、別の[EscrowFinishトランザクション][]で保留中の支払がすでに実行されている場合などです。)あるいは、支払先アカウントで`asfDisallowXRP`が設定されているため、このアカウントは[PaymentChannelCreate][]トランザクションまたは[EscrowCreate][]トランザクションの宛先に指定できません。 |
|
| `tecNO_TARGET` | 138 | トランザクションが参照するEscrowレジャーオブジェクトまたはPayChannelレジャーオブジェクトが存在していません。これらのオブジェクトは、これまでに存在したことがないか、すでに削除されています。(たとえば、別の[EscrowFinishトランザクション][]で保留中の支払がすでに実行されている場合などです。)あるいは、支払先アカウントで`asfDisallowXRP`が設定されているため、このアカウントは[PaymentChannelCreate][]トランザクションまたは[EscrowCreate][]トランザクションの宛先に指定できません。 |
|
||||||
| `tecOVERSIZE` | 145 | サーバーがこのトランザクションの適用時に大量のメタデータを作成したため、このトランザクションを処理できませんでした。[新規: rippled 0.29.0-hf1][] |
|
| `tecOVERSIZE` | 145 | サーバーがこのトランザクションの適用時に大量のメタデータを作成したため、このトランザクションを処理できませんでした。[新規: rippled 0.29.0-hf1][] |
|
||||||
| `tecOWNERS` | 132 | トランザクションでは、トランザクションを送信するアカウントの「所有者カウント」はゼロ以外である必要があります。このためトランザクションを正常に完了できません。たとえば、トラストラインや使用可能なオファーがあるアカウントでは、[`lsfRequireAuth`](accountset.html#accountsetのフラグ)フラグを有効にできません。 |
|
| `tecOWNERS` | 132 | トランザクションでは、トランザクションを送信するアカウントの「所有者カウント」はゼロ以外である必要があります。このためトランザクションを正常に完了できません。たとえば、トラストラインや使用可能なオファーがあるアカウントでは、[`lsfRequireAuth`](accountset.html#accountsetのフラグ)フラグを有効にできません。 |
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ labels:
|
|||||||
| `tefBAD_AUTH` | このアカウントの署名に使用したキーには、このアカウントを変更する権限がありません。(このアカウントが[レギュラーキー](cryptographic-keys.html)として同じキーセットを持っている場合は変更が承認される可能性があります。) |
|
| `tefBAD_AUTH` | このアカウントの署名に使用したキーには、このアカウントを変更する権限がありません。(このアカウントが[レギュラーキー](cryptographic-keys.html)として同じキーセットを持っている場合は変更が承認される可能性があります。) |
|
||||||
| `tefBAD_AUTH_MASTER` | このトランザクションを承認するために指定された1つの署名がマスターキーと一致していませんが、このアドレスに関連付けられているレギュラーキーもありません。 |
|
| `tefBAD_AUTH_MASTER` | このトランザクションを承認するために指定された1つの署名がマスターキーと一致していませんが、このアドレスに関連付けられているレギュラーキーもありません。 |
|
||||||
| `tefBAD_LEDGER` | トランザクションの処理中に、レジャーが予期しない状態にあることが検出されました。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 |
|
| `tefBAD_LEDGER` | トランザクションの処理中に、レジャーが予期しない状態にあることが検出されました。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 |
|
||||||
| `tefBAD_QUORUM` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、そこに含まれるすべての署名の重みの合計が定数を満たしていません。 |
|
| `tefBAD_QUORUM` | トランザクションは[マルチシグ](multi-signing.html)トランザクションでしたが、そこに含まれるすべての署名の重みの合計が定数を満たしていません。 |
|
||||||
| `tefBAD_SIGNATURE` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、送信側アカウントに関連付けられているSignerListにないアドレスの署名が含まれていました。 |
|
| `tefBAD_SIGNATURE` | トランザクションは[マルチシグ](multi-signing.html)トランザクションでしたが、送信側アカウントに関連付けられているSignerListにないアドレスの署名が含まれていました。 |
|
||||||
| `tefCREATED` | **廃止予定。** |
|
| `tefCREATED` | **廃止予定。** |
|
||||||
| `tefEXCEPTION` | トランザクションの処理中に、サーバーが予期しない状態になりました。この状態は、予期しない入力(トランザクションのバイナリーデータの形式が大幅に誤っている場合など)が原因となった可能性があります。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 |
|
| `tefEXCEPTION` | トランザクションの処理中に、サーバーが予期しない状態になりました。この状態は、予期しない入力(トランザクションのバイナリーデータの形式が大幅に誤っている場合など)が原因となった可能性があります。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 |
|
||||||
| `tefFAILURE` | トランザクション適用中の不明な障害。 |
|
| `tefFAILURE` | トランザクション適用中の不明な障害。 |
|
||||||
@@ -28,7 +28,7 @@ labels:
|
|||||||
| `tefMASTER_DISABLED` | トランザクションはアカウントのマスターキーで署名されていましたが、アカウントに`lsfDisableMaster`フィールドが設定されていました。 |
|
| `tefMASTER_DISABLED` | トランザクションはアカウントのマスターキーで署名されていましたが、アカウントに`lsfDisableMaster`フィールドが設定されていました。 |
|
||||||
| `tefMAX_LEDGER` | トランザクションには[`LastLedgerSequence`](reliable-transaction-submission.html#lastledgersequence)パラメーターが指定されていましたが、現在のレジャーのシーケンス番号はすでに指定値を上回っています。 |
|
| `tefMAX_LEDGER` | トランザクションには[`LastLedgerSequence`](reliable-transaction-submission.html#lastledgersequence)パラメーターが指定されていましたが、現在のレジャーのシーケンス番号はすでに指定値を上回っています。 |
|
||||||
| `tefNO_AUTH_REQUIRED` | [TrustSetトランザクション][]がトラストラインを承認済みとしてマークしようとしましたが、対応するアカウントに対して`lsfRequireAuth`フラグが有効になっていないため、承認は不要です。 |
|
| `tefNO_AUTH_REQUIRED` | [TrustSetトランザクション][]がトラストラインを承認済みとしてマークしようとしましたが、対応するアカウントに対して`lsfRequireAuth`フラグが有効になっていないため、承認は不要です。 |
|
||||||
| `tefNOT_MULTI_SIGNING` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、送信側アカウントでSignerListが定義されていません。 |
|
| `tefNOT_MULTI_SIGNING` | トランザクションは[マルチシグ](multi-signing.html)トランザクションでしたが、送信側アカウントでSignerListが定義されていません。 |
|
||||||
| `tefPAST_SEQ` | トランザクションのシーケンス番号は、トランザクションの送信元アカウントの現在のシーケンス番号よりも小さい番号です。 |
|
| `tefPAST_SEQ` | トランザクションのシーケンス番号は、トランザクションの送信元アカウントの現在のシーケンス番号よりも小さい番号です。 |
|
||||||
| `tefTOO_BIG` | レジャー内にある、トランザクションの影響を受けるオブジェクトが多過ぎます。例えば、これは[AccountDeleteトランザクション][]でしたが、削除されるアカウントのレジャーには1,000個を超えるオブジェクトがあります。 |
|
| `tefTOO_BIG` | レジャー内にある、トランザクションの影響を受けるオブジェクトが多過ぎます。例えば、これは[AccountDeleteトランザクション][]でしたが、削除されるアカウントのレジャーには1,000個を超えるオブジェクトがあります。 |
|
||||||
| `tefWRONG_PRIOR` | トランザクションに`AccountTxnID`フィールド(または廃止予定の`PreviousTxnID`フィールド)が含まれていますが、このフィールドに指定されているトランザクションはアカウントの前のトランザクションに一致しません。 |
|
| `tefWRONG_PRIOR` | トランザクションに`AccountTxnID`フィールド(または廃止予定の`PreviousTxnID`フィールド)が含まれていますが、このフィールドに指定されているトランザクションはアカウントの前のトランザクションに一致しません。 |
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ AccountSetトランザクションは、[XRP Ledgerのアカウント](accountro
|
|||||||
| asfRequireAuth | 2 | lsfRequireAuth | このアドレスによって発行された残高をユーザーが保持することについて、承認を要求します。アドレスにトラストラインが接続されていない場合のみ有効にできます。 |
|
| asfRequireAuth | 2 | lsfRequireAuth | このアドレスによって発行された残高をユーザーが保持することについて、承認を要求します。アドレスにトラストラインが接続されていない場合のみ有効にできます。 |
|
||||||
| asfRequireDest | 1 | lsfRequireDestTag | トランザクションをこのアカウントに送信するための宛先タグを要求します。 |
|
| asfRequireDest | 1 | lsfRequireDestTag | トランザクションをこのアカウントに送信するための宛先タグを要求します。 |
|
||||||
|
|
||||||
`asfDisableMaster`フラグまたは`asfNoFreeze`フラグを有効にするには、マスターキーペアで署名することによって[トランザクションを承認](transaction-basics.html#トランザクションの承認)する必要があります。レギュラーキーペアやマルチ署名を使用することはできません。レギュラーキーペアまたはマルチ署名を使用すると、`asfDisableMaster`を無効にする(つまり、マスターキーペアを再び有効にする)ことができます。[新規: rippled 0.28.0][]
|
`asfDisableMaster`フラグまたは`asfNoFreeze`フラグを有効にするには、マスターキーペアで署名することによって[トランザクションを承認](transaction-basics.html#トランザクションの承認)する必要があります。レギュラーキーペアやマルチシグを使用することはできません。レギュラーキーペアまたはマルチシグを使用すると、`asfDisableMaster`を無効にする(つまり、マスターキーペアを再び有効にする)ことができます。[新規: rippled 0.28.0][]
|
||||||
|
|
||||||
以下の[トランザクションフラグ](transaction-common-fields.html#flagsフィールド)はAccountSetタイプのトランザクションに固有のもので、同様の目的を果たしますが、使用することはお勧めしません。
|
以下の[トランザクションフラグ](transaction-common-fields.html#flagsフィールド)はAccountSetタイプのトランザクションに固有のもので、同様の目的を果たしますが、使用することはお勧めしません。
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ labels:
|
|||||||
|
|
||||||
アカウントへのレギュラーキーペアの割り当てについてのチュートリアルは、[レギュラーキーペアの操作](assign-a-regular-key-pair.html)を参照してください。
|
アカウントへのレギュラーキーペアの割り当てについてのチュートリアルは、[レギュラーキーペアの操作](assign-a-regular-key-pair.html)を参照してください。
|
||||||
|
|
||||||
セキュリティを強化するために[マルチ署名](multi-signing.html)を使用できますが、マルチ署名を使用する場合には[トランザクションコスト][]および[準備金](reserves.html)に追加のXRPが必要となります。
|
セキュリティを強化するために[マルチシグ](multi-signing.html)を使用できますが、マルチシグを使用する場合には[トランザクションコスト][]および[準備金](reserves.html)に追加のXRPが必要となります。
|
||||||
|
|
||||||
<!--{# common link defs #}-->
|
<!--{# common link defs #}-->
|
||||||
{% include '_snippets/rippled-api-links.md' %}
|
{% include '_snippets/rippled-api-links.md' %}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
---
|
---
|
||||||
html: signerlistset.html
|
html: signerlistset.html
|
||||||
parent: transaction-types.html
|
parent: transaction-types.html
|
||||||
blurb: トランザクションのマルチ署名に使用できる署名者のリストを作成、置換、削除します。
|
blurb: トランザクションのマルチシグに使用できる署名者のリストを作成、置換、削除します。
|
||||||
labels:
|
labels:
|
||||||
- セキュリティ
|
- セキュリティ
|
||||||
---
|
---
|
||||||
# SignerListSet
|
# SignerListSet
|
||||||
[[ソース]](https://github.com/ripple/rippled/blob/ef511282709a6a0721b504c6b7703f9de3eecf38/src/ripple/app/tx/impl/SetSignerList.cpp "Source")
|
[[ソース]](https://github.com/ripple/rippled/blob/ef511282709a6a0721b504c6b7703f9de3eecf38/src/ripple/app/tx/impl/SetSignerList.cpp "Source")
|
||||||
|
|
||||||
SignerListSetトランザクションは、トランザクションの[マルチ署名](multi-signing.html)に使用できる署名者のリストを作成、置換、削除します。このトランザクションタイプは[MultiSign Amendment][]により導入されました。[新規: rippled 0.31.0][]
|
SignerListSetトランザクションは、トランザクションの[マルチシグ](multi-signing.html)に使用できる署名者のリストを作成、置換、削除します。このトランザクションタイプは[MultiSign Amendment][]により導入されました。[新規: rippled 0.31.0][]
|
||||||
|
|
||||||
## {{currentpage.name}}のJSONの例
|
## {{currentpage.name}}のJSONの例
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ SignerListSetトランザクションは、トランザクションの[マルチ
|
|||||||
|
|
||||||
| フィールド | JSONの型 | [内部の型][] | 説明 |
|
| フィールド | JSONの型 | [内部の型][] | 説明 |
|
||||||
|:--------------|:----------|:------------------|:-----------------------------|
|
|:--------------|:----------|:------------------|:-----------------------------|
|
||||||
| SignerQuorum | 数値 | UInt32 | 署名者の重みのターゲット数。このリストの署名者によるマルチ署名は、付与された署名の重みの合計がこの値以上である場合に限り有効となります。SignerListを削除するには、`0`の値を使用します。 |
|
| SignerQuorum | 数値 | UInt32 | 署名者の重みのターゲット数。このリストの署名者によるマルチシグは、付与された署名の重みの合計がこの値以上である場合に限り有効となります。SignerListを削除するには、`0`の値を使用します。 |
|
||||||
| SignerEntries | 配列 | 配列 | (削除する場合は省略)このリストの署名者のアドレスと重みを示す[SignerEntryオブジェクト](signerlist.html#signerentryオブジェクト)の配列。SignerListには1~32人のメンバーが含まれている必要があります。リストに1つのアドレスが複数回表示されることはありません。また、トランザクションを送信する`Account`も表示されません。 |
|
| SignerEntries | 配列 | 配列 | (削除する場合は省略)このリストの署名者のアドレスと重みを示す[SignerEntryオブジェクト](signerlist.html#signerentryオブジェクト)の配列。SignerListには1~32人のメンバーが含まれている必要があります。リストに1つのアドレスが複数回表示されることはありません。また、トランザクションを送信する`Account`も表示されません。 |
|
||||||
|
|
||||||
アカウントは複数のSignerListを所有できません。既存のSignerListが存在する場合は、SignerListSetトランザクションが成功するとその既存のSignerListが置き換えられます。SignerListを削除するには、`SignerQuorum`を`0`に設定し、_かつ_`SignerEntries`フィールドを省略します。このようにしないと、トランザクションは[temMALFORMED](tem-codes.html)エラーで失敗します。SignerListを削除するトランザクションは、削除するSignerListがない場合でも成功したとみなされます。
|
アカウントは複数のSignerListを所有できません。既存のSignerListが存在する場合は、SignerListSetトランザクションが成功するとその既存のSignerListが置き換えられます。SignerListを削除するには、`SignerQuorum`を`0`に設定し、_かつ_`SignerEntries`フィールドを省略します。このようにしないと、トランザクションは[temMALFORMED](tem-codes.html)エラーで失敗します。SignerListを削除するトランザクションは、削除するSignerListがない場合でも成功したとみなされます。
|
||||||
|
|||||||
@@ -673,7 +673,7 @@ rippled submit 1200032280000000240000000468400000000000000A73210330E7FC9D56BB25D
|
|||||||
これで、レギュラーキーペアをアカウントに割り当てるメリットについて理解しました。次に以下の関連トピックとチュートリアルを参照してください。
|
これで、レギュラーキーペアをアカウントに割り当てるメリットについて理解しました。次に以下の関連トピックとチュートリアルを参照してください。
|
||||||
|
|
||||||
- [レギュラーキーペアの変更または削除](change-or-remove-a-regular-key-pair.html)
|
- [レギュラーキーペアの変更または削除](change-or-remove-a-regular-key-pair.html)
|
||||||
- [マルチ署名の設定](set-up-multi-signing.html)
|
- [マルチシグの設定](set-up-multi-signing.html)
|
||||||
- [発行アドレスと運用アドレス](issuing-and-operational-addresses.html)
|
- [発行アドレスと運用アドレス](issuing-and-operational-addresses.html)
|
||||||
- [取引所としてのXRPの上場](list-xrp-as-an-exchange.html)
|
- [取引所としてのXRPの上場](list-xrp-as-an-exchange.html)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ labels:
|
|||||||
---
|
---
|
||||||
# マスターキーペアの無効化
|
# マスターキーペアの無効化
|
||||||
|
|
||||||
このページでは、[アカウント](accounts.html)のアドレスに数学的に関連付けられた[マスターキーペア](cryptographic-keys.html)を無効化する方法について説明します。あなたのアカウントのマスターキーペアが漏洩した可能性がある場合、または[マルチ署名](multi-signing.html)をあなたのアカウントからトランザクションを送信する _唯一_ の方法としたい場合、これを行う必要があります。
|
このページでは、[アカウント](accounts.html)のアドレスに数学的に関連付けられた[マスターキーペア](cryptographic-keys.html)を無効化する方法について説明します。あなたのアカウントのマスターキーペアが漏洩した可能性がある場合、または[マルチシグ](multi-signing.html)をあなたのアカウントからトランザクションを送信する _唯一_ の方法としたい場合、これを行う必要があります。
|
||||||
|
|
||||||
**注意:** マスターキーペアを無効にすると、[トランザクションの承認](transaction-basics.html#トランザクションの承認)の方法の1つが削除されます。マスターキーペアを無効にする前に、レギュラーキーやマルチ・サインなど、他のトランザクションの承認方法のいずれかを使用できることを確認する必要があります。(例えば、[レギュラーキーペアを割り当てた場合](assign-a-regular-key-pair.html)は、そのレギュラーキーで正常にトランザクションを送信できることを確認してください)。XRP Ledgerは分散型であるため、残りの取引承認方法を使用できない場合、誰もあなたのアカウントへのアクセスを回復することができません。
|
**注意:** マスターキーペアを無効にすると、[トランザクションの承認](transaction-basics.html#トランザクションの承認)の方法の1つが削除されます。マスターキーペアを無効にする前に、レギュラーキーやマルチ・サインなど、他のトランザクションの承認方法のいずれかを使用できることを確認する必要があります。(例えば、[レギュラーキーペアを割り当てた場合](assign-a-regular-key-pair.html)は、そのレギュラーキーで正常にトランザクションを送信できることを確認してください)。XRP Ledgerは分散型であるため、残りの取引承認方法を使用できない場合、誰もあなたのアカウントへのアクセスを回復することができません。
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ labels:
|
|||||||
- あるいは、シード値を知る必要がなく、安全に保存する[専用の署名デバイス](set-up-secure-signing.html#専用の署名デバイスを使用する) を使用します
|
- あるいは、シード値を知る必要がなく、安全に保存する[専用の署名デバイス](set-up-secure-signing.html#専用の署名デバイスを使用する) を使用します
|
||||||
- あなたのアカウントには、マスターキーペア以外のトランザクションを認証する方法が少なくとも1つ必要です。つまり、以下のいずれか、または両方を行う必要があります。
|
- あなたのアカウントには、マスターキーペア以外のトランザクションを認証する方法が少なくとも1つ必要です。つまり、以下のいずれか、または両方を行う必要があります。
|
||||||
- [レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html).
|
- [レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html).
|
||||||
- [マルチ署名の設定](set-up-multi-signing.html).
|
- [マルチシグの設定](set-up-multi-signing.html).
|
||||||
|
|
||||||
## 手順
|
## 手順
|
||||||
|
|
||||||
@@ -305,7 +305,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
|
|||||||
|
|
||||||
<!-- MULTICODE_BLOCK_END -->
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
トランザクションが `tecNO_ALTERNATIVE_KEY` という結果で失敗した場合、あなたのアカウントでは現在トランザクションを認証するための別の方法が有効になっていません。[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html) か [マルチ署名を設定](set-up-multi-signing.html) した後、再度マスターキーペアの無効化を試してみてください。
|
トランザクションが `tecNO_ALTERNATIVE_KEY` という結果で失敗した場合、あなたのアカウントでは現在トランザクションを認証するための別の方法が有効になっていません。[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html)か [マルチシグを設定](set-up-multi-signing.html) した後、再度マスターキーペアの無効化を試してみてください。
|
||||||
|
|
||||||
|
|
||||||
### {{n.next()}}. 検証の待機
|
### {{n.next()}}. 検証の待機
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
|
|||||||
|
|
||||||
- 定期的なローテーションで使用できる[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html)。
|
- 定期的なローテーションで使用できる[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html)。
|
||||||
- ユーザーが送金理由や送金相手をタグ付けせずに送金できないようにするために、[宛先タグを要求する](require-destination-tags.html)。
|
- ユーザーが送金理由や送金相手をタグ付けせずに送金できないようにするために、[宛先タグを要求する](require-destination-tags.html)。
|
||||||
- アカウントセキュリティを強化するために、[マルチ署名を設定する](set-up-multi-signing.html)。
|
- アカウントセキュリティを強化するために、[マルチシグを設定する](set-up-multi-signing.html)。
|
||||||
- 明示的に承認した送金、または事前に承認した相手からの送金のみを受け取れるようにするために、[DepositAuthを有効にする](depositauth.html)。
|
- 明示的に承認した送金、または事前に承認した相手からの送金のみを受け取れるようにするために、[DepositAuthを有効にする](depositauth.html)。
|
||||||
- ユーザーがあなたの許可なくあなたへの[トラストライン](trust-lines-and-issuing.html)を開けないようにするために、[RequireAuthを有効にする](authorized-trust-lines.html#requireauthの有効化)。XRP Ledgerの分散型取引所や発行済み通貨機能を使用する予定がない場合は、これを対策として行うことをお勧めします。
|
- ユーザーがあなたの許可なくあなたへの[トラストライン](trust-lines-and-issuing.html)を開けないようにするために、[RequireAuthを有効にする](authorized-trust-lines.html#requireauthの有効化)。XRP Ledgerの分散型取引所や発行済み通貨機能を使用する予定がない場合は、これを対策として行うことをお勧めします。
|
||||||
- 発行済み通貨[ゲートウェイ](become-an-xrp-ledger-gateway.html)には次のような追加の設定がある場合があります。
|
- 発行済み通貨[ゲートウェイ](become-an-xrp-ledger-gateway.html)には次のような追加の設定がある場合があります。
|
||||||
@@ -332,7 +332,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
|
|||||||
- **チュートリアル:**
|
- **チュートリアル:**
|
||||||
- [安全な署名の設定](set-up-secure-signing.html)
|
- [安全な署名の設定](set-up-secure-signing.html)
|
||||||
- [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html)
|
- [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html)
|
||||||
- [マルチ署名の設定](set-up-multi-signing.html)
|
- [マルチシグの設定](set-up-multi-signing.html)
|
||||||
- **リファレンス:**
|
- **リファレンス:**
|
||||||
- [基本的なデータタイプ: ](basic-data-types.html#アカウントシーケンス)[ ](basic-data-types.html#アカウントシーケンス)[アカウントシーケンス](basic-data-types.html#アカウントシーケンス)
|
- [基本的なデータタイプ: ](basic-data-types.html#アカウントシーケンス)[ ](basic-data-types.html#アカウントシーケンス)[アカウントシーケンス](basic-data-types.html#アカウントシーケンス)
|
||||||
- [account_infoメソッド][]
|
- [account_infoメソッド][]
|
||||||
|
|||||||
@@ -1,28 +1,28 @@
|
|||||||
---
|
---
|
||||||
html: send-a-multi-signed-transaction.html
|
html: send-a-multi-signed-transaction.html
|
||||||
parent: manage-account-settings.html
|
parent: manage-account-settings.html
|
||||||
blurb: マルチ署名済みトランザクションを作成、署名、送信する。
|
blurb: マルチシグトランザクションを作成、署名、送信する。
|
||||||
labels:
|
labels:
|
||||||
- セキュリティ
|
- セキュリティ
|
||||||
---
|
---
|
||||||
# マルチ署名済みトランザクションの送信
|
# マルチシグトランザクションの送信
|
||||||
|
|
||||||
マルチ署名済みトランザクションを作成、署名、送信する方法を以下で説明します。
|
マルチシグトランザクションを作成、署名、送信する方法を以下で説明します。
|
||||||
|
|
||||||
## 前提条件
|
## 前提条件
|
||||||
|
|
||||||
- 事前にアドレスの[マルチ署名の設定](set-up-multi-signing.html)をする必要があります。
|
- 事前にアドレスの[マルチシグの設定](set-up-multi-signing.html)をする必要があります。
|
||||||
|
|
||||||
- マルチ署名は使用可能である必要があります。マルチ署名は、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](amendments.html)により2016/06/27以降利用可能になりました。
|
- マルチシグは使用可能である必要があります。マルチシグは、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](amendments.html)により2016/06/27以降利用可能になりました。
|
||||||
|
|
||||||
|
|
||||||
## 1.トランザクションの作成
|
## 1.トランザクションの作成
|
||||||
|
|
||||||
送信するトランザクションを表すJSONオブジェクトを作成します。`Fee`や`Sequence`をはじめ、このトランザクションに関する _すべての_ 情報を指定する必要があります。また、トランザクションがマルチ署名済みトランザクションであることを示すため、`SigningPubKey`を空の文字列として指定します。
|
送信するトランザクションを表すJSONオブジェクトを作成します。`Fee`や`Sequence`をはじめ、このトランザクションに関する _すべての_ 情報を指定する必要があります。また、トランザクションがマルチシグトランザクションであることを示すため、`SigningPubKey`を空の文字列として指定します。
|
||||||
|
|
||||||
マルチ署名済みトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](transaction-cost.html)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](transaction-cost.html)の増加に備えて現行の最小値よりも大きな値を指定できます。
|
マルチシグトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](transaction-cost.html)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](transaction-cost.html)の増加に備えて現行の最小値よりも大きな値を指定できます。
|
||||||
|
|
||||||
マルチ署名が可能なトランザクションの例を以下に示します。
|
マルチシグが可能なトランザクションの例を以下に示します。
|
||||||
|
|
||||||
{
|
{
|
||||||
"TransactionType":"TrustSet",
|
"TransactionType":"TrustSet",
|
||||||
@@ -95,7 +95,7 @@ SlignerListのメンバーの1人のシークレットキーとアドレスを
|
|||||||
|
|
||||||
応答の`tx_json`フィールドを保存します。このフィールドの`Signers`フィールドに新しい署名が入力されています。`tx_blob`フィールドの値は無視できます。
|
応答の`tx_json`フィールドを保存します。このフィールドの`Signers`フィールドに新しい署名が入力されています。`tx_blob`フィールドの値は無視できます。
|
||||||
|
|
||||||
スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチ署名が有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。
|
スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。
|
||||||
|
|
||||||
## 3.追加の署名の取得
|
## 3.追加の署名の取得
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,30 @@
|
|||||||
---
|
---
|
||||||
html: set-up-multi-signing.html
|
html: set-up-multi-signing.html
|
||||||
parent: manage-account-settings.html
|
parent: manage-account-settings.html
|
||||||
blurb: アカウントに署名者リストを追加して、マルチ署名を有効にします。
|
blurb: アカウントに署名者リストを追加して、マルチシグを有効にします。
|
||||||
labels:
|
labels:
|
||||||
- セキュリティ
|
- セキュリティ
|
||||||
---
|
---
|
||||||
# マルチ署名の設定
|
# マルチシグの設定
|
||||||
|
|
||||||
[マルチ署名](multi-signing.html)は、XRP Ledgerの[トランザクション](transaction-basics.html)を承認する3種類の方法の1つです。マルチ署名の他に[レギュラーキーとマスターキー](cryptographic-keys.html)で署名する方法があります。3種類のトランザクション承認方法を自由に組み合わせて使用できるように[アドレス](accounts.html)を設定できます。
|
[マルチシグ](multi-signing.html)は、XRP Ledgerの[トランザクション](transaction-basics.html)を承認する3種類の方法の1つです。マルチシグの他に[レギュラーキーとマスターキー](cryptographic-keys.html)で署名する方法があります。3種類のトランザクション承認方法を自由に組み合わせて使用できるように[アドレス](accounts.html)を設定できます。
|
||||||
|
|
||||||
このチュートリアルでは、アドレスのマルチ署名を有効にする方法を説明します。
|
このチュートリアルでは、アドレスのマルチシグを有効にする方法を説明します。
|
||||||
|
|
||||||
|
|
||||||
## 前提条件
|
## 前提条件
|
||||||
|
|
||||||
- トランザクションを送信するための十分なXRPが供給されていて、新しい署名者リストの[必要準備金](reserves.html)を満たしている資金供給のあるXRP Ledger[アドレス](accounts.html)が必要です。
|
- トランザクションを送信するための十分なXRPが供給されていて、新しい署名者リストの[必要準備金](reserves.html)を満たしている資金供給のあるXRP Ledger[アドレス](accounts.html)が必要です。
|
||||||
|
|
||||||
- [MultiSignReserve Amendment][]が有効な場合、マルチ署名を使用するには、使用する署名と署名者の数に関わらず、アカウントの準備金として2 XRPが必要です。(MultiSignReserve Amendmentは**2019年4月7日**以降、本番環境のXRP Ledgerで有効になっています。)
|
- [MultiSignReserve Amendment][]が有効な場合、マルチシグを使用するには、使用する署名と署名者の数に関わらず、アカウントの準備金として2 XRPが必要です。(MultiSignReserve Amendmentは**2019年4月7日**以降、本番環境のXRP Ledgerで有効になっています。)
|
||||||
|
|
||||||
- [MultiSignReserve Amendment][]が有効ではないテストネットワークでは、マルチ署名を使用するには[アカウント準備金](reserves.html)に通常よりも多くのXRPが必要となります。必要額は、リストの署名者の数に応じて増加します。
|
- [MultiSignReserve Amendment][]が有効ではないテストネットワークでは、マルチシグを使用するには[アカウント準備金](reserves.html)に通常よりも多くのXRPが必要となります。必要額は、リストの署名者の数に応じて増加します。
|
||||||
|
|
||||||
- XRP Ledgerフォーマットでキーペアを生成するツールを利用できる必要があります。この処理に`rippled`サーバーを使用する場合は、[wallet_proposeメソッド][]が管理者専用であるため、管理者アクセス権限が必要です。
|
- XRP Ledgerフォーマットでキーペアを生成するツールを利用できる必要があります。この処理に`rippled`サーバーを使用する場合は、[wallet_proposeメソッド][]が管理者専用であるため、管理者アクセス権限が必要です。
|
||||||
|
|
||||||
- あるいは、すでにXRP Ledgerアドレスを持っている人をあなたのアドレスの署名者として承認するには、その人または組織のアカウントアドレスを知っている必要があります。
|
- あるいは、すでにXRP Ledgerアドレスを持っている人をあなたのアドレスの署名者として承認するには、その人または組織のアカウントアドレスを知っている必要があります。
|
||||||
|
|
||||||
- マルチ署名は使用可能である必要があります。(MultiSign Amendmentは**2016年6月27日**以降、本番環境のXRP Ledgerで有効になっています。)
|
- マルチシグは使用可能である必要があります。(MultiSign Amendmentは**2016年6月27日**以降、本番環境のXRP Ledgerで有効になっています。)
|
||||||
|
|
||||||
## 1. 構成の設計
|
## 1. 構成の設計
|
||||||
|
|
||||||
@@ -58,9 +58,9 @@ labels:
|
|||||||
|
|
||||||
## 3. SignerListSetトランザクションの送信
|
## 3. SignerListSetトランザクションの送信
|
||||||
|
|
||||||
通常の方法(シングルシグネチャー)で[SignerListSetトランザクション][]に[署名して送信](transaction-basics.html#トランザクションへの署名とトランザクションの送信)します。これによりSignerListがXRP Ledgerのアドレスに関連付けられるので、これ以降はSignerListの複数メンバーがあなたの代わりにトランザクションに署名するマルチ署名が可能となります。
|
通常の方法(シングルシグネチャー)で[SignerListSetトランザクション][]に[署名して送信](transaction-basics.html#トランザクションへの署名とトランザクションの送信)します。これによりSignerListがXRP Ledgerのアドレスに関連付けられるので、これ以降はSignerListの複数メンバーがあなたの代わりにトランザクションに署名するマルチシグが可能となります。
|
||||||
|
|
||||||
この例ではSignerListに3人のメンバーが含まれています。また、マルチ署名済みトランザクションにはrsA2LpzuawewSBQXkiju3YQTMzW13pAAdWの署名と、リストの他の2人のメンバーからの少なくとも1つの署名を必要とするように、重みと定数が設定されています。
|
この例ではSignerListに3人のメンバーが含まれています。また、マルチシグトランザクションにはrsA2LpzuawewSBQXkiju3YQTMzW13pAAdWの署名と、リストの他の2人のメンバーからの少なくとも1つの署名を必要とするように、重みと定数が設定されています。
|
||||||
|
|
||||||
{% include '_snippets/secret-key-warning.md' %}
|
{% include '_snippets/secret-key-warning.md' %}
|
||||||
<!--{#_ #}-->
|
<!--{#_ #}-->
|
||||||
@@ -135,7 +135,7 @@ labels:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[トランザクションの結果](transaction-results.html)が[**tesSUCCESS**](tes-success.html)であることを確認します。それ以外の場合、トランザクションは失敗しています。スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチ署名が有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。
|
[トランザクションの結果](transaction-results.html)が[**tesSUCCESS**](tes-success.html)であることを確認します。それ以外の場合、トランザクションは失敗しています。スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。
|
||||||
|
|
||||||
**注記:** [MultiSignReserve Amendment][]が有効ではない場合は、SignerListのメンバーの増加に応じて、アドレスの[所有者準備金](reserves.html#所有者準備金)のXRP額を増加する必要があります。アドレスに十分なXRPがないと、トランザクションは[tecINSUFFICIENT_RESERVE](tec-codes.html)で失敗します。[MultiSignReserve Amendment][]が有効な場合は、SignerListの署名者の数に関係なく[所有者準備金](reserves.html#所有者準備金)として必要なXRPは5 XRPです。関連項目: [SignerListと準備金](signerlist.html#signerlistと準備金)
|
**注記:** [MultiSignReserve Amendment][]が有効ではない場合は、SignerListのメンバーの増加に応じて、アドレスの[所有者準備金](reserves.html#所有者準備金)のXRP額を増加する必要があります。アドレスに十分なXRPがないと、トランザクションは[tecINSUFFICIENT_RESERVE](tec-codes.html)で失敗します。[MultiSignReserve Amendment][]が有効な場合は、SignerListの署名者の数に関係なく[所有者準備金](reserves.html#所有者準備金)として必要なXRPは5 XRPです。関連項目: [SignerListと準備金](signerlist.html#signerlistと準備金)
|
||||||
|
|
||||||
@@ -196,11 +196,11 @@ labels:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SignerListが予期した内容で存在していれば、アドレスでマルチ署名ができるようになります。
|
SignerListが予期した内容で存在していれば、アドレスでマルチシグができるようになります。
|
||||||
|
|
||||||
## 6. その他のステップ
|
## 6. その他のステップ
|
||||||
|
|
||||||
これで、アドレスから[マルチ署名済みトランザクションを送信](send-a-multi-signed-transaction.html)できます。次の操作も実行できます。
|
これで、アドレスから[マルチシグトランザクションを送信](send-a-multi-signed-transaction.html)できます。次の操作も実行できます。
|
||||||
|
|
||||||
* `asfDisableMaster`フラグを使用して[AccountSetトランザクション][]を送信し、アドレスのマスターキーペアを無効化。
|
* `asfDisableMaster`フラグを使用して[AccountSetトランザクション][]を送信し、アドレスのマスターキーペアを無効化。
|
||||||
* [SetRegularKeyトランザクション][]を送信して[アドレスのレギュラーキーペアを削除](change-or-remove-a-regular-key-pair.html)(レギュラーキーペアをすでに設定している場合)。
|
* [SetRegularKeyトランザクション][]を送信して[アドレスのレギュラーキーペアを削除](change-or-remove-a-regular-key-pair.html)(レギュラーキーペアをすでに設定している場合)。
|
||||||
@@ -209,7 +209,7 @@ SignerListが予期した内容で存在していれば、アドレスでマル
|
|||||||
|
|
||||||
- **コンセプト:**
|
- **コンセプト:**
|
||||||
- [暗号鍵](cryptographic-keys.html)
|
- [暗号鍵](cryptographic-keys.html)
|
||||||
- [マルチ署名](multi-signing.html)
|
- [マルチシグ](multi-signing.html)
|
||||||
- **チュートリアル:**
|
- **チュートリアル:**
|
||||||
- [rippledのインストール](install-rippled.html)
|
- [rippledのインストール](install-rippled.html)
|
||||||
- [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html)
|
- [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html)
|
||||||
|
|||||||
@@ -230,11 +230,11 @@ _JavaScript_
|
|||||||
{% include '_snippets/interactive-tutorials/wait-step.md' %}
|
{% include '_snippets/interactive-tutorials/wait-step.md' %}
|
||||||
{{ end_step() }}
|
{{ end_step() }}
|
||||||
|
|
||||||
## マルチ署名で使用する
|
## マルチシグで使用する
|
||||||
|
|
||||||
チケットの主な使用例としては、複数の[マルチ署名](multi-signing.html)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。
|
チケットの主な使用例としては、複数の[マルチシグ](multi-signing.html)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。
|
||||||
|
|
||||||
このシナリオでは、[step8,「チケット付きトランザクションの準備」](#8-チケット付きトランザクションの準備)が若干異なります。準備と署名を一度に行うのではなく、[任意のマルチ署名トランザクションの送信](send-a-multi-signed-transaction.html)の手順に従うことになります。まずトランザクションを準備し、次に信頼できる署名者の間でトランザクションを循環させて署名を集め、最後に署名を組み合わせて最終的なマルチ署名トランザクションを作成します。
|
このシナリオでは、[step8,「チケット付きトランザクションの準備」](#8-チケット付きトランザクションの準備)が若干異なります。準備と署名を一度に行うのではなく、[任意のマルチシグトランザクションの送信](send-a-multi-signed-transaction.html)の手順に従うことになります。まずトランザクションを準備し、次に信頼できる署名者の間でトランザクションを循環させて署名を集め、最後に署名を組み合わせて最終的なマルチシグトランザクションを作成します。
|
||||||
|
|
||||||
複数の異なるトランザクションを処理する場合、それぞれが異なるチケットを使用する限り、この作業を並行して行うことができます。
|
複数の異なるトランザクションを処理する場合、それぞれが異なるチケットを使用する限り、この作業を並行して行うことができます。
|
||||||
|
|
||||||
@@ -243,9 +243,9 @@ _JavaScript_
|
|||||||
|
|
||||||
- **Concepts:**
|
- **Concepts:**
|
||||||
- [チケット](tickets.html)
|
- [チケット](tickets.html)
|
||||||
- [マルチ署名](multi-signing.html)
|
- [マルチシグ](multi-signing.html)
|
||||||
- **Tutorials:**
|
- **Tutorials:**
|
||||||
- [マルチ署名の設定](set-up-multi-signing.html)
|
- [マルチシグの設定](set-up-multi-signing.html)
|
||||||
- [信頼出来るトランザクションの送信](reliable-transaction-submission.html)
|
- [信頼出来るトランザクションの送信](reliable-transaction-submission.html)
|
||||||
- **References:**
|
- **References:**
|
||||||
- [account_objects メソッド][]
|
- [account_objects メソッド][]
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ For each persisted transaction without validated result:
|
|||||||
|
|
||||||
- 失敗のケース(3)は、予期しない状態を表します。トランザクションが未処理の場合、最新の検証済みレジャーにある送信元アカウントの`Sequence`番号を確認する必要があります。([account_infoメソッド][]を使用して確認できます。)最新の検証済みレジャーにあるアカウントの`Sequence`値がトランザクションの`Sequence`値より大きい場合、同じ`Sequence`値を持つ別のトランザクションが検証済みレジャーに含まれています。システムがこの別のトランザクションを認識していない場合、予期しない状態となり、その原因が特定されるまで処理を停止しなければならなくなります。そうしないと、システムが同じ目標を達成するために複数のトランザクションを送信する可能性があります。行う必要のある手順は、具体的な原因によって変わります。考えられる原因と手順は次のとおりです。
|
- 失敗のケース(3)は、予期しない状態を表します。トランザクションが未処理の場合、最新の検証済みレジャーにある送信元アカウントの`Sequence`番号を確認する必要があります。([account_infoメソッド][]を使用して確認できます。)最新の検証済みレジャーにあるアカウントの`Sequence`値がトランザクションの`Sequence`値より大きい場合、同じ`Sequence`値を持つ別のトランザクションが検証済みレジャーに含まれています。システムがこの別のトランザクションを認識していない場合、予期しない状態となり、その原因が特定されるまで処理を停止しなければならなくなります。そうしないと、システムが同じ目標を達成するために複数のトランザクションを送信する可能性があります。行う必要のある手順は、具体的な原因によって変わります。考えられる原因と手順は次のとおりです。
|
||||||
|
|
||||||
- 前回送信したトランザクションに[展性](transaction-malleability.html)があり、実際に検証済みレジャーに含まれていたが、予想と異なるハッシュだった場合。この問題は、`tfFullyCanonicalSig`フラグが含まれないフラグのセットを指定した場合か、必要以上の署名者によってマルチ署名されたトランザクションであった場合に起こる可能性があります。これに該当する場合は、その異なるハッシュとトランザクションの最終結果を保存し、通常のアクティビティーを再開します。
|
- 前回送信したトランザクションに[展性](transaction-malleability.html)があり、実際に検証済みレジャーに含まれていたが、予想と異なるハッシュだった場合。この問題は、`tfFullyCanonicalSig`フラグが含まれないフラグのセットを指定した場合か、必要以上の署名者によってマルチシグされたトランザクションであった場合に起こる可能性があります。これに該当する場合は、その異なるハッシュとトランザクションの最終結果を保存し、通常のアクティビティーを再開します。
|
||||||
|
|
||||||
- トランザクションを[キャンセル](cancel-or-skip-a-transaction.html)して置き換えたため、置き換え後のトランザクションが代わりに処理された場合。障害から復旧しようとしている場合、置き換え後のトランザクションでレコードが失われている可能性があります。その場合、当初確認していたトランザクションは恒久的に失敗し、置き換え後のトランザクションの最終結果が検証済みレジャーバージョンに記録されます。両方の最終結果を保存し、他に欠落したトランザクションや置き換えられたトランザクションがないか確認してから、通常のアクティビティーを再開します。
|
- トランザクションを[キャンセル](cancel-or-skip-a-transaction.html)して置き換えたため、置き換え後のトランザクションが代わりに処理された場合。障害から復旧しようとしている場合、置き換え後のトランザクションでレコードが失われている可能性があります。その場合、当初確認していたトランザクションは恒久的に失敗し、置き換え後のトランザクションの最終結果が検証済みレジャーバージョンに記録されます。両方の最終結果を保存し、他に欠落したトランザクションや置き換えられたトランザクションがないか確認してから、通常のアクティビティーを再開します。
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ labels:
|
|||||||
|
|
||||||
ローカルマシンが[`rippled`の最小システム要件](system-requirements.html)を満たしていることを確認します。
|
ローカルマシンが[`rippled`の最小システム要件](system-requirements.html)を満たしていることを確認します。
|
||||||
|
|
||||||
2. トランザクションに署名する必要がある場合は、`localhost`または`127.0.0.1`のサーバーに接続します。シングル署名の場合は[signメソッド][]、マルチ署名の場合は[sign_forメソッド][]を使用します。
|
2. トランザクションに署名する必要がある場合は、`localhost`または`127.0.0.1`のサーバーに接続します。シングル署名の場合は[signメソッド][]、マルチシグの場合は[sign_forメソッド][]を使用します。
|
||||||
|
|
||||||
[構成ファイルの例](https://github.com/ripple/rippled/blob/8429dd67e60ba360da591bfa905b58a35638fda1/cfg/rippled-example.cfg#L1050-L1073)では、ローカルループバックネットワーク上(127.0.0.1)のポート5005でJSON-RPC(HTTP)、ポート6006でWebSocket(WS)の接続をリッスンし、接続されるすべてのクライアントを管理者として扱っています。
|
[構成ファイルの例](https://github.com/ripple/rippled/blob/8429dd67e60ba360da591bfa905b58a35638fda1/cfg/rippled-example.cfg#L1050-L1073)では、ローカルループバックネットワーク上(127.0.0.1)のポート5005でJSON-RPC(HTTP)、ポート6006でWebSocket(WS)の接続をリッスンし、接続されるすべてのクライアントを管理者として扱っています。
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ Rippleが公開したものでないクライアントライブラリを使用
|
|||||||
|
|
||||||
- **コンセプト:**
|
- **コンセプト:**
|
||||||
- [暗号鍵](cryptographic-keys.html)
|
- [暗号鍵](cryptographic-keys.html)
|
||||||
- [マルチ署名](multi-signing.html)
|
- [マルチシグ](multi-signing.html)
|
||||||
- **チュートリアル:**
|
- **チュートリアル:**
|
||||||
- [rippledのインストール](install-rippled.html)
|
- [rippledのインストール](install-rippled.html)
|
||||||
- [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html)
|
- [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html)
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ Rippleが推奨するベストプラクティスに従い、Alpha Exchangeは、
|
|||||||
|
|
||||||
不正使用されたホットウォレットによって発生するおそれのある結果についての詳細は、[Operational Account Compromise](issuing-and-operational-addresses.html#運用アドレスの漏えい)を参照してください。
|
不正使用されたホットウォレットによって発生するおそれのある結果についての詳細は、[Operational Account Compromise](issuing-and-operational-addresses.html#運用アドレスの漏えい)を参照してください。
|
||||||
|
|
||||||
* オプションとして、コールドウォレットとホットウォレットの間で追加のセキュリティ層を提供する、1つ以上のウォームウォレット。ホットウォレットとは異なり、ウォームウォレットのシークレットキーはオンラインである必要はありません。さらに、ウォームウォレットのシークレットキーを複数の人に分散し、[マルチ署名](multi-signing.html)を導入してセキュリティを強化することもできます。
|
* オプションとして、コールドウォレットとホットウォレットの間で追加のセキュリティ層を提供する、1つ以上のウォームウォレット。ホットウォレットとは異なり、ウォームウォレットのシークレットキーはオンラインである必要はありません。さらに、ウォームウォレットのシークレットキーを複数の人に分散し、[マルチシグ](multi-signing.html)を導入してセキュリティを強化することもできます。
|
||||||
|
|
||||||
不正使用されたウォームウォレットによって発生するおそれのある結果についての詳細は、[スタンバイアドレスの漏えい](issuing-and-operational-addresses.html#スタンバイアドレスの漏えい)を参照してください。
|
不正使用されたウォームウォレットによって発生するおそれのある結果についての詳細は、[スタンバイアドレスの漏えい](issuing-and-operational-addresses.html#スタンバイアドレスの漏えい)を参照してください。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user