LedgerFlow
概要
新しいLedgerFlowが近日公開
LedgerFlowは機能の大幅な刷新を受け、全く新しいバージョンが近日公開予定です。
LedgerFlowは、Cardanoブロックチェーンエコシステム内で動作する革新的なプロジェクトです。マルチセンダーと**マルチシグネチャ(Multisig)**の2つの重要な機能を提供します。それぞれの機能について詳しく説明します:
マルチセンダー
- マルチセンダー機能により、ユーザーは複数のアセットを複数の受取人に同時に効率的に送信できます。支払い、報酬、その他のデジタルアセットを配布する際、このフォームがプロセスを効率化します。
- マルチセンダーを活用することで、組織、企業、個人は個別のトランザクションを必要とせずに複数の受取人に資金を配布できます。これにより時間が節約され、トランザクション手数料も削減されます。
- 例えば、企業が従業員にボーナスを配布したい場合や、分散型アプリケーション(DApp)がユーザーに報酬を与える必要がある場合など、マルチセンダーはバッチ転送を可能にすることでこのようなタスクを簡略化します。
マルチセンダーの主な機能
バッチトランザクション
- マルチセンダーを使用すると、1回のトランザクションで複数の受取人にトークンを送信できます。
- 報酬、支払い、その他のアセットを配布する場合でも、この機能はプロセスを効率化します。
- 個別のトランザクションを処理する代わりに、一括転送を効率的に管理できます。
トランザクション手数料の削減
- マルチセンダーを使用すると、トランザクション手数料を大幅に節約できます。
- 個別の転送ごとに手数料が発生する代わりに、トランザクションをまとめることで全体的なコストが削減されます。
- このコスト効率性はユーザーと組織の両方に恩恵をもたらします。
アドレス帳管理
- LedgerFlowの更新されたマルチセンダーアプリはアドレス帳管理を導入しています。
- 受取人のリストを管理して、特定のアドレスへのトークン送信の選択を容易にすることができます。
ラベル管理
- ラベル管理により使いやすさが向上します。
- 受取人にラベルやタグを割り当てることで、整理と追跡が改善されます。
マルチシグネチャ(Multisig)
- Multisigは、暗号通貨ウォレットとトランザクションのセキュリティを強化する強力なセキュリティ機能です。
- Multisigの設定では、複数の当事者(しばしば署名者と呼ばれる)が協力してウォレットを管理します。トランザクションには、これらの署名者のうち事前に定められた数からの承認が必要です。
- 例えば、企業の資金管理ウォレットでは、5人の取締役のうち3人が送信トランザクションに署名する必要があるというMultisigウォレットを使用することがあります。これにより不正アクセスを防ぎ、冗長性を提供します。
マルチシグネチャの主な機能
- 基本コントラクト
基本コントラクトは、事前定義されたウォレットアドレスのマルチシグコントラクトとしきい値クォーラムで設計されています。その中核機能には以下が含まれます:
- ADAとデジタルアセットの追加と引き出し。
- トランザクション検証のための署名フローの活用(トランザクションの承認と送信にm-of-n署名が必要)。
- 編集可能コントラクト
編集可能コントラクトは、組織のニーズの変化に応じた動的な変更を促進します:
- タイムリーなコントラクト更新を可能にするリファレンス入力を開発します。
- ウォレットアドレスの追加・削除をサポートします。
- m-of-nスキームのmを効果的に調整するしきい値クォーラムの更新が可能です。
- コントラクトテスト
提供するサービスは厳格なテストを通じて堅牢性とセキュリティを確保します:
- コントラクトロジックの自動ユニットテストと統合テスト。
- 徹底的なセキュリティテスト。
- デプロイメントモジュール
デプロイメントモジュールにより、異なる組織コントラクトのカスタマイズが可能です:
- テンプレートコントラクトを使用してコントラクトをパラメーター化してデプロイできます。
- セキュリティとプライバシー
- すべてのスマートコントラクトは既知の攻撃と脆弱性に対して入念にテストされています。
- コントラクトには秘密鍵やキーマテリアルが含まれていないため、最適なセキュリティが確保されています。
- 重要な注意事項
- ADA、NFT、またはデジタルアセットをスマートコントラクトアドレスに直接入金する場合は、正しいデータムを使用する必要があります。これを怠ると、回収不能なアセットが生じる可能性があります。
- スケジュール済みまたは自動のアセット転送は、外部トリガーなしには実現できません。
追加サービス
ウォレット統合
コントラクトとのシームレスな連携のために、ウォレット接続と複雑なトランザクション構築を支援します。
トランザクション履歴
トランザクション履歴取得のためのAPIを提供できます。このオフチェーンソリューションはよりコスト効率が高く、フロントエンド統合が容易です。
このLedgerFlowマルチシグネチャはどのように機能するか?
マルチシグウォレットの作成

