Ethereum: Plataforma de Contratos Inteligentes y Aplicaciones Descentralizadas de Próxima Generación

بقلم Vitalik Buterin · 2013

وضع فردي ethereum.org

Abstract

Ethereum هو منصة عملة مشفرة وتطبيقات لامركزية من الجيل التالي تقدم blockchain مزودة بلغة برمجة مدمجة كاملة تورنغ (Turing-complete). يتيح ذلك لأي شخص كتابة smart contracts وتطبيقات لامركزية حيث يمكنهم إنشاء قواعدهم الخاصة للملكية وأشكال المعاملات ودوال انتقال الحالة (state transition functions).

الابتكار الجوهري لـ Ethereum هو دمج تقنية blockchain التي ابتكرها Bitcoin مع بيئة برمجة عامة الأغراض. بينما يوفر Bitcoin نظام انتقال حالة بسيط لنقل العملة من حساب إلى آخر، يوفر Ethereum منصة يمكن للمطورين فيها بناء أي نوع من التطبيقات اللامركزية التي يمكنهم تخيلها، من العملات البديلة والأدوات المالية إلى أنظمة تسجيل النطاقات والمنظمات اللامركزية.

يحقق Ethereum ذلك من خلال بناء ما هو في جوهره الطبقة التأسيسية المجردة النهائية: blockchain مزودة بلغة برمجة مدمجة كاملة تورنغ، تتيح لأي شخص كتابة smart contracts وتطبيقات لامركزية حيث يمكنهم إنشاء قواعدهم الخاصة للملكية وأشكال المعاملات ودوال انتقال الحالة. يمكن كتابة نسخة أساسية من Namecoin في سطرين من الكود، ويمكن بناء بروتوكولات أخرى مثل العملات وأنظمة السمعة في أقل من عشرين سطراً.

Abstract

Ethereum es una plataforma de criptomonedas y aplicaciones descentralizadas de nueva generacion que introduce una blockchain con un lenguaje de programacion Turing-completo incorporado. Esto permite a cualquier persona escribir smart contracts y aplicaciones descentralizadas donde pueden crear sus propias reglas arbitrarias para la propiedad, los formatos de transaccion y las funciones de transicion de estado.

La innovacion fundamental de Ethereum es combinar la tecnologia blockchain pionera de Bitcoin con un entorno de programacion de proposito general. Mientras que Bitcoin proporciona un sistema simple de transicion de estado para mover moneda de una cuenta a otra, Ethereum proporciona una plataforma donde los desarrolladores pueden construir cualquier tipo de aplicacion descentralizada que puedan imaginar, desde monedas alternativas e instrumentos financieros hasta sistemas de registro de dominios y organizaciones descentralizadas.

Ethereum logra esto construyendo lo que es esencialmente la capa fundacional abstracta definitiva: una blockchain con un lenguaje de programacion Turing-completo incorporado, que permite a cualquier persona escribir smart contracts y aplicaciones descentralizadas donde pueden crear sus propias reglas arbitrarias para la propiedad, los formatos de transaccion y las funciones de transicion de estado. Una version basica de Namecoin puede escribirse en dos lineas de codigo, y otros protocolos como monedas y sistemas de reputacion pueden construirse en menos de veinte.

Introduction and Existing Concepts

إن مفهوم العملة الرقمية اللامركزية، بالإضافة إلى التطبيقات البديلة مثل سجلات الملكية، موجود منذ عقود. قدمت بروتوكولات النقد الإلكتروني المجهولة في الثمانينيات والتسعينيات، التي اعتمدت بشكل رئيسي على بدائية تشفيرية تُعرف باسم Chaumian blinding، عملة بدرجة عالية من الخصوصية، لكن هذه البروتوكولات فشلت إلى حد كبير في اكتساب الزخم بسبب اعتمادها على وسيط مركزي. في عام 1998، أصبح b-money لـ Wei Dai أول اقتراح يقدم فكرة إنشاء المال من خلال حل الألغاز الحسابية بالإضافة إلى الإجماع اللامركزي، لكن الاقتراح كان شحيحاً في التفاصيل حول كيفية تنفيذ الإجماع اللامركزي فعلياً.

في عام 2009، تم تنفيذ عملة لامركزية لأول مرة عملياً بواسطة Satoshi Nakamoto، حيث جمع بين البدائيات المُرسّخة لإدارة الملكية من خلال تشفير public key مع خوارزمية إجماع لتتبع من يملك العملات، تُعرف باسم "proof of work". كانت الآلية وراء proof of work اختراقاً في هذا المجال لأنها حلت مشكلتين في آن واحد. أولاً، قدمت خوارزمية إجماع بسيطة وفعالة بشكل معتدل، تسمح للعقد في الشبكة بالاتفاق جماعياً على مجموعة من التحديثات القانونية لحالة دفتر Bitcoin. ثانياً، قدمت آلية تسمح بالدخول الحر إلى عملية الإجماع، حيث حلت المشكلة السياسية المتعلقة بتحديد من يؤثر على الإجماع، مع منع هجمات sybil في الوقت نفسه.

أثبت blockchain الخاص بـ Bitcoin متانة ملحوظة على مدى سنوات تشغيله، لكنه محدود بطبيعته. صُممت لغة البرمجة النصية لـ Bitcoin عمداً لتكون مقيدة وغير Turing-complete، حيث تفتقر إلى الحلقات والعديد من الميزات الأخرى التي ستكون ضرورية لبناء تطبيقات أكثر تعقيداً. يوجد هذا القيد لمنع الحلقات اللانهائية وأشكال أخرى من الهجمات الحسابية، لكنه يقيد بشدة ما يمكن بناؤه فوق Bitcoin.

على مدى السنوات الخمس الماضية، كان هناك عدد من المحاولات لتوسيع وظائف Bitcoin. سعت Colored coins لاستخدام blockchain الخاص بـ Bitcoin لتتبع ملكية الأصول البديلة، وحاول Namecoin إنشاء قاعدة بيانات لامركزية لتسجيل الأسماء، واستهدفت بروتوكولات metacoin المتنوعة بناء طبقات إضافية فوق Bitcoin. بينما أظهرت هذه المقاربات وعداً، كانت محدودة في نهاية المطاف بقدرات Bitcoin البرمجية وعدم القدرة على الوصول إلى بيانات blockchain من داخل البرامج النصية.

ما يعتزم Ethereum تقديمه هو blockchain بلغة برمجة Turing-complete مدمجة كاملة الميزات يمكن استخدامها لإنشاء "عقود" يمكنها ترميز دوال state transition عشوائية، مما يسمح للمستخدمين بإنشاء أي من الأنظمة الموصوفة أعلاه، بالإضافة إلى العديد من الأنظمة الأخرى التي لم نتخيلها بعد، ببساطة عن طريق كتابة المنطق في بضعة أسطر من التعليمات البرمجية.

Introduction and Existing Concepts

El concepto de moneda digital descentralizada, asi como aplicaciones alternativas como registros de propiedad, existe desde hace decadas. Los protocolos anonimos de dinero electronico de las decadas de 1980 y 1990, en su mayoria dependientes de una primitiva criptografica conocida como cegamiento de Chaum, proporcionaban una moneda con un alto grado de privacidad, pero los protocolos en gran medida no lograron ganar traccion debido a su dependencia de un intermediario centralizado. En 1998, el b-money de Wei Dai se convirtio en la primera propuesta en introducir la idea de crear dinero mediante la resolucion de rompecabezas computacionales asi como el consenso descentralizado, pero la propuesta era escasa en detalles sobre como el consenso descentralizado podria realmente implementarse.

En 2009, una moneda descentralizada fue implementada en la practica por primera vez por Satoshi Nakamoto, combinando primitivas establecidas para gestionar la propiedad a traves de criptografia de clave publica con un algoritmo de consenso para rastrear quien posee las monedas, conocido como "proof of work". El mecanismo detras del proof of work fue un avance en el campo porque resolvio simultaneamente dos problemas. Primero, proporciono un algoritmo de consenso simple y moderadamente efectivo, permitiendo a los nodos de la red acordar colectivamente un conjunto de actualizaciones canonicas al estado del libro mayor de Bitcoin. Segundo, proporciono un mecanismo para permitir la entrada libre al proceso de consenso, resolviendo el problema politico de decidir quien puede influir en el consenso, mientras simultaneamente prevenia ataques sybil.

La blockchain de Bitcoin ha demostrado ser notablemente robusta a lo largo de sus anos de operacion, pero es inherentemente limitada. El lenguaje de scripting de Bitcoin esta intencionalmente disenado para ser restrictivo y no Turing-completo, careciendo de bucles y muchas otras caracteristicas que serian necesarias para construir aplicaciones mas complejas. Esta limitacion existe para prevenir bucles infinitos y otras formas de ataques computacionales, pero restringe severamente lo que puede construirse sobre Bitcoin.

Durante los ultimos cinco anos, ha habido varios intentos de extender la funcionalidad de Bitcoin. Los colored coins buscaron usar la blockchain de Bitcoin para rastrear la propiedad de activos alternativos, Namecoin intento crear una base de datos descentralizada de registro de nombres, y varios protocolos metacoin buscaron construir capas adicionales sobre Bitcoin. Aunque estos enfoques mostraron promesa, finalmente estaban limitados por las capacidades de scripting de Bitcoin y la incapacidad de acceder a datos de la blockchain desde dentro de los scripts.

Lo que Ethereum pretende proporcionar es una blockchain con un lenguaje de programacion Turing-completo completamente desarrollado que puede usarse para crear "contratos" que pueden usarse para codificar funciones de transicion de estado arbitrarias, permitiendo a los usuarios crear cualquiera de los sistemas descritos anteriormente, asi como muchos otros que aun no hemos imaginado, simplemente escribiendo la logica en unas pocas lineas de codigo.

Bitcoin As A State Transition System

من الناحية التقنية، يمكن التفكير في دفتر الحسابات لعملة مشفرة مثل Bitcoin كنظام state transition، حيث يوجد "حالة" تتكون من حالة ملكية جميع عملات bitcoin الموجودة و"دالة state transition" تأخذ حالة ومعاملة وتُخرج حالة جديدة هي النتيجة. في نظام مصرفي قياسي، على سبيل المثال، الحالة هي كشف الرصيد، والمعاملة هي طلب لنقل \(X من A إلى B، ودالة state transition تُنقص القيمة في حساب A بمقدار \)X وتزيد القيمة في حساب B بمقدار \(X. إذا كان حساب A يحتوي على أقل من \)X في المقام الأول، فإن دالة state transition تُرجع خطأ.

Ethereum state transition diagram showing how transactions transform blockchain state

"الحالة" في Bitcoin هي مجموعة جميع العملات (تقنياً، "مخرجات المعاملات غير المنفقة" أو UTXO) التي تم سكها ولم تُنفق بعد، حيث يملك كل UTXO فئة ومالكاً (معرف بعنوان 20 بايت وهو في الأساس public key تشفيرية). تحتوي المعاملة على مدخل واحد أو أكثر، يحتوي كل مدخل على إشارة إلى UTXO موجود وتوقيع تشفيري أُنتج بواسطة private key المرتبط بعنوان المالك، ومخرج واحد أو أكثر، يحتوي كل مخرج على UTXO جديد ليُضاف إلى الحالة.

يمكن تعريف دالة state transition APPLY(S,TX) - S' تقريباً كما يلي:

  1. لكل مدخل في TX، إذا لم يكن UTXO المُشار إليه موجوداً في S، أرجع خطأ.
  2. إذا لم يتطابق التوقيع المُقدم مع مالك UTXO، أرجع خطأ.
  3. إذا كان مجموع فئات جميع UTXO المدخلة أقل من مجموع فئات جميع UTXO المُخرجة، أرجع خطأ.
  4. أرجع S مع إزالة جميع UTXO المدخلة وإضافة جميع UTXO المُخرجة.

يمنع النصف الأول من الخطوة الأولى مرسلي المعاملات من إنفاق عملات غير موجودة، والنصف الثاني من الخطوة الأولى يمنع مرسلي المعاملات من إنفاق عملات أشخاص آخرين، والخطوة الثانية تفرض حفظ القيمة. لاستخدام هذا للدفع، البروتوكول كالتالي: لنفترض أن Alice تريد إرسال 11.7 BTC إلى Bob. أولاً، ستبحث Alice عن مجموعة من UTXO المتاحة التي تملكها بإجمالي لا يقل عن 11.7 BTC. واقعياً، لن تتمكن Alice من الحصول على 11.7 BTC بالضبط؛ لنقل أن أصغر ما يمكنها الحصول عليه هو 6+4+2=12. ثم تُنشئ معاملة بتلك المدخلات الثلاثة ومخرجين. المخرج الأول سيكون 11.7 BTC بعنوان Bob كمالك، والمخرج الثاني سيكون 0.3 BTC المتبقية كـ "باقي"، بملكية Alice نفسها.

