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

Par Vitalik Buterin · 2013

Abstract

Ethereum est une plateforme de cryptomonnaie et d'application decentralisee de nouvelle generation qui introduit une blockchain dotee d'un langage de programmation Turing-complet integre. Cela permet a quiconque d'ecrire des smart contracts et des applications decentralisees dans lesquels ils peuvent creer leurs propres regles arbitraires de propriete, de formats de transaction et de fonctions de transition d'etat.

L'innovation fondamentale d'Ethereum est de combiner la technologie blockchain pionnierement developpee par Bitcoin avec un environnement de programmation generaliste. Alors que Bitcoin fournit un simple systeme de transition d'etat pour deplacer de la monnaie d'un compte a un autre, Ethereum fournit une plateforme ou les developpeurs peuvent construire tout type d'application decentralisee qu'ils peuvent imaginer, des monnaies alternatives et instruments financiers aux systemes d'enregistrement de noms de domaine et aux organisations decentralisees.

Ethereum y parvient en construisant ce qui est essentiellement la couche fondationnelle abstraite ultime : une blockchain avec un langage de programmation Turing-complet integre, permettant a quiconque d'ecrire des smart contracts et des applications decentralisees dans lesquels ils peuvent creer leurs propres regles arbitraires de propriete, de formats de transaction et de fonctions de transition d'etat. Une version minimale de Namecoin peut etre ecrite en deux lignes de code, et d'autres protocoles comme les monnaies et les systemes de reputation peuvent etre construits en moins de vingt.

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

Le concept de monnaie numerique decentralisee, ainsi que les applications alternatives comme les registres de propriete, existe depuis des decennies. Les protocoles anonymes de monnaie electronique des annees 1980 et 1990, principalement fondes sur une primitive cryptographique connue sous le nom de blinding de Chaum, fournissaient une monnaie avec un haut degre de confidentialite, mais ces protocoles n'ont largement pas reussi a gagner du terrain en raison de leur dependance a un intermediaire centralise. En 1998, le b-money de Wei Dai est devenu la premiere proposition a introduire l'idee de creer de la monnaie en resolvant des puzzles computationnels ainsi qu'un consensus decentralise, mais la proposition etait peu detaillee quant a la facon dont le consensus decentralise pourrait effectivement etre mis en oeuvre.

En 2009, une monnaie decentralisee a ete pour la premiere fois implementee en pratique par Satoshi Nakamoto, combinant des primitives etablies pour la gestion de la propriete par la cryptographie a cle publique avec un algorithme de consensus pour suivre qui possede les coins, connu sous le nom de "preuve de travail". Le mecanisme derriere la preuve de travail a constitue une percee dans le domaine car il resolvait simultanement deux problemes. Premierement, il fournissait un algorithme de consensus simple et moderement efficace, permettant aux noeuds du reseau de s'accorder collectivement sur un ensemble de mises a jour canoniques de l'etat du registre Bitcoin. Deuxiemement, il fournissait un mecanisme permettant l'entree libre dans le processus de consensus, resolvant le probleme politique de decider qui peut influencer le consensus, tout en empechant simultanement les attaques Sybil.

La blockchain Bitcoin s'est averee remarquablement robuste au fil de ses annees de fonctionnement, mais elle est inheremment limitee. Le langage de script de Bitcoin est intentionnellement concu pour etre restrictif et non-Turing-complet, depourvu de boucles et de nombreuses autres fonctionnalites qui seraient necessaires pour construire des applications plus complexes. Cette limitation existe pour prevenir les boucles infinies et d'autres formes d'attaques computationnelles, mais elle restreint severement ce qui peut etre construit au-dessus de Bitcoin.

Au cours des cinq dernieres annees, il y a eu un certain nombre de tentatives pour etendre les fonctionnalites de Bitcoin. Les colored coins cherchaient a utiliser la blockchain Bitcoin pour suivre la propriete d'actifs alternatifs, Namecoin a tente de creer une base de donnees decentralisee d'enregistrement de noms, et divers protocoles de metacoin visaient a construire des couches supplementaires au-dessus de Bitcoin. Bien que ces approches aient montre des promesses, elles etaient finalement limitees par les capacites de script de Bitcoin et l'impossibilite d'acceder aux donnees de la blockchain depuis les scripts.

Ce qu'Ethereum entend fournir est une blockchain avec un langage de programmation Turing-complet pleinement developpe integre, qui peut etre utilise pour creer des "contrats" pouvant encoder des fonctions de transition d'etat arbitraires, permettant aux utilisateurs de creer n'importe lequel des systemes decrits ci-dessus, ainsi que de nombreux autres que nous n'avons pas encore imagines, simplement en ecrivant la logique en quelques lignes de code.

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

D'un point de vue technique, le registre d'une cryptomonnaie telle que Bitcoin peut etre considere comme un systeme de transition d'etat, ou il y a un "etat" constitue du statut de propriete de tous les bitcoins existants et une "fonction de transition d'etat" qui prend un etat et une transaction et produit un nouvel etat qui en est le resultat. Dans un systeme bancaire standard, par exemple, l'etat est un bilan, une transaction est une demande de transfert de \(X de A vers B, et la fonction de transition d'etat reduit la valeur du compte de A de \)X et augmente la valeur du compte de B de \(X. Si le compte de A a moins de \)X au depart, la fonction de transition d'etat renvoie une erreur.

Ethereum state transition diagram showing how transactions transform blockchain state

L'"etat" dans Bitcoin est la collection de tous les coins (techniquement, les "sorties de transaction non depensees" ou UTXO) qui ont ete emis et pas encore depenses, chaque UTXO ayant une denomination et un proprietaire (defini par une adresse de 20 octets qui est essentiellement une cle publique cryptographique). Une transaction contient une ou plusieurs entrees, chaque entree contenant une reference a un UTXO existant et une signature cryptographique produite par la cle privee associee a l'adresse du proprietaire, et une ou plusieurs sorties, chaque sortie contenant un nouvel UTXO a ajouter a l'etat.