マルチシグウォレット作成の手順
マルチシグユーザーアカウントの設定 - 最初のステップとして、すべてのユーザーと必要な署名数をプロポーザル作成に渡します。ユーザーがプロポーザルを作成した後、すべてのユーザーが署名して公開鍵と公開鍵ハッシュを生成し、将来のトランザクションのために保存します。
コントラクト詳細の取得 - すべての公開鍵と公開鍵ハッシュを収集した後、Multisig-Server APIからコントラクトを取得します。メインファンドのUTXO IDは、プロポーザルコントラクト、クォーラムコントラクト、ボールトコントラクトをそれぞれのアドレスとともに作成するために使用されます。
プロポーザルトークン/クォーラムNFTをミントしてコントラクトを展開し、まだ行っていない場合はコントラクトに送信 - トークンプロポーザルはコントラクト内のステートを保存するために使用されます。このトークンをミントスクリプトを使用してミントし、コントラクトにデプロイするために送信します。
最初のミントでは複数のプロポーザルトークンをミントしますが、単一のクォーラムNFTのみです。 デプロイヤーが資金を持つUTXO IDは、ミントコントラクトの一意のポリシーIDを作成するために使用されます。 トランザクションビルダーでユーザーAとして出力トランザクションをコンパイルし、署名し、トランザクションを送信してトランザクションハッシュを取得します。
オフチェーン引き出し

オフチェーン引き出しの手順
オフチェーン署名の収集 - マルチシグウォレットの任意のユーザーが引き出しトランザクションを作成できます。まず、ユーザーは引き出しアドレスと引き出し額を含むメッセージを作成します。そのユーザーがメッセージに署名してデータベースに保存します。他のユーザーも作成されたメッセージに署名を追加します。
収集した署名を使用してボールトから引き出す - アドレスユーティリティを使用して受取人のステークキーハッシュと公開鍵ハッシュを取得し、アドレスを分解して受取人のアドレスに送信してステークキーハッシュと公開鍵ハッシュを取得します。
オンチェーン引き出し

オンチェーン引き出しの手順
プロポーザルをオンチェーンで作成 - マルチシグウォレットの任意のユーザーが引き出しトランザクションを作成できます。まず、ユーザーは引き出しアドレスと引き出し額を含むプロポーザルを作成します。そのユーザーがプロポーザルを送信してトランザクションハッシュを保存します。他のユーザーも作成されたプロポーザルトランザクションハッシュに署名を追加します。この署名はオフチェーン署名トランザクションの作成に使用されます。
他のユーザーがプロポーザルにオンチェーンで署名 - オフチェーントランザクションとは異なり、オンチェーン引き出しでは、メッセージに署名する代わりにトランザクションがブロックチェーンに書き込まれます。
プロポーザルから意図した受取人にオンチェーンで提案された金額を引き出す - 誰でもプロポーザルから金額を引き出すことができます。引き出しは提案された金額のみをボールトから意図した受取人に転送します。引き出し額やその他のパラメーターへの変更は意図通りにトランザクションを失敗させます。引き出しを行うユーザーはトランザクション手数料のみを支払い、トランザクションに他の変更を加えることはできません。
オフチェーンパラメーター更新

オフチェーンパラメーター更新の手順
このステップは、マルチシグウォレットの参加者を変更したり、トランザクションを作成するために必要な署名数を変更するために使用されます。
署名用のメッセージハッシュの取得 - 誰でもオフチェーンで署名を収集できます。まず、メッセージハッシュを取得して署名し、メッセージと署名を取得します。この署名はオフチェーン署名トランザクションの作成に使用されます。
参加者のウォレットから署名を収集 - マルチシグのすべての参加者が処理を進めるためにトランザクションに署名する必要があります。
クォーラムのオフチェーン更新トランザクションの作成 - クォーラムを更新するためのトランザクションが作成・送信され、データが更新されます。
オンチェーンパラメーター更新

オンチェーンパラメーター更新の手順
このステップは、マルチシグウォレットの参加者を変更したり、トランザクションを作成するために必要な署名数を変更するために使用されます。
クォーラムを更新するプロポーザルの作成 - これはオンチェーン引き出しと同じ手順に従います。ユーザーは必要な署名、公開鍵、公開鍵ハッシュを含むプロポーザルを作成します。次にプロポーザルを送信してトランザクションハッシュをデータベースに保存します。
他のユーザーがプロポーザルにオンチェーンで署名 - その後、他のユーザーがプロポーザルトランザクションのハッシュを使用してプロポーザルに署名を追加します。
署名済みプロポーザルから提案された署名者と必要なしきい値を更新 - 次に、ユーザーが追加した署名トランザクションハッシュと新しいパラメーターを使用してクォーラムを更新する最終トランザクションを実行します。