Ethereum: Nền tảng hợp đồng thông minh và ứng dụng phi tập trung thế hệ mới

著 Vitalik Buterin · 2013

Abstract

Ethereumは、チューリング完全なプログラミング言語を内蔵したブロックチェーンを導入する、次世代の暗号通貨および分散型アプリケーションプラットフォームです。これにより、誰でもスマートコントラクトや分散型アプリケーションを作成し、所有権、トランザクション形式、状態遷移関数に関する独自のルールを自由に定義することができます。

Ethereumの根本的なイノベーションは、Bitcoinによって開拓されたブロックチェーン技術と汎用プログラミング環境を組み合わせたことにあります。Bitcoinがある口座から別の口座への通貨移動のためのシンプルな状態遷移システムを提供するのに対し、Ethereumは開発者が想像しうるあらゆる種類の分散型アプリケーション——代替通貨や金融商品からドメイン登録システム、分散型組織に至るまで——を構築できるプラットフォームを提供します。

Ethereumは、本質的に究極の抽象的基盤レイヤーを構築することでこれを実現します。すなわち、チューリング完全なプログラミング言語を内蔵したブロックチェーンであり、誰でもスマートコントラクトや分散型アプリケーションを作成して、所有権、トランザクション形式、状態遷移関数に関する独自のルールを自由に定義できます。Namecoinの基本的なバージョンはわずか2行のコードで記述でき、通貨やレピュテーションシステムなどの他のプロトコルは20行未満で構築できます。

Abstract

Ethereum la mot nen tang tien ma hoa va ung dung phi tap trung the he tiep theo, gioi thieu mot blockchain voi ngon ngu lap trinh Turing-complete tich hop san. Dieu nay cho phep bat ky ai viet smart contract va cac ung dung phi tap trung, noi ho co the tao ra cac quy tac tuy y cho quyen so huu, dinh dang giao dich va cac ham chuyen doi trang thai (state transition function).

Su doi moi co ban cua Ethereum la ket hop cong nghe blockchain do Bitcoin khai pha voi mot moi truong lap trinh da muc dich. Trong khi Bitcoin cung cap mot he thong chuyen doi trang thai don gian de chuyen tien tu tai khoan nay sang tai khoan khac, Ethereum cung cap mot nen tang noi cac nha phat trien co the xay dung bat ky loai ung dung phi tap trung nao ma ho co the tuong tuong, tu cac loai tien te thay the va cong cu tai chinh den he thong dang ky ten mien va cac to chuc phi tap trung.

Ethereum dat duoc dieu nay bang cach xay dung nhung gi ve co ban la lop nen tang truu tuong toi thuong: mot blockchain voi ngon ngu lap trinh Turing-complete tich hop san, cho phep bat ky ai viet smart contract va cac ung dung phi tap trung, noi ho co the tao ra cac quy tac tuy y cho quyen so huu, dinh dang giao dich va cac ham chuyen doi trang thai. Mot phien ban co ban cua Namecoin co the duoc viet chi trong hai dong ma, va cac giao thuc khac nhu tien te va he thong danh tieng co the duoc xay dung trong duoi hai muoi dong.

Introduction and Existing Concepts

分散型デジタル通貨の概念は、財産登記などの代替的応用と同様に、数十年前から存在していました。1980年代から1990年代にかけての匿名電子マネープロトコルは、主にチャウミアンブラインディングと呼ばれる暗号プリミティブに依存しており、高度なプライバシーを備えた通貨を提供していましたが、中央集権的な仲介者への依存のため、これらのプロトコルは普及に至りませんでした。1998年、Wei Daiのb-moneyが、計算パズルの解決による貨幣創造と分散型コンセンサスの概念を導入した最初の提案となりましたが、分散型コンセンサスの実際の実装方法についての詳細は不十分でした。

2009年、Satoshi Nakamotoによって、分散型通貨が初めて実用的に実装されました。公開鍵暗号による所有権管理の確立された技術と、誰がコインを所有しているかを追跡するための「プルーフ・オブ・ワーク」と呼ばれるコンセンサスアルゴリズムを組み合わせたものです。プルーフ・オブ・ワークの仕組みは、2つの問題を同時に解決したという点で画期的でした。第一に、ネットワーク内のノードがBitcoin台帳の状態に対する正規の更新セットに集団的に合意できる、シンプルかつ適度に効果的なコンセンサスアルゴリズムを提供しました。第二に、コンセンサスプロセスへの自由な参加を可能にする仕組みを提供し、誰がコンセンサスに影響を与えるかを決定するという政治的問題を解決すると同時に、シビル攻撃を防止しました。

Bitcoinブロックチェーンは長年の運用を通じて驚くほど堅牢であることが証明されましたが、本質的な限界があります。Bitcoinのスクリプト言語は意図的に制限的かつ非チューリング完全に設計されており、ループやより複雑なアプリケーションの構築に必要な多くの機能を欠いています。この制限は無限ループやその他の計算攻撃を防ぐために存在しますが、Bitcoin上に構築できるものを大幅に制約しています。

過去5年間で、Bitcoinの機能を拡張するための多くの試みがありました。カラードコインはBitcoinブロックチェーンを利用して代替資産の所有権を追跡しようとし、Namecoinは分散型の名前登録データベースの作成を試み、様々なメタコインプロトコルがBitcoin上に追加レイヤーを構築することを目指しました。これらのアプローチは有望でしたが、Bitcoinのスクリプト機能の制限とスクリプト内からブロックチェーンデータにアクセスできないことにより、最終的には限界がありました。

Ethereumが提供しようとしているのは、完全なチューリング完全プログラミング言語を内蔵したブロックチェーンです。この言語は、任意の状態遷移関数をエンコードできる「コントラクト」の作成に使用でき、ユーザーは上述のシステムのいずれか、さらには我々がまだ想像していない多くのシステムを、わずか数行のコードでロジックを記述するだけで作成することができます。

Introduction and Existing Concepts

Khái niệm về tiền kỹ thuật số phi tập trung, cũng như các ứng dụng thay thế như đăng ký tài sản, đã tồn tại trong nhiều thập kỷ. Các giao thức tiền điện tử ẩn danh của những năm 1980 và 1990, chủ yếu dựa vào một phương pháp mã hóa nguyên thủy được gọi là làm mù Chaumian, đã cung cấp một loại tiền tệ có mức độ riêng tư cao, nhưng các giao thức này phần lớn không thu hút được sự chú ý do chúng phụ thuộc vào một trung gian tập trung. Năm 1998, b-money của Wei Dai trở thành đề xuất đầu tiên giới thiệu ý tưởng tạo tiền thông qua việc giải các câu đố tính toán cũng như sự đồng thuận phi tập trung, nhưng đề xuất này rất ít chi tiết về cách thức thực hiện sự đồng thuận phi tập trung.

Năm 2009, một loại tiền tệ phi tập trung lần đầu tiên được Satoshi Nakamoto triển khai trong thực tế, kết hợp các nguyên tắc cơ bản đã được thiết lập để quản lý quyền sở hữu thông qua mật mã khóa công khai với thuật toán đồng thuận để theo dõi ai sở hữu tiền xu, được gọi là "bằng chứng công việc". Cơ chế đằng sau bằng chứng công việc là một bước đột phá trong lĩnh vực này vì nó giải quyết đồng thời hai vấn đề. Đầu tiên, nó cung cấp một thuật toán đồng thuận đơn giản và hiệu quả vừa phải, cho phép các nút trong mạng đồng ý chung về một tập hợp các cập nhật chuẩn cho trạng thái Bitcoin ledger. Thứ hai, nó cung cấp một cơ chế cho phép tự do tham gia vào quá trình đồng thuận, giải quyết vấn đề chính trị trong việc quyết định ai sẽ ảnh hưởng đến sự đồng thuận, đồng thời ngăn chặn các cuộc tấn công âm thầm.

Chuỗi khối Bitcoin đã được chứng minh là mạnh mẽ đáng kể qua nhiều năm hoạt động, nhưng vốn dĩ nó vẫn còn hạn chế. Ngôn ngữ kịch bản của Bitcoin được thiết kế có chủ ý để hạn chế và không hoàn thiện Turing, thiếu vòng lặp và nhiều tính năng khác cần thiết để xây dựng các ứng dụng phức tạp hơn. Giới hạn này tồn tại để ngăn chặn các vòng lặp vô hạn và các hình thức tấn công tính toán khác, nhưng nó hạn chế nghiêm trọng những gì có thể được xây dựng trên Bitcoin.

Trong 5 năm qua, đã có một số nỗ lực nhằm mở rộng chức năng của Bitcoin. Đồng xu màu đã tìm cách sử dụng chuỗi khối Bitcoin để theo dõi quyền sở hữu các tài sản thay thế, Namecoin đã cố gắng tạo cơ sở dữ liệu đăng ký tên phi tập trung và các giao thức metacoin khác nhau nhằm xây dựng các lớp bổ sung trên Bitcoin. Mặc dù các phương pháp tiếp cận này tỏ ra đầy hứa hẹn nhưng cuối cùng chúng vẫn bị hạn chế bởi khả năng tạo tập lệnh của Bitcoin và không thể truy cập dữ liệu chuỗi khối từ bên trong các tập lệnh.

Những gì Ethereum dự định cung cấp là một blockchain có ngôn ngữ lập trình Turing-complete được tích hợp đầy đủ, có thể được sử dụng để tạo các "hợp đồng" dùng để mã hóa các chức năng chuyển đổi trạng thái tùy ý, cho phép người dùng tạo bất kỳ hệ thống nào được mô tả ở trên, cũng như nhiều hệ thống khác mà chúng tôi chưa tưởng tượng ra, chỉ bằng cách viết logic bằng một vài dòng mã.

Bitcoin As A State Transition System

技術的な観点から、Bitcoinのような暗号通貨の台帳は状態遷移システムと考えることができます。「状態」はすべての既存bitcoinの所有権の状況で構成され、「状態遷移関数」は状態とトランザクションを受け取り、結果として新しい状態を出力します。標準的な銀行システムでは、例えば、状態は貸借対照表であり、トランザクションはAからBへ\(Xを移動する要求であり、状態遷移関数はAの口座の値を\)X減少させ、Bの口座の値を\(X増加させます。もしAの口座に最初から\)X未満しかなければ、状態遷移関数はエラーを返します。

Ethereum state transition diagram showing how transactions transform blockchain state

Bitcoinにおける「状態」は、鋳造されたがまだ使われていないすべてのコイン(技術的には「未使用トランザクション出力」またはUTXO)の集合です。各UTXOは額面と所有者(本質的に暗号公開鍵である20バイトのアドレスで定義される)を持っています。トランザクションは1つ以上の入力を含み、各入力は既存のUTXOへの参照と所有者のアドレスに関連付けられた秘密鍵によって生成された暗号署名を含みます。また、1つ以上の出力を含み、各出力は状態に追加される新しいUTXOを含みます。

状態遷移関数APPLY(S,TX) - S'は、おおよそ以下のように定義できます:

  1. TX内の各入力について、参照されたUTXOがSに存在しない場合、エラーを返す。
  2. 提供された署名がUTXOの所有者と一致しない場合、エラーを返す。
  3. すべての入力UTXOの額面の合計が、すべての出力UTXOの額面の合計より小さい場合、エラーを返す。
  4. すべての入力UTXOが削除され、すべての出力UTXOが追加されたSを返す。

最初のステップの前半は、トランザクション送信者が存在しないコインを使うことを防ぎ、最初のステップの後半は、トランザクション送信者が他人のコインを使うことを防ぎ、2番目のステップは価値の保存を強制します。これを支払いに使用するためのプロトコルは次の通りです:AliceがBobに11.7 BTCを送りたいとします。まず、Aliceは自分が所有する利用可能なUTXOの中から合計が少なくとも11.7 BTCになるセットを探します。現実的には、Aliceはちょうど11.7 BTCを得ることはできません。得られる最小の組み合わせが6+4+2=12だとします。そして、3つの入力と2つの出力を持つトランザクションを作成します。最初の出力はBobのアドレスを所有者とする11.7 BTCであり、2番目の出力は残りの0.3 BTCの「おつり」で、所有者はAlice自身です。

Bitcoin As A State Transition System

Từ quan điểm kỹ thuật, ledger của tiền điện tử như Bitcoin có thể được coi là một hệ thống chuyển đổi trạng thái, trong đó có một "trạng thái" bao gồm trạng thái sở hữu của tất cả các bitcoin hiện có và "chức năng chuyển đổi trạng thái" có trạng thái và giao dịch và tạo ra trạng thái mới là kết quả. Ví dụ: trong hệ thống ngân hàng tiêu chuẩn, trạng thái là bảng cân đối kế toán, giao dịch là yêu cầu chuyển \(X từ A sang B và chức năng chuyển đổi trạng thái làm giảm giá trị trong tài khoản của A thêm X \) và tăng giá trị trong tài khoản của B lên \(X. Nếu tài khoản của A có ít hơn \)X ngay từ đầu, hàm chuyển trạng thái sẽ trả về lỗi.

Ethereum state transition diagram showing how transactions transform blockchain state