Bitcoin As A State Transition System

Desde un punto de vista tecnico, el libro mayor de una criptomoneda como Bitcoin puede considerarse como un sistema de transicion de estado, donde hay un "estado" que consiste en el estatus de propiedad de todos los bitcoins existentes y una "funcion de transicion de estado" que toma un estado y una transaccion y produce un nuevo estado que es el resultado. En un sistema bancario estandar, por ejemplo, el estado es un balance general, una transaccion es una solicitud para mover \(X de A a B, y la funcion de transicion de estado reduce el valor en la cuenta de A en \)X y aumenta el valor en la cuenta de B en \(X. Si la cuenta de A tiene menos de \)X en primer lugar, la funcion de transicion de estado devuelve un error.

Ethereum state transition diagram showing how transactions transform blockchain state

El "estado" en Bitcoin es la coleccion de todas las monedas (tecnicamente, "salidas de transaccion no gastadas" o UTXO) que han sido acunadas y aun no gastadas, donde cada UTXO tiene una denominacion y un propietario (definido por una direccion de 20 bytes que es esencialmente una clave publica criptografica). Una transaccion contiene una o mas entradas, donde cada entrada contiene una referencia a un UTXO existente y una firma criptografica producida por la clave privada asociada con la direccion del propietario, y una o mas salidas, donde cada salida contiene un nuevo UTXO para ser anadido al estado.

La funcion de transicion de estado APPLY(S,TX) - S' puede definirse aproximadamente de la siguiente manera:

  1. Para cada entrada en TX, si el UTXO referenciado no esta en S, devolver un error.
  2. Si la firma proporcionada no coincide con el propietario del UTXO, devolver un error.
  3. Si la suma de las denominaciones de todos los UTXO de entrada es menor que la suma de las denominaciones de todos los UTXO de salida, devolver un error.
  4. Devolver S con todos los UTXO de entrada eliminados y todos los UTXO de salida anadidos.

La primera mitad del primer paso previene que los remitentes de transacciones gasten monedas que no existen, la segunda mitad del primer paso previene que los remitentes gasten monedas de otras personas, y el segundo paso asegura la conservacion de valor. Para usar esto para pagos, el protocolo es el siguiente: supongamos que Alice quiere enviar 11.7 BTC a Bob. Primero, Alice buscara un conjunto de UTXO disponibles que posee y que sumen al menos 11.7 BTC. De manera realista, Alice no podra obtener exactamente 11.7 BTC; digamos que lo minimo que puede obtener es 6+4+2=12. Entonces crea una transaccion con esas tres entradas y dos salidas. La primera salida sera 11.7 BTC con la direccion de Bob como propietario, y la segunda salida sera el "cambio" restante de 0.3 BTC, siendo la propietaria la propia Alice.

Mining

لو كان لدينا وصول إلى خدمة مركزية موثوقة، لكان تنفيذ هذا النظام بسيطاً؛ يمكن ببساطة برمجته كما هو موصوف، باستخدام القرص الصلب لخادم مركزي لتتبع الحالة. ومع ذلك، مع Bitcoin نحاول بناء نظام عملة لامركزي، لذا سنحتاج إلى دمج نظام state transition مع نظام إجماع لضمان أن الجميع يتفق على ترتيب المعاملات. تتطلب عملية الإجماع اللامركزية في Bitcoin أن تحاول العقد في الشبكة باستمرار إنتاج حزم من المعاملات تُسمى "كتل". تهدف الشبكة إلى إنتاج كتلة واحدة تقريباً كل عشر دقائق، حيث تحتوي كل كتلة على طابع زمني، وnonce، وإشارة إلى (أي hash) الكتلة السابقة وقائمة بجميع المعاملات التي تمت منذ الكتلة السابقة.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

بمرور الوقت، ينشئ هذا "blockchain" مستمراً ومتنامياً باستمرار يتم تحديثه باستمرار لتمثيل أحدث حالة لدفتر Bitcoin. خوارزمية التحقق من صلاحية الكتلة، معبراً عنها في هذا النموذج، هي كالتالي:

  1. تحقق من أن الكتلة السابقة المُشار إليها بواسطة الكتلة موجودة وصالحة.
  2. تحقق من أن الطابع الزمني للكتلة أكبر من الكتلة السابقة وأقل من ساعتين في المستقبل.
  3. تحقق من أن proof of work على الكتلة صالح.
  4. ليكن S الحالة في نهاية الكتلة السابقة.
  5. لنفترض أن TX هي قائمة معاملات الكتلة بـ n معاملة. لكل i في 0...n-1، اضبط S = APPLY(S,TX[i]). إذا أرجع أي تطبيق خطأ، اخرج وأرجع false.
  6. أرجع true، وسجل S كالحالة في نهاية هذه الكتلة.

في الأساس، يجب أن توفر كل معاملة في الكتلة انتقال حالة صالحاً مما كانت عليه الحالة القانونية قبل تنفيذ المعاملة إلى حالة جديدة ما. لاحظ أن الحالة ليست مُرمزة في الكتلة بأي شكل؛ هي مجرد تجريد يتذكره عقدة التحقق ولا يمكن حسابها (بأمان) لأي كتلة إلا بالبدء من حالة التكوين وتطبيق كل معاملة في كل كتلة بالتتابع.

يُكافأ المُعدّن على عمله الحسابي بعملات bitcoin جديدة بالإضافة إلى رسوم المعاملات. تعمل عملية التعدين كالتالي: يأخذ المُعدّنون رأس الكتلة ويقومون بتجزئته بشكل متكرر بقيم nonce مختلفة حتى يجدوا hash أقل من هدف صعوبة معين. عندما يجد مُعدّن مثل هذا الـ hash، يبث الكتلة إلى الشبكة، وتتحقق العقد الأخرى من صلاحية الـ hash وصلاحية جميع المعاملات في الكتلة. يتم تعديل هدف الصعوبة تلقائياً بواسطة البروتوكول كل 2016 كتلة (حوالي أسبوعين) لضمان إنتاج الكتل بمعدل ثابت تقريباً.

لاحظ أنه على المدى الطويل، يعتمد أمان blockchain على وجود حافز مالي للمُعدّنين للتصرف بأمانة. إذا سيطر مهاجم على أكثر من 50% من قوة التعدين في الشبكة، فيمكنه تنفيذ "هجوم 51%" بإنشاء blockchain بديل ينمو أسرع من السلسلة الصادقة. ومع ذلك، سيتطلب مثل هذا الهجوم موارد حسابية هائلة ومن المرجح أن تصبح مكافآت تعدين المهاجم عديمة القيمة مع فقدان الشبكة الثقة في سلامة blockchain.

Mining

Si tuvieramos acceso a un servicio centralizado confiable, este sistema seria trivial de implementar; simplemente podria codificarse exactamente como se describe, usando el disco duro de un servidor centralizado para rastrear el estado. Sin embargo, con Bitcoin estamos tratando de construir un sistema de moneda descentralizado, por lo que necesitaremos combinar el sistema de transicion de estado con un sistema de consenso para asegurar que todos esten de acuerdo en el orden de las transacciones. El proceso de consenso descentralizado de Bitcoin requiere que los nodos en la red intenten continuamente producir paquetes de transacciones llamados "bloques". La red esta disenada para producir aproximadamente un bloque cada diez minutos, con cada bloque conteniendo una marca de tiempo, un nonce, una referencia al (es decir, hash del) bloque anterior y una lista de todas las transacciones que han tenido lugar desde el bloque anterior.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Con el tiempo, esto crea una "blockchain" persistente y en constante crecimiento que se actualiza constantemente para representar el estado mas reciente del libro mayor de Bitcoin. El algoritmo para verificar si un bloque es valido, expresado en este paradigma, es el siguiente:

  1. Verificar si el bloque anterior referenciado por el bloque existe y es valido.
  2. Verificar que la marca de tiempo del bloque es mayor que la del bloque anterior y menor a 2 horas en el futuro.
  3. Verificar que el proof of work del bloque es valido.
  4. Sea S el estado al final del bloque anterior.
  5. Supongamos que TX es la lista de transacciones del bloque con n transacciones. Para todo i en 0...n-1, establecer S = APPLY(S,TX[i]). Si alguna aplicacion devuelve un error, salir y devolver falso.
  6. Devolver verdadero y registrar S como el estado al final de este bloque.

Esencialmente, cada transaccion en el bloque debe proporcionar una transicion de estado valida desde lo que era el estado canonico antes de que la transaccion se ejecutara hasta algun nuevo estado. Hay que notar que el estado no esta codificado en el bloque de ninguna manera; es puramente una abstraccion que debe ser recordada por el nodo validador y solo puede ser calculada (de forma segura) para cualquier bloque comenzando desde el estado genesis y aplicando secuencialmente cada transaccion en cada bloque.

El minero es recompensado por su trabajo computacional con bitcoins recien creados mas las comisiones de transaccion. El proceso de mineria funciona de la siguiente manera: los mineros toman la cabecera del bloque y la hashean repetidamente con diferentes valores de nonce hasta encontrar un hash que este por debajo de un cierto objetivo de dificultad. Cuando un minero encuentra dicho hash, transmite el bloque a la red, y otros nodos verifican que el hash es valido y que todas las transacciones en el bloque son validas. El objetivo de dificultad se ajusta automaticamente por el protocolo cada 2016 bloques (aproximadamente dos semanas) para asegurar que los bloques se produzcan a un ritmo aproximadamente constante.

Hay que notar que a largo plazo, la seguridad de la blockchain depende de que los mineros tengan un incentivo financiero para comportarse honestamente. Si un atacante controla mas del 50% del poder de mineria de la red, potencialmente podria ejecutar un "ataque del 51%" creando una blockchain alternativa que crezca mas rapido que la cadena honesta. Sin embargo, tal ataque requeriria enormes recursos computacionales y probablemente resultaria en que las recompensas de mineria del atacante perdieran su valor a medida que la red perdiera confianza en la integridad de la blockchain.

Merkle Trees

أشجار Merkle هي بنية بيانات أساسية تُستخدم في كتل Bitcoin لتمكين التحقق الفعال والآمن من تضمين المعاملات. شجرة Merkle هي شجرة ثنائية من القيم المُجزّأة حيث تحتوي عقد الأوراق على قيم hash للمعاملات الفردية، وتحتوي كل عقدة داخلية على hash لطفليها، وتُبنى بشكل متكرر حتى hash جذر واحد يُخزن في رأس الكتلة. تسمح هذه البنية الهرمية لأي شخص بالتحقق من أن معاملة محددة مُدرجة في كتلة عن طريق تنزيل فرع Merkle فقط—سلسلة القيم المُجزّأة من المعاملة حتى الجذر—بدلاً من تنزيل جميع المعاملات في الكتلة.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

مكاسب الكفاءة كبيرة: بينما يجب على عقدة Bitcoin كاملة تخزين blockchain بالكامل (حوالي 15 جيجابايت اعتباراً من 2013)، تحتاج عقدة التحقق المبسط من الدفع (SPV) فقط إلى تنزيل رؤوس الكتل التي تحتوي على جذور Merkle، مما يتطلب 4 ميجابايت فقط من البيانات. للتحقق من معاملة، تطلب عقدة SPV فرع Merkle من العقد الكاملة، مما يتطلب بيانات O(log n) فقط حيث n هو عدد المعاملات في الكتلة. هذا التحجيم اللوغاريتمي يجعل من الممكن تشغيل عملاء خفيفي الوزن على الأجهزة المحمولة والبيئات محدودة الموارد.

يُظهر استخدام Bitcoin لأشجار Merkle مبدأً رئيسياً: يمكن للبنى التشفيرية أن تقلل بشكل كبير من متطلبات الثقة والموارد للمشاركة في شبكة لامركزية. هذا المبدأ نفسه يكمن وراء تصميم Ethereum، حيث تُستخدم أشجار Merkle ليس فقط للمعاملات ولكن أيضاً لتخزين الحالة والإيصالات، مما يُمكّن بروتوكولات عميل خفيف أكثر تطوراً.

Merkle Trees

Los Merkle trees son una estructura de datos fundamental utilizada en los bloques de Bitcoin para permitir la verificacion eficiente y segura de la inclusion de transacciones. Un Merkle tree es un arbol binario de hashes donde los nodos hoja contienen hashes de transacciones individuales, y cada nodo interior contiene el hash de sus dos hijos, construyendose recursivamente hasta un unico hash raiz que se almacena en la cabecera del bloque. Esta estructura jerarquica permite a cualquiera verificar que una transaccion especifica esta incluida en un bloque descargando solo la rama del Merkle tree, la cadena de hashes desde la transaccion hasta la raiz, en lugar de descargar todas las transacciones del bloque.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Las ganancias en eficiencia son sustanciales: mientras que un nodo completo de Bitcoin debe almacenar toda la blockchain (aproximadamente 15GB en 2013), un nodo de verificacion de pagos simplificada (SPV) solo necesita descargar las cabeceras de los bloques que contienen las raices del Merkle tree, requiriendo solo 4MB de datos. Para verificar una transaccion, un nodo SPV solicita la rama del Merkle tree a los nodos completos, lo que requiere solo O(log n) datos donde n es el numero de transacciones en un bloque. Esta escalabilidad logaritmica hace factible ejecutar clientes ligeros en dispositivos moviles y entornos con recursos limitados.

