ブロックチェーンデジタル契約は、どのように所有権を委譲するには?

著者|ジャコモZucco

翻訳|彼Zebian |徐ヴェイロン

制作|ブロック・チェーン・ベースキャンプ(blockchain_camp)

この記事では、我々はお金の概念を探求するために、デジタル通貨の重要性の一定の硬さを付与するために、供給および制御メカニズムに基づいた思考の希少性を再現するための方法として、デジタルパズルの使用に基づいて行われます。署名やスクリプト、およびCoinJoinとして知られている技術によって所有権の証明。

所有権の証明:署名

私たちは、人々と「」質問のトピックに焦点を当てるために私たちの第二の資金を作るために計画しています。

新しい土の発行条件を決定するが、どのように彼らは転送できますか?誰がバランスシート、それの所有権の移転を共有するデータを変更する権利を持っていますか?

再割り当てがある場合は、現在の所有者の指示に従って(例えば、あなたがあなたの前にちょうど電子金の実験と同様に、ユーザー名とパスワードのログインシステムの古典的な方法を使用することができます)、故障の脆弱なシングルポイントの操作を担当する中央機関が座っていました再び:なぜPOWベースの「デジタル希少性」への物理的な金からの移動平均?

一方、各ユーザが所有権を再割り当て同等の権利を持っている場合は、お使いのシステムは、単に動作しません:誰もが他の人を割り当てる継続することが推奨されます自分自身に座っていました。あなたは、誰もが独立して確認することができ、契約の定義と一致する権限のいくつかの種類が必要です。 

溶液が呼び出されたデジタル署名の暗号化技術。それはこのように動作します:まず、アリスは秘密鍵と呼ばれる乱数を、選ぶ、彼女はこの数を極秘保持されます。彼女はその後、一方向に適用しやすいが、逆にすることはほとんど不可能である数学関数、デジタルの特別な数学関数を通過しました。結果は逆に、秘密別と呼ばれるデジタル公開鍵、アリスではない、彼女はボブがそれを知っていることを確信していました。結局、彼女は第2のプライベートキーの機能とメッセージを通過するだけでなく、困難な、非常に多数のリードは、シグネチャと呼ばれる機能を、逆にします。ボブは、第3及び最終の数学関数は、メッセージ、署名、及びアリスの公開鍵、それによって正または負の検証にも適用することができます。結果が肯定的である場合、彼はアリスがメッセージ(認証)を許可するかを決定することができ、彼女は後に承認(否認防止を)拒否することができなかったとのメッセージが送信中に(整合性)を変更されていません。   

    

ようにして、手書きの署名(名前)に似ている、誰もが簡単にいくつかの公共のサンプルを確認することができますが、所有者のない「右手」がない場合、それはコピーすることは困難です。またはワックスシールは、誰もが簡単にさえなど、公印に従って確認することができますが、右のワックスなしで、それはコピーすることは困難です。

だから、あなたは仕事が独立して再利用することができ、デジタル署名の一部であることを証明するためのプロトコルを変更することができます。あなたが達成した最初のモデルは非常に単純です:各ユーザーは、独立して、秘密鍵を生成し、公共のアカウントを作成し、対応する公開鍵が付いします。ユーザーが所有権を譲渡したいとき、彼らは、自分のアカウントを含め、メッセージを作成したアカウントを受け取り、彼らが転送先の番号が座っていただろう。そして、彼らはデジタル署名と誰もが検証できるというメッセージをブロードキャストします。 

興味深いことに、有名な(おそらく仮名)の多くの開発者は、そう、彼らは自由に変更していることを、修理、更新、レビューや閲覧ソフトウェアを改善し、かつ、異なるバージョンのソフトウェアに署名する同様のスキームを使用することができますすべてのエンドユーザーのシステム。あなたは好みのバージョンを実行する前に、信頼と断片化されたネットワークを最小限に抑えて、独立してソフトウェアを配布するための単一の集中権限なし、署名を検証します。このプロセスは、センターに実際のコードを達成することができます。       

    

インテリジェントスクリプトとの契約

ただし、デジタル署名の単なる妥当性などの条件を確認する必要があり、各ピアを制限するバランスシートへの変更を受け入れる前に、共有したくありません。