La fonction de transition d'etat APPLY(S,TX) - S' peut etre definie approximativement comme suit :

  1. Pour chaque entree dans TX, si l'UTXO reference n'est pas dans S, renvoyer une erreur.
  2. Si la signature fournie ne correspond pas au proprietaire de l'UTXO, renvoyer une erreur.
  3. Si la somme des denominations de tous les UTXO d'entree est inferieure a la somme des denominations de tous les UTXO de sortie, renvoyer une erreur.
  4. Renvoyer S avec tous les UTXO d'entree supprimes et tous les UTXO de sortie ajoutes.

La premiere moitie de la premiere etape empeche les expediteurs de transactions de depenser des coins qui n'existent pas, la seconde moitie de la premiere etape empeche les expediteurs de transactions de depenser les coins d'autres personnes, et la deuxieme etape impose la conservation de la valeur. Pour utiliser ceci pour un paiement, le protocole est le suivant : supposons qu'Alice veuille envoyer 11,7 BTC a Bob. D'abord, Alice cherchera un ensemble d'UTXO disponibles qu'elle possede et qui totalisent au moins 11,7 BTC. De maniere realiste, Alice ne pourra pas obtenir exactement 11,7 BTC ; disons que le plus petit montant qu'elle peut obtenir est 6+4+2=12. Elle cree alors une transaction avec ces trois entrees et deux sorties. La premiere sortie sera de 11,7 BTC avec l'adresse de Bob comme proprietaire, et la seconde sortie sera le "change" restant de 0,3 BTC, dont le proprietaire est Alice elle-meme.

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

Si nous avions acces a un service centralise digne de confiance, ce systeme serait trivial a implementer ; il pourrait simplement etre code exactement comme decrit, en utilisant le disque dur d'un serveur centralise pour garder la trace de l'etat. Cependant, avec Bitcoin, nous essayons de construire un systeme monetaire decentralise, nous devrons donc combiner le systeme de transaction d'etat avec un systeme de consensus afin de nous assurer que tout le monde est d'accord sur l'ordre des transactions. Le processus de consensus decentralise de Bitcoin necessite que les noeuds du reseau tentent en permanence de produire des paquets de transactions appeles "blocs". Le reseau est cense produire environ un bloc toutes les dix minutes, chaque bloc contenant un horodatage, un nonce, une reference au (c'est-a-dire le hash du) bloc precedent et une liste de toutes les transactions ayant eu lieu depuis le bloc precedent.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Au fil du temps, cela cree une "blockchain" persistante et en croissance continue qui se met constamment a jour pour representer le dernier etat du registre Bitcoin. L'algorithme pour verifier si un bloc est valide, exprime dans ce paradigme, est le suivant :

  1. Verifier si le bloc precedent reference par le bloc existe et est valide.
  2. Verifier que l'horodatage du bloc est superieur a celui du bloc precedent et inferieur a 2 heures dans le futur.
  3. Verifier que la preuve de travail sur le bloc est valide.
  4. Soit S l'etat a la fin du bloc precedent.
  5. Supposons que TX est la liste de transactions du bloc avec n transactions. Pour tout i dans 0...n-1, definir S = APPLY(S,TX[i]). Si une application renvoie une erreur, quitter et renvoyer faux.
  6. Renvoyer vrai, et enregistrer S comme l'etat a la fin de ce bloc.

Essentiellement, chaque transaction dans le bloc doit fournir une transition d'etat valide depuis ce qui etait l'etat canonique avant l'execution de la transaction vers un nouvel etat. Notez que l'etat n'est encode dans le bloc d'aucune maniere ; c'est purement une abstraction a retenir par le noeud validant et ne peut etre (de maniere securisee) calcule pour n'importe quel bloc qu'en partant de l'etat genesis et en appliquant sequentiellement chaque transaction dans chaque bloc.

Le mineur est recompense pour son travail computationnel par des bitcoins nouvellement crees plus les frais de transaction. Le processus de minage fonctionne comme suit : les mineurs prennent l'en-tete du bloc et le hachent de maniere repetee avec differentes valeurs de nonce jusqu'a ce qu'ils trouvent un hash inferieur a un certain objectif de difficulte. Quand un mineur trouve un tel hash, il diffuse le bloc sur le reseau, et les autres noeuds verifient que le hash est valide et que toutes les transactions du bloc sont valides. L'objectif de difficulte est automatiquement ajuste par le protocole tous les 2016 blocs (environ deux semaines) pour s'assurer que les blocs sont produits a un rythme a peu pres constant.

Notez qu'a long terme, la securite de la blockchain depend du fait que les mineurs aient une incitation financiere a se comporter honnetement. Si un attaquant controle plus de 50% de la puissance de minage du reseau, il peut potentiellement executer une "attaque a 51%" en creant une blockchain alternative qui croit plus vite que la chaine honnete. Cependant, une telle attaque necessiterait d'enormes ressources computationnelles et aboutirait probablement a ce que les recompenses de minage de l'attaquant deviennent sans valeur a mesure que le reseau perdrait confiance dans l'integrite de la blockchain.

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

Les arbres de Merkle sont une structure de donnees fondamentale utilisee dans les blocs Bitcoin pour permettre une verification efficace et securisee de l'inclusion des transactions. Un arbre de Merkle est un arbre binaire de hachages ou les noeuds feuilles contiennent les hachages des transactions individuelles, et chaque noeud interieur contient le hachage de ses deux enfants, construisant recursivement jusqu'a un seul hachage racine stocke dans l'en-tete du bloc. Cette structure hierarchique permet a quiconque de verifier qu'une transaction specifique est incluse dans un bloc en telechargeant uniquement la branche de Merkle — la chaine de hachages de la transaction jusqu'a la racine — plutot que de telecharger toutes les transactions du bloc.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Les gains d'efficacite sont substantiels : tandis qu'un noeud Bitcoin complet doit stocker l'integralite de la blockchain (environ 15 Go en 2013), un noeud de verification simplifiee des paiements (SPV) n'a besoin de telecharger que les en-tetes de blocs contenant les racines de Merkle, necessitant seulement 4 Mo de donnees. Pour verifier une transaction, un noeud SPV demande la branche de Merkle aux noeuds complets, ce qui ne necessite que O(log n) donnees ou n est le nombre de transactions dans un bloc. Cette mise a l'echelle logarithmique rend possible l'execution de clients legers sur des appareils mobiles et dans des environnements a faibles ressources.