"Trạng thái" trong Bitcoin là tập hợp tất cả các đồng xu (về mặt kỹ thuật là "đầu ra giao dịch chưa chi tiêu" hoặc UTXO) đã được đúc và chưa được chi tiêu, với mỗi UTXO có một mệnh giá và một chủ sở hữu (được xác định bởi địa chỉ 20 byte về cơ bản là khóa công khai mật mã). Giao dịch chứa một hoặc nhiều đầu vào, trong đó mỗi đầu vào chứa tham chiếu đến UTXO hiện có và chữ ký mật mã được tạo bởi khóa riêng được liên kết với địa chỉ của chủ sở hữu và một hoặc nhiều đầu ra, với mỗi đầu ra chứa UTXO mới sẽ được thêm vào trạng thái.

Hàm chuyển trạng thái APPLY(S,TX) - S' có thể được định nghĩa đại khái như sau:

  1. Đối với mỗi đầu vào ở dạng TX, nếu UTXO được tham chiếu không ở dạng S, hãy trả về lỗi.
  2. Nếu chữ ký được cung cấp không khớp với chủ sở hữu của UTXO, hãy trả về lỗi.
  3. Nếu tổng mệnh giá của tất cả UTXO đầu vào nhỏ hơn tổng mệnh giá của tất cả UTXO đầu ra, hãy trả về lỗi.
  4. Trả về S với tất cả UTXO đầu vào đã bị xóa và tất cả UTXO đầu ra đã được thêm vào.

Nửa đầu của bước đầu tiên ngăn người gửi giao dịch tiêu tiền không tồn tại, nửa sau của bước đầu tiên ngăn người gửi giao dịch tiêu tiền của người khác và bước thứ hai thực thi việc bảo toàn giá trị. Để sử dụng số tiền này để thanh toán, giao thức như sau: giả sử Alice muốn gửi 11,7 BTC cho Bob. Đầu tiên, Alice sẽ tìm kiếm một bộ UTXO có sẵn mà cô ấy sở hữu có tổng giá trị lên tới ít nhất 11,7 BTC. Trên thực tế, Alice sẽ không thể nhận được chính xác 11,7 BTC; nói rằng số nhỏ nhất cô ấy có thể nhận được là 6+4+2=12. Sau đó, cô ấy tạo một giao dịch với ba đầu vào và hai đầu ra đó. Đầu ra đầu tiên sẽ là 11,7 BTC với địa chỉ của Bob là chủ sở hữu của nó và đầu ra thứ hai sẽ là "tiền lẻ" 0,3 BTC còn lại, với chủ sở hữu là chính Alice.

Mining

信頼できる中央集権的なサービスにアクセスできれば、このシステムの実装は自明です。記述された通りにコーディングし、中央サーバーのハードドライブを使って状態を追跡するだけで済みます。しかし、Bitcoinでは分散型通貨システムを構築しようとしているため、すべての人がトランザクションの順序に合意することを保証するために、状態遷移システムとコンセンサスシステムを組み合わせる必要があります。Bitcoinの分散型コンセンサスプロセスでは、ネットワーク内のノードが「ブロック」と呼ばれるトランザクションのパッケージを継続的に生成しようと試みます。ネットワークはおよそ10分ごとに1つのブロックを生成することを意図しており、各ブロックにはタイムスタンプ、ノンス、前のブロックへの参照(すなわちハッシュ)、および前のブロック以降に行われたすべてのトランザクションのリストが含まれます。

Ethereum block structure showing linked blocks with timestamps nonces and transactions

時間の経過とともに、これはBitcoin台帳の最新の状態を表すために常に更新される、永続的で成長し続ける「ブロックチェーン」を生み出します。このパラダイムにおいてブロックが有効かどうかを検証するアルゴリズムは以下の通りです:

  1. ブロックが参照する前のブロックが存在し、有効であることを確認する。
  2. ブロックのタイムスタンプが前のブロックのタイムスタンプより大きく、未来の2時間以内であることを確認する。
  3. ブロックのプルーフ・オブ・ワークが有効であることを確認する。
  4. Sを前のブロックの終了時点の状態とする。
  5. TXをn個のトランザクションからなるブロックのトランザクションリストとする。0...n-1のすべてのiについて、S = APPLY(S,TX[i])とする。いずれかの適用がエラーを返した場合、終了してfalseを返す。
  6. trueを返し、Sをこのブロックの終了時点の状態として登録する。

本質的に、ブロック内の各トランザクションは、トランザクション実行前の正規の状態から新しい状態への有効な状態遷移を提供しなければなりません。状態はブロック内にいかなる形でもエンコードされていないことに注意してください。状態は純粋に検証ノードによって記憶される抽象概念であり、ジェネシス状態から始めてすべてのブロック内のすべてのトランザクションを順次適用することによってのみ、任意のブロックに対して(安全に)計算できます。

マイナーは、新しく作成されたbitcoinとトランザクション手数料によって計算作業に対する報酬を受け取ります。マイニングプロセスは次のように機能します:マイナーはブロックヘッダーを取得し、特定の難易度ターゲット以下のハッシュを見つけるまで、異なるノンス値で繰り返しハッシュ化します。マイナーがそのようなハッシュを見つけると、ブロックをネットワークにブロードキャストし、他のノードがハッシュの有効性とブロック内のすべてのトランザクションの有効性を検証します。難易度ターゲットは、ブロックがおおよそ一定の速度で生成されることを保証するために、プロトコルによって2016ブロック(約2週間)ごとに自動的に調整されます。

長期的には、ブロックチェーンのセキュリティはマイナーが正直に行動する経済的インセンティブを持っていることに依存することに注意してください。攻撃者がネットワークのマイニングパワーの50%以上を制御する場合、正直なチェーンよりも速く成長する代替ブロックチェーンを作成することで「51%攻撃」を実行できる可能性があります。しかし、そのような攻撃には膨大な計算リソースが必要であり、ブロックチェーンの完全性に対するネットワークの信頼が失われることで、攻撃者のマイニング報酬が無価値になる可能性が高いでしょう。

Mining

Nếu chúng tôi có quyền truy cập vào một dịch vụ tập trung đáng tin cậy thì việc triển khai hệ thống này sẽ rất đơn giản; nó có thể được mã hóa chính xác như mô tả, sử dụng ổ cứng của máy chủ tập trung để theo dõi trạng thái. Tuy nhiên, với Bitcoin chúng tôi đang cố gắng xây dựng một hệ thống tiền tệ phi tập trung, vì vậy chúng tôi sẽ cần kết hợp hệ thống giao dịch nhà nước với hệ thống đồng thuận để đảm bảo rằng mọi người đều đồng ý về thứ tự giao dịch. Quy trình đồng thuận phi tập trung của Bitcoin yêu cầu các nút trong mạng liên tục cố gắng tạo ra các gói giao dịch được gọi là "khối". Mạng dự định tạo ra khoảng một khối cứ sau mười phút, với mỗi khối chứa dấu thời gian, số nonce, tham chiếu đến (tức là hàm băm của) khối trước đó và danh sách tất cả các giao dịch đã diễn ra kể từ khối trước đó.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Theo thời gian, điều này tạo ra một "blockchain" bền bỉ, ngày càng phát triển, liên tục cập nhật để thể hiện trạng thái mới nhất của Bitcoin ledger. Thuật toán để kiểm tra xem một khối có hợp lệ hay không, được thể hiện trong mô hình này như sau:

  1. Kiểm tra xem khối trước đó được tham chiếu bởi khối có tồn tại và hợp lệ hay không.
  2. Kiểm tra xem dấu thời gian của khối có lớn hơn dấu thời gian của khối trước đó và cách tương lai ít hơn 2 giờ không.
  3. Kiểm tra xem bằng chứng công việc trên khối có hợp lệ không.
  4. Gọi S là trạng thái cuối khối trước đó.
  5. Giả sử TX là danh sách giao dịch của khối có n giao dịch. Với tất cả i trong 0...n-1, đặt S = APPLY(S,TX[i]). Nếu bất kỳ ứng dụng nào trả về lỗi, hãy thoát và trả về false.
  6. Trả về true và đăng ký S làm trạng thái ở cuối khối này.

Về cơ bản, mỗi giao dịch trong khối phải cung cấp sự chuyển đổi trạng thái hợp lệ từ trạng thái chuẩn trước khi giao dịch được thực hiện sang một số trạng thái mới. Lưu ý rằng trạng thái không được mã hóa trong khối theo bất kỳ cách nào; nó hoàn toàn là một sự trừu tượng được nút xác thực ghi nhớ và chỉ có thể được tính toán (an toàn) cho bất kỳ khối nào bằng cách bắt đầu từ trạng thái ban đầu và áp dụng tuần tự mọi giao dịch trong mỗi khối.

Người khai thác được thưởng cho công việc tính toán của họ bằng bitcoin mới được tạo cộng với phí giao dịch. Quá trình khai thác hoạt động như sau: người khai thác lấy tiêu đề khối và liên tục băm nó với các giá trị nonce khác nhau cho đến khi họ tìm thấy hàm băm nằm dưới mục tiêu độ khó nhất định. Khi người khai thác tìm thấy hàm băm như vậy, họ sẽ phát khối lên mạng và các nút khác xác minh rằng hàm băm đó hợp lệ và tất cả các giao dịch trong khối đều hợp lệ. Mục tiêu độ khó được giao thức tự động điều chỉnh sau mỗi khối năm 2016 (khoảng hai tuần) để đảm bảo rằng các khối được tạo ra với tốc độ gần như không đổi.

Lưu ý rằng về lâu dài, tính bảo mật của blockchain phụ thuộc vào việc người khai thác có động cơ tài chính để hành xử trung thực. Nếu kẻ tấn công kiểm soát hơn 50% sức mạnh khai thác của mạng, chúng có khả năng thực hiện “cuộc tấn công 51%” bằng cách tạo ra một chuỗi khối thay thế phát triển nhanh hơn chuỗi trung thực. Tuy nhiên, một cuộc tấn công như vậy sẽ đòi hỏi nguồn tài nguyên tính toán khổng lồ và có thể khiến phần thưởng khai thác của kẻ tấn công trở nên vô giá trị do mạng mất niềm tin vào tính toàn vẹn của blockchain.

Merkle Trees

マークル木は、Bitcoinブロックにおいてトランザクションの包含を効率的かつ安全に検証するために使用される基本的なデータ構造です。マークル木はハッシュの二分木であり、リーフノードには個々のトランザクションのハッシュが含まれ、各内部ノードにはその2つの子のハッシュが含まれ、再帰的に構築されて最終的にブロックヘッダーに格納される単一のルートハッシュになります。この階層構造により、ブロック内のすべてのトランザクションをダウンロードすることなく、トランザクションからルートまでのハッシュの連鎖であるマークルブランチのみをダウンロードすることで、特定のトランザクションがブロックに含まれていることを誰でも検証できます。

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

効率性の向上は顕著です:完全なBitcoinノードはブロックチェーン全体を保存する必要がありますが(2013年時点で約15GB)、簡易支払い検証(SPV)ノードはマークルルートを含むブロックヘッダーのみをダウンロードすればよく、必要なデータはわずか4MBです。トランザクションを検証するために、SPVノードはフルノードにマークルブランチを要求しますが、これにはブロック内のトランザクション数をnとしてO(log n)のデータしか必要ありません。この対数的なスケーリングにより、モバイルデバイスやリソースの限られた環境でも軽量クライアントを実行することが可能になります。

Bitcoinのマークル木の使用は重要な原則を示しています:暗号構造は分散型ネットワークへの参加に必要な信頼とリソースの要件を劇的に削減できるということです。この同じ原則はEthereumの設計にも基盤として存在しており、マークル木はトランザクションだけでなく状態とレシートの保存にも使用され、さらに洗練されたライトクライアントプロトコルを可能にしています。

Merkle Trees

Cây Merkle là cấu trúc dữ liệu cơ bản được sử dụng trong các khối Bitcoin để cho phép xác minh hiệu quả và an toàn việc bao gồm giao dịch. Cây Merkle là một cây băm nhị phân trong đó các nút lá chứa các giá trị băm của các giao dịch riêng lẻ và mỗi nút bên trong chứa hàm băm của hai nút con của nó, xây dựng đệ quy thành một hàm băm gốc duy nhất được lưu trữ trong tiêu đề khối. Cấu trúc phân cấp này cho phép mọi người xác minh rằng một giao dịch cụ thể có được bao gồm trong một khối bằng cách chỉ tải xuống nhánh Merkle—chuỗi băm từ giao dịch đến gốc—thay vì tải xuống tất cả các giao dịch trong khối.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Hiệu quả đạt được là đáng kể: trong khi nút Bitcoin đầy đủ phải lưu trữ toàn bộ chuỗi khối (khoảng 15 GB tính đến năm 2013), nút xác minh thanh toán đơn giản hóa (SPV) chỉ cần tải xuống các tiêu đề khối có chứa gốc Merkle, chỉ cần 4 MB dữ liệu. Để xác minh một giao dịch, nút SPV yêu cầu nhánh Merkle từ các nút đầy đủ, chỉ yêu cầu dữ liệu O(log n) trong đó n là số lượng giao dịch trong một khối. Việc chia tỷ lệ logarit này giúp việc chạy các máy khách nhẹ trên thiết bị di động và môi trường tài nguyên thấp trở nên khả thi.