あなたは、各メッセージには、スクリプトを含めることができます決める:説明は、受信アカウント(または複数のアカウント)が再び再び過ごすするために満たされなければならない他の条件を示しています。例えば、送信者は、消費前に、いくつかの秘密キーの組み合わせ(リンクまたは分離)または特定の待機時間がかかることがあります。これらの基本的なタイプから始めて、あなたが効果的にプログラムすることができても、資金の場合は中央の参加者が存在しない場合には、複雑なスマート契約を構築することができ、非常に単純な(と監査への容易な)です。

 

耐久性(およびスケーラビリティ)問題

そして、暗号化されたメッセージングシステム(アリスがボブにいくつかのメッセージを送信した場合、ボブのみがそれらを読むことができる)異なる、あなたのプログラムが本当に耐久性のために最適化されていない(アリスがボブ土に送信する場合、それはボブ外に表示されなければなりません彼女のメッセージ、少なくとも将来の面で座って同じ人を取得します)。

流通しているお金。受信者は、署名が正しい場合でも、我々は転送が実際にその特定の支払者に転送され、その上、上流バックから基づいて、捕虜の当初発行に座っているかどうかを確認することができない、任意の転送を信頼することはできません。十分な長さの流動性があるとして土、アクティブなピアは、過去の取引から多くのことを学ぶことができ、缶番号、時間、およびアカウントフォレンジック分析技術の使用に関連する統計メタデータのために、非常に多くのユーザーが匿名のものとそれらの否定を排除することができますセックス。

これは問題がある:パート2で述べたように、お金のために耐久性が基本的な品質は、ビューの経済的、社会学的なポイントが真であるからかどうか、です。

特定のオーバーヘッドの条件は、特定のソフトウェアまたは特定の組織戦略を識別するために使用することができるので、この問題はさらに深刻にするインテリジェントな契約。

耐久性の欠如は、以前の電子金の実験の効果よりも深刻です。その時、あなたはほとんどの取引は、メタデータ、中央サーバ上に格納されますが、少なくとも、それがアクセスすることができます(多くのマロリー剤を含む)だれでも、あなただけではありません!また、あなたが実際に少なくとも部分的に間に何が起こったか、ユーザーに自身が見えないようにするために、特殊な高レベルの暗号化戦略のいくつかを実装することができます。

この設計に関連した小規模な問題がある:デジタル署名はすべてを確認するために、非常に大きい場合、受信者は、送信チェーンは、検証のコストを増大させることができる署名の数を含み、受信する必要があります。また、並列アカウントを検証することは困難で変更されます。

新しいパラダイム:「CoinJoin」

 

この問題を軽減するために、あなたは(UTXO)未使用のトランザクション出力用の同様の銀行口座からの基本的なソリッドモデルを変更することを決定します。

異なる命令の別のアカウントへのアカウントからの転送と土曜は、今、各メッセージには、成分だけでなく、新しいUTXOsのリストなどとして消費され、古いUTXOs、過去の取引からこれらの古いUTXOsのリストが含まれています製品は、「生成」、将来の取引のために準備します。

ボブは、彼は一般的なアカウントとしてではなくリリースよりも新しい、ワンタイム公開鍵、(銀行または電子メールアドレスIBANなど)、単一、静的な公開鍵の参照を提供したいと考え、各支払いを受けなければなりません。アリスは彼を支払う、とすると、彼女は土UTXOのいくつかの以前に作成され、新しいUTXOへで再ロックしてロックを解除するために、メッセージに署名しました。       

法案を支出として現金と同じように、常に支払い要求に合致するため、頻繁に変更する必要はありませんすることができます。アリスがボブに千席の衛星を支払うことを望んでいるが、彼女は唯一の700個の衛星はUTXOいくつかのロックを制御する場合、例えば、彼女は2つの1で消費する700個の衛星UTXO(衛星アンロック1400席の合計)に署名し、生成されます。新しいUTXO 2つの取引:関連付けられたボブ・キーロックの支払(1,000土)、アリスのキーに関連付けられた別のロックの変更(400土)。