L'utilisation des arbres de Merkle par Bitcoin demontre un principe cle : les structures cryptographiques peuvent reduire considerablement les exigences de confiance et de ressources pour participer a un reseau decentralise. Ce meme principe sous-tend la conception d'Ethereum, ou les arbres de Merkle sont utilises non seulement pour les transactions mais aussi pour le stockage de l'etat et des recus, permettant des protocoles de clients legers encore plus sophistiques.

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

Le succes de la blockchain de Bitcoin a inspire de nombreuses tentatives pour etendre le concept au-dela de la simple monnaie. Namecoin, lance en 2010, fut l'un des premiers exemples — une base de donnees d'enregistrement de noms decentralisee construite sur une blockchain, permettant aux utilisateurs d'enregistrer des noms dans un espace de noms distribue qu'aucune autorite centrale ne pouvait censurer ou revoquer. Les colored coins ont emerge comme un moyen de representer des actifs alternatifs sur la blockchain Bitcoin en "marquant" des sorties de transactions specifiques pour representer la propriete d'actifs du monde reel, d'actions d'entreprises ou d'autres cryptomonnaies. Les metacoins et meta-protocoles comme Mastercoin (plus tard Omni) ont ajoute des fonctionnalites supplementaires par-dessus Bitcoin en encodant des donnees supplementaires dans les transactions Bitcoin et en construisant des regles de protocole separees par-dessus.

Cependant, toutes ces approches souffraient de limitations fondamentales imposees par l'architecture de Bitcoin. Le langage de script de Bitcoin est intentionnellement restreint — il ne peut pas acceder a l'etat de la blockchain, manque de boucles et de flux de controle complexes, et offre une introspection limitee des valeurs de transaction. Construire des applications sophistiquees necessitait des solutions de contournement maladroites : encoder des metadonnees dans des champs de transaction jamais destines a cet usage, s'appuyer sur une infrastructure hors chaine pour la logique complexe, ou accepter de severes limitations sur ce que le protocole pouvait accomplir.

Ces contraintes ont motive la recherche d'une plateforme blockchain plus generaliste. Plutot que de construire encore un autre protocole a usage specifique par-dessus les fondations limitees de Bitcoin, Ethereum adopte une approche differente : fournir une blockchain avec un langage de programmation Turing-complet integre, permettant a quiconque d'ecrire des smart contracts et des applications decentralisees avec des regles arbitraires pour la propriete, les formats de transaction et les fonctions de transition d'etat.

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, le langage utilise pour definir les conditions de depense des transactions Bitcoin, est intentionnellement concu avec des limitations severes. Il n'est pas Turing-complet — plus notablement, il manque de boucles et de structures de flux de controle complexes. Le langage fonctionne comme un environnement d'execution simple base sur une pile ou les operations poussent et retirent des valeurs, evaluent des conditions cryptographiques, et retournent finalement vrai ou faux pour determiner si une transaction est valide. Bien que cette simplicite offre des avantages de securite et facilite l'analyse formelle, elle rend egalement de nombreux types d'applications impossibles a implementer.

Ces limitations se repartissent en trois categories principales. Premierement, le manque de completude de Turing empeche d'implementer des machines d'etat complexes, des arbres de decision, ou tout algorithme necessitant une iteration. Deuxiemement, l'aveuglement aux valeurs signifie que les scripts ne peuvent pas specifier un controle fin sur les montants de retrait — un UTXO ne peut etre depense que dans sa totalite, avec la monnaie envoyee a une nouvelle sortie. Un script ne peut pas, par exemple, limiter les retraits a un maximum de X par jour tout en laissant le reste verrouille. Troisiemement, le manque de conscience de l'etat de la blockchain signifie que les UTXO sont soit depenses soit non depenses sans etats intermediaires, rendant les contrats multi-etapes impossibles a implementer purement on-chain.

Ces contraintes rendent les applications sophistiquees comme les organisations autonomes decentralisees, les portefeuilles d'epargne avec des limites de retrait, les echanges decentralises, ou les marches de prediction soit impossibles soit necessitant des mecanismes hors chaine maladroits. Un contrat financier avance pourrait necessiter l'acces a des donnees de marche, la capacite de maintenir un etat interne a travers plusieurs transactions, et une logique conditionnelle complexe — aucun de ces elements ne pouvant etre fourni par Bitcoin Script. Ethereum supprime ces limitations en fournissant un langage Turing-complet avec un acces complet a l'etat de la blockchain.

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

L'objectif fondamental d'Ethereum est de fournir une blockchain avec un langage de programmation Turing-complet integre qui permet a quiconque d'ecrire des smart contracts et des applications decentralisees ou ils peuvent creer leurs propres regles arbitraires pour la propriete, les formats de transaction et les fonctions de transition d'etat. Plutot que de concevoir un protocole pour des applications specifiques comme la monnaie, l'enregistrement de noms ou le commerce d'actifs, Ethereum fournit une couche fondamentale — une plateforme informatique distribuee basee sur la blockchain que les developpeurs peuvent utiliser pour construire toute application qu'ils peuvent imaginer.

L'architecture differe fondamentalement du modele UTXO de Bitcoin. Ethereum utilise un systeme base sur les comptes ou l'etat de la blockchain consiste en une correspondance des adresses vers des objets de compte. Chaque compte a un solde, un compteur de transactions (nonce), et pour les comptes de contrats, du code et du stockage associes. La plateforme inclut un langage de programmation Turing-complet integre pour ecrire du code de contrat qui s'execute dans la Machine Virtuelle Ethereum (EVM), un environnement d'execution base sur une pile qui traite les transactions et les transitions d'etat.