Việc sử dụng cây Merkle của Bitcoin thể hiện một nguyên tắc chính: cấu trúc mật mã có thể làm giảm đáng kể các yêu cầu về độ tin cậy và tài nguyên khi tham gia vào mạng phi tập trung. Nguyên tắc tương tự này làm nền tảng cho thiết kế của Ethereum, trong đó cây Merkle không chỉ được sử dụng cho các giao dịch mà còn để lưu trữ trạng thái và biên nhận, cho phép các giao thức máy khách nhẹ phức tạp hơn nữa.

Alternative Blockchain Applications

Bitcoinのブロックチェーンの成功は、この概念を単純な通貨を超えて拡張する多くの試みを触発しました。2010年に開始されたNamecoinは最も初期の例の一つであり、ブロックチェーン上に構築された分散型名前登録データベースで、中央機関が検閲や取り消しできない分散型の名前空間にユーザーが名前を登録できるようにしました。カラードコインは、特定のトランザクション出力に「タグ付け」することで、Bitcoinブロックチェーン上で現実世界の資産、会社の株式、または他の暗号通貨の所有権を表す代替資産の手段として登場しました。Mastercoin(後のOmni)などのメタコインやメタプロトコルは、Bitcoinトランザクションに追加データをエンコードし、その上に別のプロトコルルールを構築することで、Bitcoin上に追加機能をレイヤー化しました。

しかし、これらのアプローチはすべて、Bitcoinのアーキテクチャによって課される根本的な制限に苦しみました。Bitcoinのスクリプト言語は意図的に制限されており、ブロックチェーンの状態にアクセスできず、ループや複雑な制御フローを欠き、トランザクション値への内省が限られています。洗練されたアプリケーションを構築するには、不格好な回避策が必要でした:本来そのような目的を想定していないトランザクションフィールドにメタデータをエンコードしたり、複雑なロジックのためにオフチェーンインフラストラクチャに依存したり、プロトコルが達成できることの厳しい制限を受け入れたりする必要がありました。

これらの制約が、より汎用的なブロックチェーンプラットフォームの探求を動機づけました。Bitcoinの限られた基盤の上にさらに別の特殊目的プロトコルを構築するのではなく、Ethereumは異なるアプローチを取ります:チューリング完全なプログラミング言語を内蔵したブロックチェーンを提供し、誰でもスマートコントラクトや分散型アプリケーションを作成して、所有権、トランザクション形式、状態遷移関数に関する任意のルールを定義できるようにします。

Alternative Blockchain Applications

Sự thành công của chuỗi khối Bitcoin đã truyền cảm hứng cho nhiều nỗ lực nhằm mở rộng khái niệm này ra ngoài tiền tệ đơn giản. Namecoin, ra mắt vào năm 2010, là một trong những ví dụ sớm nhất—cơ sở dữ liệu đăng ký tên phi tập trung được xây dựng trên blockchain, cho phép người dùng đăng ký tên trong một không gian tên phân tán mà không cơ quan trung ương nào có thể kiểm duyệt hoặc thu hồi. Đồng xu màu nổi lên như một cách thể hiện các tài sản thay thế trên chuỗi khối Bitcoin bằng cách "gắn thẻ" các đầu ra giao dịch cụ thể để thể hiện quyền sở hữu tài sản trong thế giới thực, cổ phiếu công ty hoặc các loại tiền điện tử khác. Metacoin và các siêu giao thức như Mastercoin (sau này là Omni) xếp lớp chức năng bổ sung lên trên Bitcoin bằng cách mã hóa dữ liệu bổ sung trong các giao dịch Bitcoin và xây dựng các quy tắc giao thức riêng biệt ở trên cùng.

Tuy nhiên, tất cả các cách tiếp cận này đều gặp phải những hạn chế cơ bản do kiến ​​trúc của Bitcoin áp đặt. Ngôn ngữ kịch bản Bitcoin bị hạn chế có chủ ý—nó không thể truy cập trạng thái blockchain, thiếu vòng lặp và luồng điều khiển phức tạp, đồng thời cung cấp khả năng xem xét nội tâm hạn chế đối với các giá trị giao dịch. Việc xây dựng các ứng dụng phức tạp đòi hỏi những giải pháp khó xử: mã hóa siêu dữ liệu trong các trường giao dịch không bao giờ nhằm mục đích đó, dựa vào cơ sở hạ tầng ngoài chuỗi để có logic phức tạp hoặc chấp nhận những hạn chế nghiêm trọng về những gì giao thức có thể đạt được.

Những hạn chế này đã thúc đẩy việc tìm kiếm một nền tảng blockchain có mục đích chung hơn. Thay vì xây dựng một giao thức có mục đích đặc biệt khác trên nền tảng hạn chế của Bitcoin, Ethereum thực hiện một cách tiếp cận khác: cung cấp một chuỗi khối với ngôn ngữ lập trình Turing-complete được tích hợp sẵn, cho phép mọi người viết hợp đồng thông minh và ứng dụng phi tập trung với các quy tắc tùy ý về quyền sở hữu, định dạng giao dịch và chức năng chuyển đổi trạng thái.

Scripting

Bitcoin Script——Bitcoinトランザクションの使用条件を定義するために使用される言語——は、意図的に厳しい制限のもとに設計されています。チューリング完全ではなく、特にループや複雑な制御フロー構造を欠いています。この言語は、値のプッシュとポップ、暗号条件の評価を行い、最終的にトランザクションが有効かどうかを判定するためにtrueまたはfalseを返す、単純なスタックベースの実行環境として動作します。このシンプルさはセキュリティ上の利点を提供し、形式的分析を容易にしますが、多くの種類のアプリケーションの実装を不可能にもしています。

これらの制限は主に3つのカテゴリに分類されます。第一に、チューリング完全性の欠如は、複雑な状態機械、決定木、または反復を必要とするいかなるアルゴリズムの実装も妨げます。第二に、値の不可視性は、スクリプトが引き出し金額に対するきめ細かい制御を指定できないことを意味します——UTXOはその全額でしか使用できず、おつりは新しい出力に送られます。例えば、スクリプトは1日あたりの引き出しをX以下に制限し、残りをロックしたままにするということができません。第三に、ブロックチェーン状態の認識の欠如は、UTXOが使用済みか未使用のいずれかであり中間状態がないことを意味し、多段階のコントラクトをオンチェーンのみで実装することを不可能にしています。

これらの制約により、分散型自律組織、引き出し制限付きの貯蓄ウォレット、分散型取引所、予測市場などの高度なアプリケーションは、不可能であるか、不格好なオフチェーンメカニズムを必要とします。高度な金融コントラクトは、市場データへのアクセス、複数のトランザクションにわたる内部状態の維持、複雑な条件ロジックを必要とするかもしれません——これらのいずれもBitcoin Scriptでは提供できません。Ethereumは、ブロックチェーン状態への完全なアクセスを備えたチューリング完全言語を提供することで、これらの制限を取り除きます。

Scripting

Bitcoin Tập lệnh, ngôn ngữ được sử dụng để xác định các điều kiện chi tiêu cho các giao dịch Bitcoin, được thiết kế có chủ ý với những hạn chế nghiêm trọng. Nó không phải là Turing-complete—đáng chú ý nhất là nó thiếu các vòng lặp và cấu trúc luồng điều khiển phức tạp. Ngôn ngữ hoạt động như một môi trường thực thi dựa trên ngăn xếp đơn giản, trong đó các hoạt động đẩy và bật các giá trị, đánh giá các điều kiện mật mã và cuối cùng trả về đúng hoặc sai để xác định xem giao dịch có hợp lệ hay không. Mặc dù sự đơn giản này mang lại lợi ích bảo mật và giúp việc phân tích chính thức trở nên dễ dàng hơn nhưng nó cũng khiến nhiều loại ứng dụng không thể triển khai được.

Những hạn chế này rơi vào ba loại chính. Đầu tiên, việc thiếu tính đầy đủ của Turing sẽ ngăn cản việc triển khai các máy trạng thái phức tạp, cây quyết định hoặc bất kỳ thuật toán nào yêu cầu lặp lại. Thứ hai, tính mù giá trị có nghĩa là các tập lệnh không thể chỉ định quyền kiểm soát chi tiết đối với số tiền rút—chỉ có thể sử dụng toàn bộ UTXO, với thay đổi được gửi đến đầu ra mới. Ví dụ: một tập lệnh không thể giới hạn số lần rút tiền ở mức tối đa X mỗi ngày trong khi vẫn khóa phần còn lại. Thứ ba, việc thiếu nhận thức về trạng thái blockchain có nghĩa là UTXO được chi tiêu hoặc không chi tiêu mà không có trạng thái trung gian, khiến các hợp đồng nhiều giai đoạn không thể thực hiện hoàn toàn trên chuỗi.

Những hạn chế này làm cho các ứng dụng phức tạp như các tổ chức tự trị phi tập trung, ví tiết kiệm có giới hạn rút tiền, sàn giao dịch phi tập trung hoặc thị trường dự đoán không thể thực hiện được hoặc yêu cầu các cơ chế ngoài chuỗi khó xử lý. Một hợp đồng tài chính nâng cao có thể yêu cầu quyền truy cập vào dữ liệu thị trường, khả năng duy trì trạng thái nội bộ trên nhiều giao dịch và logic điều kiện phức tạp—không điều nào trong số đó mà Tập lệnh Bitcoin có thể cung cấp. Ethereum loại bỏ những hạn chế này bằng cách cung cấp ngôn ngữ hoàn chỉnh Turing với toàn quyền truy cập vào trạng thái blockchain.

Ethereum

Ethereumの根本的な目標は、チューリング完全なプログラミング言語を内蔵したブロックチェーンを提供し、誰でもスマートコントラクトや分散型アプリケーションを作成して、所有権、トランザクション形式、状態遷移関数に関する独自のルールを自由に定義できるようにすることです。通貨、名前登録、資産取引などの特定のアプリケーション向けにプロトコルを設計するのではなく、Ethereumは基盤レイヤー——開発者が想像しうるあらゆるアプリケーションを構築するために使用できるブロックチェーンベースの分散コンピューティングプラットフォーム——を提供します。

このアーキテクチャはBitcoinのUTXOモデルとは根本的に異なります。Ethereumはアカウントベースのシステムを使用しており、ブロックチェーンの状態はアドレスからアカウントオブジェクトへのマッピングで構成されます。各アカウントは残高、トランザクションカウンター(ノンス)を持ち、コントラクトアカウントの場合は関連するコードとストレージも持ちます。プラットフォームには、Ethereum仮想マシン(EVM)——トランザクションと状態遷移を処理するスタックベースの実行環境——で実行されるコントラクトコードを記述するための、チューリング完全なプログラミング言語が内蔵されています。

この汎用性により、幅広いアプリケーションが可能になります:カスタム発行ルールを持つ代替暗号通貨、金融デリバティブとステーブルコイン、アイデンティティおよびレピュテーションシステム、分散型ファイルストレージ、分散型自律組織(DAO)、その他多数。ホワイトペーパーは、Ethereumが特定のユースケースに最適化されているのではなく、アカウント、トランザクション、チューリング完全言語、ガスによる計量実行という基本的なビルディングブロックを提供し、開発者がそれらを組み合わせてエコシステムが求めるあらゆるアプリケーションを作成できることを強調しています。

Ethereum

Mục tiêu cơ bản của Ethereum là cung cấp cho blockchain ngôn ngữ lập trình hoàn chỉnh Turing tích hợp cho phép mọi người viết hợp đồng thông minh và ứng dụng phi tập trung, nơi họ có thể tạo các quy tắc tùy ý của riêng mình về quyền sở hữu, định dạng giao dịch và chức năng chuyển đổi trạng thái. Thay vì thiết kế giao thức cho các ứng dụng cụ thể như tiền tệ, đăng ký tên hoặc giao dịch tài sản, Ethereum cung cấp lớp nền tảng—nền tảng điện toán phân tán dựa trên blockchain mà các nhà phát triển có thể sử dụng để xây dựng bất kỳ ứng dụng nào họ có thể tưởng tượng.

Kiến trúc về cơ bản khác với mô hình UTXO của Bitcoin. Ethereum sử dụng hệ thống dựa trên tài khoản trong đó trạng thái chuỗi khối bao gồm ánh xạ từ địa chỉ đến đối tượng tài khoản. Mỗi tài khoản có số dư, bộ đếm giao dịch (không dùng một lần) và đối với tài khoản hợp đồng, mã liên kết và bộ lưu trữ. Nền tảng này bao gồm ngôn ngữ lập trình Turing-complete được tích hợp sẵn để viết mã hợp đồng thực thi trong Máy ảo Ethereum (EVM), một môi trường thực thi dựa trên ngăn xếp xử lý các giao dịch và chuyển đổi trạng thái.

Tính tổng quát này cho phép áp dụng một loạt các ứng dụng: tiền điện tử thay thế với quy tắc phát hành tùy chỉnh, công cụ tài chính phái sinh và stablecoin, hệ thống nhận dạng và danh tiếng, lưu trữ tệp phi tập trung, tổ chức tự trị phi tập trung (DAO), v.v. Sách trắng nhấn mạnh rằng Ethereum không được tối ưu hóa cho bất kỳ trường hợp sử dụng cụ thể nào mà thay vào đó cung cấp các khối xây dựng cơ bản—tài khoản, giao dịch, ngôn ngữ hoàn chỉnh Turing và thực thi đo lượng khí—mà các nhà phát triển có thể kết hợp để tạo ra bất kỳ ứng dụng nào mà hệ sinh thái yêu cầu.