El uso de Merkle trees por parte de Bitcoin demuestra un principio clave: las estructuras criptograficas pueden reducir dramaticamente los requisitos de confianza y recursos para participar en una red descentralizada. Este mismo principio subyace en el diseno de Ethereum, donde los Merkle trees se utilizan no solo para transacciones sino tambien para el almacenamiento de estado y recibos, permitiendo protocolos de clientes ligeros aun mas sofisticados.

Alternative Blockchain Applications

ألهم نجاح blockchain الخاص بـ Bitcoin محاولات عديدة لتوسيع المفهوم إلى ما هو أبعد من العملة البسيطة. كان Namecoin، الذي أُطلق في عام 2010، من أوائل الأمثلة—قاعدة بيانات لامركزية لتسجيل الأسماء مبنية على blockchain، تسمح للمستخدمين بتسجيل أسماء في نطاق أسماء موزع لا يمكن لأي سلطة مركزية رقابته أو إلغاؤه. ظهرت Colored coins كطريقة لتمثيل أصول بديلة على blockchain الخاص بـ Bitcoin عن طريق "وسم" مخرجات معاملات محددة لتمثيل ملكية أصول حقيقية أو أسهم شركات أو عملات مشفرة أخرى. أضافت Metacoins والبروتوكولات الفوقية مثل Mastercoin (لاحقاً Omni) وظائف إضافية فوق Bitcoin عن طريق ترميز بيانات إضافية في معاملات Bitcoin وبناء قواعد بروتوكول منفصلة فوقها.

ومع ذلك، عانت جميع هذه المقاربات من قيود جوهرية فرضتها بنية Bitcoin. لغة البرمجة النصية لـ Bitcoin مقيدة عمداً—لا يمكنها الوصول إلى حالة blockchain، وتفتقر إلى الحلقات وتدفق التحكم المعقد، وتوفر استبطاناً محدوداً لقيم المعاملات. تطلب بناء تطبيقات متطورة حلولاً بديلة محرجة: ترميز البيانات الوصفية في حقول معاملات لم تُصمم لهذا الغرض أبداً، والاعتماد على بنية تحتية خارج السلسلة للمنطق المعقد، أو قبول قيود شديدة على ما يمكن للبروتوكول إنجازه.

حفّزت هذه القيود البحث عن منصة blockchain أكثر عمومية. بدلاً من بناء بروتوكول آخر ذو غرض خاص فوق أساس Bitcoin المحدود، يتبنى Ethereum مقاربة مختلفة: توفير blockchain بلغة برمجة Turing-complete مدمجة، تسمح لأي شخص بكتابة smart contracts وتطبيقات لامركزية بقواعد عشوائية للملكية وصيغ المعاملات ودوال state transition.

Alternative Blockchain Applications

El exito de la blockchain de Bitcoin inspiro numerosos intentos de extender el concepto mas alla de la simple moneda. Namecoin, lanzado en 2010, fue uno de los primeros ejemplos: una base de datos descentralizada de registro de nombres construida sobre una blockchain, que permitia a los usuarios registrar nombres en un espacio de nombres distribuido que ninguna autoridad central podia censurar o revocar. Los colored coins surgieron como una forma de representar activos alternativos en la blockchain de Bitcoin "etiquetando" salidas de transaccion especificas para representar la propiedad de activos del mundo real, acciones de empresas u otras criptomonedas. Los metacoins y metaprotocolos como Mastercoin (posteriormente Omni) anadieron funcionalidad adicional sobre Bitcoin codificando datos extra en las transacciones de Bitcoin y construyendo reglas de protocolo separadas encima.

Sin embargo, todos estos enfoques sufrian de limitaciones fundamentales impuestas por la arquitectura de Bitcoin. El lenguaje de scripting de Bitcoin esta intencionalmente restringido: no puede acceder al estado de la blockchain, carece de bucles y flujo de control complejo, y proporciona introspeccion limitada sobre los valores de las transacciones. Construir aplicaciones sofisticadas requeria soluciones alternativas incomodas: codificar metadatos en campos de transaccion que nunca fueron destinados para ese proposito, depender de infraestructura fuera de la cadena para logica compleja, o aceptar limitaciones severas en lo que el protocolo podia lograr.

Estas restricciones motivaron la busqueda de una plataforma blockchain de proposito mas general. En lugar de construir otro protocolo de proposito especial sobre la base limitada de Bitcoin, Ethereum toma un enfoque diferente: proporcionar una blockchain con un lenguaje de programacion Turing-completo incorporado, permitiendo a cualquier persona escribir smart contracts y aplicaciones descentralizadas con reglas arbitrarias para la propiedad, los formatos de transaccion y las funciones de transicion de estado.

Scripting

Bitcoin Script، اللغة المستخدمة لتعريف شروط الإنفاق لمعاملات Bitcoin، صُممت عمداً بقيود شديدة. إنها ليست Turing-complete—والأبرز أنها تفتقر إلى الحلقات وبنى تدفق التحكم المعقدة. تعمل اللغة كبيئة تنفيذ بسيطة قائمة على المكدس حيث تقوم العمليات بدفع وسحب القيم، وتقييم الشروط التشفيرية، وتُرجع في النهاية true أو false لتحديد ما إذا كانت المعاملة صالحة. بينما توفر هذه البساطة فوائد أمنية وتسهل التحليل الرسمي، فإنها تجعل العديد من أنواع التطبيقات مستحيلة التنفيذ.

تقع هذه القيود في ثلاث فئات رئيسية. أولاً، عدم اكتمال Turing يمنع تنفيذ آلات الحالة المعقدة وأشجار القرار أو أي خوارزمية تتطلب التكرار. ثانياً، عمى القيمة يعني أن البرامج النصية لا يمكنها تحديد تحكم دقيق في مبالغ السحب—يمكن إنفاق UTXO فقط بالكامل، مع إرسال الباقي إلى مخرج جديد. لا يمكن للبرنامج النصي، على سبيل المثال، تحديد السحب بحد أقصى X يومياً مع إبقاء الباقي مقفلاً. ثالثاً، عدم الوعي بحالة blockchain يعني أن UTXO إما منفقة أو غير منفقة بدون حالات وسيطة، مما يجعل العقود متعددة المراحل مستحيلة التنفيذ بالكامل على السلسلة.

تجعل هذه القيود التطبيقات المتطورة مثل المنظمات اللامركزية المستقلة، ومحافظ التوفير بحدود السحب، والبورصات اللامركزية، أو أسواق التنبؤ إما مستحيلة أو تتطلب آليات خارج السلسلة محرجة. قد يتطلب عقد مالي متقدم الوصول إلى بيانات السوق، والقدرة على الحفاظ على حالة داخلية عبر معاملات متعددة، ومنطق شرطي معقد—لا يمكن لـ Bitcoin Script توفير أي منها. يزيل Ethereum هذه القيود بتوفير لغة Turing-complete مع وصول كامل إلى حالة blockchain.

Scripting

Bitcoin Script, el lenguaje utilizado para definir las condiciones de gasto de las transacciones de Bitcoin, esta intencionalmente disenado con severas limitaciones. No es Turing-completo — notablemente, carece de bucles y estructuras complejas de flujo de control. El lenguaje opera como un entorno de ejecucion simple basado en pila donde las operaciones empujan y extraen valores, evaluan condiciones criptograficas y finalmente devuelven verdadero o falso para determinar si una transaccion es valida. Aunque esta simplicidad proporciona beneficios de seguridad y facilita el analisis formal, tambien hace imposible implementar muchos tipos de aplicaciones.

Estas limitaciones se dividen en tres categorias principales. Primero, la falta de completitud de Turing impide implementar maquinas de estado complejas, arboles de decision o cualquier algoritmo que requiera iteracion. Segundo, la ceguera de valor significa que los scripts no pueden especificar un control detallado sobre las cantidades de retiro — un UTXO solo puede gastarse en su totalidad, con el cambio enviado a una nueva salida. Un script no puede, por ejemplo, limitar los retiros a un maximo de X por dia mientras deja el resto bloqueado. Tercero, la falta de conciencia del estado de la blockchain significa que los UTXO estan gastados o no gastados sin estados intermedios, haciendo imposible implementar contratos de multiples etapas puramente en la cadena.

Estas restricciones hacen que aplicaciones sofisticadas como organizaciones autonomas descentralizadas, carteras de ahorro con limites de retiro, exchanges descentralizados o mercados de prediccion sean imposibles o requieran mecanismos incomodos fuera de la cadena. Un contrato financiero avanzado podria requerir acceso a datos del mercado, la capacidad de mantener un estado interno a traves de multiples transacciones y logica condicional compleja — nada de lo cual Bitcoin Script puede proporcionar. Ethereum elimina estas limitaciones proporcionando un lenguaje Turing-completo con acceso completo al estado de la blockchain.

Ethereum

الهدف الأساسي لـ Ethereum هو توفير blockchain بلغة برمجة Turing-complete مدمجة تسمح لأي شخص بكتابة smart contracts وتطبيقات لامركزية حيث يمكنهم إنشاء قواعدهم العشوائية الخاصة للملكية وصيغ المعاملات ودوال state transition. بدلاً من تصميم بروتوكول لتطبيقات محددة مثل العملة أو تسجيل الأسماء أو تداول الأصول، يوفر Ethereum طبقة أساسية—منصة حوسبة موزعة قائمة على blockchain يمكن للمطورين استخدامها لبناء أي تطبيق يمكنهم تخيله.

تختلف البنية جوهرياً عن نموذج UTXO الخاص بـ Bitcoin. يستخدم Ethereum نظاماً قائماً على الحسابات حيث تتكون حالة blockchain من تعيين من العناوين إلى كائنات الحسابات. كل حساب لديه رصيد، وعداد معاملات (nonce)، ولحسابات العقود، كود مرتبط وتخزين. تتضمن المنصة لغة برمجة Turing-complete مدمجة لكتابة كود العقود الذي يُنفذ في Ethereum Virtual Machine (EVM)، وهي بيئة تنفيذ قائمة على المكدس تعالج المعاملات وانتقالات الحالة.

تُمكّن هذه العمومية مجموعة واسعة من التطبيقات: عملات مشفرة بديلة بقواعد إصدار مخصصة، ومشتقات مالية وstablecoins، وأنظمة هوية وسمعة، وتخزين ملفات لامركزي، ومنظمات لامركزية مستقلة (DAOs)، وغير ذلك الكثير. تؤكد الورقة البيضاء أن Ethereum ليس مُحسّناً لأي حالة استخدام معينة بل يوفر اللبنات الأساسية—حسابات ومعاملات ولغة Turing-complete وتنفيذ مقاس بالـ gas—التي يمكن للمطورين دمجها لإنشاء أي تطبيقات يتطلبها النظام البيئي.

Ethereum

El objetivo fundamental de Ethereum es proporcionar una blockchain con un lenguaje de programacion Turing-completo incorporado que permita a cualquier persona escribir smart contracts y aplicaciones descentralizadas donde puedan crear sus propias reglas arbitrarias para la propiedad, los formatos de transaccion y las funciones de transicion de estado. En lugar de disenar un protocolo para aplicaciones especificas como moneda, registro de nombres o comercio de activos, Ethereum proporciona una capa fundacional: una plataforma de computacion distribuida basada en blockchain que los desarrolladores pueden usar para construir cualquier aplicacion que puedan imaginar.

La arquitectura difiere fundamentalmente del modelo UTXO de Bitcoin. Ethereum utiliza un sistema basado en cuentas donde el estado de la blockchain consiste en un mapeo de direcciones a objetos de cuenta. Cada cuenta tiene un saldo, un contador de transacciones (nonce), y para las cuentas de contrato, codigo asociado y almacenamiento. La plataforma incluye un lenguaje de programacion Turing-completo incorporado para escribir codigo de contrato que se ejecuta en la Maquina Virtual de Ethereum (EVM), un entorno de ejecucion basado en pila que procesa transacciones y transiciones de estado.

Esta generalidad permite una vasta gama de aplicaciones: criptomonedas alternativas con reglas de emision personalizadas, derivados financieros y stablecoins, sistemas de identidad y reputacion, almacenamiento de archivos descentralizado, organizaciones autonomas descentralizadas (DAOs), y mucho mas. El whitepaper enfatiza que Ethereum no esta optimizado para ningun caso de uso en particular, sino que proporciona los bloques de construccion fundamentales — cuentas, transacciones, un lenguaje Turing-completo y ejecucion medida por gas — que los desarrolladores pueden combinar para crear cualquier aplicacion que el ecosistema demande.