Cette generalite permet une vaste gamme d'applications : des cryptomonnaies alternatives avec des regles d'emission personnalisees, des derives financiers et des stablecoins, des systemes d'identite et de reputation, du stockage de fichiers decentralise, des organisations autonomes decentralisees (DAOs), et bien plus encore. Le whitepaper souligne qu'Ethereum n'est pas optimise pour un cas d'utilisation particulier mais fournit plutot les blocs de construction fondamentaux — comptes, transactions, un langage Turing-complet et une execution mesuree par le gas — que les developpeurs peuvent combiner pour creer les applications que l'ecosysteme exige.

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

Dans Ethereum, l'etat est constitue de comptes, et il existe deux types fondamentaux. Les comptes a propriete externe (EOAs) sont controles par des cles privees et n'ont pas de code associe — ils representent des utilisateurs humains ou des entites externes interagissant avec la blockchain. Les comptes de contrats sont controles par leur code de contrat et sont actives lorsqu'ils recoivent un message ou une transaction. Les deux types partagent une structure commune : chaque compte a un nonce (un compteur utilise pour s'assurer que chaque transaction ne peut etre traitee qu'une seule fois), un solde en ether, et pour les contrats specifiquement, du code de contrat et du stockage persistant.

L'ether est la cryptomonnaie interne principale d'Ethereum, servant a la fois de moyen de transfert de valeur et d'unite fondamentale pour payer les frais de transaction (gas). Contrairement au modele UTXO de Bitcoin ou la valeur est distribuee a travers plusieurs sorties non depensees, les comptes Ethereum maintiennent un solde simple qui augmente lorsqu'ils recoivent de l'ether et diminue lorsqu'ils en envoient. Ce modele base sur les comptes simplifie de nombreux types d'applications, en particulier celles necessitant un etat persistant ou un controle d'acces complexe, bien qu'il introduise des considerations de securite differentes par rapport a l'approche de Bitcoin.

La distinction entre les EOAs et les comptes de contrats est cruciale pour comprendre le fonctionnement d'Ethereum. Les EOAs peuvent initier des transactions en creant et signant des messages avec leurs cles privees, payant des frais de gas pour que leurs transactions soient incluses dans les blocs. Les comptes de contrats ne peuvent pas initier de transactions eux-memes mais peuvent envoyer des messages a d'autres contrats en reponse a la reception d'une transaction ou d'un message, permettant des chaines d'execution complexes ou une seule transaction externe declenche de multiples interactions de contrat a contrat.

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

Les transactions dans Ethereum sont des paquets de donnees signes crees par des comptes a propriete externe et diffuses sur le reseau. Une transaction contient l'adresse du destinataire, une signature cryptographique prouvant l'identite de l'expediteur, le montant d'ether a transferer, un champ de donnees optionnel (crucial pour interagir avec les contrats), STARTGAS (le nombre maximum d'etapes de calcul que la transaction est autorisee a effectuer), et GASPRICE (les frais par etape de calcul que l'expediteur est pret a payer). Les mineurs collectent ces transactions, les valident, les executent et les incluent dans des blocs, recevant les frais de gas comme compensation.