Ethereum Accounts

Ethereumにおいて、状態はアカウントで構成されており、2つの基本的な種類があります。外部所有アカウント(EOA)は秘密鍵によって制御され、関連するコードを持ちません——ブロックチェーンと対話する人間のユーザーや外部エンティティを表します。コントラクトアカウントはそのコントラクトコードによって制御され、メッセージまたはトランザクションを受信した際に起動されます。両方の種類は共通の構造を共有しています:すべてのアカウントはノンス(各トランザクションが一度だけ処理されることを保証するために使用されるカウンター)、Ether残高を持ち、コントラクトの場合は特にコントラクトコードと永続ストレージを持ちます。

Etherは Ethereumの主要な内部暗号通貨であり、価値移転の手段とトランザクション手数料(ガス)を支払うための基本単位の両方として機能します。価値が複数の未使用出力に分散されるBitcoinのUTXOモデルとは異なり、Ethereumのアカウントは単純な残高を維持し、Etherを受信すると増加し、送信すると減少します。このアカウントベースのモデルは、特に永続的な状態や複雑なアクセス制御を必要とする多くの種類のアプリケーションを簡素化しますが、Bitcoinのアプローチとは異なるセキュリティ上の考慮事項を導入します。

EOAとコントラクトアカウントの区別は、Ethereumの動作を理解する上で極めて重要です。EOAは秘密鍵でメッセージを作成・署名してトランザクションを開始でき、トランザクションがブロックに含まれるためにガス手数料を支払います。コントラクトアカウントは自らトランザクションを開始することはできませんが、トランザクションやメッセージの受信に応じて他のコントラクトにメッセージを送信できます。これにより、単一の外部トランザクションが複数のコントラクト間のインタラクションをトリガーする、複雑な実行チェーンが可能になります。

Ethereum Accounts

Trong Ethereum, trạng thái được tạo thành từ các tài khoản và có hai loại cơ bản. Các tài khoản thuộc sở hữu bên ngoài (EOA) được kiểm soát bằng khóa riêng và không có mã liên quan — chúng đại diện cho người dùng hoặc các thực thể bên ngoài tương tác với chuỗi khối. Tài khoản hợp đồng được kiểm soát bằng mã hợp đồng và được kích hoạt khi nhận được tin nhắn hoặc giao dịch. Cả hai loại đều có chung cấu trúc: mỗi tài khoản đều có một nonce (bộ đếm được sử dụng để đảm bảo mỗi giao dịch chỉ có thể được xử lý một lần), số dư ether và đối với các hợp đồng cụ thể là mã hợp đồng và bộ lưu trữ liên tục.

Ether là loại tiền điện tử nội bộ chính của Ethereum, đóng vai trò vừa là phương tiện chuyển giá trị vừa là đơn vị cơ bản để thanh toán phí giao dịch (gas). Không giống như mô hình UTXO của Bitcoin nơi giá trị được phân phối trên nhiều đầu ra chưa được chi tiêu, tài khoản Ethereum duy trì số dư đơn giản tăng khi nhận được ether và giảm khi gửi. Mô hình dựa trên tài khoản này đơn giản hóa nhiều loại ứng dụng, đặc biệt là những ứng dụng yêu cầu kiểm soát truy cập phức tạp hoặc trạng thái liên tục, mặc dù nó đưa ra những cân nhắc về bảo mật khác so với phương pháp của Bitcoin.

Sự khác biệt giữa EOA và tài khoản hợp đồng là rất quan trọng để hiểu hoạt động của Ethereum. EOA có thể bắt đầu giao dịch bằng cách tạo và ký tin nhắn bằng khóa riêng của họ, trả phí gas để đưa giao dịch của họ vào khối. Tài khoản hợp đồng không thể tự bắt đầu giao dịch nhưng có thể gửi tin nhắn đến các hợp đồng khác để phản hồi việc nhận giao dịch hoặc tin nhắn, cho phép thực hiện các chuỗi thực hiện phức tạp trong đó một giao dịch bên ngoài duy nhất sẽ kích hoạt nhiều tương tác giữa các hợp đồng.

Messages and Transactions

Ethereumにおけるトランザクションは、外部所有アカウントによって作成され、ネットワークにブロードキャストされる署名付きデータパッケージです。トランザクションには、受信者アドレス、送信者の身元を証明する暗号署名、送金するEtherの量、オプションのデータフィールド(コントラクトとのインタラクションにおいて重要)、STARTGAS(トランザクションに許可される計算ステップの最大数)、およびGASPRICE(送信者が計算ステップごとに支払う意思のある手数料)が含まれます。マイナーはこれらのトランザクションを収集し、検証し、実行し、ブロックに含め、報酬としてガス手数料を受け取ります。

メッセージはトランザクションと概念的に似ていますが、外部アクターではなくコントラクトによって生成されます。コントラクトのコードが実行されると、他のコントラクトにメッセージを送信できます——これらの内部メッセージには、送信者(コントラクトアドレス)、受信者、送金するEtherの量、オプションのデータペイロード、およびSTARTGAS制限が含まれます。メッセージはコントラクト間の通信を可能にし、モノリシックなプログラムではなく、複数の相互作用するコントラクトから複雑なアプリケーションを構築できるようにします。

ガスメカニズムは不正利用を防ぐために不可欠です:トランザクション内のすべての計算ステップ、ストレージ操作、データバイトがガスを消費します。トランザクションが完了前にガスを使い果たした場合、すべての状態変更はロールバックされます(マイナーへのガス支払いを除く)。これにより、無限ループや過剰な計算がネットワークを停止させることを防ぎます。送信者はガス予算の合計(STARTGAS)と単位あたりの支払い価格(GASPRICE)の両方を指定し、実行完了後に未使用のガスは返金されます。

Messages and Transactions

Các giao dịch trong Ethereum là các gói dữ liệu đã ký được tạo bởi các tài khoản thuộc sở hữu bên ngoài và được phát lên mạng. Giao dịch chứa địa chỉ người nhận, chữ ký mật mã chứng minh danh tính của người gửi, lượng ether cần chuyển, trường dữ liệu tùy chọn (rất quan trọng để tương tác với hợp đồng), STARTGAS (số bước tính toán tối đa mà giao dịch được phép thực hiện) và GASPRICE (phí cho mỗi bước tính toán mà người gửi sẵn sàng trả). Người khai thác thu thập các giao dịch này, xác thực, thực hiện và đưa chúng vào các khối, nhận phí gas như một khoản bồi thường.

Các thông điệp về mặt khái niệm tương tự như các giao dịch nhưng được tạo ra bởi các hợp đồng chứ không phải do các tác nhân bên ngoài tạo ra. Khi mã của hợp đồng thực thi, mã đó có thể gửi tin nhắn đến các hợp đồng khác—những tin nhắn nội bộ này chứa người gửi (địa chỉ hợp đồng), người nhận, lượng ether cần chuyển, tải trọng dữ liệu tùy chọn và giới hạn STARTGAS. Tin nhắn cho phép giao tiếp giữa các hợp đồng, cho phép xây dựng các ứng dụng phức tạp từ nhiều hợp đồng tương tác thay vì các chương trình nguyên khối.

Cơ chế gas rất quan trọng để ngăn chặn sự lạm dụng: mỗi bước tính toán, hoạt động lưu trữ và byte dữ liệu trong một giao dịch đều tiêu tốn gas. Nếu một giao dịch hết gas trước khi hoàn thành, tất cả các thay đổi trạng thái sẽ được hoàn nguyên (ngoại trừ khoản thanh toán gas cho người khai thác), ngăn chặn các vòng lặp vô hạn hoặc tính toán quá mức khiến mạng bị dừng lại. Người gửi chỉ định cả tổng ngân sách gas (STARTGAS) và mức giá họ sẵn sàng trả cho mỗi đơn vị (GASPRICE) và mọi gas chưa sử dụng sẽ được hoàn lại sau khi quá trình thực thi hoàn tất.

Ethereum State Transition Function

Ethereumの状態遷移関数APPLY(S,TX) - S'は、トランザクションがブロックチェーンの状態をどのように変換するかを定義し、正確な一連のステップに従います。まず、システムはトランザクションの有効性を検証します:署名が正しいことの確認、ノンスが送信者のアカウントノンスと一致することの確認、送信者が前払い費用(STARTGAS × GASPRICE加えて送金額)を支払うのに十分な残高を持っていることの確認です。いずれかのチェックが失敗した場合、実行開始前にトランザクションは拒否されます。有効であれば、トランザクション手数料が送信者のアカウントから差し引かれ、送信者のノンスがインクリメントされ、トランザクションデータのバイトごとの手数料を差し引いたSTARTGASに初期ガスカウンターが設定されます。

Ethereum state transition function showing gas deduction value transfer and code execution

次に、システムは指定されたEther値を送信者から受信者に送金します。受信者が外部所有アカウントの場合、これでトランザクションは完了します。受信者がコントラクトアカウントの場合、コントラクトのコードがEthereum仮想マシン内で実行され、コードが正常に完了するか、コードが明示的に停止するか、ガスが尽きるまで、各操作でガスを消費します。実行中、コントラクトはそのストレージの読み書き、他のコントラクトへのメッセージの送信、新しいコントラクトの作成が可能です。

最後に、値の送金が失敗した場合(残高不足)またはコード実行が失敗した場合(ガス切れまたはエラー発生)、すべての状態変更がロールバックされます——ただし、送信者は実行された計算に対するガス手数料をマイナーに支払います。実行が成功した場合、残りのガスは送信者に返金され、消費されたガスは手数料としてマイナーに送られます。このメカニズムにより、マイナーは計算に対する報酬を受け取り、同時に制御不能な実行が無制限のリソースを消費することを防ぎます。

Ethereum State Transition Function

Hàm chuyển đổi trạng thái Ethereum APPLY(S,TX) - S' xác định cách giao dịch chuyển đổi trạng thái blockchain và nó tuân theo một trình tự các bước chính xác. Đầu tiên, hệ thống kiểm tra tính hợp lệ của giao dịch: xác minh chữ ký là chính xác, xác nhận nonce khớp với nonce trong tài khoản của người gửi và đảm bảo người gửi có đủ số dư để thanh toán chi phí trả trước (STARTGAS × GASPRICE cộng với giá trị được gửi). Nếu bất kỳ kiểm tra nào không thành công, giao dịch sẽ bị từ chối trước khi bắt đầu thực hiện. Nếu hợp lệ, phí giao dịch sẽ được khấu trừ khỏi tài khoản của người gửi, số nonce của người gửi sẽ tăng lên và bộ đếm gas ban đầu được đặt thành STARTGAS trừ đi phí mỗi byte cho dữ liệu giao dịch.

Ethereum state transition function showing gas deduction value transfer and code execution

Tiếp theo, hệ thống chuyển giá trị ether được chỉ định từ người gửi đến người nhận. Nếu người nhận là tài khoản thuộc sở hữu bên ngoài thì giao dịch sẽ hoàn tất. Nếu người nhận là tài khoản hợp đồng, mã của hợp đồng sẽ chạy trong Máy ảo Ethereum, tiêu thụ gas cho mỗi thao tác cho đến khi mã hoàn thành thành công, mã dừng rõ ràng hoặc hết gas. Trong quá trình thực hiện, hợp đồng có thể đọc và sửa đổi bộ nhớ của nó, gửi tin nhắn đến các hợp đồng khác và tạo hợp đồng mới.

Cuối cùng, nếu quá trình chuyển giá trị không thành công (không đủ số dư) hoặc thực thi mã không thành công (hết gas hoặc gặp lỗi), tất cả các thay đổi trạng thái sẽ được hoàn nguyên—ngoại trừ việc người gửi vẫn trả phí gas cho người khai thác để tính toán được thực hiện. Nếu thực hiện thành công, lượng gas còn lại sẽ được hoàn lại cho người gửi và lượng gas đã tiêu thụ sẽ được gửi cho người khai thác dưới dạng phí. Cơ chế này đảm bảo rằng các thợ mỏ được đền bù cho việc tính toán đồng thời ngăn chặn việc thực thi chạy trốn khỏi việc tiêu thụ tài nguyên không giới hạn.

Code Execution

Ethereum仮想マシン(EVM)は、コントラクトコードが実行されるランタイム環境であり、Java仮想マシンやWebAssemblyと概念的に類似した低レベルのスタックベース仮想マシンです。コントラクトコードはバイトの列として格納され、各バイトはEVMが実行できるオペレーション(オペコード)を表します。実行モデルは意図的にシンプルかつ決定論的です:同じ入力状態とトランザクションでEVMを実行するすべてのノードは、同じ出力状態に到達しなければならず、ネットワーク全体のコンセンサスを保証します。