Ethereum Accounts

في Ethereum، تتكون الحالة من حسابات، وهناك نوعان أساسيان. الحسابات المملوكة خارجياً (EOAs) تُتحكم بواسطة مفاتيح خاصة وليس لها كود مرتبط—تمثل المستخدمين البشريين أو الكيانات الخارجية التي تتفاعل مع blockchain. حسابات العقود تُتحكم بواسطة كود العقد الخاص بها وتُفعّل عند تلقي رسالة أو معاملة. يتشارك كلا النوعين بنية مشتركة: كل حساب لديه nonce (عداد يُستخدم لضمان أن كل معاملة تُعالج مرة واحدة فقط)، ورصيد ether، وللعقود تحديداً، كود العقد وتخزين دائم.

Ether هي العملة المشفرة الداخلية الأساسية لـ Ethereum، وتعمل كوسيط لنقل القيمة والوحدة الأساسية لدفع رسوم المعاملات (gas). على عكس نموذج UTXO الخاص بـ Bitcoin حيث تتوزع القيمة عبر مخرجات متعددة غير منفقة، تحافظ حسابات Ethereum على رصيد بسيط يزداد عند تلقي ether وينقص عند إرساله. يُبسّط هذا النموذج القائم على الحسابات أنواعاً كثيرة من التطبيقات، خاصة تلك التي تتطلب حالة دائمة أو تحكم وصول معقد، رغم أنه يُقدم اعتبارات أمنية مختلفة مقارنة بمقاربة Bitcoin.

التمييز بين EOAs وحسابات العقود حاسم لفهم عمل Ethereum. يمكن لـ EOAs بدء المعاملات بإنشاء وتوقيع رسائل بمفاتيحها الخاصة، ودفع رسوم gas لتضمين معاملاتها في الكتل. لا تستطيع حسابات العقود بدء المعاملات بنفسها لكن يمكنها إرسال رسائل إلى عقود أخرى استجابة لتلقي معاملة أو رسالة، مما يُمكّن سلاسل تنفيذ معقدة حيث تُطلق معاملة خارجية واحدة تفاعلات متعددة بين العقود.

Ethereum Accounts

En Ethereum, el estado esta compuesto por cuentas, y hay dos tipos fundamentales. Las cuentas de propiedad externa (EOAs) estan controladas por claves privadas y no tienen codigo asociado — representan usuarios humanos o entidades externas que interactuan con la blockchain. Las cuentas de contrato estan controladas por su codigo de contrato y se activan cuando reciben un mensaje o transaccion. Ambos tipos comparten una estructura comun: cada cuenta tiene un nonce (un contador utilizado para asegurar que cada transaccion solo pueda procesarse una vez), un saldo de ether, y para los contratos especificamente, codigo de contrato y almacenamiento persistente.

Ether es la criptomoneda interna principal de Ethereum, sirviendo tanto como medio de transferencia de valor como la unidad fundamental para pagar comisiones de transaccion (gas). A diferencia del modelo UTXO de Bitcoin donde el valor esta distribuido entre multiples salidas no gastadas, las cuentas de Ethereum mantienen un saldo simple que aumenta cuando reciben ether y disminuye cuando lo envian. Este modelo basado en cuentas simplifica muchos tipos de aplicaciones, particularmente aquellas que requieren estado persistente o control de acceso complejo, aunque introduce diferentes consideraciones de seguridad comparado con el enfoque de Bitcoin.

La distincion entre EOAs y cuentas de contrato es crucial para entender el funcionamiento de Ethereum. Las EOAs pueden iniciar transacciones creando y firmando mensajes con sus claves privadas, pagando comisiones de gas para que sus transacciones sean incluidas en bloques. Las cuentas de contrato no pueden iniciar transacciones por si mismas, pero pueden enviar mensajes a otros contratos en respuesta a recibir una transaccion o mensaje, permitiendo cadenas complejas de ejecucion donde una unica transaccion externa desencadena multiples interacciones de contrato a contrato.

Messages and Transactions

المعاملات في Ethereum هي حزم بيانات موقعة تُنشأ بواسطة حسابات مملوكة خارجياً وتُبث إلى الشبكة. تحتوي المعاملة على عنوان المستلم، وتوقيع تشفيري يُثبت هوية المرسل، ومقدار ether المُراد تحويله، وحقل بيانات اختياري (حاسم للتفاعل مع العقود)، وSTARTGAS (الحد الأقصى لعدد الخطوات الحسابية المسموح بها للمعاملة)، وGASPRICE (الرسوم لكل خطوة حسابية يرغب المرسل في دفعها). يجمع المُعدّنون هذه المعاملات ويتحققون منها وينفذونها ويضمونها في الكتل، ويتلقون رسوم gas كتعويض.

الرسائل مشابهة مفاهيمياً للمعاملات لكنها تُنتج بواسطة العقود بدلاً من الجهات الخارجية. عندما يُنفذ كود عقد، يمكنه إرسال رسائل إلى عقود أخرى—تحتوي هذه الرسائل الداخلية على المرسل (عنوان العقد)، والمستلم، ومقدار ether المُراد تحويله، وحمولة بيانات اختيارية، وحد STARTGAS. تُمكّن الرسائل التواصل بين العقود، مما يسمح ببناء تطبيقات معقدة من عقود متعددة متفاعلة بدلاً من برامج متجانسة.

آلية gas حاسمة لمنع إساءة الاستخدام: كل خطوة حسابية وعملية تخزين وبايت بيانات في المعاملة تستهلك gas. إذا نفد gas المعاملة قبل اكتمالها، تُعاد جميع تغييرات الحالة (باستثناء دفع gas للمُعدّن)، مما يمنع الحلقات اللانهائية أو الحوسبة المفرطة من تعطيل الشبكة. يُحدد المرسل كلاً من ميزانية gas الإجمالية (STARTGAS) والسعر الذي يرغب في دفعه لكل وحدة (GASPRICE)، ويُسترد أي gas غير مستخدم بعد اكتمال التنفيذ.

Messages and Transactions

Las transacciones en Ethereum son paquetes de datos firmados creados por cuentas de propiedad externa y transmitidos a la red. Una transaccion contiene la direccion del destinatario, una firma criptografica que prueba la identidad del remitente, la cantidad de ether a transferir, un campo de datos opcional (crucial para interactuar con contratos), STARTGAS (el numero maximo de pasos computacionales que la transaccion puede realizar) y GASPRICE (la comision por paso computacional que el remitente esta dispuesto a pagar). Los mineros recopilan estas transacciones, las validan, las ejecutan y las incluyen en bloques, recibiendo las comisiones de gas como compensacion.

Los mensajes son conceptualmente similares a las transacciones pero son producidos por contratos en lugar de actores externos. Cuando el codigo de un contrato se ejecuta, puede enviar mensajes a otros contratos — estos mensajes internos contienen el remitente (la direccion del contrato), el destinatario, una cantidad de ether a transferir, una carga de datos opcional y un limite de STARTGAS. Los mensajes permiten la comunicacion de contrato a contrato, permitiendo que aplicaciones complejas se construyan a partir de multiples contratos interactuantes en lugar de programas monoliticos.

El mecanismo de gas es crucial para prevenir abusos: cada paso computacional, operacion de almacenamiento y byte de datos en una transaccion consume gas. Si una transaccion se queda sin gas antes de completarse, todos los cambios de estado se revierten (excepto el pago de gas al minero), previniendo que bucles infinitos o computacion excesiva paralicen la red. El remitente especifica tanto el presupuesto total de gas (STARTGAS) como el precio que esta dispuesto a pagar por unidad (GASPRICE), y cualquier gas no utilizado se reembolsa despues de que la ejecucion se completa.

Ethereum State Transition Function

تُعرّف دالة state transition في Ethereum APPLY(S,TX) - S' كيف تُحوّل المعاملة حالة blockchain، وتتبع تسلسلاً دقيقاً من الخطوات. أولاً، يتحقق النظام من صلاحية المعاملة: التحقق من صحة التوقيع، وتأكيد أن nonce يتطابق مع nonce حساب المرسل، والتأكد من أن المرسل لديه رصيد كافٍ لدفع التكلفة المسبقة (STARTGAS × GASPRICE بالإضافة إلى القيمة المُرسلة). إذا فشل أي فحص، تُرفض المعاملة قبل بدء التنفيذ. إذا كانت صالحة، تُخصم رسوم المعاملة من حساب المرسل، ويُزاد nonce المرسل، ويُضبط عداد gas أولي على STARTGAS ناقص رسوم لكل بايت من بيانات المعاملة.

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

بعد ذلك، ينقل النظام قيمة ether المحددة من المرسل إلى المستلم. إذا كان المستلم حساباً مملوكاً خارجياً، يكتمل هذا المعاملة. إذا كان المستلم حساب عقد، يعمل كود العقد في Ethereum Virtual Machine، مستهلكاً gas لكل عملية حتى يكتمل الكود بنجاح، أو يتوقف الكود صراحة، أو ينفد gas. أثناء التنفيذ، يمكن للعقد قراءة وتعديل تخزينه، وإرسال رسائل إلى عقود أخرى، وإنشاء عقود جديدة.

أخيراً، إذا فشل نقل القيمة (رصيد غير كافٍ) أو فشل تنفيذ الكود (نفاد gas أو حدوث خطأ)، تُعاد جميع تغييرات الحالة—لكن المرسل لا يزال يدفع رسوم gas للمُعدّن عن الحوسبة المُنجزة. إذا نجح التنفيذ، يُسترد gas المتبقي إلى المرسل، ويُرسل gas المُستهلك إلى المُعدّن كرسوم. تضمن هذه الآلية تعويض المُعدّنين عن الحوسبة مع منع التنفيذ الجامح من استهلاك موارد غير محدودة.

Ethereum State Transition Function

La funcion de transicion de estado de Ethereum APPLY(S,TX) - S' define como una transaccion transforma el estado de la blockchain, y sigue una secuencia precisa de pasos. Primero, el sistema verifica la validez de la transaccion: verificando que la firma sea correcta, confirmando que el nonce coincide con el nonce de la cuenta del remitente, y asegurando que el remitente tiene saldo suficiente para pagar el costo inicial (STARTGAS x GASPRICE mas el valor enviado). Si alguna verificacion falla, la transaccion es rechazada antes de que comience la ejecucion. Si es valida, la comision de transaccion se deduce de la cuenta del remitente, el nonce del remitente se incrementa, y se establece un contador de gas inicial a STARTGAS menos una tarifa por byte para los datos de la transaccion.

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

A continuacion, el sistema transfiere el valor de ether especificado del remitente al destinatario. Si el destinatario es una cuenta de propiedad externa, esto completa la transaccion. Si el destinatario es una cuenta de contrato, el codigo del contrato se ejecuta en la Maquina Virtual de Ethereum, consumiendo gas por cada operacion hasta que el codigo se completa exitosamente, el codigo se detiene explicitamente, o el gas se agota. Durante la ejecucion, el contrato puede leer y modificar su almacenamiento, enviar mensajes a otros contratos y crear nuevos contratos.

Finalmente, si la transferencia de valor fallo (saldo insuficiente) o la ejecucion del codigo fallo (quedarse sin gas o encontrar un error), todos los cambios de estado se revierten — excepto que el remitente aun paga las comisiones de gas al minero por la computacion realizada. Si la ejecucion fue exitosa, el gas restante se reembolsa al remitente, y el gas consumido se envia al minero como comision. Este mecanismo asegura que los mineros sean compensados por la computacion mientras previene que la ejecucion descontrolada consuma recursos ilimitados.

Code Execution

آلة Ethereum الافتراضية (EVM) هي بيئة التشغيل حيث يُنفذ كود العقد—آلة افتراضية منخفضة المستوى قائمة على المكدس، مشابهة مفاهيمياً لآلة Java الافتراضية أو WebAssembly. يُخزن كود العقد كتسلسل من البايتات، حيث يمثل كل بايت عملية (opcode) يمكن لـ EVM تنفيذها. نموذج التنفيذ بسيط وحتمي عمداً: يجب أن تصل كل عقدة تشغل EVM بنفس حالة الإدخال والمعاملة إلى نفس حالة الإخراج، مما يضمن الإجماع عبر الشبكة.

يوفر EVM ثلاثة أنواع مميزة من التخزين للحوسبة. المكدس هو بنية "آخر من يدخل أول من يخرج" (LIFO) محدودة بـ 1024 عنصراً، تُستخدم لقيم العمليات الفورية. الذاكرة هي مصفوفة بايت قابلة للتوسع لانهائياً تستمر فقط خلال استدعاء رسالة واحدة وتُعاد تهيئتها بين عمليات التنفيذ. التخزين هو مخزن key-value دائم مرتبط بشكل دائم بكل حساب عقد، حيث تحافظ العقود على حالتها طويلة المدى عبر المعاملات. تُسعّر أنواع التخزين هذه بشكل مختلف في gas—عمليات المكدس والذاكرة رخيصة، بينما عمليات التخزين مكلفة لمنع تضخم blockchain.