Les messages sont conceptuellement similaires aux transactions mais sont produits par des contrats plutot que par des acteurs externes. Lorsque le code d'un contrat s'execute, il peut envoyer des messages a d'autres contrats — ces messages internes contiennent l'expediteur (l'adresse du contrat), le destinataire, un montant d'ether a transferer, une charge utile de donnees optionnelle et une limite STARTGAS. Les messages permettent la communication de contrat a contrat, permettant de construire des applications complexes a partir de plusieurs contrats interagissant plutot que de programmes monolithiques.

Le mecanisme de gas est crucial pour prevenir les abus : chaque etape de calcul, operation de stockage et octet de donnees dans une transaction consomme du gas. Si une transaction epuise son gas avant de se terminer, tous les changements d'etat sont annules (sauf le paiement du gas au mineur), empechant les boucles infinies ou les calculs excessifs de paralyser le reseau. L'expediteur specifie a la fois le budget total de gas (STARTGAS) et le prix qu'il est pret a payer par unite (GASPRICE), et tout gas non utilise est rembourse apres l'execution.

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

La fonction de transition d'etat d'Ethereum APPLY(S,TX) - S' definit comment une transaction transforme l'etat de la blockchain, et elle suit une sequence precise d'etapes. Premierement, le systeme verifie la validite de la transaction : verifiant que la signature est correcte, confirmant que le nonce correspond au nonce du compte de l'expediteur, et s'assurant que l'expediteur dispose d'un solde suffisant pour payer le cout initial (STARTGAS x GASPRICE plus la valeur envoyee). Si une verification echoue, la transaction est rejetee avant le debut de l'execution. Si elle est valide, les frais de transaction sont deduits du compte de l'expediteur, le nonce de l'expediteur est incremente, et un compteur de gas initial est defini a STARTGAS moins des frais par octet pour les donnees de la transaction.

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

Ensuite, le systeme transfere la valeur en ether specifiee de l'expediteur au destinataire. Si le destinataire est un compte a propriete externe, cela complete la transaction. Si le destinataire est un compte de contrat, le code du contrat s'execute dans la Machine Virtuelle Ethereum, consommant du gas pour chaque operation jusqu'a ce que le code se termine avec succes, que le code s'arrete explicitement, ou que le gas soit epuise. Pendant l'execution, le contrat peut lire et modifier son stockage, envoyer des messages a d'autres contrats et creer de nouveaux contrats.

Enfin, si le transfert de valeur a echoue (solde insuffisant) ou si l'execution du code a echoue (epuisement du gas ou erreur), tous les changements d'etat sont annules — sauf que l'expediteur paie toujours les frais de gas au mineur pour le calcul effectue. Si l'execution a reussi, le gas restant est rembourse a l'expediteur, et le gas consomme est envoye au mineur comme frais. Ce mecanisme garantit que les mineurs sont compenses pour le calcul tout en empechant les executions incontroles de consommer des ressources illimitees.

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

La Machine Virtuelle Ethereum (EVM) est l'environnement d'execution ou le code des contrats s'execute — une machine virtuelle de bas niveau basee sur une pile, similaire en concept a la Machine Virtuelle Java ou WebAssembly. Le code des contrats est stocke sous forme d'une sequence d'octets, ou chaque octet represente une operation (opcode) que l'EVM peut executer. Le modele d'execution est deliberement simple et deterministe : chaque noeud executant l'EVM avec le meme etat d'entree et la meme transaction doit arriver au meme etat de sortie, assurant le consensus a travers le reseau.

L'EVM fournit trois types distincts de stockage pour le calcul. La pile est une structure dernier entre, premier sorti (LIFO) limitee a 1024 elements, utilisee pour les valeurs d'operation immediates. La memoire est un tableau d'octets extensible a l'infini qui persiste uniquement pour la duree d'un seul appel de message et est reinitialise entre les executions. Le stockage est le magasin cle-valeur persistant associe de maniere permanente a chaque compte de contrat, ou les contrats maintiennent leur etat a long terme a travers les transactions. Ces types de stockage sont tarifes differemment en gas — les operations sur la pile et la memoire sont bon marche, tandis que les operations de stockage sont couteuses pour prevenir le gonflement de la blockchain.

Pendant l'execution, le code du contrat a acces a un contexte crucial : il peut lire l'adresse de l'expediteur du message, le montant d'ether envoye, la charge utile de donnees fournie par l'appelant, et les proprietes au niveau du bloc comme le numero de bloc actuel, l'horodatage et l'adresse du mineur. Le code peut retourner un tableau d'octets de sortie a l'appelant et peut envoyer des messages a d'autres contrats ou creer de nouveaux contrats. Ce modele d'execution est Turing-complet — les boucles et le flux de controle complexe sont possibles — mais le mecanisme de gas garantit que tout calcul se termine en temps borne, resolvant le probleme de l'arret de maniere economique plutot que par des restrictions de langage.

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

La blockchain Ethereum est fondamentalement similaire a celle de Bitcoin, servant de base de donnees contenant chaque transaction jamais executee. Cependant, alors que Bitcoin ne stocke qu'une liste de transactions, Ethereum stocke a la fois la liste des transactions et l'etat le plus recent. Chaque bloc dans Ethereum contient le hachage du bloc precedent, une racine d'etat (le hachage racine du trie Patricia de Merkle representant l'etat entier), une racine de transaction, une racine de recu (stockant les donnees de l'execution des transactions), ainsi que des valeurs de difficulte, d'horodatage et de nonce. L'etat lui-meme est un grand trie Patricia de Merkle faisant correspondre les adresses aux objets de compte, ou chaque compte a un solde, un nonce, du code (si present) et du stockage.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum utilise une version modifiee du protocole GHOST (Greedy Heaviest Observed Subtree) pour traiter les problemes de securite qui surviennent avec des temps de bloc rapides. Dans les protocoles traditionnels de chaine la plus longue, des blocs rapides conduisent a des taux de blocs perimes eleves, reduisant la securite du reseau et augmentant les risques de centralisation car les grands mineurs gaspillent moins de calcul sur les blocs perimes. GHOST inclut les blocs perimes (appeles "oncles" dans Ethereum) dans le calcul de la chaine la plus longue, et fournit des recompenses partielles aux blocs oncles, incitant les mineurs a les referencer. Cela permet a Ethereum de maintenir un temps de bloc cible d'environ 12 secondes tout en preservant la securite du reseau.

L'algorithme de minage fonctionne de maniere similaire a la preuve de travail de Bitcoin, exigeant des mineurs qu'ils trouvent un nonce tel que le hachage du bloc soit inferieur a un certain objectif de difficulte. Cependant, l'algorithme de minage a forte intensite memoire d'Ethereum (Ethash) est concu pour etre resistant aux ASIC, favorisant un ecosysteme de minage plus decentralise. La difficulte s'ajuste dynamiquement en fonction des temps de bloc pour maintenir la cible d'environ 12 secondes, assurant une production de blocs constante tandis que le protocole GHOST fournit des garanties de securite malgre les temps de bloc plus rapides par rapport a la moyenne de 10 minutes de Bitcoin.

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

Les applications qui peuvent etre construites sur Ethereum se repartissent en trois grandes categories. La premiere categorie est celle des applications financieres, fournissant aux utilisateurs des moyens plus puissants de gerer et de conclure des contrats impliquant leur argent. Cela inclut les sous-monnaies, les derives financiers, les contrats de couverture, les portefeuilles d'epargne avec des limites de retrait, les testaments qui distribuent automatiquement les fonds, et meme les contrats de travail qui calculent le paiement en fonction de l'achevement verifie du travail. Ces applications tirent parti de la programmabilite d'Ethereum pour creer des instruments financiers complexes qui seraient impossibles ou extremement difficiles a implementer dans les systemes traditionnels ou meme sur Bitcoin.

La deuxieme categorie est celle des applications semi-financieres, ou l'argent est implique mais il y a aussi une composante non monetaire substantielle dans ce qui est realise. Un exemple parfait est celui des primes auto-executoires pour les solutions a des problemes de calcul. Quelqu'un pourrait poster un probleme de calcul accompagne d'une recompense, et le contrat pourrait automatiquement verifier les solutions soumises et payer la prime a la premiere reponse correcte. Cette categorie fait le pont entre la finance pure et d'autres domaines, utilisant des incitations economiques pour resoudre des problemes ou coordonner les comportements.

La troisieme categorie est celle des applications qui n'ont rien a voir avec l'argent, comme le vote en ligne et les systemes de gouvernance decentralises. Ces applications non financieres demontrent la flexibilite d'Ethereum en tant que plateforme generaliste. Les exemples incluent les systemes de noms de domaine decentralises comme Namecoin, les systemes de reputation, le stockage de fichiers decentralise et les outils de gouvernance organisationnelle. Parmi tous ces types d'applications, les systemes de tokens ont emerge comme les plus courants et fondamentaux, servant de blocs de construction pour de nombreuses autres applications.

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

Les systemes de tokens sont etonnamment simples a implementer sur Ethereum, bien qu'ils soient l'une des applications les plus puissantes et les plus courantes. A leur base, les systemes de tokens sont simplement une base de donnees avec une seule operation : soustraire X unites du compte A et ajouter X unites au compte B, a condition que A ait eu au moins X unites avant la transaction et que la transaction soit autorisee par A. L'implementation necessite de maintenir une correspondance des adresses aux soldes et de fournir une fonction de transfert qui effectue les verifications appropriees avant de deplacer les tokens entre les comptes.

Le code du contrat pour un systeme de tokens basique est remarquablement simple et peut etre ecrit en quelques lignes seulement. Il consiste en une structure de donnees faisant correspondre les adresses aux soldes, une fonction d'initialisation qui attribue l'offre initiale de tokens, et une fonction de transfert qui verifie le solde et l'autorisation de l'expediteur avant d'executer le transfert. Cette simplicite contraste fortement avec la complexite requise pour implementer des systemes similaires sur Bitcoin, qui necessiteraient des solutions de contournement et des limitations significatives en raison des capacites de script restreintes de Bitcoin.

Les tokens sur Ethereum peuvent representer virtuellement n'importe quoi de valeur. Ils peuvent representer des sous-monnaies avec leurs propres politiques monetaires, des derives financiers suivant des actifs externes, des actions d'entreprise avec des droits a dividendes, des points de fidelite dans des programmes clients, des matieres premieres comme l'or ou le petrole, ou meme des representations de propriete physique. La programmabilite d'Ethereum permet a ces tokens d'avoir des regles arbitraires gouvernant leur comportement, telles que des restrictions de transfert, des mecanismes de destruction automatique, des distributions de dividendes ou des droits de gouvernance. Cette flexibilite a fait des systemes de tokens le bloc de construction fondamental d'une grande partie de l'ecosysteme 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

Les derives financiers representent l'une des applications les plus fondamentales et importantes des smart contracts Ethereum. Un simple contrat de couverture demontre le mecanisme de base : la partie A depose un certain montant d'ether d'une valeur de 1000 \(, la partie B depose un montant equivalent, et le contrat enregistre la valeur en USD de l'ether a ce moment en utilisant un flux de donnees. Apres 30 jours, le contrat recalcule la valeur et envoie de l'ether d'une valeur de 1000 \) a A et le reste a B. Si le prix de l'ether a augmente, A recoit moins d'ether mais maintient une valeur de 1000 $ ; s'il a baisse, A recoit plus d'ether pour maintenir cette valeur. Cela permet a A de se couvrir contre la volatilite tandis que B specule sur les mouvements de prix.