EVMは計算のために3つの異なるタイプのストレージを提供します。スタックは1024要素に制限された後入先出(LIFO)構造であり、即座の操作値に使用されます。メモリは単一のメッセージコールの間だけ持続し、実行間でリセットされる無限に拡張可能なバイト配列です。ストレージは各コントラクトアカウントに永続的に関連付けられた永続キーバリューストアであり、コントラクトがトランザクションをまたいで長期的な状態を維持する場所です。これらのストレージタイプはガス料金が異なります——スタックとメモリの操作は安価ですが、ストレージ操作はブロックチェーンの肥大化を防ぐために高価です。

実行中、コントラクトコードは重要なコンテキストにアクセスできます:メッセージ送信者のアドレス、送られたEtherの量、呼び出し元が提供したデータペイロード、現在のブロック番号、タイムスタンプ、マイナーアドレスなどのブロックレベルのプロパティを読み取ることができます。コードは呼び出し元に出力バイト配列を返すことができ、他のコントラクトにメッセージを送信したり、新しいコントラクトを作成したりできます。この実行モデルはチューリング完全であり、ループや複雑な制御フローが可能ですが、ガスメカニズムによりすべての計算が有限時間で終了することが保証され、言語の制限ではなく経済的な方法で停止性問題を解決しています。

Code Execution

Máy ảo Ethereum (EVM) là môi trường thời gian chạy trong đó mã hợp đồng thực thi—một máy ảo dựa trên ngăn xếp, cấp độ thấp có khái niệm tương tự như Máy ảo Java hoặc WebAssembly. Mã hợp đồng được lưu trữ dưới dạng một chuỗi byte, trong đó mỗi byte đại diện cho một hoạt động (mã hoạt động) mà EVM có thể thực thi. Mô hình thực thi rất đơn giản và mang tính xác định: mọi nút chạy EVM có cùng trạng thái đầu vàogiao dịch phải đến cùng trạng thái đầu ra, đảm bảo sự đồng thuận trên toàn mạng.

EVM cung cấp ba loại lưu trữ riêng biệt để tính toán. Ngăn xếp là cấu trúc vào trước ra trước (LIFO) được giới hạn ở 1024 phần tử, được sử dụng cho các giá trị hoạt động ngay lập tức. Bộ nhớ là một mảng byte có khả năng mở rộng vô hạn, chỉ tồn tại trong khoảng thời gian của một cuộc gọi tin nhắn và được đặt lại giữa các lần thực thi. Bộ lưu trữ là kho lưu trữ khóa-giá trị liên tục được liên kết vĩnh viễn với mỗi tài khoản hợp đồng, nơi hợp đồng duy trì trạng thái lâu dài qua các giao dịch. Các loại lưu trữ này có giá khác nhau về gas — hoạt động của ngăn xếp và bộ nhớ rẻ, trong khi hoạt động lưu trữ lại đắt tiền để ngăn chặn sự phình to của blockchain.

Trong quá trình thực thi, mã hợp đồng có quyền truy cập vào ngữ cảnh quan trọng: nó có thể đọc địa chỉ của người gửi tin nhắn, lượng ether được gửi, tải trọng dữ liệu do người gọi cung cấp và các thuộc tính cấp khối như số khối hiện tại, dấu thời gian và địa chỉ thợ mỏ. Mã có thể trả về một mảng byte đầu ra cho người gọi và có thể gửi tin nhắn đến các hợp đồng khác hoặc tạo hợp đồng mới. Mô hình thực thi này là Turing-complete—có thể sử dụng các vòng lặp và luồng điều khiển phức tạp—nhưng cơ chế khí đảm bảo rằng tất cả tính toán kết thúc trong thời gian giới hạn, giải quyết vấn đề tạm dừng một cách kinh tế thay vì thông qua các hạn chế về ngôn ngữ.

Blockchain and Mining

Ethereumのブロックチェーンは基本的にBitcoinのものと類似しており、これまでに実行されたすべてのトランザクションを含むデータベースとして機能します。しかし、Bitcoinがトランザクションリストのみを格納するのに対し、Ethereumはトランザクションリストと最新の状態の両方を格納します。Ethereumの各ブロックには、前のブロックのハッシュ、ステートルート(全体の状態を表すマークル・パトリシアトライのルートハッシュ)、トランザクションルート、レシートルート(トランザクション実行からのデータを格納)、そして難易度、タイムスタンプ、ノンスの値が含まれます。状態自体は、アドレスからアカウントオブジェクトへのマッピングである大きなマークル・パトリシアトライであり、各アカウントは残高、ノンス、コード(存在する場合)、およびストレージを持ちます。

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereumは、高速なブロック時間から生じるセキュリティ問題に対処するために、GHOST(Greedy Heaviest Observed Subtree)プロトコルの修正版を使用しています。従来の最長チェーンプロトコルでは、高速なブロックは高い陳腐化率をもたらし、ネットワークセキュリティを低下させ、大規模なマイナーが陳腐ブロックでの計算の無駄が少ないため、中央集権化のリスクを増加させます。GHOSTは陳腐ブロック(Ethereumでは「アンクル」と呼ばれる)をどのチェーンが最長かの計算に含め、アンクルブロックに部分的な報酬を提供し、マイナーがそれらを参照するインセンティブを与えます。これにより、Ethereumはネットワークセキュリティを維持しながら、約12秒のターゲットブロック時間を維持できます。

マイニングアルゴリズムはBitcoinのプルーフ・オブ・ワークと同様に機能し、マイナーはブロックのハッシュが特定の難易度ターゲット以下になるノンスを見つける必要があります。しかし、Ethereumのメモリハードなマイニングアルゴリズム(Ethash)はASIC耐性を持つように設計されており、より分散化されたマイニングエコシステムを促進します。難易度はブロック時間に基づいて動的に調整され、約12秒のターゲットを維持し、一貫したブロック生成を保証します。一方、GHOSTプロトコルはBitcoinの10分の平均と比較してより高速なブロック時間にもかかわらず、セキュリティ保証を提供します。

Blockchain and Mining

Chuỗi khối Ethereum về cơ bản tương tự như chuỗi khối Bitcoin, hoạt động như một cơ sở dữ liệu chứa mọi giao dịch từng được thực hiện. Tuy nhiên, trong khi Bitcoin chỉ lưu trữ danh sách giao dịch thì Ethereum lưu trữ cả danh sách giao dịch và trạng thái gần đây nhất. Mỗi khối trong Ethereum chứa hàm băm của khối trước đó, gốc trạng thái (mã băm gốc của Merkle Patricia trie đại diện cho toàn bộ trạng thái), gốc giao dịch, gốc biên nhận (lưu trữ dữ liệu từ quá trình thực hiện giao dịch), cùng với các giá trị độ khó, dấu thời gian và số nonce. Bản thân trạng thái là một bộ ba địa chỉ ánh xạ Merkle Patricia lớn tới các đối tượng tài khoản, trong đó mỗi tài khoản có số dư, số nonce, mã (nếu có) và bộ nhớ.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum sử dụng phiên bản sửa đổi của giao thức GHOST (Cây con được quan sát nặng nhất tham lam) để giải quyết các vấn đề bảo mật phát sinh từ thời gian khối nhanh. Trong các giao thức chuỗi dài nhất truyền thống, các khối nhanh dẫn đến tỷ lệ cũ cao, làm giảm an ninh mạng và tăng rủi ro tập trung khi các công ty khai thác lớn lãng phí ít tính toán hơn trên các cũ. GHOST bao gồm các khối cũ (được gọi là "chú" trong Ethereum) để tính toán chuỗi nào dài nhất và cung cấp một phần phần thưởng cho các khối chú, khuyến khích người khai thác tham chiếu chúng. Điều này cho phép Ethereum duy trì thời gian chặn mục tiêu khoảng 12 giây trong khi vẫn đảm bảo an ninh mạng.

Thuật toán khai thác hoạt động tương tự như proof-of-work của Bitcoin, yêu cầu người khai thác phải tìm một nonce sao cho hàm băm của khối nằm dưới mục tiêu độ khó nhất định. Tuy nhiên, thuật toán khai thác bộ nhớ cứng (Ethash) của Ethereum được thiết kế để chống lại ASIC, thúc đẩy hệ sinh thái khai thác phi tập trung hơn. Độ khó điều chỉnh linh hoạt dựa trên thời gian khối để duy trì mục tiêu ~12 giây, đảm bảo sản xuất khối nhất quán trong khi giao thức GHOST cung cấp đảm bảo an ninh mặc dù thời gian khối nhanh hơn so với mức trung bình 10 phút của Bitcoin.

Applications

Ethereum上に構築できるアプリケーションは、大きく3つのカテゴリに分類されます。第一のカテゴリは金融アプリケーションであり、ユーザーに自分のお金に関するコントラクトを管理・締結するより強力な方法を提供します。これにはサブ通貨、金融デリバティブ、ヘッジコントラクト、引き出し制限付きの貯蓄ウォレット、自動的に資金を分配する遺言、さらには検証された作業完了に基づいて支払いを計算する雇用契約が含まれます。これらのアプリケーションはEthereumのプログラマビリティを活用して、従来のシステムやBitcoin上でも実装が不可能または極めて困難な複雑な金融商品を作成します。

第二のカテゴリは半金融アプリケーションであり、お金が関与しますが、行われていることの非金銭的な側面も相当なものです。完璧な例は、計算問題の解決に対する自己強制型の報奨金です。誰かが報酬とともに計算問題を投稿し、コントラクトが提出された解決策を自動的に検証し、最初の正解に報奨金を支払うことができます。このカテゴリは純粋な金融と他の領域を橋渡しし、経済的インセンティブを使用して問題を解決したり行動を調整したりします。

第三のカテゴリは、お金とは一切関係のないアプリケーションであり、オンライン投票や分散型ガバナンスシステムなどです。これらの非金融アプリケーションは、汎用プラットフォームとしてのEthereumの柔軟性を示しています。例としては、Namecoinのような分散型ドメインネームシステム、レピュテーションシステム、分散型ファイルストレージ、組織ガバナンスツールなどがあります。すべてのアプリケーションタイプの中で、トークンシステムが最も一般的かつ基本的なものとして台頭しており、他の多くのアプリケーションのビルディングブロックとして機能しています。

Applications

Các ứng dụng có thể được xây dựng trên Ethereum thuộc ba loại chính. Danh mục đầu tiên là các ứng dụng tài chính, cung cấp cho người dùng những cách mạnh mẽ hơn để quản lý và ký kết các hợp đồng liên quan đến tiền của họ. Điều này bao gồm các loại tiền tệ phụ, công cụ tài chính phái sinh, hợp đồng phòng ngừa rủi ro, ví tiết kiệm có giới hạn rút tiền, di chúc phân phối tiền tự động và thậm chí cả hợp đồng lao động tính toán thanh toán dựa trên việc hoàn thành công việc đã được xác minh. Các ứng dụng này tận dụng khả năng lập trình của Ethereum để tạo ra các công cụ tài chính phức tạp không thể hoặc cực kỳ khó triển khai trong các hệ thống truyền thống hoặc thậm chí trên Bitcoin.

Loại thứ hai là các ứng dụng bán tài chính, trong đó có liên quan đến tiền nhưng cũng có một thành phần phi tiền tệ đáng kể đối với những gì đang được thực hiện. Một ví dụ hoàn hảo là tiền thưởng tự thực thi cho các giải pháp cho các vấn đề tính toán. Ai đó có thể đăng một vấn đề tính toán cùng với phần thưởng và hợp đồng có thể tự động xác minh các giải pháp đã gửi và trả tiền thưởng cho câu trả lời đúng đầu tiên. Danh mục này kết nối tài chính thuần túy và các lĩnh vực khác, sử dụng các động lực kinh tế để giải quyết vấn đề hoặc điều phối hành vi.

Loại thứ ba là các ứng dụng không liên quan gì đến tiền, chẳng hạn như bỏ phiếu trực tuyến và hệ thống quản trị phi tập trung. Các ứng dụng phi tài chính này thể hiện tính linh hoạt của Ethereum như một nền tảng có mục đích chung. Ví dụ bao gồm các hệ thống tên miền phi tập trung như Namecoin, hệ thống danh tiếng, lưu trữ tệp phi tập trung và các công cụ quản trị tổ chức. Trong số tất cả các loại ứng dụng này, hệ thống mã thông báo nổi lên là loại phổ biến và cơ bản nhất, đóng vai trò là khối xây dựng cho nhiều ứng dụng khác.

Token Systems

トークンシステムは、最も強力で一般的なアプリケーションの一つであるにもかかわらず、Ethereum上での実装は驚くほど簡単です。その核心において、トークンシステムは単一の操作を持つデータベースに過ぎません:アカウントAからX単位を差し引き、アカウントBにX単位を加える。ただし、トランザクション前にAが少なくともX単位を保有しており、トランザクションがAによって承認されていることが条件です。実装には、アドレスから残高へのマッピングを維持し、トークンをアカウント間で移動する前に適切なチェックを行う送金関数を提供する必要があります。

基本的なトークンシステムのコントラクトコードは非常にシンプルで、わずか数行で記述できます。アドレスから残高へのマッピングのデータ構造、初期トークン供給量を割り当てる初期化関数、送信者の残高と承認をチェックしてから送金を実行する送金関数で構成されます。このシンプルさは、Bitcoinの制限されたスクリプト機能のために大幅な回避策と制限が必要な同様のシステムの実装の複雑さとは対照的です。