أثناء التنفيذ، يمكن لكود العقد الوصول إلى سياق حاسم: يمكنه قراءة عنوان مرسل الرسالة، ومقدار ether المُرسل، وحمولة البيانات المقدمة من المُستدعي، وخصائص مستوى الكتلة مثل رقم الكتلة الحالي والطابع الزمني وعنوان المُعدّن. يمكن للكود إرجاع مصفوفة بايت إخراج إلى المُستدعي ويمكنه إرسال رسائل إلى عقود أخرى أو إنشاء عقود جديدة. نموذج التنفيذ هذا Turing-complete—الحلقات وتدفق التحكم المعقد ممكنان—لكن آلية gas تضمن أن جميع الحوسبة تنتهي في وقت محدود، حيث تحل مشكلة التوقف اقتصادياً بدلاً من قيود اللغة.

Code Execution

La Maquina Virtual de Ethereum (EVM) es el entorno de ejecucion donde se ejecuta el codigo de los contratos — una maquina virtual de bajo nivel basada en pila, similar en concepto a la Maquina Virtual de Java o WebAssembly. El codigo del contrato se almacena como una secuencia de bytes, donde cada byte representa una operacion (opcode) que la EVM puede ejecutar. El modelo de ejecucion es deliberadamente simple y determinista: cada nodo que ejecute la EVM con el mismo estado de entrada y transaccion debe llegar al mismo estado de salida, asegurando el consenso a traves de la red.

La EVM proporciona tres tipos distintos de almacenamiento para la computacion. La pila (stack) es una estructura de ultimo en entrar, primero en salir (LIFO) limitada a 1024 elementos, utilizada para valores de operacion inmediatos. La memoria (memory) es un arreglo de bytes infinitamente expandible que persiste solo durante la duracion de una unica llamada de mensaje y se reinicia entre ejecuciones. El almacenamiento (storage) es el almacen persistente de clave-valor permanentemente asociado con cada cuenta de contrato, donde los contratos mantienen su estado a largo plazo entre transacciones. Estos tipos de almacenamiento tienen precios diferentes en gas — las operaciones de pila y memoria son baratas, mientras que las operaciones de almacenamiento son costosas para prevenir la inflacion de la blockchain.

Durante la ejecucion, el codigo del contrato tiene acceso a contexto crucial: puede leer la direccion del remitente del mensaje, la cantidad de ether enviada, la carga de datos proporcionada por el invocador, y propiedades a nivel de bloque como el numero de bloque actual, la marca de tiempo y la direccion del minero. El codigo puede devolver un arreglo de bytes de salida al invocador y puede enviar mensajes a otros contratos o crear nuevos contratos. Este modelo de ejecucion es Turing-completo — los bucles y el flujo de control complejo son posibles — pero el mecanismo de gas asegura que toda la computacion termine en un tiempo limitado, resolviendo el problema de la detencion de manera economica en lugar de a traves de restricciones del lenguaje.

Blockchain and Mining

blockchain الخاص بـ Ethereum مشابه جوهرياً لـ Bitcoin، حيث يعمل كقاعدة بيانات تحتوي على كل معاملة تم تنفيذها. ومع ذلك، بينما يُخزن Bitcoin قائمة المعاملات فقط، يُخزن Ethereum كلاً من قائمة المعاملات والحالة الأحدث. كل كتلة في Ethereum تحتوي على hash الكتلة السابقة، وجذر الحالة (hash الجذر لـ Merkle Patricia trie الذي يمثل الحالة الكاملة)، وجذر المعاملات، وجذر الإيصالات (يُخزن بيانات من تنفيذ المعاملات)، بالإضافة إلى قيم الصعوبة والطابع الزمني وnonce. الحالة نفسها هي Merkle Patricia trie كبير يُعيّن العناوين إلى كائنات الحسابات، حيث كل حساب لديه رصيد وnonce وكود (إن وُجد) وتخزين.

Ethereum APPLY BLOCK function processing transactions and updating state

يستخدم Ethereum نسخة معدلة من بروتوكول GHOST (الشجرة الفرعية الأثقل المرصودة بجشع) لمعالجة مشاكل الأمان الناشئة عن أوقات الكتل السريعة. في بروتوكولات السلسلة الأطول التقليدية، تؤدي الكتل السريعة إلى معدلات عالية من الكتل القديمة، مما يقلل أمان الشبكة ويزيد مخاطر المركزية لأن المُعدّنين الكبار يُهدرون حوسبة أقل على الكتل القديمة. يُضمّن GHOST الكتل القديمة (تُسمى "أعمام" في Ethereum) في حساب أي سلسلة هي الأطول، ويوفر مكافآت جزئية لكتل الأعمام، محفزاً المُعدّنين على الإشارة إليها. يسمح هذا لـ Ethereum بالحفاظ على وقت كتلة مستهدف يبلغ حوالي 12 ثانية مع الحفاظ على أمان الشبكة.

تعمل خوارزمية التعدين بشكل مشابه لـ proof-of-work الخاص بـ Bitcoin، مما يتطلب من المُعدّنين إيجاد nonce بحيث يكون hash الكتلة أقل من هدف صعوبة معين. ومع ذلك، فإن خوارزمية التعدين كثيفة الذاكرة في Ethereum (Ethash) مصممة لتكون مقاومة لـ ASIC، مما يُعزز نظام تعدين أكثر لامركزية. تتكيف الصعوبة ديناميكياً بناءً على أوقات الكتل للحفاظ على هدف ~12 ثانية، مما يضمن إنتاج كتل متسق بينما يوفر بروتوكول GHOST ضمانات أمنية رغم أوقات الكتل الأسرع مقارنة بمتوسط Bitcoin البالغ 10 دقائق.

Blockchain and Mining

La blockchain de Ethereum es fundamentalmente similar a la de Bitcoin, sirviendo como una base de datos que contiene cada transaccion jamas ejecutada. Sin embargo, mientras que Bitcoin almacena solo una lista de transacciones, Ethereum almacena tanto la lista de transacciones como el estado mas reciente. Cada bloque en Ethereum contiene el hash del bloque anterior, una raiz de estado (el hash raiz del Merkle Patricia trie que representa el estado completo), una raiz de transacciones, una raiz de recibos (que almacena datos de la ejecucion de transacciones), junto con valores de dificultad, marca de tiempo y nonce. El estado en si es un gran Merkle Patricia trie que mapea direcciones a objetos de cuenta, donde cada cuenta tiene un saldo, nonce, codigo (si esta presente) y almacenamiento.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum utiliza una version modificada del protocolo GHOST (Greedy Heaviest Observed Subtree) para abordar problemas de seguridad que surgen de tiempos de bloque rapidos. En los protocolos tradicionales de cadena mas larga, los bloques rapidos conducen a altas tasas de obsolescencia, reduciendo la seguridad de la red y aumentando los riesgos de centralizacion ya que los grandes mineros desperdician menos computacion en bloques obsoletos. GHOST incluye bloques obsoletos (llamados "tios" en Ethereum) en el calculo de cual cadena es mas larga, y proporciona recompensas parciales a los bloques tio, incentivando a los mineros a referenciarlos. Esto permite a Ethereum mantener un tiempo de bloque objetivo de aproximadamente 12 segundos mientras preserva la seguridad de la red.

El algoritmo de mineria funciona de manera similar al proof of work de Bitcoin, requiriendo que los mineros encuentren un nonce tal que el hash del bloque este por debajo de un cierto objetivo de dificultad. Sin embargo, el algoritmo de mineria de uso intensivo de memoria de Ethereum (Ethash) esta disenado para ser resistente a ASIC, promoviendo un ecosistema de mineria mas descentralizado. La dificultad se ajusta dinamicamente basandose en los tiempos de bloque para mantener el objetivo de ~12 segundos, asegurando una produccion de bloques consistente mientras el protocolo GHOST proporciona garantias de seguridad a pesar de los tiempos de bloque mas rapidos comparados con el promedio de 10 minutos de Bitcoin.

Applications

تقع التطبيقات التي يمكن بناؤها على Ethereum في ثلاث فئات عريضة. الفئة الأولى هي التطبيقات المالية، التي توفر للمستخدمين طرقاً أكثر قوة لإدارة والدخول في عقود تتعلق بأموالهم. يشمل ذلك العملات الفرعية، والمشتقات المالية، وعقود التحوط، ومحافظ التوفير بحدود السحب، والوصايا التي توزع الأموال تلقائياً، وحتى عقود التوظيف التي تحسب الدفع بناءً على إتمام العمل المُتحقق منه. تستفيد هذه التطبيقات من قابلية Ethereum للبرمجة لإنشاء أدوات مالية معقدة سيكون تنفيذها مستحيلاً أو صعباً للغاية في الأنظمة التقليدية أو حتى على Bitcoin.

الفئة الثانية هي التطبيقات شبه المالية، حيث المال متورط لكن هناك أيضاً مكون غير نقدي كبير فيما يتم فعله. مثال مثالي هو المكافآت ذاتية التنفيذ لحلول المشاكل الحسابية. يمكن لشخص نشر مشكلة حسابية مع مكافأة، ويمكن للعقد التحقق تلقائياً من الحلول المُقدمة ودفع المكافأة لأول إجابة صحيحة. تجسر هذه الفئة بين المالية البحتة والمجالات الأخرى، باستخدام الحوافز الاقتصادية لحل المشاكل أو تنسيق السلوك.

الفئة الثالثة هي التطبيقات التي لا علاقة لها بالمال على الإطلاق، مثل التصويت عبر الإنترنت وأنظمة الحوكمة اللامركزية. تُظهر هذه التطبيقات غير المالية مرونة Ethereum كمنصة عامة الغرض. تشمل الأمثلة أنظمة أسماء النطاقات اللامركزية مثل Namecoin، وأنظمة السمعة، وتخزين الملفات اللامركزي، وأدوات الحوكمة التنظيمية. من بين جميع أنواع التطبيقات هذه، برزت أنظمة الرموز كأكثرها شيوعاً وأساسية، حيث تعمل كلبنات بناء للعديد من التطبيقات الأخرى.

Applications

Las aplicaciones que pueden construirse sobre Ethereum se dividen en tres amplias categorias. La primera categoria son las aplicaciones financieras, que proporcionan a los usuarios formas mas poderosas de gestionar y participar en contratos que involucran su dinero. Esto incluye sub-monedas, derivados financieros, contratos de cobertura, carteras de ahorro con limites de retiro, testamentos que distribuyen fondos automaticamente, e incluso contratos de empleo que calculan pagos basandose en la verificacion de trabajo completado. Estas aplicaciones aprovechan la programabilidad de Ethereum para crear instrumentos financieros complejos que serian imposibles o extremadamente dificiles de implementar en sistemas tradicionales o incluso en Bitcoin.

La segunda categoria son las aplicaciones semi-financieras, donde el dinero esta involucrado pero tambien hay un componente no monetario sustancial en lo que se esta haciendo. Un ejemplo perfecto son las recompensas auto-ejecutables para soluciones a problemas computacionales. Alguien podria publicar un problema computacional junto con una recompensa, y el contrato podria verificar automaticamente las soluciones enviadas y pagar la recompensa a la primera respuesta correcta. Esta categoria tiende un puente entre las finanzas puras y otros dominios, utilizando incentivos economicos para resolver problemas o coordinar comportamiento.

La tercera categoria son las aplicaciones que no tienen nada que ver con el dinero, como los sistemas de votacion en linea y gobernanza descentralizada. Estas aplicaciones no financieras demuestran la flexibilidad de Ethereum como plataforma de proposito general. Los ejemplos incluyen sistemas de nombres de dominio descentralizados como Namecoin, sistemas de reputacion, almacenamiento de archivos descentralizado y herramientas de gobernanza organizacional. De todos estos tipos de aplicaciones, los sistemas de tokens han surgido como los mas comunes y fundamentales, sirviendo como bloques de construccion para muchas otras aplicaciones.

Token Systems

أنظمة الرموز بسيطة بشكل مدهش في التنفيذ على Ethereum، رغم كونها واحدة من أقوى وأكثر التطبيقات شيوعاً. في جوهرها، أنظمة الرموز هي ببساطة قاعدة بيانات بعملية واحدة: طرح X وحدة من الحساب A وإضافة X وحدة إلى الحساب B، بشرط أن A كان لديه على الأقل X وحدة قبل المعاملة وأن المعاملة مُصرح بها من A. يتطلب التنفيذ الحفاظ على تعيين من العناوين إلى الأرصدة وتوفير دالة نقل تُجري الفحوصات المناسبة قبل نقل الرموز بين الحسابات.