人々は繰り返し使用異なるキーのために支払うことはありませんと仮定すると、この設計自体が闇を高めます。ユーザーが単一のトランザクションを実現するために始めているときしかし、必ずしも両方のエンティティからUTXOs消費量とを生成し、状況はさらにそうです。

アリスは、彼女がキャロルにメッセージを渡すことができ、彼女は(ボブに関連付けられている)新しいUTXOsを制御し、生成古いUTXOsを使用してメッセージを作成することができ、キャロルは、単に彼女が望んでいる古いUTXOsを追加することができ、彼女は消費者を作成したいです(ダニエルに関連した)新しいUTXOs。最後に、アリスとキャロルは署名され、複合メッセージをブロードキャストする(一方ボブとダニエルへの支払い)。

「CoinJoin」と呼ばれるこの特定の使用UTXOモデル。(トリガー警告:実際の歴史ビットコイン、この用法は中本デザインUTXOモデル自体に従ったものではなく、UTXO解除後の数年間で、他の開発者は、設計における潜在的な問題を発見しました)。いわゆる原子力を維持しながら、それは、統計的な出力間のリンクを解除することができます。トランザクションを完全に有効または無効、アリスとキャロルがお互いを信頼する必要はありませんので。(独自の署名メッセージを追加する前に変更しようとする試みの署名部分場合、既存の署名が無効になります。)  

  

:お使いのシステムは、実際には、さらに状況改善することができ、変更することができる異なるデジタル署名方式は、あなたが今置き換える線形署名されたデジタル署名方式を、使用することができます。これは、: 同じ署名各メッセージのメッセージ、その結果を(、2つの非常に大きな数である)署名が加算されている、結果を(二つの図は何もに加えて)2つのプライベート鍵を取得します2つの公開鍵の2人の初期の和に関連した正しい署名対応する秘密鍵であることを起こります。

それは複雑に聞こえるが、意味は簡単です:CoinJoining、アリスとキャロルは、放送の合計のみ、その後、独自の署名を追加することができたとき、誰もが合計を確認するために自分の公開鍵を制御することができます。我々が言ったように、署名は、取引の最も重い部分であるので、これだけラジオ放送ではなく、複数の可能性が多くのリソースを節約します。多くのユーザーは、効率性を追求するため、外部の観察者は、各トランザクションが最終的にCoinJoinであると思われるでしょう。この仮定は、ほとんどの法医学ヒューリスティックを中断します。       

それが検証できるという状態の変化別のアカウントのモデルとバッチ並列化:でもさらなる改善せず、UTXOモデルは何とか拡張性を向上しました。       

     

これまでのところ、あなたが学びました:

  • あなたは、所有権のデジタル署名の分権化を使用することができます。

  • あなたは、プログラマブルインテリジェントな取引契約を変換するために、スクリプティングシステムを使用することができます。

  • CoinJoinと呼ばれるより複雑なパラダイムはさらに闇と規模を増やすことができます。

ただし、ユーザーが完全に土を発行する方法を分散化し、それらを転送することができるので、どのように彼らは、二重支出の攻撃を避けるためか、時刻表のインフレを変更しようとするためには、シングル年表の遵守を確保することができますか?

これは、すべての人の思考の質問に残っていた私はあなたにこの記事が役に立つ願って、そして我々が議論するコメント欄を歓迎します。

【終わり】

推奨読書 

なしコード時代ません、彼らの雇用を維持するためにどのようにプログラマ?

無駄に従事する!ドッキングウィンドウはすぐにドアにあなたを引っ張る|フォースプログラム

機械学習の生物学:PCAは、K平均して、ゲノム配列解析COVID-19どのように変異を使用していますか?

バイトはメーカーが短いこのJava乾燥の、あなたを提供から武漢は、2,000人を採用暴行します!|フォースプログラム

あなたが試してみたい、自分のKubernetesコントローラを開発するためにJavaを使うのか?

皆が「イーサネットスクエア2.0フラグメンテーションデザイン」を読むことができます

あなたは、私が好きなよう真剣に、すべてのポイントを見て

リリース1889元の記事 ウォンの賞賛40000 + ビュー1719万+

おすすめ

転載: blog.csdn.net/csdnnews/article/details/105154336