Ethereum上のトークンは、価値のあるものであれば事実上何でも表すことができます。独自の金融政策を持つサブ通貨、外部資産を追跡する金融デリバティブ、配当権付きの会社株式、顧客プログラムのロイヤリティポイント、金や石油などの商品、さらには物理的財産の表現までも可能です。Ethereumのプログラマビリティにより、これらのトークンは送金制限、自動バーンメカニズム、配当分配、ガバナンス権限など、その行動を支配する任意のルールを持つことができます。この柔軟性により、トークンシステムはEthereumエコシステムの大部分の基盤となるビルディングブロックとなっています。

Token Systems

Hệ thống mã thông báo dễ triển khai một cách đáng ngạc nhiên trên Ethereum, mặc dù đây là một trong những ứng dụng phổ biến và mạnh mẽ nhất. Về cốt lõi, hệ thống mã thông báo chỉ đơn giản là một cơ sở dữ liệu với một thao tác duy nhất: trừ X đơn vị khỏi tài khoản A và thêm X đơn vị vào tài khoản B, với điều kiện A có ít nhất X đơn vị trước khi giao dịch và giao dịch được A ủy quyền. Việc triển khai yêu cầu duy trì ánh xạ địa chỉ tới số dư và cung cấp chức năng chuyển tiền để thực hiện các kiểm tra thích hợp trước khi di chuyển mã thông báo giữa các tài khoản.

Mã hợp đồng cho hệ thống mã thông báo cơ bản rất đơn giản và có thể được viết chỉ bằng vài dòng. Nó bao gồm cấu trúc dữ liệu ánh xạ địa chỉ tới số dư, chức năng khởi tạo chỉ định nguồn cung cấp mã thông báo ban đầu và chức năng chuyển để kiểm tra số dư và ủy quyền của người gửi trước khi thực hiện chuyển. Sự đơn giản này hoàn toàn trái ngược với sự phức tạp cần thiết để triển khai các hệ thống tương tự trên Bitcoin, vốn đòi hỏi các giải pháp thay thế và hạn chế đáng kể do khả năng viết tập lệnh bị hạn chế của Bitcoin.

Mã thông báo trên Ethereum có thể đại diện cho hầu hết mọi thứ có giá trị. Chúng có thể đại diện cho các loại tiền tệ phụ với chính sách tiền tệ của riêng chúng, các công cụ phái sinh tài chính theo dõi tài sản bên ngoài, cổ phiếu công ty có quyền cổ tức, điểm khách hàng thân thiết trong các chương trình khách hàng, hàng hóa như vàng hoặc dầu hoặc thậm chí là đại diện cho tài sản vật chất. Khả năng lập trình của Ethereum cho phép các mã thông báo này có các quy tắc tùy ý điều chỉnh hành vi của chúng, chẳng hạn như hạn chế chuyển tiền, cơ chế đốt tự động, phân phối cổ tức hoặc quyền quản trị. Tính linh hoạt này đã làm cho hệ thống mã thông báo trở thành khối xây dựng nền tảng cho phần lớn hệ sinh thái Ethereum.

Financial Derivatives and Stable-Value Currencies

金融デリバティブは、Ethereumスマートコントラクトの最も基本的かつ重要なアプリケーションの一つです。シンプルなヘッジコントラクトが基本的な仕組みを示しています:当事者Aが1000ドル相当のEtherを預け入れ、当事者Bが同等の金額を預け入れ、コントラクトがデータフィードを使用してその時点でのEtherのUSD価値を記録します。30日後、コントラクトは価値を再計算し、1000ドル相当のEtherをAに送り、残りをBに送ります。Etherの価格が上昇した場合、Aはより少ないEtherを受け取りますが1000ドルの価値を維持します。価格が下落した場合、Aはその価値を維持するためにより多くのEtherを受け取ります。これにより、Aはボラティリティに対してヘッジし、Bは価格変動に投機することができます。

このようなコントラクトの実装には、オラクルコントラクトやデータフィードを通じた外部データへのアクセスが必要です。これらのオラクルは、コントラクトが適切に実行するために必要な価格情報、気象データ、その他の現実世界の情報を提供します。オラクルは信頼への依存を導入しますが、冗長性と暗号経済的インセンティブを備えた設計により、信頼性の高いデータを提供できます。コントラクト自体は単にオラクルに問い合わせ、そのデータに基づいて計算を行い、プログラムされたロジックに従って資金を分配します。

ステーブルコインやより複雑な金融商品も、同様のメカニズムを使用して構築できます。ステーブルコインのコントラクトは、Etherのリザーブを維持し、法定通貨にペッグされたトークンを発行し、価格フィードに基づいて供給量や担保要件を自動的に調整することができます。オプション契約、先物、スワップ、その他のデリバティブは、通常であれば複雑な法的枠組みと信頼できる仲介者を必要としますが、代わりに自己実行型のスマートコントラクトとしてエンコードできます。このプログラマブルな金融インフラストラクチャは、ブロックチェーン技術の透明性とセキュリティ保証を維持しながら、高度な金融工学を可能にします。

Financial Derivatives and Stable-Value Currencies

Các công cụ phái sinh tài chính đại diện cho một trong những ứng dụng cơ bản và quan trọng nhất của hợp đồng thông minh Ethereum. Một hợp đồng phòng ngừa rủi ro đơn giản thể hiện cơ chế cơ bản: bên A gửi một lượng ether nhất định trị giá 1000 USD, bên B gửi một số tiền tương đương và hợp đồng ghi lại giá trị USD của ether tại thời điểm đó bằng cách sử dụng nguồn cấp dữ liệu. Sau 30 ngày, hợp đồng tính toán lại giá trị và gửi ether trị giá 1000 USD cho A và phần còn lại cho B. Nếu giá ether tăng, A nhận được ít ether hơn nhưng vẫn duy trì giá trị 1000 USD; nếu nó giảm, A sẽ nhận thêm ether để duy trì giá trị đó. Điều này cho phép A phòng ngừa sự biến động trong khi B suy đoán về biến động giá.

Việc thực hiện các hợp đồng như vậy yêu cầu quyền truy cập vào dữ liệu bên ngoài thông qua hợp đồng oracle hoặc nguồn cấp dữ liệu. Những lời tiên tri này cung cấp thông tin về giá, dữ liệu thời tiết hoặc thông tin thực tế khác mà hợp đồng cần thực hiện đúng cách. Mặc dù các oracle giới thiệu sự phụ thuộc vào niềm tin nhưng chúng có thể được thiết kế với các ưu đãi dự phòng và kinh tế tiền điện tử để cung cấp dữ liệu đáng tin cậy. Bản thân hợp đồng chỉ đơn giản truy vấn oracle, thực hiện các phép tính dựa trên dữ liệu đó và phân phối tiền theo logic được lập trình của nó.

Stablecoin và các công cụ tài chính phức tạp hơn có thể được xây dựng bằng các cơ chế tương tự. Hợp đồng stablecoin có thể duy trì lượng dự trữ ether và phát hành mã thông báo được gắn với tiền tệ fiat, tự động điều chỉnh các yêu cầu về nguồn cung hoặc tài sản thế chấp dựa trên nguồn cấp giá. Các hợp đồng quyền chọn, hợp đồng tương lai, hoán đổi và các công cụ phái sinh khác thường yêu cầu khung pháp lý phức tạp và các trung gian đáng tin cậy thay vào đó có thể được mã hóa thành hợp đồng thông minh tự thực hiện. Cơ sở hạ tầng tài chính có thể lập trình này cho phép thực hiện kỹ thuật tài chính phức tạp trong khi vẫn duy trì tính minh bạch và đảm bảo an ninh của công nghệ blockchain.

Identity and Reputation Systems

Namecoinに類似した名前登録システムは、Ethereum上で簡単に実装でき、アイデンティティシステムの最もシンプルな例として機能します。コントラクトは、名前から関連データ(IPアドレス、公開鍵、その他の情報など)へのマッピングであるキーバリューテーブルを持つデータベースを維持します。その名前がまだ取得されていなければ、少額の登録料とともにコントラクトにトランザクションを送信することで、誰でも名前を登録できます。所有者はいつでも関連データを更新でき、名前はコントラクトにエンコードされたルールに従って、譲渡可能にも永続的にもできます。

この基盤の上に、レピュテーションスコア、信頼の網の関係、分散型アイデンティティ検証を含む、より高度なアイデンティティシステムを構築できます。例えば、コントラクトは検証済みトランザクション、ピア評価、タスクの完了に基づいてレピュテーションスコアを維持できます。これらのスコアは公開され、暗号的に特定のアドレスに紐付けられ、アプリケーション間で持ち運び可能なレピュテーションを作成します。信頼の網システムにより、ユーザーは他者のアイデンティティを保証し、正当なユーザーと悪意ある行為者を区別するのに役立つソーシャルグラフを構築できます。

このようなアイデンティティおよびレピュテーションシステムは、他のアプリケーションと統合された場合に特に強力になります。マーケットプレイスは販売者に最低限のレピュテーションスコアを要求でき、融資プラットフォームは借り手のレピュテーションに基づいて金利を調整でき、ソーシャルネットワークは信頼の網を使用してスパムや不正コンテンツをフィルタリングできます。あらゆるアプリケーションが照会できるアイデンティティのための共有インフラストラクチャを提供することで、Ethereumは中央集権的なアイデンティティプロバイダーや独自のレピュテーションシステムに依存しない、新たな信頼ベースのアプリケーション群を可能にします。

Identity and Reputation Systems

Hệ thống đăng ký tên tương tự như Namecoin có thể triển khai dễ dàng trên Ethereum và đóng vai trò là ví dụ đơn giản nhất về hệ thống nhận dạng. Hợp đồng duy trì một cơ sở dữ liệu với bảng khóa-giá trị ánh xạ tên tới dữ liệu liên quan (chẳng hạn như địa chỉ IP, khóa chung hoặc thông tin khác). Bất kỳ ai cũng có thể đăng ký tên bằng cách gửi giao dịch tới hợp đồng cùng với một khoản phí đăng ký nhỏ, miễn là tên đó chưa được sử dụng. Chủ sở hữu có thể cập nhật dữ liệu liên quan bất kỳ lúc nào và tên có thể được chuyển nhượng hoặc vĩnh viễn theo các quy tắc được mã hóa trong hợp đồng.

Các hệ thống nhận dạng tiên tiến hơn có thể được xây dựng trên nền tảng này để bao gồm điểm danh tiếng, mạng lưới các mối quan hệ tin cậy và xác minh danh tính phi tập trung. Ví dụ: một hợp đồng có thể duy trì điểm danh tiếng dựa trên các giao dịch đã được xác minh, xếp hạng ngang hàng hoặc mức độ hoàn thành nhiệm vụ. Những điểm số này sẽ được hiển thị công khai và được gắn bằng mật mã với các địa chỉ cụ thể, tạo ra danh tiếng di động theo sau người dùng trên các ứng dụng. Hệ thống web tin cậy có thể cho phép người dùng xác minh danh tính của người khác, xây dựng biểu đồ xã hội giúp phân biệt người dùng hợp pháp với những kẻ xấu.

Hệ thống nhận dạng và danh tiếng như vậy trở nên đặc biệt mạnh mẽ khi được tích hợp với các ứng dụng khác. Thị trường có thể yêu cầu điểm danh tiếng tối thiểu đối với người bán, nền tảng cho vay có thể điều chỉnh lãi suất dựa trên danh tiếng của người vay hoặc mạng xã hội có thể sử dụng web tin cậy để lọc nội dung spam và lừa đảo. Bằng cách cung cấp cơ sở hạ tầng dùng chung để nhận dạng mà bất kỳ ứng dụng nào cũng có thể truy vấn, Ethereum tạo ra một lớp ứng dụng mới dựa trên sự tin cậy không phụ thuộc vào các nhà cung cấp danh tính tập trung hoặc hệ thống danh tiếng độc quyền.

Decentralized File Storage

分散型ファイルストレージは、ストレージを必要とするユーザーとストレージを提供するプロバイダーの間を調整するEthereumコントラクトを通じて実装できます。「分散型Dropbox」モデルでは、ユーザーが月額料金を支払ってファイルをアップロードし、コントラクトがデータを実際に保存していることを証明するストレージプロバイダーに支払いを分配します。証明メカニズムは定期的な暗号チャレンジを通じて機能します:コントラクトがファイルの一部をランダムに選択し、プロバイダーにそのデータを所持していることを示すマークル木の証明を提供するよう求めます。チャレンジに失敗したりオフラインになったプロバイダーは、保証金と将来の支払いの流れを失います。

このアプローチは中央集権的なストレージに対していくつかの利点を提供します。マークル木の証明により効率的な検証が可能です——ユーザーとコントラクトはファイル全体をダウンロードすることなくファイルの可用性を確認できます。システムは自然にファイルを複数の独立したプロバイダーに分散させ、明示的なレプリケーションプロトコルを必要とせずに冗長性を生み出します。経済的インセンティブはプロバイダーの行動をユーザーのニーズに合わせます:プロバイダーはデータを確実に保存することで収益を得、それを怠ると損失を被ります。これにより、中央集権的なストレージソリューションに固有の信頼要件が排除されます。