كود العقد لنظام رموز أساسي بسيط بشكل ملحوظ ويمكن كتابته في بضعة أسطر فقط. يتكون من بنية بيانات تُعيّن العناوين إلى الأرصدة، ودالة تهيئة تُخصص العرض الأولي للرموز، ودالة نقل تتحقق من رصيد المرسل وتصريحه قبل تنفيذ النقل. هذه البساطة تتناقض بشكل صارخ مع التعقيد المطلوب لتنفيذ أنظمة مماثلة على Bitcoin، والتي ستتطلب حلولاً بديلة كبيرة وقيوداً بسبب قدرات Bitcoin البرمجية المحدودة.

يمكن أن تمثل الرموز على Ethereum فعلياً أي شيء ذي قيمة. قد تمثل عملات فرعية بسياسات نقدية خاصة بها، أو مشتقات مالية تتتبع أصولاً خارجية، أو أسهم شركات بحقوق أرباح، أو نقاط ولاء في برامج العملاء، أو سلع مثل الذهب أو النفط، أو حتى تمثيلات للممتلكات المادية. تسمح قابلية Ethereum للبرمجة لهذه الرموز بقواعد عشوائية تحكم سلوكها، مثل قيود النقل، أو آليات الحرق التلقائي، أو توزيعات الأرباح، أو حقوق الحوكمة. جعلت هذه المرونة أنظمة الرموز اللبنة الأساسية لمعظم نظام Ethereum البيئي.

Token Systems

Los sistemas de tokens son sorprendentemente sencillos de implementar en Ethereum, a pesar de ser una de las aplicaciones mas poderosas y comunes. En esencia, los sistemas de tokens son simplemente una base de datos con una unica operacion: restar X unidades de la cuenta A y agregar X unidades a la cuenta B, con la condicion de que A tenia al menos X unidades antes de la transaccion y la transaccion esta autorizada por A. La implementacion requiere mantener un mapeo de direcciones a saldos y proporcionar una funcion de transferencia que realice las verificaciones apropiadas antes de mover tokens entre cuentas.

El codigo del contrato para un sistema de tokens basico es notablemente simple y puede escribirse en solo unas pocas lineas. Consiste en una estructura de datos que mapea direcciones a saldos, una funcion de inicializacion que asigna el suministro inicial de tokens, y una funcion de transferencia que verifica el saldo y la autorizacion del remitente antes de ejecutar la transferencia. Esta simplicidad contrasta fuertemente con la complejidad requerida para implementar sistemas similares en Bitcoin, que requeriria soluciones alternativas significativas y limitaciones debido a las capacidades restringidas de scripting de Bitcoin.

Los tokens en Ethereum pueden representar virtualmente cualquier cosa de valor. Pueden representar sub-monedas con sus propias politicas monetarias, derivados financieros que rastrean activos externos, acciones de empresas con derechos a dividendos, puntos de fidelidad en programas de clientes, materias primas como oro o petroleo, o incluso representaciones de propiedad fisica. La programabilidad de Ethereum permite que estos tokens tengan reglas arbitrarias que gobiernen su comportamiento, como restricciones de transferencia, mecanismos de quema automatica, distribuciones de dividendos o derechos de gobernanza. Esta flexibilidad ha hecho de los sistemas de tokens el bloque de construccion fundamental para gran parte del ecosistema de Ethereum.

Financial Derivatives and Stable-Value Currencies

تمثل المشتقات المالية أحد أكثر التطبيقات أساسية وأهمية لعقود Ethereum الذكية. يوضح عقد تحوط بسيط الآلية الأساسية: يودع الطرف A مبلغاً معيناً من ether بقيمة \(1000، ويودع الطرف B مبلغاً مكافئاً، ويسجل العقد قيمة ether بالدولار في تلك اللحظة باستخدام تغذية بيانات. بعد 30 يوماً، يعيد العقد حساب القيمة ويرسل ether بقيمة \)1000 إلى A والباقي إلى B. إذا ارتفع سعر ether، يتلقى A ether أقل لكنه يحافظ على قيمة $1000؛ وإذا انخفض، يتلقى A المزيد من ether للحفاظ على تلك القيمة. يسمح هذا لـ A بالتحوط ضد التقلبات بينما يضارب B على تحركات الأسعار.

يتطلب تنفيذ مثل هذه العقود الوصول إلى بيانات خارجية من خلال عقود oracle أو تغذيات البيانات. توفر هذه الـ oracles معلومات الأسعار أو بيانات الطقس أو معلومات أخرى من العالم الحقيقي تحتاجها العقود للتنفيذ بشكل صحيح. بينما تُقدم الـ oracles اعتمادية ثقة، يمكن تصميمها بتكرار وحوافز اقتصادية تشفيرية لتوفير بيانات موثوقة. العقد نفسه ببساطة يستعلم من الـ oracle، ويُجري حسابات بناءً على تلك البيانات، ويوزع الأموال وفقاً لمنطقه المبرمج.

يمكن بناء Stablecoins وأدوات مالية أكثر تعقيداً باستخدام آليات مماثلة. قد يحافظ عقد stablecoin على احتياطي من ether ويُصدر رموزاً مرتبطة بعملة ورقية، معدلاً تلقائياً العرض أو متطلبات الضمان بناءً على تغذيات الأسعار. عقود الخيارات والعقود الآجلة والمبادلات والمشتقات الأخرى التي تتطلب عادةً أطراً قانونية معقدة ووسطاء موثوقين يمكن بدلاً من ذلك ترميزها كعقود ذكية ذاتية التنفيذ. تُمكّن بنية التمويل القابلة للبرمجة هذه هندسة مالية متطورة مع الحفاظ على ضمانات الشفافية والأمان لتقنية blockchain.

Financial Derivatives and Stable-Value Currencies

Los derivados financieros representan una de las aplicaciones mas fundamentales e importantes de los smart contracts de Ethereum. Un simple contrato de cobertura demuestra el mecanismo basico: la parte A deposita una cierta cantidad de ether con valor de \(1000, la parte B deposita una cantidad equivalente, y el contrato registra el valor en USD del ether en ese momento usando un feed de datos. Despues de 30 dias, el contrato recalcula el valor y envia ether por valor de \)1000 a A y el resto a B. Si el precio del ether ha subido, A recibe menos ether pero mantiene el valor de $1000; si ha bajado, A recibe mas ether para mantener ese valor. Esto permite a A cubrirse contra la volatilidad mientras B especula sobre los movimientos de precio.

La implementacion de tales contratos requiere acceso a datos externos a traves de contratos oraculo o feeds de datos. Estos oraculos proporcionan informacion de precios, datos meteorologicos u otra informacion del mundo real que los contratos necesitan para ejecutarse correctamente. Aunque los oraculos introducen una dependencia de confianza, pueden disenarse con redundancia e incentivos criptoeconomicos para proporcionar datos confiables. El contrato en si simplemente consulta al oraculo, realiza calculos basados en esos datos y distribuye fondos de acuerdo con su logica programada.

Las stablecoins y instrumentos financieros mas complejos pueden construirse utilizando mecanismos similares. Un contrato de stablecoin podria mantener una reserva de ether y emitir tokens vinculados a una moneda fiduciaria, ajustando automaticamente el suministro o los requisitos de colateral basandose en feeds de precios. Los contratos de opciones, futuros, swaps y otros derivados que normalmente requeririan marcos legales complejos e intermediarios de confianza pueden en su lugar codificarse como smart contracts auto-ejecutables. Esta infraestructura de finanzas programables permite una ingenieria financiera sofisticada manteniendo las garantias de transparencia y seguridad de la tecnologia blockchain.

Identity and Reputation Systems

نظام تسجيل الأسماء المشابه لـ Namecoin قابل للتنفيذ بسهولة على Ethereum ويُعد أبسط مثال على نظام هوية. يحافظ العقد على قاعدة بيانات بجدول key-value يُعيّن الأسماء إلى البيانات المرتبطة (مثل عناوين IP أو المفاتيح العامة أو معلومات أخرى). يمكن لأي شخص تسجيل اسم بإرسال معاملة إلى العقد مع رسوم تسجيل صغيرة، بشرط ألا يكون الاسم مأخوذاً بالفعل. يمكن للمالك تحديث البيانات المرتبطة في أي وقت، ويمكن جعل الأسماء قابلة للنقل أو دائمة وفقاً للقواعد المُرمزة في العقد.

يمكن بناء أنظمة هوية أكثر تقدماً على هذا الأساس لتشمل درجات السمعة وعلاقات شبكة الثقة والتحقق اللامركزي من الهوية. على سبيل المثال، يمكن لعقد الحفاظ على درجات السمعة بناءً على المعاملات المُتحقق منها أو تقييمات الأقران أو إتمام المهام. ستكون هذه الدرجات مرئية للعموم ومرتبطة تشفيرياً بعناوين محددة، مما يُنشئ سمعة محمولة تتبع المستخدمين عبر التطبيقات. يمكن لأنظمة شبكة الثقة أن تسمح للمستخدمين بالتصديق على هويات الآخرين، بناء رسوم بيانية اجتماعية تساعد في التمييز بين المستخدمين الشرعيين والجهات السيئة.

تصبح أنظمة الهوية والسمعة هذه قوية بشكل خاص عند دمجها مع تطبيقات أخرى. يمكن لسوق أن يتطلب درجات سمعة دنيا للبائعين، أو منصة إقراض أن تُعدل أسعار الفائدة بناءً على سمعة المقترض، أو شبكة اجتماعية أن تستخدم شبكة الثقة لتصفية البريد العشوائي والمحتوى الاحتيالي. من خلال توفير بنية تحتية مشتركة للهوية يمكن لأي تطبيق الاستعلام عنها، يُمكّن Ethereum فئة جديدة من التطبيقات القائمة على الثقة التي لا تعتمد على مزودي هوية مركزيين أو أنظمة سمعة مملوكة.

Identity and Reputation Systems

Un sistema de registro de nombres similar a Namecoin es trivialmente implementable en Ethereum y sirve como el ejemplo mas simple de un sistema de identidad. El contrato mantiene una base de datos con una tabla clave-valor que mapea nombres a datos asociados (como direcciones IP, claves publicas u otra informacion). Cualquiera puede registrar un nombre enviando una transaccion al contrato junto con una pequena tarifa de registro, siempre que ese nombre no este ya tomado. El propietario puede actualizar los datos asociados en cualquier momento, y los nombres pueden hacerse transferibles o permanentes de acuerdo con las reglas codificadas en el contrato.

Sistemas de identidad mas avanzados pueden construirse sobre esta base para incluir puntuaciones de reputacion, relaciones de red de confianza y verificacion de identidad descentralizada. Por ejemplo, un contrato podria mantener puntuaciones de reputacion basadas en transacciones verificadas, calificaciones de pares o completacion de tareas. Estas puntuaciones serian publicamente visibles y criptograficamente vinculadas a direcciones especificas, creando una reputacion portatil que sigue a los usuarios a traves de las aplicaciones. Los sistemas de red de confianza podrian permitir a los usuarios avalar la identidad de otros, construyendo grafos sociales que ayudan a distinguir usuarios legitimos de actores maliciosos.

Tales sistemas de identidad y reputacion se vuelven particularmente poderosos cuando se integran con otras aplicaciones. Un mercado podria requerir puntuaciones minimas de reputacion para los vendedores, una plataforma de prestamos podria ajustar las tasas de interes basandose en la reputacion del prestatario, o una red social podria usar la red de confianza para filtrar spam y contenido fraudulento. Al proporcionar una infraestructura compartida de identidad que cualquier aplicacion puede consultar, Ethereum permite una nueva clase de aplicaciones basadas en la confianza que no dependen de proveedores de identidad centralizados o sistemas de reputacion propietarios.

Decentralized File Storage

يمكن تنفيذ تخزين الملفات اللامركزي من خلال عقود Ethereum التي تنسق بين المستخدمين الذين يحتاجون إلى التخزين والمزودين الذين يقدمونه. في نموذج "Dropbox اللامركزي"، سيدفع المستخدمون رسوماً شهرية لتحميل الملفات، مع توزيع العقد للمدفوعات على مزودي التخزين الذين يُثبتون أنهم يُخزنون البيانات فعلاً. تعمل آلية الإثبات من خلال تحديات تشفيرية دورية: يختار العقد عشوائياً أجزاء من الملفات ويطلب من المزودين تقديم إثباتات Merkle tree تُظهر أنهم يملكون تلك البيانات. المزودون الذين يفشلون في التحديات أو يصبحون غير متصلين سيخسرون ودائعهم وتدفق المدفوعات المستقبلية.