L'implementation de tels contrats necessite l'acces a des donnees externes via des contrats oracle ou des flux de donnees. Ces oracles fournissent des informations sur les prix, des donnees meteorologiques ou d'autres informations du monde reel dont les contrats ont besoin pour s'executer correctement. Bien que les oracles introduisent une dependance de confiance, ils peuvent etre concus avec de la redondance et des incitations cryptoeconomiques pour fournir des donnees fiables. Le contrat lui-meme interroge simplement l'oracle, effectue des calculs bases sur ces donnees et distribue les fonds selon sa logique programmee.

Les stablecoins et les instruments financiers plus complexes peuvent etre construits en utilisant des mecanismes similaires. Un contrat de stablecoin pourrait maintenir une reserve d'ether et emettre des tokens adosses a une monnaie fiduciaire, ajustant automatiquement l'offre ou les exigences de collateral en fonction des flux de prix. Les contrats d'options, de futures, de swaps et d'autres derives qui necessiteraient normalement des cadres juridiques complexes et des intermediaires de confiance peuvent plutot etre encodes comme des smart contracts auto-executoires. Cette infrastructure de finance programmable permet une ingenierie financiere sophistiquee tout en maintenant les garanties de transparence et de securite de la technologie blockchain.

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

Un systeme d'enregistrement de noms similaire a Namecoin est trivialement implementable sur Ethereum et sert d'exemple le plus simple d'un systeme d'identite. Le contrat maintient une base de donnees avec une table cle-valeur faisant correspondre les noms aux donnees associees (comme les adresses IP, les cles publiques ou d'autres informations). N'importe qui peut enregistrer un nom en envoyant une transaction au contrat accompagnee de frais d'enregistrement modestes, a condition que ce nom ne soit pas deja pris. Le proprietaire peut mettre a jour les donnees associees a tout moment, et les noms peuvent etre rendus transferables ou permanents selon les regles encodees dans le contrat.

Des systemes d'identite plus avances peuvent etre construits sur cette base pour inclure des scores de reputation, des relations de reseau de confiance et une verification d'identite decentralisee. Par exemple, un contrat pourrait maintenir des scores de reputation bases sur des transactions verifiees, des evaluations par les pairs ou l'accomplissement de taches. Ces scores seraient publiquement visibles et cryptographiquement lies a des adresses specifiques, creant une reputation portable qui suit les utilisateurs a travers les applications. Les systemes de reseau de confiance pourraient permettre aux utilisateurs de se porter garants de l'identite des autres, construisant des graphes sociaux qui aident a distinguer les utilisateurs legitimes des acteurs malveillants.

De tels systemes d'identite et de reputation deviennent particulierement puissants lorsqu'ils sont integres avec d'autres applications. Une place de marche pourrait exiger des scores de reputation minimums pour les vendeurs, une plateforme de pret pourrait ajuster les taux d'interet en fonction de la reputation de l'emprunteur, ou un reseau social pourrait utiliser le reseau de confiance pour filtrer le spam et le contenu frauduleux. En fournissant une infrastructure partagee pour l'identite que toute application peut interroger, Ethereum permet une nouvelle classe d'applications basees sur la confiance qui ne reposent pas sur des fournisseurs d'identite centralises ou des systemes de reputation proprietaires.

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

Le stockage de fichiers decentralise peut etre implemente via des contrats Ethereum qui coordonnent entre les utilisateurs ayant besoin de stockage et les fournisseurs qui l'offrent. Dans un modele de "Dropbox decentralise", les utilisateurs paieraient des frais mensuels pour telecharger des fichiers, le contrat distribuant les paiements aux fournisseurs de stockage qui prouvent qu'ils stockent reellement les donnees. Le mecanisme de preuve fonctionne par des defis cryptographiques periodiques : le contrat selectionne aleatoirement des portions de fichiers et demande aux fournisseurs de fournir des preuves d'arbre de Merkle demontrant qu'ils possedent ces donnees. Les fournisseurs qui echouent aux defis ou se deconnectent perdraient leurs depots et leur flux de paiement futur.

Cette approche offre plusieurs avantages par rapport au stockage centralise. Les preuves d'arbre de Merkle permettent une verification efficace — les utilisateurs et le contrat peuvent confirmer la disponibilite des fichiers sans telecharger des fichiers entiers. Le systeme distribue naturellement les fichiers a travers plusieurs fournisseurs independants, creant de la redondance sans necessiter de protocoles de replication explicites. Les incitations economiques alignent le comportement des fournisseurs avec les besoins des utilisateurs : les fournisseurs gagnent de l'argent en stockant les donnees de maniere fiable et en perdent s'ils ne le font pas. Cela elimine l'exigence de confiance inherente aux solutions de stockage centralisees.

Les couts de stockage dans un tel systeme peuvent potentiellement etre inferieurs a ceux des alternatives centralisees pour plusieurs raisons. L'elimination de la tarification monopolistique permet a la concurrence du marche de ramener les couts pres du cout reel du stockage. La redondance implicite de plusieurs utilisateurs stockant des fichiers similaires peut reduire les besoins totaux de stockage. Il n'y a pas besoin d'infrastructure de centre de donnees couteuse ou de frais generaux d'entreprise. Cependant, des defis subsistent concernant les mecanismes de paiement, l'assurance d'une participation adequate des fournisseurs et la gestion du compromis entre redondance et cout. Malgre ces defis, le stockage decentralise demontre comment Ethereum peut coordonner des interactions complexes multi-parties uniquement par des incitations economiques.

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

Une Organisation Autonome Decentralisee (DAO) est une entite virtuelle qui possede un ensemble de membres ou d'actionnaires qui ont collectivement le droit de depenser les fonds de l'entite et de modifier son code. Une DAO typique fonctionne avec une regle simple : 67% des membres sont necessaires pour prendre des decisions de depense ou modifier le code de l'organisation. Les membres peuvent soumettre des propositions, voter dessus, et si une proposition recoit un soutien suffisant, le contrat execute automatiquement la decision. Les parts de membres peuvent etre transferables, permettant un marche liquide pour la participation a la DAO, et differentes classes de parts peuvent avoir differents droits de vote ou revendications economiques.

La conception de DAO la plus simple est un contrat auto-modifiable qui maintient une liste de membres et necessite un vote a majorite des 2/3 pour modifier tout aspect du contrat, y compris ses propres regles de vote. Les membres soumettraient des modifications de code sous forme de transactions, les autres membres voteraient, et une fois le seuil atteint, le contrat se mettrait a jour. Des conceptions plus sophistiquees pourraient inclure des systemes de vote delegue ou les membres peuvent attribuer leur pouvoir de vote a des representants, ou une democratie liquide ou les votes peuvent etre delegues mais recuperes a tout moment pour les decisions importantes.

Les DAOs peuvent servir a divers objectifs au-dela de la simple gestion de fonds. Une DAO pourrait fonctionner comme une entreprise decentralisee, embauchant des prestataires, achetant des services et distribuant des benefices aux actionnaires — le tout gouverne par du code de smart contract plutot que par des structures juridiques traditionnelles. Elle pourrait fonctionner comme un fonds d'investissement decentralise, avec des membres votant sur les projets a financer. Elle pourrait gerer une ressource commune, avec les parties prenantes votant sur les regles d'allocation. L'insight cle est qu'en encodant les regles de gouvernance dans du code transparent et immuable et en les liant a un enjeu economique, les DAOs peuvent coordonner les decisions de groupe sans necessiter de gestion hierarchique traditionnelle ou d'application legale.

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

Au-dela des grandes categories deja discutees, Ethereum permet de nombreuses autres applications. Les portefeuilles d'epargne avec des fonctionnalites de securite sophistiquees peuvent imposer des limites de retrait quotidiennes tout en fournissant des cles d'urgence pour la recuperation, protegeant les utilisateurs contre le vol tout en maintenant le controle ultime. Les contrats d'assurance recolte peuvent automatiquement payer les agriculteurs sur la base de flux de donnees meteorologiques, eliminant le traitement des reclamations et reduisant les frais administratifs. Les applications de jeux d'argent pair-a-pair peuvent fonctionner sans aucun intermediaire de confiance, les smart contracts detenant les mises et payant automatiquement les gagnants sur la base de nombres aleatoires verifiables ou de donnees d'evenements du monde reel.

Les marches de prediction on-chain permettent aux utilisateurs de parier sur des evenements futurs, creant de puissants mecanismes de prevision par la sagesse des foules. Ceux-ci peuvent etre augmentes avec des protocoles de type SchellingCoin pour creer des oracles decentralises : les participants rapportent independamment des donnees (comme les resultats d'elections ou les conditions meteorologiques), et ceux dont les rapports correspondent a la majorite recoivent des recompenses tandis que les valeurs aberrantes sont penalisees. Cette approche cryptoeconomique incite au reportage honnete et peut fournir des donnees fiables du monde reel a d'autres contrats sans necessiter de confiance en un seul fournisseur d'oracle.

Les portefeuilles multi-signatures representent une autre application importante, permettant le controle partage de fonds entre plusieurs parties. Un portefeuille multi-sig 2-sur-3 pourrait necessiter que deux des trois parties designees approuvent une transaction avant que les fonds puissent etre depenses, utile pour les arrangements d'entiercement, les tresoreries d'entreprise ou la securite personnelle. Les places de marche decentralisees peuvent combiner des systemes d'identite, des scores de reputation, des contrats d'entiercement et des mecanismes de resolution des litiges pour permettre le commerce pair-a-pair sans plateformes centralisees. Chacune de ces applications demontre comment la programmabilite d'Ethereum permet de nouveaux modeles de confiance et de nouvelles structures organisationnelles.

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

L'implementation par Ethereum du protocole GHOST modifie inclut des regles specifiques pour l'inclusion et les recompenses des oncles. Les oncles doivent etre des enfants directs de l'ancetre du bloc actuel (entre 2 et 7 generations en arriere), doivent etre des en-tetes de bloc valides, doivent etre distincts des oncles precedents et ne doivent pas etre des ancetres directs du bloc actuel. Les blocs oncles recoivent 87,5% de la recompense de bloc standard, tandis que le bloc qui les inclut recoit un supplement de 3,125% par oncle inclus (jusqu'a deux oncles). Cette structure d'incitation encourage les mineurs a referencer les blocs perimes qu'ils observent, renforçant la securite du reseau tout en recompensant les mineurs qui ont temporairement eu de la malchance avec la propagation du reseau.

Le systeme de frais est base sur le concept de "gas", ou chaque operation de calcul a un cout fixe en gas. Par exemple, une operation de multiplication coute 5 gas, un hachage SHA256 coute 20 gas, et chaque transaction a un cout de base de 21 000 gas. Les utilisateurs specifient a la fois une limite de gas (le gas maximum qu'ils sont prets a consommer) et un prix du gas (combien d'ether ils paieront par unite de gas). Ce systeme sert plusieurs objectifs : il empeche les boucles infinies et les attaques par deni de service en garantissant que tout calcul est paye, il cree un marche pour l'espace de bloc ou les utilisateurs encherissent via les prix du gas, et il permet aux mineurs de fixer un prix minimum du gas qu'ils sont prets a accepter, protegeant les ressources du reseau.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

L'evolutivite reste une preoccupation significative, car chaque noeud complet doit traiter chaque transaction pour verifier l'etat. Les architectures blockchain actuelles peinent a egaliser le debit de transactions des systemes centralises. Les solutions potentielles incluent le sharding d'etat, ou differents noeuds traitent differents sous-ensembles de transactions, et une transition de la preuve de travail vers un consensus par preuve d'enjeu, qui pourrait permettre une production de blocs plus efficace. Les clients legers utilisant des preuves de Merkle peuvent verifier les transactions sans traiter tous les blocs, mais quelqu'un doit quand meme tout traiter. Ces defis d'evolutivite representent des domaines actifs de recherche et de developpement critiques pour la viabilite a long terme d'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

Le protocole Ethereum a ete initialement concu comme une version amelioree d'une cryptomonnaie, fournissant des fonctionnalites avancees comme l'entiercement on-blockchain, les limites de retrait et les contrats financiers a travers un langage de programmation hautement generalise. Cependant, le protocole Ethereum va bien au-dela de la simple monnaie. Les protocoles autour du stockage de fichiers decentralise, du calcul decentralise et des marches de prediction decentralises, parmi des dizaines d'autres concepts, ont le potentiel d'augmenter substantiellement l'efficacite de l'industrie informatique et de fournir un coup de pouce massif aux autres protocoles pair-a-pair en ajoutant pour la premiere fois une couche economique.

Plutot que de fournir un ensemble limite d'operations concues pour des cas d'utilisation specifiques, Ethereum fournit un langage de programmation Turing-complet qui permet aux developpeurs de construire toute application qu'ils peuvent concevoir. Vous voulez inventer votre propre derive financier ? Creer votre propre monnaie ? Etablir un gouvernement sur la blockchain ? Tout cela est trivialement implementable avec le systeme de script d'Ethereum. La puissance de la plateforme ne reside pas dans la prediction des applications qui seront construites, mais dans la fourniture de l'infrastructure fondamentale qui rend leur construction facile.

Le concept d'une fonction de transition d'etat arbitraire telle qu'implementee par le protocole Ethereum fournit une plateforme au potentiel unique. Plutot que d'etre un protocole ferme et a usage unique destine a des applications specifiques dans le stockage de donnees, les jeux d'argent ou la finance, Ethereum est ouvert par conception, et nous croyons qu'il est extremement bien adapte pour servir de couche fondamentale pour un grand nombre de protocoles financiers et non financiers dans les annees a venir. Les applications qui seront construites sur Ethereum a l'avenir pourraient etre celles que nous ne pouvons meme pas imaginer aujourd'hui, et cette possibilite ouverte represente la veritable promesse de la plateforme.

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

Le whitepaper d'Ethereum s'appuie sur de nombreux travaux anterieurs en recherche sur les cryptomonnaies et les systemes distribues. Le protocole Bitcoin fondateur est decrit dans l'article original de 2008 de Satoshi Nakamoto "Bitcoin: A Peer-to-Peer Electronic Cash System", qui a introduit le concept de monnaie numerique basee sur la blockchain. Les premieres tentatives d'extension des fonctionnalites de Bitcoin incluent Namecoin, un systeme d'enregistrement de noms decentralise demontrant des applications blockchain au-dela de la monnaie, bien que limite par les capacites de script restreintes de Bitcoin.

Le whitepaper des colored coins a propose une methode pour representer des actifs alternatifs sur la blockchain Bitcoin en "colorant" des bitcoins specifiques pour representer d'autres actifs, tandis que Mastercoin a tente de creer une couche de protocole par-dessus Bitcoin pour des instruments financiers plus complexes. Les deux ont mis en evidence les limitations de la construction sur Bitcoin et ont motive le besoin d'une plateforme plus flexible. Le concept de societes autonomes decentralisees, explore dans Bitcoin Magazine, a fourni les fondements theoriques de la gouvernance organisationnelle par le biais de smart contracts.

Les composants techniques cles incluent la verification simplifiee des paiements (SPV) pour les clients legers, les arbres de Merkle pour la verification efficace des donnees et les tries Patricia pour la representation de l'etat d'Ethereum. Le protocole GHOST (Greedy Heaviest Observed Subtree), decrit dans un article de cryptographie de 2013, traite les problemes de securite decoulant des temps de bloc rapides et constitue la base du mecanisme de consensus d'Ethereum. Ces references representent les fondements intellectuels sur lesquels Ethereum a ete construit, combinant des perspectives de la cryptomonnaie, des systemes distribues, de la cryptographie et de la theorie des jeux pour creer une plateforme blockchain generaliste.

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.