このようなシステムにおけるストレージコストは、いくつかの理由から中央集権的な代替手段よりも低くなる可能性があります。独占的価格設定の排除により、市場競争がコストをストレージの実際のコストに近いところまで引き下げます。複数のユーザーが類似のファイルを保存することによる暗黙的な冗長性が、総ストレージ要件を削減できます。高価なデータセンターインフラストラクチャや企業のオーバーヘッドが不要です。しかし、支払いメカニズム、十分なプロバイダー参加の確保、冗長性とコストのトレードオフの管理に関する課題が残っています。これらの課題にもかかわらず、分散型ストレージは、Ethereumが経済的インセンティブのみを通じて複雑な多者間のインタラクションを調整できることを示しています。

Decentralized File Storage

Việc lưu trữ tệp phi tập trung có thể được triển khai thông qua các hợp đồng Ethereum phối hợp giữa người dùng cần lưu trữ và nhà cung cấp cung cấp dịch vụ lưu trữ đó. Trong mô hình "Dropbox phi tập trung", người dùng sẽ trả phí hàng tháng để tải tệp lên, với hợp đồng sẽ phân phối khoản thanh toán cho các nhà cung cấp dịch vụ lưu trữ chứng minh rằng họ thực sự đang lưu trữ dữ liệu. Cơ chế chứng minh hoạt động thông qua các thử thách mật mã định kỳ: hợp đồng chọn ngẫu nhiên các phần của tệp và yêu cầu nhà cung cấp cung cấp bằng chứng cây Merkle chứng minh rằng họ sở hữu dữ liệu đó. Các nhà cung cấp không vượt qua thử thách hoặc ngừng hoạt động ngoại tuyến sẽ mất tiền đặt cọc và dòng thanh toán trong tương lai.

Cách tiếp cận này cung cấp một số lợi thế so với việc lưu trữ tập trung. Bằng chứng cây Merkle cho phép xác minh hiệu quả—người dùng và hợp đồng có thể xác nhận tính khả dụng của tệp mà không cần tải xuống toàn bộ tệp. Hệ thống phân phối các tệp một cách tự nhiên trên nhiều nhà cung cấp độc lập, tạo ra sự dư thừa mà không yêu cầu các giao thức sao chép rõ ràng. Các biện pháp khuyến khích kinh tế điều chỉnh hành vi của nhà cung cấp theo nhu cầu của người dùng: nhà cung cấp kiếm tiền bằng cách lưu trữ dữ liệu một cách đáng tin cậy và sẽ mất tiền nếu họ không làm như vậy. Điều này giúp loại bỏ yêu cầu tin cậy vốn có trong các giải pháp lưu trữ tập trung.

Chi phí lưu trữ trong hệ thống như vậy có thể thấp hơn so với các giải pháp thay thế tập trung vì nhiều lý do. Việc loại bỏ tình trạng độc quyền định giá cho phép cạnh tranh trên thị trường làm giảm chi phí xuống gần bằng chi phí lưu kho thực tế. Sự dư thừa tiềm ẩn từ việc nhiều người dùng lưu trữ các tệp giống nhau có thể làm giảm tổng yêu cầu lưu trữ. Không cần cơ sở hạ tầng trung tâm dữ liệu đắt tiền hoặc chi phí chung của công ty. Tuy nhiên, vẫn còn những thách thức xung quanh cơ chế thanh toán, đảm bảo sự tham gia đầy đủ của nhà cung cấp và quản lý sự cân bằng giữa dư thừa và chi phí. Bất chấp những thách thức này, việc lưu trữ phi tập trung cho thấy cách Ethereum có thể điều phối các tương tác phức tạp của nhiều bên chỉ thông qua các biện pháp khuyến khích kinh tế.

Decentralized Autonomous Organizations

分散型自律組織(DAO)は、メンバーまたは株主のセットを持ち、その組織の資金を支出しコードを修正する権利を集団的に持つ仮想エンティティです。典型的なDAOはシンプルなルールで運営されます:支出の決定または組織のコードの修正にはメンバーの67%が必要です。メンバーは提案を提出し、投票することができ、提案が十分な支持を得た場合、コントラクトが自動的にその決定を実行します。メンバーシップシェアは譲渡可能にでき、DAOへの参加に流動的な市場を可能にし、異なるクラスのシェアは異なる議決権や経済的請求権を持つことができます。

最もシンプルなDAOの設計は、メンバーリストを維持し、コントラクトのいかなる側面(自身の投票ルールを含む)の変更にも3分の2の多数決を必要とする自己修正コントラクトです。メンバーはコード変更をトランザクションとして提出し、他のメンバーが投票し、閾値に達するとコントラクトが自身を更新します。より洗練された設計には、メンバーが投票権を代表者に委任できる代理投票システムや、投票を委任できるが重要な決定の際にはいつでも取り戻せるリキッドデモクラシーなどがあります。

DAOは単純な資金管理を超えて様々な目的に使用できます。DAOは分散型企業として機能し、請負業者を雇用し、サービスを購入し、利益を株主に分配することができ——すべてが従来の法的構造ではなくスマートコントラクトコードによって統治されます。分散型投資ファンドとして運営され、メンバーがどのプロジェクトに資金を提供するかを投票できます。共有資源を管理し、利害関係者が配分ルールについて投票できます。重要な洞察は、ガバナンスルールを透明で不変のコードにエンコードし、経済的利害と結びつけることで、DAOは従来の階層的な管理や法的強制なしにグループの意思決定を調整できるということです。

Decentralized Autonomous Organizations

Tổ chức tự trị phi tập trung (DAO) là một thực thể ảo có một nhóm thành viên hoặc cổ đông có quyền chung chi tiêu tiền của thực thể và sửa đổi mã của nó. Một DAO điển hình hoạt động với một quy tắc đơn giản: cần 67% thành viên đưa ra quyết định chi tiêu hoặc sửa đổi mã của tổ chức. Các thành viên có thể gửi đề xuất, bỏ phiếu cho chúng và nếu đề xuất nhận được đủ sự hỗ trợ, hợp đồng sẽ tự động thực hiện quyết định. Cổ phiếu thành viên có thể được chuyển nhượng, cho phép thị trường thanh khoản cho sự tham gia của DAO và các loại cổ phiếu khác nhau có thể có quyền biểu quyết hoặc yêu cầu kinh tế khác nhau.

Thiết kế DAO đơn giản nhất là một hợp đồng tự sửa đổi, duy trì danh sách thành viên và yêu cầu đa số 2/3 phiếu bầu để thay đổi bất kỳ khía cạnh nào của hợp đồng, bao gồm cả các quy tắc bỏ phiếu của chính hợp đồng đó. Các thành viên sẽ gửi các thay đổi mã dưới dạng giao dịch, các thành viên khác sẽ bỏ phiếu và khi đạt đến ngưỡng, hợp đồng sẽ tự cập nhật. Các thiết kế phức tạp hơn có thể bao gồm các hệ thống bỏ phiếu được ủy quyền trong đó các thành viên có thể giao quyền biểu quyết của mình cho người đại diện hoặc chế độ dân chủ lỏng nơi phiếu bầu có thể được ủy quyền nhưng được thu hồi bất kỳ lúc nào đối với các quyết định quan trọng.

DAO có thể phục vụ nhiều mục đích khác nhau ngoài việc quản lý quỹ đơn giản. DAO có thể hoạt động như một tập đoàn phi tập trung, thuê nhà thầu, mua dịch vụ và phân phối lợi nhuận cho các cổ đông — tất cả đều được quản lý bởi mã hợp đồng thông minh thay vì cấu trúc pháp lý truyền thống. Nó có thể hoạt động như một quỹ đầu tư phi tập trung, với các thành viên bỏ phiếu về dự án nào sẽ được tài trợ. Nó có thể quản lý một nguồn tài nguyên chung, với các bên liên quan bỏ phiếu về các quy tắc phân bổ. Điểm mấu chốt là bằng cách mã hóa các quy tắc quản trị bằng mã minh bạch, bất biến và gắn chúng với lợi ích kinh tế, DAO có thể điều phối các quyết định của nhóm mà không yêu cầu quản lý phân cấp truyền thống hoặc thực thi pháp luật.

Further Applications

すでに議論した主要なカテゴリを超えて、Ethereumは他にも多数のアプリケーションを可能にします。高度なセキュリティ機能を持つ貯蓄ウォレットは、回復用の緊急キーを提供しながら日次の引き出し制限を課し、最終的な管理権を維持しつつ盗難からユーザーを保護できます。農作物保険コントラクトは、気象データフィードに基づいて農家に自動的に支払いを行い、保険金請求処理を排除し管理上のオーバーヘッドを削減できます。ピアツーピアのギャンブルアプリケーションは、信頼できる仲介者なしで運営でき、スマートコントラクトが賭け金を保持し、検証可能な乱数または現実世界のイベントデータに基づいて自動的に勝者に支払います。

オンチェーンの予測市場は、ユーザーが将来のイベントに賭けることを可能にし、群衆の知恵を通じて強力な予測メカニズムを生み出します。これらはSchellingCoinスタイルのプロトコルで強化し、分散型オラクルを作成できます:参加者は独立してデータ(選挙結果や気象条件など)を報告し、多数派と一致した報告をした者には報酬が与えられ、外れ値にはペナルティが課されます。この暗号経済的アプローチは正直な報告にインセンティブを与え、単一のオラクルプロバイダーへの信頼を必要とせずに、他のコントラクトに信頼性の高い現実世界のデータを提供できます。

マルチシグウォレットは、複数の当事者間での資金の共有管理を可能にするもう一つの重要なアプリケーションです。2-of-3のマルチシグウォレットは、資金の支出前に指定された3者のうちいずれか2者による承認を必要とし、エスクロー取引、企業の財務管理、個人のセキュリティに有用です。分散型マーケットプレイスは、アイデンティティシステム、レピュテーションスコア、エスクローコントラクト、紛争解決メカニズムを組み合わせて、中央集権的なプラットフォームなしにピアツーピアの商取引を可能にできます。これらのアプリケーションのそれぞれが、Ethereumのプログラマビリティが新しい信頼モデルと組織構造を可能にすることを示しています。

Further Applications

Ngoài các danh mục chính đã được thảo luận, Ethereum còn hỗ trợ nhiều ứng dụng khác. tiết kiệm với các tính năng bảo mật phức tạp có thể áp đặt giới hạn rút tiền hàng ngày đồng thời cung cấp khóa khẩn cấp để khôi phục, bảo vệ người dùng khỏi bị trộm trong khi vẫn duy trì quyền kiểm soát tối ưu. Hợp đồng bảo hiểm cây trồng có thể tự động thanh toán cho nông dân dựa trên nguồn cấp dữ liệu thời tiết, loại bỏ việc xử lý yêu cầu bồi thường và giảm chi phí hành chính. Các ứng dụng cờ bạc ngang hàng có thể hoạt động mà không cần bất kỳ trung gian đáng tin cậy nào, với các hợp đồng thông minh nắm giữ cổ phần và tự động trả tiền cho người chiến thắng dựa trên các số ngẫu nhiên có thể xác minh được hoặc dữ liệu sự kiện trong thế giới thực.

Thị trường dự đoán trên chuỗi cho phép người dùng đặt cược vào các sự kiện trong tương lai, tạo ra các cơ chế dự báo mạnh mẽ thông qua trí tuệ của đám đông. Chúng có thể được tăng cường bằng các giao thức kiểu SchellingCoin để tạo ra các oracle phi tập trung: người tham gia báo cáo dữ liệu một cách độc lập (như kết quả bầu cử hoặc điều kiện thời tiết) và những người có báo cáo phù hợp với đa số sẽ nhận được phần thưởng trong khi những người có báo cáo ngoại lệ sẽ bị phạt. Cách tiếp cận kinh tế tiền điện tử này khuyến khích báo cáo trung thực và có thể cung cấp dữ liệu thực tế đáng tin cậy cho các hợp đồng khác mà không yêu cầu sự tin tưởng vào bất kỳ nhà cung cấp oracle nào.

đa chữ ký đại diện cho một ứng dụng quan trọng khác, cho phép chia sẻ quyền kiểm soát tiền giữa nhiều bên. Ví đa chữ ký 2 trên 3 có thể yêu cầu hai trong số ba bên được chỉ định bất kỳ phê duyệt giao dịch trước khi có thể chi tiêu tiền, hữu ích cho các thỏa thuận ký quỹ, kho bạc công ty hoặc bảo mật cá nhân. Thị trường phi tập trung có thể kết hợp hệ thống nhận dạng, điểm danh tiếng, hợp đồng ký quỹ và cơ chế giải quyết tranh chấp để cho phép thương mại ngang hàng mà không cần nền tảng tập trung. Mỗi ứng dụng này thể hiện khả năng lập trình của Ethereum cho phép các mô hình tin cậy và cơ cấu tổ chức mới như thế nào.

Miscellanea And Concerns