يقدم هذا النهج عدة مزايا على التخزين المركزي. تُمكّن إثباتات Merkle tree التحقق الفعال—يمكن للمستخدمين والعقد تأكيد توفر الملفات دون تنزيل الملفات بالكامل. يوزع النظام طبيعياً الملفات عبر مزودين مستقلين متعددين، مما يُنشئ تكراراً دون الحاجة إلى بروتوكولات نسخ صريحة. تُوائم الحوافز الاقتصادية سلوك المزودين مع احتياجات المستخدمين: يكسب المزودون المال بتخزين البيانات بشكل موثوق ويخسرون المال إذا فشلوا في ذلك. يُلغي هذا متطلب الثقة المتأصل في حلول التخزين المركزية.

يمكن أن تكون تكاليف التخزين في مثل هذا النظام أقل من البدائل المركزية لعدة أسباب. إلغاء التسعير الاحتكاري يسمح للمنافسة السوقية بدفع التكاليف إلى قرب التكلفة الفعلية للتخزين. التكرار الضمني من عدة مستخدمين يُخزنون ملفات مماثلة يمكن أن يقلل من متطلبات التخزين الإجمالية. لا حاجة لبنية تحتية مكلفة لمراكز البيانات أو نفقات عامة مؤسسية. ومع ذلك، تبقى التحديات حول آليات الدفع وضمان مشاركة كافية من المزودين وإدارة المفاضلة بين التكرار والتكلفة. رغم هذه التحديات، يُظهر التخزين اللامركزي كيف يمكن لـ Ethereum تنسيق تفاعلات معقدة متعددة الأطراف من خلال الحوافز الاقتصادية وحدها.

Decentralized File Storage

El almacenamiento descentralizado de archivos puede implementarse a traves de contratos de Ethereum que coordinan entre usuarios que necesitan almacenamiento y proveedores que lo ofrecen. En un modelo de "Dropbox descentralizado", los usuarios pagarian una tarifa mensual para subir archivos, con el contrato distribuyendo pagos a los proveedores de almacenamiento que demuestren que realmente estan almacenando los datos. El mecanismo de prueba funciona a traves de desafios criptograficos periodicos: el contrato selecciona aleatoriamente porciones de archivos y pide a los proveedores que proporcionen pruebas de Merkle tree demostrando que poseen esos datos. Los proveedores que fallen en los desafios o se desconecten perderian sus depositos y flujo de pagos futuros.

Este enfoque ofrece varias ventajas sobre el almacenamiento centralizado. Las pruebas de Merkle tree permiten una verificacion eficiente — los usuarios y el contrato pueden confirmar la disponibilidad de archivos sin descargar archivos completos. El sistema distribuye naturalmente los archivos entre multiples proveedores independientes, creando redundancia sin requerir protocolos de replicacion explicitos. Los incentivos economicos alinean el comportamiento del proveedor con las necesidades del usuario: los proveedores ganan dinero almacenando datos de manera confiable y pierden dinero si no lo hacen. Esto elimina el requisito de confianza inherente en las soluciones de almacenamiento centralizado.

Los costos de almacenamiento en tal sistema pueden ser potencialmente mas bajos que las alternativas centralizadas por varias razones. La eliminacion de precios monopolicos permite que la competencia del mercado reduzca los costos cerca del costo real de almacenamiento. La redundancia implicita de multiples usuarios almacenando archivos similares puede reducir los requisitos totales de almacenamiento. No hay necesidad de infraestructura costosa de centros de datos o gastos generales corporativos. Sin embargo, persisten desafios en torno a los mecanismos de pago, asegurar una participacion adecuada de proveedores y gestionar el equilibrio entre redundancia y costo. A pesar de estos desafios, el almacenamiento descentralizado demuestra como Ethereum puede coordinar interacciones complejas de multiples partes solo a traves de incentivos economicos.

Decentralized Autonomous Organizations

المنظمة اللامركزية المستقلة (DAO) هي كيان افتراضي لديه مجموعة من الأعضاء أو المساهمين الذين يملكون جماعياً الحق في إنفاق أموال الكيان وتعديل كوده. تعمل DAO نموذجية بقاعدة بسيطة: يُحتاج 67% من الأعضاء لاتخاذ قرارات الإنفاق أو تعديل كود المنظمة. يمكن للأعضاء تقديم مقترحات والتصويت عليها، وإذا حصل مقترح على دعم كافٍ، ينفذ العقد القرار تلقائياً. يمكن أن تكون حصص العضوية قابلة للنقل، مما يسمح بسوق سائلة لمشاركة DAO، ويمكن أن يكون لفئات مختلفة من الحصص حقوق تصويت أو مطالبات اقتصادية مختلفة.

أبسط تصميم DAO هو عقد ذاتي التعديل يحافظ على قائمة بالأعضاء ويتطلب تصويت أغلبية 2/3 لتغيير أي جانب من العقد، بما في ذلك قواعد التصويت الخاصة به. سيقدم الأعضاء تغييرات الكود كمعاملات، وسيصوت أعضاء آخرون، وعند الوصول إلى العتبة، سيُحدث العقد نفسه. قد تتضمن التصاميم الأكثر تطوراً أنظمة تصويت مُفوضة حيث يمكن للأعضاء تخصيص قوتهم التصويتية لممثلين، أو ديمقراطية سائلة حيث يمكن تفويض الأصوات ولكن استرجاعها في أي وقت للقرارات المهمة.

يمكن لـ DAOs أن تخدم أغراضاً متنوعة تتجاوز إدارة الأموال البسيطة. يمكن أن تعمل DAO كشركة لامركزية، توظف المقاولين وتشتري الخدمات وتوزع الأرباح على المساهمين—كل ذلك يحكمه كود smart contract بدلاً من الهياكل القانونية التقليدية. يمكن أن تعمل كصندوق استثمار لامركزي، حيث يصوت الأعضاء على المشاريع التي يُموّلونها. يمكن أن تدير مورداً مشتركاً، حيث يصوت أصحاب المصلحة على قواعد التخصيص. الفكرة الرئيسية هي أنه بترميز قواعد الحوكمة في كود شفاف وغير قابل للتغيير وربطها بحصة اقتصادية، يمكن لـ DAOs تنسيق قرارات المجموعة دون الحاجة إلى إدارة هرمية تقليدية أو إنفاذ قانوني.

Decentralized Autonomous Organizations

Una Organizacion Autonoma Descentralizada (DAO) es una entidad virtual que tiene un conjunto de miembros o accionistas que colectivamente tienen el derecho de gastar los fondos de la entidad y modificar su codigo. Una DAO tipica opera con una regla simple: el 67% de los miembros son necesarios para tomar decisiones de gasto o modificar el codigo de la organizacion. Los miembros pueden enviar propuestas, votar sobre ellas, y si una propuesta recibe suficiente apoyo, el contrato ejecuta automaticamente la decision. Las participaciones de membresia pueden ser transferibles, permitiendo un mercado liquido para la participacion en la DAO, y diferentes clases de participaciones pueden tener diferentes derechos de voto o reclamaciones economicas.

El diseno mas simple de una DAO es un contrato auto-modificable que mantiene una lista de miembros y requiere una mayoria de 2/3 de votos para cambiar cualquier aspecto del contrato, incluyendo sus propias reglas de votacion. Los miembros enviarian cambios de codigo como transacciones, otros miembros votarian, y al alcanzar el umbral, el contrato se actualizaria a si mismo. Disenos mas sofisticados podrian incluir sistemas de votacion delegada donde los miembros pueden asignar su poder de voto a representantes, o democracia liquida donde los votos pueden ser delegados pero reclamados en cualquier momento para decisiones importantes.

Las DAOs pueden servir a diversos propositos mas alla de la simple gestion de fondos. Una DAO podria funcionar como una corporacion descentralizada, contratando proveedores, comprando servicios y distribuyendo beneficios a los accionistas — todo gobernado por codigo de smart contract en lugar de estructuras legales tradicionales. Podria operar como un fondo de inversion descentralizado, con los miembros votando sobre que proyectos financiar. Podria gestionar un recurso comun, con los interesados votando sobre las reglas de asignacion. La idea clave es que al codificar las reglas de gobernanza en codigo transparente e inmutable y vincularlas a una participacion economica, las DAOs pueden coordinar decisiones de grupo sin requerir gestion jerarquica tradicional o aplicacion legal.

Further Applications

إلى جانب الفئات الرئيسية التي نوقشت بالفعل، يُمكّن Ethereum العديد من التطبيقات الأخرى. يمكن لمحافظ التوفير ذات ميزات الأمان المتطورة فرض حدود سحب يومية مع توفير مفاتيح طوارئ للاسترداد، مما يحمي المستخدمين من السرقة مع الحفاظ على السيطرة النهائية. يمكن لعقود التأمين على المحاصيل الدفع تلقائياً للمزارعين بناءً على تغذيات بيانات الطقس، مما يُلغي معالجة المطالبات ويقلل النفقات الإدارية. يمكن لتطبيقات المقامرة من نظير إلى نظير العمل دون أي وسيط موثوق، حيث تحتفظ العقود الذكية بالرهانات وتدفع تلقائياً للفائزين بناءً على أرقام عشوائية قابلة للتحقق أو بيانات أحداث العالم الحقيقي.

تسمح أسواق التنبؤ على السلسلة للمستخدمين بالمراهنة على أحداث مستقبلية، مما يُنشئ آليات تنبؤ قوية من خلال حكمة الجماهير. يمكن تعزيزها ببروتوكولات على غرار SchellingCoin لإنشاء oracles لامركزية: يُبلّغ المشاركون بشكل مستقل عن البيانات (مثل نتائج الانتخابات أو أحوال الطقس)، ويتلقى من تتطابق تقاريرهم مع الأغلبية مكافآت بينما يُعاقب المنحرفون. يُحفز هذا النهج الاقتصادي التشفيري الإبلاغ الصادق ويمكن أن يوفر بيانات العالم الحقيقي الموثوقة لعقود أخرى دون الحاجة إلى الثقة في أي مزود oracle واحد.

تمثل محافظ التوقيع المتعدد تطبيقاً مهماً آخر، مما يُمكّن من التحكم المشترك في الأموال بين أطراف متعددة. قد تتطلب محفظة multi-sig بنمط 2-of-3 موافقة أي طرفين من ثلاثة أطراف معينة على المعاملة قبل إنفاق الأموال، وهو مفيد لترتيبات الضمان أو خزائن الشركات أو الأمان الشخصي. يمكن للأسواق اللامركزية أن تجمع بين أنظمة الهوية ودرجات السمعة وعقود الضمان وآليات حل النزاعات لتمكين التجارة من نظير إلى نظير دون منصات مركزية. يُظهر كل من هذه التطبيقات كيف تُمكّن قابلية Ethereum للبرمجة نماذج ثقة وهياكل تنظيمية جديدة.

Further Applications

Mas alla de las categorias principales ya discutidas, Ethereum permite numerosas otras aplicaciones. Las carteras de ahorro con caracteristicas de seguridad sofisticadas pueden imponer limites de retiro diarios mientras proporcionan claves de emergencia para la recuperacion, protegiendo a los usuarios del robo mientras mantienen el control ultimo. Los contratos de seguro de cosechas pueden pagar automaticamente a los agricultores basandose en feeds de datos meteorologicos, eliminando el procesamiento de reclamaciones y reduciendo los gastos administrativos. Las aplicaciones de apuestas entre pares pueden operar sin ningun intermediario de confianza, con smart contracts manteniendo las apuestas y pagando automaticamente a los ganadores basandose en numeros aleatorios verificables o datos de eventos del mundo real.

Los mercados de prediccion en la cadena permiten a los usuarios apostar sobre eventos futuros, creando poderosos mecanismos de pronostico a traves de la sabiduria de las masas. Estos pueden aumentarse con protocolos tipo SchellingCoin para crear oraculos descentralizados: los participantes reportan datos independientemente (como resultados electorales o condiciones meteorologicas), y aquellos cuyos reportes coinciden con la mayoria reciben recompensas mientras los valores atipicos son penalizados. Este enfoque criptoeconomico incentiva el reporte honesto y puede proporcionar datos del mundo real confiables a otros contratos sin requerir confianza en ningun proveedor de oraculo individual.

Las carteras multifirma representan otra aplicacion importante, permitiendo el control compartido de fondos entre multiples partes. Una cartera multifirma 2-de-3 podria requerir que dos de tres partes designadas aprueben una transaccion antes de que los fondos puedan gastarse, util para acuerdos de deposito en garantia, tesorerias corporativas o seguridad personal. Los mercados descentralizados pueden combinar sistemas de identidad, puntuaciones de reputacion, contratos de deposito en garantia y mecanismos de resolucion de disputas para permitir el comercio entre pares sin plataformas centralizadas. Cada una de estas aplicaciones demuestra como la programabilidad de Ethereum permite nuevos modelos de confianza y estructuras organizacionales.

Miscellanea And Concerns