Ethereumの修正GHOSTプロトコルの実装には、アンクルの包含と報酬に関する具体的なルールが含まれます。アンクルは現在のブロックの祖先の直接の子でなければならず(2世代から7世代前の間)、有効なブロックヘッダーでなければならず、以前のアンクルとは異なるものでなければならず、現在のブロックの直接の祖先であってはなりません。アンクルブロックは標準的なブロック報酬の87.5%を受け取り、包含するブロックは包含されたアンクル1つあたり追加の3.125%を受け取ります(最大2つのアンクルまで)。このインセンティブ構造により、マイナーは観察した陳腐ブロックを参照するよう促され、ネットワークセキュリティを強化しながら、ネットワーク伝播の一時的な不運を経験したマイナーに報酬を与えます。

手数料システムは「ガス」の概念に基づいており、すべての計算操作には固定のガスコストがあります。例えば、乗算操作は5ガス、SHA256ハッシュは20ガスのコストがかかり、すべてのトランザクションには21,000ガスの基本コストがかかります。ユーザーはガスリミット(消費する意思のある最大ガス)とガスプライス(ガス単位あたり支払うEtherの量)の両方を指定します。このシステムは複数の目的を果たします:すべての計算に対価が支払われることを保証することで無限ループやサービス拒否攻撃を防止し、ユーザーがガスプライスを通じて入札するブロックスペースの市場を作り出し、マイナーが受け入れる最低ガスプライスを設定できるようにしてネットワークリソースを保護します。

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

スケーラビリティは依然として重大な懸念事項です。すべてのフルノードが状態を検証するためにすべてのトランザクションを処理しなければならないからです。現在のブロックチェーンアーキテクチャは、中央集権的なシステムのトランザクションスループットに匹敵するのに苦労しています。潜在的な解決策には、異なるノードが異なるトランザクションのサブセットを処理するステートシャーディングや、より効率的なブロック生成を可能にするプルーフ・オブ・ワークからプルーフ・オブ・ステークへの移行が含まれます。マークル証明を使用するライトクライアントは、すべてのブロックを処理せずにトランザクションを検証できますが、誰かがすべてを処理しなければなりません。これらのスケーラビリティの課題は、Ethereumの長期的な存続可能性にとって重要な、活発な研究開発分野を表しています。

Miscellanea And Concerns

Việc triển khai giao thức GHOST đã sửa đổi của Ethereum bao gồm các quy tắc cụ thể về việc đưa chú vào và phần thưởng. Các chú phải là con trực hệ của tổ tiên của khối hiện tại (từ 2 đến 7 thế hệ trở về trước), phải là các tiêu đề khối hợp lệ, phải khác biệt với các chú trước và không được là tổ tiên trực tiếp của khối hiện tại. Các khối chú nhận được 87,5% phần thưởng khối tiêu chuẩn, trong khi khối bao gồm nhận thêm 3,125% cho mỗi chú được bao gồm (tối đa hai chú). Cơ cấu khuyến khích này khuyến khích những người khai thác tham khảo các khối cũ mà họ quan sát được, tăng cường an ninh mạng đồng thời khen thưởng những người khai thác gặp xui xẻo tạm thời khi truyền bá mạng.

Hệ thống tính phí dựa trên khái niệm "gas", trong đó mọi hoạt động tính toán đều có chi phí gas cố định. Ví dụ: một phép nhân tốn 5 gas, hàm băm SHA256 tốn 20 gas và mỗi giao dịch có chi phí cơ bản là 21.000 gas. Người dùng chỉ định cả giới hạn gas (lượng gas tối đa họ sẵn sàng tiêu thụ) và giá gas (họ sẽ trả bao nhiêu ether cho mỗi đơn vị gas). Hệ thống này phục vụ nhiều mục đích: nó ngăn chặn các vòng lặp vô hạn và các cuộc tấn công từ chối dịch vụ bằng cách đảm bảo tất cả tính toán được thanh toán, nó tạo ra một thị trường cho không gian khối nơi người dùng đặt giá thầu thông qua giá gas và cho phép các nhà khai thác đặt giá gas tối thiểu mà họ sẵn sàng chấp nhận, bảo vệ tài nguyên mạng.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

Khả năng mở rộng vẫn là mối quan tâm đáng kể vì mọi nút đầy đủ phải xử lý mọi giao dịch để xác minh trạng thái. Kiến trúc blockchain hiện tại gặp khó khăn trong việc phù hợp với thông lượng giao dịch của hệ thống tập trung. Các giải pháp tiềm năng bao gồm phân chia trạng thái, trong đó các nút khác nhau xử lý các tập hợp con giao dịch khác nhau và chuyển đổi từ proof-of-work sang đồng thuận bằng chứng cổ phần, có thể cho phép sản xuất khối hiệu quả hơn. Các khách hàng nhẹ sử dụng bằng chứng Merkle có thể xác minh các giao dịch mà không cần xử lý tất cả các khối, nhưng ai đó vẫn phải xử lý mọi thứ. Những thách thức về khả năng mở rộng này thể hiện các lĩnh vực nghiên cứu và phát triển tích cực quan trọng đối với khả năng tồn tại lâu dài của Ethereum.

Conclusion

Ethereumプロトコルは当初、オンブロックチェーンのエスクロー、引き出し制限、金融コントラクトなどの高度な機能を、高度に汎用化されたプログラミング言語を通じて提供する、暗号通貨のアップグレード版として構想されました。しかし、Ethereumプロトコルは単なる通貨をはるかに超えています。分散型ファイルストレージ、分散型計算、分散型予測市場を含む数十のコンセプトに関するプロトコルは、計算産業の効率を大幅に向上させ、初めて経済レイヤーを追加することで他のピアツーピアプロトコルに大きな後押しを提供する可能性があります。

特定のユースケース向けに設計された限定的な操作セットを提供するのではなく、Ethereumは開発者が設計できるあらゆるアプリケーションを構築できるチューリング完全なプログラミング言語を提供します。独自の金融デリバティブを発明したいですか?独自の通貨を作成したいですか?ブロックチェーン上に政府を設立したいですか?これらはすべてEthereumのスクリプトシステムで簡単に実装可能です。プラットフォームの力は、どのようなアプリケーションが構築されるかを予測することにあるのではなく、それらの構築を容易にする基盤インフラストラクチャを提供することにあります。

Ethereumプロトコルによって実装された任意の状態遷移関数の概念は、独自の可能性を持つプラットフォームを提供します。データストレージ、ギャンブル、または金融における特定のアプリケーションを意図した閉鎖的で単一目的のプロトコルであるのではなく、Ethereumは設計上オープンエンドです。そして我々は、今後数年間にわたって、多数の金融および非金融プロトコルの基盤レイヤーとして機能するのに極めて適していると信じています。将来Ethereum上に構築されるアプリケーションは、今日の我々には想像もできないものかもしれません。そのオープンエンドの可能性こそが、このプラットフォームの真の約束を表しています。

Conclusion

Giao thức Ethereum ban đầu được hình thành như một phiên bản nâng cấp của tiền điện tử, cung cấp các tính năng nâng cao như ký quỹ trên blockchain, giới hạn rút tiền và hợp đồng tài chính thông qua ngôn ngữ lập trình có tính khái quát cao. Tuy nhiên, giao thức Ethereum không chỉ dừng lại ở tiền tệ. Các giao thức xung quanh việc lưu trữ tệp phi tập trung, tính toán phi tập trung và thị trường dự đoán phi tập trung, trong số hàng chục khái niệm khác, có khả năng tăng đáng kể hiệu quả của ngành tính toán và mang lại sự thúc đẩy lớn cho các giao thức ngang hàng khác bằng cách lần đầu tiên bổ sung một lớp kinh tế.

Thay vì cung cấp một tập hợp các thao tác giới hạn được thiết kế cho các trường hợp sử dụng cụ thể, Ethereum cung cấp ngôn ngữ lập trình hoàn chỉnh Turing cho phép các nhà phát triển xây dựng bất kỳ ứng dụng nào họ có thể thiết kế. Bạn muốn phát minh ra công cụ phái sinh tài chính của riêng mình? Tạo tiền tệ của riêng bạn? Thành lập chính phủ trên blockchain? Tất cả những điều này đều có thể thực hiện được một cách dễ dàng bằng hệ thống tập lệnh của Ethereum. Sức mạnh của nền tảng không nằm ở việc dự đoán những ứng dụng nào sẽ được xây dựng mà ở việc cung cấp cơ sở hạ tầng nền tảng giúp việc xây dựng chúng trở nên dễ dàng.

Khái niệm về chức năng chuyển đổi trạng thái tùy ý được triển khai bởi giao thức Ethereum cung cấp một nền tảng có tiềm năng độc đáo. Thay vì là một giao thức đóng, có mục đích duy nhất dành cho các ứng dụng cụ thể trong lưu trữ dữ liệu, cờ bạc hoặc tài chính, Ethereum được thiết kế với kết thúc mở và chúng tôi tin rằng nó cực kỳ phù hợp để đóng vai trò là lớp nền tảng cho một số lượng lớn các giao thức tài chính và phi tài chính trong những năm tới. Các ứng dụng sẽ được xây dựng trên Ethereum trong tương lai có thể là những ứng dụng mà ngày nay chúng ta thậm chí không thể tưởng tượng được và khả năng mở đó thể hiện lời hứa thực sự của nền tảng.

References and Further Reading

Ethereumのホワイトペーパーは、暗号通貨および分散システム研究における広範な先行研究の上に構築されています。基盤となるBitcoinプロトコルは、Satoshi Nakamotoの2008年の原論文「Bitcoin: A Peer-to-Peer Electronic Cash System」に記述されており、ブロックチェーンベースのデジタル通貨の概念を導入しました。Bitcoinの機能を拡張する初期の試みには、通貨を超えたブロックチェーンアプリケーションを実証した分散型名前登録システムであるNamecoinが含まれますが、Bitcoinの制限されたスクリプト機能により限界がありました。

カラードコインのホワイトペーパーは、特定のbitcoinに「色付け」することでBitcoinブロックチェーン上で代替資産を表現する方法を提案し、Mastercoinはより複雑な金融商品のためにBitcoin上にプロトコルレイヤーを作成しようとしました。両者はBitcoin上に構築することの限界を浮き彫りにし、より柔軟なプラットフォームの必要性を動機づけました。Bitcoin Magazineで探求された分散型自律企業の概念は、スマートコントラクトによる組織ガバナンスの理論的基盤を提供しました。

主要な技術的コンポーネントには、ライトクライアント向けの簡易支払い検証(SPV)、効率的なデータ検証のためのマークル木、Ethereumの状態表現のためのパトリシアトライが含まれます。2013年の暗号学論文に記述されたGHOST(Greedy Heaviest Observed Subtree)プロトコルは、高速なブロック時間から生じるセキュリティ問題に対処し、Ethereumのコンセンサスメカニズムの基盤を形成しています。これらの参考文献は、Ethereumが構築された知的基盤を表しており、暗号通貨、分散システム、暗号学、ゲーム理論からの洞察を組み合わせて、汎用ブロックチェーンプラットフォームを作成しています。

References and Further Reading

Sách trắng Ethereum được xây dựng dựa trên nghiên cứu sâu rộng trước đây về tiền điện tử và nghiên cứu hệ thống phân tán. Giao thức Bitcoin nền tảng được mô tả trong bài báo gốc năm 2008 của Satoshi Nakamoto "Bitcoin: Hệ thống tiền mặt điện tử ngang hàng", giới thiệu khái niệm về tiền kỹ thuật số dựa trên blockchain. Những nỗ lực ban đầu nhằm mở rộng chức năng của Bitcoin bao gồm Namecoin, một hệ thống đăng ký tên phi tập trung thể hiện các ứng dụng blockchain ngoài tiền tệ, mặc dù bị hạn chế bởi khả năng viết tập lệnh hạn chế của Bitcoin.

Sách trắng về tiền xu màu đã đề xuất một phương pháp thể hiện các tài sản thay thế trên chuỗi khối Bitcoin bằng cách "tô màu" các bitcoin cụ thể để đại diện cho các tài sản khác, trong khi Mastercoin cố gắng tạo một lớp giao thức trên Bitcoin cho các công cụ tài chính phức tạp hơn. Cả hai đều nêu bật những hạn chế của việc xây dựng trên Bitcoin và thúc đẩy nhu cầu về một nền tảng linh hoạt hơn. Khái niệm về các tập đoàn tự trị phi tập trung, được khám phá trên Tạp chí Bitcoin, đã cung cấp nền tảng lý thuyết cho việc quản trị tổ chức thông qua các hợp đồng thông minh.

Các thành phần kỹ thuật chính bao gồm xác minh thanh toán đơn giản (SPV) dành cho khách hàng hạng nhẹ, cây Merkle để xác minh dữ liệu hiệu quả và Patricia cố gắng đại diện cho trạng thái của Ethereum. Giao thức GHOST (Cây con được quan sát nặng nhất tham lam), được mô tả trong một bài viết về mật mã năm 2013, giải quyết các vấn đề bảo mật phát sinh từ thời gian khối nhanh và tạo cơ sở cho cơ chế đồng thuận của Ethereum. Những tài liệu tham khảo này thể hiện nền tảng trí tuệ mà Ethereum được xây dựng trên đó, kết hợp những hiểu biết sâu sắc về tiền điện tử, hệ thống phân tán, mật mã và lý thuyết trò chơi để tạo ra một nền tảng chuỗi khối có mục đích chung.