يتضمن تنفيذ Ethereum لبروتوكول GHOST المُعدل قواعد محددة لتضمين الأعمام والمكافآت. يجب أن يكون الأعمام أبناء مباشرين لسلف الكتلة الحالية (بين 2 و7 أجيال للخلف)، ويجب أن يكونوا رؤوس كتل صالحة، ويجب أن يكونوا متميزين عن الأعمام السابقين، ويجب ألا يكونوا أسلافاً مباشرين للكتلة الحالية. تتلقى كتل الأعمام 87.5% من مكافأة الكتلة القياسية، بينما تتلقى الكتلة المُضمّنة 3.125% إضافية لكل عم مُضمّن (حتى عمين). يُشجع هيكل الحوافز هذا المُعدّنين على الإشارة إلى الكتل القديمة التي يلاحظونها، مما يُعزز أمان الشبكة مع مكافأة المُعدّنين الذين عانوا من سوء حظ مؤقت في انتشار الشبكة.

يعتمد نظام الرسوم على مفهوم "gas"، حيث لكل عملية حسابية تكلفة gas ثابتة. على سبيل المثال، تكلف عملية الضرب 5 gas، وتكلف تجزئة SHA256 عشرين gas، ولكل معاملة تكلفة أساسية قدرها 21,000 gas. يُحدد المستخدمون كلاً من حد gas (الحد الأقصى لـ gas الذي يرغبون في استهلاكه) وسعر gas (كم من ether سيدفعون لكل وحدة gas). يخدم هذا النظام أغراضاً متعددة: يمنع الحلقات اللانهائية وهجمات حجب الخدمة بضمان أن كل حوسبة مدفوعة، ويُنشئ سوقاً لمساحة الكتلة حيث يتزايد المستخدمون عبر أسعار gas، ويسمح للمُعدّنين بتحديد حد أدنى لسعر gas يقبلونه، حامياً موارد الشبكة.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

تبقى قابلية التوسع مصدر قلق كبير، حيث يجب على كل عقدة كاملة معالجة كل معاملة للتحقق من الحالة. تُعاني بنى blockchain الحالية لمطابقة إنتاجية المعاملات في الأنظمة المركزية. تشمل الحلول المحتملة تجزئة الحالة، حيث تُعالج عقد مختلفة مجموعات فرعية مختلفة من المعاملات، والانتقال من proof-of-work إلى إجماع proof-of-stake، الذي يمكن أن يُمكّن إنتاج كتل أكثر كفاءة. يمكن للعملاء الخفيفين الذين يستخدمون إثباتات Merkle التحقق من المعاملات دون معالجة جميع الكتل، لكن يجب أن يُعالج شخص ما كل شيء. تمثل تحديات قابلية التوسع هذه مجالات نشطة للبحث والتطوير حاسمة لجدوى Ethereum على المدى الطويل.

Miscellanea And Concerns

La implementacion de Ethereum del protocolo GHOST modificado incluye reglas especificas para la inclusion y recompensas de tios. Los tios deben ser hijos directos de un ancestro del bloque actual (entre 2 y 7 generaciones atras), deben ser cabeceras de bloque validas, deben ser distintos de tios anteriores y no deben ser ancestros directos del bloque actual. Los bloques tio reciben el 87.5% de la recompensa estandar de bloque, mientras que el bloque que los incluye recibe un 3.125% adicional por cada tio incluido (hasta dos tios). Esta estructura de incentivos anima a los mineros a referenciar bloques obsoletos que observan, fortaleciendo la seguridad de la red mientras recompensa a los mineros que experimentaron mala suerte temporal con la propagacion de la red.

El sistema de comisiones se basa en el concepto de "gas", donde cada operacion computacional tiene un costo fijo en gas. Por ejemplo, una operacion de multiplicacion cuesta 5 gas, un hash SHA256 cuesta 20 gas, y cada transaccion tiene un costo base de 21,000 gas. Los usuarios especifican tanto un limite de gas (maximo de gas que estan dispuestos a consumir) como un precio de gas (cuanto ether pagaran por unidad de gas). Este sistema sirve multiples propositos: previene bucles infinitos y ataques de denegacion de servicio al asegurar que toda la computacion se pague, crea un mercado para el espacio de bloques donde los usuarios pujan mediante precios de gas, y permite a los mineros establecer un precio minimo de gas que estan dispuestos a aceptar, protegiendo los recursos de la red.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

La escalabilidad sigue siendo una preocupacion significativa, ya que cada nodo completo debe procesar cada transaccion para verificar el estado. Las arquitecturas blockchain actuales luchan por igualar el rendimiento de transacciones de los sistemas centralizados. Las soluciones potenciales incluyen el sharding de estado, donde diferentes nodos procesan diferentes subconjuntos de transacciones, y una transicion de proof of work a consenso proof of stake, que podria permitir una produccion de bloques mas eficiente. Los clientes ligeros que usan pruebas de Merkle pueden verificar transacciones sin procesar todos los bloques, pero alguien debe seguir procesando todo. Estos desafios de escalabilidad representan areas activas de investigacion y desarrollo criticas para la viabilidad a largo plazo de Ethereum.

Conclusion

صُمم بروتوكول Ethereum في الأصل كنسخة مُحسّنة من عملة مشفرة، توفر ميزات متقدمة مثل الضمان على blockchain وحدود السحب والعقود المالية من خلال لغة برمجة عالية التعميم. ومع ذلك، يتجاوز بروتوكول Ethereum مجرد العملة بكثير. البروتوكولات حول تخزين الملفات اللامركزي والحوسبة اللامركزية وأسواق التنبؤ اللامركزية، من بين عشرات المفاهيم الأخرى، لديها القدرة على زيادة كفاءة صناعة الحوسبة بشكل كبير وتوفير دفعة هائلة لبروتوكولات نظير إلى نظير الأخرى بإضافة طبقة اقتصادية لأول مرة.

بدلاً من توفير مجموعة محدودة من العمليات المصممة لحالات استخدام محددة، يوفر Ethereum لغة برمجة Turing-complete تُمكّن المطورين من بناء أي تطبيق يمكنهم تصميمه. تريد اختراع مشتق مالي خاص بك؟ إنشاء عملتك الخاصة؟ إنشاء حكومة على blockchain؟ كل هذا قابل للتنفيذ بسهولة مع نظام Ethereum البرمجي. قوة المنصة لا تكمن في التنبؤ بالتطبيقات التي ستُبنى، بل في توفير البنية التحتية الأساسية التي تجعل بناءها سهلاً.

مفهوم دالة state transition عشوائية كما نُفذ بواسطة بروتوكول Ethereum يوفر منصة ذات إمكانات فريدة. بدلاً من أن يكون بروتوكولاً مغلقاً ذا غرض واحد مخصصاً لتطبيقات محددة في تخزين البيانات أو المقامرة أو المالية، فإن Ethereum مفتوح الأفق بتصميمه، ونعتقد أنه مناسب للغاية لخدمة طبقة أساسية لعدد كبير من البروتوكولات المالية وغير المالية في السنوات القادمة. التطبيقات التي ستُبنى على Ethereum في المستقبل قد تكون تطبيقات لا يمكننا حتى تخيلها اليوم، وتلك الإمكانية المفتوحة تمثل الوعد الحقيقي للمنصة.

Conclusion

El protocolo de Ethereum fue concebido originalmente como una version mejorada de una criptomoneda, proporcionando caracteristicas avanzadas como depositos en garantia en la blockchain, limites de retiro y contratos financieros a traves de un lenguaje de programacion altamente generalizado. Sin embargo, el protocolo de Ethereum va mucho mas alla de solo la moneda. Los protocolos en torno al almacenamiento descentralizado de archivos, la computacion descentralizada y los mercados de prediccion descentralizados, entre docenas de otros conceptos, tienen el potencial de aumentar sustancialmente la eficiencia de la industria computacional y proporcionar un impulso masivo a otros protocolos peer-to-peer al agregar por primera vez una capa economica.

En lugar de proporcionar un conjunto limitado de operaciones disenadas para casos de uso especificos, Ethereum proporciona un lenguaje de programacion Turing-completo que permite a los desarrolladores construir cualquier aplicacion que puedan disenar. Quieres inventar tu propio derivado financiero? Crear tu propia moneda? Establecer un gobierno en la blockchain? Todo esto es trivialmente implementable con el sistema de scripting de Ethereum. El poder de la plataforma no radica en predecir que aplicaciones se construiran, sino en proporcionar la infraestructura fundacional que hace facil construirlas.

El concepto de una funcion de transicion de estado arbitraria implementada por el protocolo de Ethereum proporciona una plataforma con un potencial unico. En lugar de ser un protocolo cerrado, de proposito unico, destinado a aplicaciones especificas en almacenamiento de datos, apuestas o finanzas, Ethereum es abierto por diseno, y creemos que es extremadamente adecuado para servir como capa fundacional para un gran numero de protocolos tanto financieros como no financieros en los anos venideros. Las aplicaciones que se construiran sobre Ethereum en el futuro pueden ser aquellas que ni siquiera podemos imaginar hoy, y esa posibilidad abierta representa la verdadera promesa de la plataforma.

References and Further Reading

تستند ورقة Ethereum البيضاء إلى أعمال سابقة واسعة في أبحاث العملات المشفرة والأنظمة الموزعة. يُوصف بروتوكول Bitcoin الأساسي في ورقة Satoshi Nakamoto الأصلية لعام 2008 "Bitcoin: A Peer-to-Peer Electronic Cash System"، التي قدمت مفهوم العملة الرقمية القائمة على blockchain. تشمل المحاولات المبكرة لتوسيع وظائف Bitcoin نظام Namecoin، وهو نظام تسجيل أسماء لامركزي يُظهر تطبيقات blockchain خارج نطاق العملة، رغم تقييده بقدرات Bitcoin البرمجية المحدودة.

اقترحت ورقة Colored coins البيضاء طريقة لتمثيل أصول بديلة على blockchain الخاص بـ Bitcoin عن طريق "تلوين" عملات bitcoin محددة لتمثيل أصول أخرى، بينما حاول Mastercoin إنشاء طبقة بروتوكول فوق Bitcoin لأدوات مالية أكثر تعقيداً. أبرز كلاهما قيود البناء على Bitcoin وحفّز الحاجة إلى منصة أكثر مرونة. وفّر مفهوم الشركات اللامركزية المستقلة، المُستكشف في Bitcoin Magazine، أسساً نظرية للحوكمة التنظيمية من خلال العقود الذكية.

تشمل المكونات التقنية الرئيسية التحقق المبسط من الدفع (SPV) للعملاء الخفيفين، وأشجار Merkle للتحقق الفعال من البيانات، وأشجار Patricia لتمثيل حالة Ethereum. يُعالج بروتوكول GHOST (الشجرة الفرعية الأثقل المرصودة بجشع)، المُوصف في ورقة تشفير عام 2013، مشاكل الأمان الناشئة عن أوقات الكتل السريعة ويُشكل أساس آلية إجماع Ethereum. تمثل هذه المراجع الأسس الفكرية التي بُني عليها Ethereum، حيث تجمع رؤى من العملات المشفرة والأنظمة الموزعة والتشفير ونظرية الألعاب لإنشاء منصة blockchain عامة الغرض.

References and Further Reading

El whitepaper de Ethereum se basa en un extenso trabajo previo en investigacion de criptomonedas y sistemas distribuidos. El protocolo fundacional de Bitcoin se describe en el articulo original de 2008 de Satoshi Nakamoto "Bitcoin: A Peer-to-Peer Electronic Cash System", que introdujo el concepto de moneda digital basada en blockchain. Los primeros intentos de extender la funcionalidad de Bitcoin incluyen Namecoin, un sistema de registro de nombres descentralizado que demuestra aplicaciones de blockchain mas alla de la moneda, aunque limitado por las capacidades restringidas de scripting de Bitcoin.

El whitepaper de colored coins propuso un metodo para representar activos alternativos en la blockchain de Bitcoin "coloreando" bitcoins especificos para representar otros activos, mientras que Mastercoin intento crear una capa de protocolo sobre Bitcoin para instrumentos financieros mas complejos. Ambos resaltaron las limitaciones de construir sobre Bitcoin y motivaron la necesidad de una plataforma mas flexible. El concepto de corporaciones autonomas descentralizadas, explorado en Bitcoin Magazine, proporciono fundamentos teoricos para la gobernanza organizacional a traves de smart contracts.

Los componentes tecnicos clave incluyen la verificacion de pagos simplificada (SPV) para clientes ligeros, Merkle trees para la verificacion eficiente de datos y Patricia tries para la representacion de estado de Ethereum. El protocolo GHOST (Greedy Heaviest Observed Subtree), descrito en un articulo de criptografia de 2013, aborda problemas de seguridad que surgen de tiempos de bloque rapidos y forma la base del mecanismo de consenso de Ethereum. Estas referencias representan los fundamentos intelectuales sobre los cuales se construyo Ethereum, combinando conocimientos de criptomonedas, sistemas distribuidos, criptografia y teoria de juegos para crear una plataforma blockchain de proposito general.