以太坊:下一代智能合约和去中心化应用平台
Abstract
Ethereum هو منصة عملة مشفرة وتطبيقات لامركزية من الجيل التالي تقدم blockchain مزودة بلغة برمجة مدمجة كاملة تورنغ (Turing-complete). يتيح ذلك لأي شخص كتابة smart contracts وتطبيقات لامركزية حيث يمكنهم إنشاء قواعدهم الخاصة للملكية وأشكال المعاملات ودوال انتقال الحالة (state transition functions).
الابتكار الجوهري لـ Ethereum هو دمج تقنية blockchain التي ابتكرها Bitcoin مع بيئة برمجة عامة الأغراض. بينما يوفر Bitcoin نظام انتقال حالة بسيط لنقل العملة من حساب إلى آخر، يوفر Ethereum منصة يمكن للمطورين فيها بناء أي نوع من التطبيقات اللامركزية التي يمكنهم تخيلها، من العملات البديلة والأدوات المالية إلى أنظمة تسجيل النطاقات والمنظمات اللامركزية.
يحقق Ethereum ذلك من خلال بناء ما هو في جوهره الطبقة التأسيسية المجردة النهائية: blockchain مزودة بلغة برمجة مدمجة كاملة تورنغ، تتيح لأي شخص كتابة smart contracts وتطبيقات لامركزية حيث يمكنهم إنشاء قواعدهم الخاصة للملكية وأشكال المعاملات ودوال انتقال الحالة. يمكن كتابة نسخة أساسية من Namecoin في سطرين من الكود، ويمكن بناء بروتوكولات أخرى مثل العملات وأنظمة السمعة في أقل من عشرين سطراً.
Abstract
以太坊是下一代加密货币和去中心化应用平台,它引入了一种内置图灵完备编程语言的区块链。这使得任何人都可以编写智能合约和去中心化应用,在其中创建自己的任意所有权规则、交易格式和状态转换函数。
以太坊的根本创新在于将比特币首创的区块链技术与通用编程环境相结合。比特币提供了一个简单的状态转换系统,用于将货币从一个账户转移到另一个账户,而以太坊则提供了一个平台,开发者可以在其上构建任何他们能想象的去中心化应用——从替代货币和金融工具到域名注册系统和去中心化组织。
以太坊通过构建本质上是终极抽象基础层来实现这一目标:一个内置图灵完备编程语言的区块链,允许任何人编写智能合约和去中心化应用,在其中创建自己的任意所有权规则、交易格式和状态转换函数。Namecoin的简化版本可以用两行代码编写,而其他协议如货币和信誉系统可以在二十行以内构建完成。
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
去中心化数字货币的概念以及诸如财产登记等替代应用已经存在了数十年。20世纪80年代和90年代的匿名电子现金协议主要依赖一种被称为乔姆盲签名的密码学原语,提供了高度隐私的货币,但这些协议由于依赖中心化中介机构而未能广泛流行。1998年,戴维的b-money成为第一个引入通过解决计算难题来创造货币以及去中心化共识理念的提案,但该提案在如何实际实现去中心化共识方面缺乏细节。
2009年,中本聪首次在实践中实现了去中心化货币,他将通过公钥密码学管理所有权的成熟原语与一种用于追踪币的所有权的共识算法——即"工作量证明"——结合在一起。工作量证明背后的机制是该领域的一个突破,因为它同时解决了两个问题。首先,它提供了一种简单且适度有效的共识算法,使网络中的节点能够集体就比特币账本状态的一组规范更新达成一致。其次,它提供了一种允许自由参与共识过程的机制,解决了由谁来影响共识的政治问题,同时防止了女巫攻击。
比特币区块链在多年运行中已证明了其卓越的稳健性,但它本质上是有局限的。比特币的脚本语言被有意设计为限制性的、非图灵完备的,缺少循环和许多其他构建更复杂应用所必需的功能。这种限制的存在是为了防止无限循环和其他形式的计算攻击,但它严重限制了可以在比特币之上构建的内容。
在过去五年中,已经有许多尝试来扩展比特币的功能。彩色币试图利用比特币区块链来追踪替代资产的所有权,域名币试图创建一个去中心化的域名注册数据库,各种元币协议旨在在比特币之上构建额外的层级。虽然这些方法展现了前景,但最终都受到比特币脚本能力的限制以及脚本内无法访问区块链数据的制约。
以太坊的目标是提供一个内置完整图灵完备编程语言的区块链,该语言可用于创建"合约",对任意状态转换函数进行编码,使用户只需用几行代码编写逻辑,就能创建上述任何系统以及许多我们尚未想象到的系统。
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 تُرجع خطأ.

"الحالة" في Bitcoin هي مجموعة جميع العملات (تقنياً، "مخرجات المعاملات غير المنفقة" أو UTXO) التي تم سكها ولم تُنفق بعد، حيث يملك كل UTXO فئة ومالكاً (معرف بعنوان 20 بايت وهو في الأساس public key تشفيرية). تحتوي المعاملة على مدخل واحد أو أكثر، يحتوي كل مدخل على إشارة إلى UTXO موجود وتوقيع تشفيري أُنتج بواسطة private key المرتبط بعنوان المالك، ومخرج واحد أو أكثر، يحتوي كل مخرج على UTXO جديد ليُضاف إلى الحالة.
يمكن تعريف دالة state transition APPLY(S,TX) - S' تقريباً كما يلي:
- لكل مدخل في TX، إذا لم يكن UTXO المُشار إليه موجوداً في S، أرجع خطأ.
- إذا لم يتطابق التوقيع المُقدم مع مالك UTXO، أرجع خطأ.
- إذا كان مجموع فئات جميع UTXO المدخلة أقل من مجموع فئات جميع UTXO المُخرجة، أرجع خطأ.
- أرجع 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
从技术角度来看,像比特币这样的加密货币的账本可以被视为一个状态转换系统,其中有一个由所有现有比特币的所有权状态组成的"状态",以及一个接受状态和交易并输出新状态的"状态转换函数"。在标准银行系统中,例如,状态是一张资产负债表,交易是将\(X从A转移到B的请求,状态转换函数将A账户中的值减少\)X,并将B账户中的值增加\(X。如果A的账户余额一开始就少于\)X,状态转换函数将返回错误。

比特币中的"状态"是所有已被铸造且尚未花费的币的集合(技术上称为"未花费的交易输出"或UTXO),每个UTXO都有一个面额和一个所有者(由一个20字节的地址定义,本质上是一个密码学公钥)。一笔交易包含一个或多个输入,每个输入包含对一个现有UTXO的引用和由所有者地址关联的私钥产生的密码学签名,以及一个或多个输出,每个输出包含一个要添加到状态中的新UTXO。
状态转换函数APPLY(S,TX) - S'可以大致定义如下:
- 对于TX中的每个输入,如果引用的UTXO不在S中,返回错误。
- 如果提供的签名与UTXO的所有者不匹配,返回错误。
- 如果所有输入UTXO的面额之和小于所有输出UTXO的面额之和,返回错误。
- 返回移除所有输入UTXO并添加所有输出UTXO后的S。
第一步的前半部分防止交易发送者花费不存在的币,第一步的后半部分防止交易发送者花费他人的币,第二步确保价值守恒。为了使用此方法进行支付,协议如下:假设Alice想要向Bob发送11.7 BTC。首先,Alice将寻找一组她拥有的、总计至少为11.7 BTC的可用UTXO。实际上,Alice不太可能恰好得到11.7 BTC;假设她能得到的最小组合是6+4+2=12。然后她创建一笔有三个输入和两个输出的交易。第一个输出将是11.7 BTC,所有者为Bob的地址,第二个输出将是剩余的0.3 BTC"找零",所有者为Alice自己。
Mining
لو كان لدينا وصول إلى خدمة مركزية موثوقة، لكان تنفيذ هذا النظام بسيطاً؛ يمكن ببساطة برمجته كما هو موصوف، باستخدام القرص الصلب لخادم مركزي لتتبع الحالة. ومع ذلك، مع Bitcoin نحاول بناء نظام عملة لامركزي، لذا سنحتاج إلى دمج نظام state transition مع نظام إجماع لضمان أن الجميع يتفق على ترتيب المعاملات. تتطلب عملية الإجماع اللامركزية في Bitcoin أن تحاول العقد في الشبكة باستمرار إنتاج حزم من المعاملات تُسمى "كتل". تهدف الشبكة إلى إنتاج كتلة واحدة تقريباً كل عشر دقائق، حيث تحتوي كل كتلة على طابع زمني، وnonce، وإشارة إلى (أي hash) الكتلة السابقة وقائمة بجميع المعاملات التي تمت منذ الكتلة السابقة.

بمرور الوقت، ينشئ هذا "blockchain" مستمراً ومتنامياً باستمرار يتم تحديثه باستمرار لتمثيل أحدث حالة لدفتر Bitcoin. خوارزمية التحقق من صلاحية الكتلة، معبراً عنها في هذا النموذج، هي كالتالي:
- تحقق من أن الكتلة السابقة المُشار إليها بواسطة الكتلة موجودة وصالحة.
- تحقق من أن الطابع الزمني للكتلة أكبر من الكتلة السابقة وأقل من ساعتين في المستقبل.
- تحقق من أن proof of work على الكتلة صالح.
- ليكن S الحالة في نهاية الكتلة السابقة.
- لنفترض أن TX هي قائمة معاملات الكتلة بـ n معاملة. لكل i في 0...n-1، اضبط S = APPLY(S,TX[i]). إذا أرجع أي تطبيق خطأ، اخرج وأرجع false.
- أرجع true، وسجل S كالحالة في نهاية هذه الكتلة.
في الأساس، يجب أن توفر كل معاملة في الكتلة انتقال حالة صالحاً مما كانت عليه الحالة القانونية قبل تنفيذ المعاملة إلى حالة جديدة ما. لاحظ أن الحالة ليست مُرمزة في الكتلة بأي شكل؛ هي مجرد تجريد يتذكره عقدة التحقق ولا يمكن حسابها (بأمان) لأي كتلة إلا بالبدء من حالة التكوين وتطبيق كل معاملة في كل كتلة بالتتابع.
يُكافأ المُعدّن على عمله الحسابي بعملات bitcoin جديدة بالإضافة إلى رسوم المعاملات. تعمل عملية التعدين كالتالي: يأخذ المُعدّنون رأس الكتلة ويقومون بتجزئته بشكل متكرر بقيم nonce مختلفة حتى يجدوا hash أقل من هدف صعوبة معين. عندما يجد مُعدّن مثل هذا الـ hash، يبث الكتلة إلى الشبكة، وتتحقق العقد الأخرى من صلاحية الـ hash وصلاحية جميع المعاملات في الكتلة. يتم تعديل هدف الصعوبة تلقائياً بواسطة البروتوكول كل 2016 كتلة (حوالي أسبوعين) لضمان إنتاج الكتل بمعدل ثابت تقريباً.
لاحظ أنه على المدى الطويل، يعتمد أمان blockchain على وجود حافز مالي للمُعدّنين للتصرف بأمانة. إذا سيطر مهاجم على أكثر من 50% من قوة التعدين في الشبكة، فيمكنه تنفيذ "هجوم 51%" بإنشاء blockchain بديل ينمو أسرع من السلسلة الصادقة. ومع ذلك، سيتطلب مثل هذا الهجوم موارد حسابية هائلة ومن المرجح أن تصبح مكافآت تعدين المهاجم عديمة القيمة مع فقدان الشبكة الثقة في سلامة blockchain.
Mining
如果我们能够获得一个可信的中心化服务,这个系统将很容易实现;它可以完全按照描述进行编码,使用中心化服务器的硬盘来跟踪状态。然而,对于比特币,我们试图构建一个去中心化的货币系统,因此我们需要将状态转换系统与共识系统相结合,以确保每个人都对交易顺序达成一致。比特币的去中心化共识过程要求网络中的节点不断尝试生产被称为"区块"的交易包。网络预期大约每十分钟产生一个区块,每个区块包含一个时间戳、一个随机数、对前一个区块的引用(即哈希值)以及自前一个区块以来发生的所有交易的列表。

随着时间的推移,这创建了一个持久的、不断增长的"区块链",不断更新以代表比特币账本的最新状态。在此范式中,检查一个区块是否有效的算法如下:
- 检查该区块引用的前一个区块是否存在且有效。
- 检查该区块的时间戳是否大于前一个区块的时间戳,且不超过未来2小时。
- 检查该区块上的工作量证明是否有效。
- 令S为前一个区块末尾的状态。
- 假设TX是该区块包含n笔交易的交易列表。对于所有i在0...n-1范围内,设S = APPLY(S,TX[i])。如果任何应用返回错误,退出并返回false。
- 返回true,并将S注册为该区块末尾的状态。
本质上,区块中的每笔交易都必须提供一个有效的状态转换,从交易执行前的规范状态转换到某个新状态。注意,状态并未以任何方式编码在区块中;它纯粹是由验证节点记忆的抽象概念,只能通过从创世状态开始并顺序应用每个区块中的每笔交易来(安全地)计算任何区块的状态。
矿工通过新创建的比特币和交易费获得计算工作的奖励。挖矿过程如下:矿工获取区块头并使用不同的随机数值反复对其进行哈希运算,直到找到一个低于特定难度目标的哈希值。当矿工找到这样的哈希值时,他们将区块广播到网络,其他节点验证哈希值有效且区块中的所有交易有效。难度目标由协议每2016个区块(大约两周)自动调整,以确保区块以大致恒定的速率产生。
请注意,从长远来看,区块链的安全性取决于矿工是否有经济激励来诚实行事。如果攻击者控制了网络超过50%的挖矿算力,他们就有可能通过创建一条比诚实链增长更快的替代区块链来执行"51%攻击"。然而,这样的攻击需要巨大的计算资源,并且随着网络对区块链完整性失去信心,攻击者的挖矿奖励可能变得毫无价值。
Merkle Trees
أشجار Merkle هي بنية بيانات أساسية تُستخدم في كتل Bitcoin لتمكين التحقق الفعال والآمن من تضمين المعاملات. شجرة Merkle هي شجرة ثنائية من القيم المُجزّأة حيث تحتوي عقد الأوراق على قيم hash للمعاملات الفردية، وتحتوي كل عقدة داخلية على hash لطفليها، وتُبنى بشكل متكرر حتى hash جذر واحد يُخزن في رأس الكتلة. تسمح هذه البنية الهرمية لأي شخص بالتحقق من أن معاملة محددة مُدرجة في كتلة عن طريق تنزيل فرع Merkle فقط—سلسلة القيم المُجزّأة من المعاملة حتى الجذر—بدلاً من تنزيل جميع المعاملات في الكتلة.

مكاسب الكفاءة كبيرة: بينما يجب على عقدة Bitcoin كاملة تخزين blockchain بالكامل (حوالي 15 جيجابايت اعتباراً من 2013)، تحتاج عقدة التحقق المبسط من الدفع (SPV) فقط إلى تنزيل رؤوس الكتل التي تحتوي على جذور Merkle، مما يتطلب 4 ميجابايت فقط من البيانات. للتحقق من معاملة، تطلب عقدة SPV فرع Merkle من العقد الكاملة، مما يتطلب بيانات O(log n) فقط حيث n هو عدد المعاملات في الكتلة. هذا التحجيم اللوغاريتمي يجعل من الممكن تشغيل عملاء خفيفي الوزن على الأجهزة المحمولة والبيئات محدودة الموارد.
يُظهر استخدام Bitcoin لأشجار Merkle مبدأً رئيسياً: يمكن للبنى التشفيرية أن تقلل بشكل كبير من متطلبات الثقة والموارد للمشاركة في شبكة لامركزية. هذا المبدأ نفسه يكمن وراء تصميم Ethereum، حيث تُستخدم أشجار Merkle ليس فقط للمعاملات ولكن أيضاً لتخزين الحالة والإيصالات، مما يُمكّن بروتوكولات عميل خفيف أكثر تطوراً.
Merkle Trees
默克尔树是比特币区块中使用的一种基础数据结构,用于实现高效和安全的交易包含验证。默克尔树是一种哈希二叉树,其中叶节点包含各个交易的哈希值,每个内部节点包含其两个子节点的哈希值,递归地向上构建到存储在区块头中的单个根哈希值。这种层次结构允许任何人通过只下载默克尔分支——从交易到根的哈希链——而不是下载区块中的所有交易,来验证特定交易是否包含在某个区块中。

效率提升是显著的:虽然一个完整的比特币节点必须存储整个区块链(截至2013年约15GB),简化支付验证(SPV)节点只需下载包含默克尔根的区块头,仅需要4MB的数据。为了验证一笔交易,SPV节点从完整节点请求默克尔分支,这只需要O(log n)的数据,其中n是区块中的交易数量。这种对数级的扩展性使得在移动设备和资源受限的环境中运行轻量级客户端成为可能。
比特币对默克尔树的使用展示了一个关键原则:密码学结构可以大幅降低参与去中心化网络的信任和资源要求。同样的原则也是以太坊设计的基础,在以太坊中,默克尔树不仅用于交易,还用于状态和收据存储,从而实现更复杂的轻客户端协议。
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
比特币区块链的成功激发了许多将该概念扩展到简单货币之外的尝试。域名币(Namecoin)于2010年推出,是最早的例子之一——一个建立在区块链上的去中心化域名注册数据库,允许用户在分布式命名空间中注册域名,且没有中央权威机构可以审查或撤销。彩色币作为一种在比特币区块链上表示替代资产的方式出现,通过"标记"特定的交易输出来代表现实世界资产、公司股份或其他加密货币的所有权。万事达币(Mastercoin,后来的Omni)等元币和元协议通过在比特币交易中编码额外数据并在其上构建独立的协议规则,在比特币之上层叠了额外的功能。
然而,所有这些方法都受到比特币架构强加的根本性限制。比特币脚本语言被有意限制——它无法访问区块链状态,缺少循环和复杂的控制流,并且对交易值的内省能力有限。构建复杂的应用需要笨拙的变通方法:在从未为此目的设计的交易字段中编码元数据,依赖链下基础设施来处理复杂逻辑,或者接受协议能力上的严重限制。
这些约束推动了对更通用区块链平台的探索。以太坊不是在比特币有限的基础上再构建另一个特殊用途的协议,而是采取了不同的方法:提供一个内置图灵完备编程语言的区块链,允许任何人编写具有任意所有权规则、交易格式和状态转换函数的智能合约和去中心化应用。
Scripting
Bitcoin Script، اللغة المستخدمة لتعريف شروط الإنفاق لمعاملات Bitcoin، صُممت عمداً بقيود شديدة. إنها ليست Turing-complete—والأبرز أنها تفتقر إلى الحلقات وبنى تدفق التحكم المعقدة. تعمل اللغة كبيئة تنفيذ بسيطة قائمة على المكدس حيث تقوم العمليات بدفع وسحب القيم، وتقييم الشروط التشفيرية، وتُرجع في النهاية true أو false لتحديد ما إذا كانت المعاملة صالحة. بينما توفر هذه البساطة فوائد أمنية وتسهل التحليل الرسمي، فإنها تجعل العديد من أنواع التطبيقات مستحيلة التنفيذ.
تقع هذه القيود في ثلاث فئات رئيسية. أولاً، عدم اكتمال Turing يمنع تنفيذ آلات الحالة المعقدة وأشجار القرار أو أي خوارزمية تتطلب التكرار. ثانياً، عمى القيمة يعني أن البرامج النصية لا يمكنها تحديد تحكم دقيق في مبالغ السحب—يمكن إنفاق UTXO فقط بالكامل، مع إرسال الباقي إلى مخرج جديد. لا يمكن للبرنامج النصي، على سبيل المثال، تحديد السحب بحد أقصى X يومياً مع إبقاء الباقي مقفلاً. ثالثاً، عدم الوعي بحالة blockchain يعني أن UTXO إما منفقة أو غير منفقة بدون حالات وسيطة، مما يجعل العقود متعددة المراحل مستحيلة التنفيذ بالكامل على السلسلة.
تجعل هذه القيود التطبيقات المتطورة مثل المنظمات اللامركزية المستقلة، ومحافظ التوفير بحدود السحب، والبورصات اللامركزية، أو أسواق التنبؤ إما مستحيلة أو تتطلب آليات خارج السلسلة محرجة. قد يتطلب عقد مالي متقدم الوصول إلى بيانات السوق، والقدرة على الحفاظ على حالة داخلية عبر معاملات متعددة، ومنطق شرطي معقد—لا يمكن لـ Bitcoin Script توفير أي منها. يزيل Ethereum هذه القيود بتوفير لغة Turing-complete مع وصول كامل إلى حالة blockchain.
Scripting
比特币脚本(Bitcoin Script)是用于定义比特币交易花费条件的语言,它被有意设计为具有严格的限制。它不是图灵完备的——最显著的是缺少循环和复杂的控制流结构。该语言作为一个简单的基于栈的执行环境运行,其中操作进行压栈和出栈、评估密码学条件,并最终返回true或false以确定交易是否有效。虽然这种简单性带来了安全性优势并使形式化分析更加容易,但它也使许多类型的应用无法实现。
这些限制可以分为三个主要类别。首先,缺乏图灵完备性使得无法实现复杂的状态机、决策树或任何需要迭代的算法。其次,值盲性意味着脚本无法对提取金额进行细粒度控制——UTXO只能被整体花费,找零被发送到新的输出。脚本无法例如限制每天最多提取X的金额,同时将余额保持锁定。第三,缺乏区块链状态感知意味着UTXO要么已花费要么未花费,没有中间状态,使得多阶段合约无法纯粹在链上实现。
这些约束使得去中心化自治组织、带提取限额的储蓄钱包、去中心化交易所或预测市场等复杂应用要么无法实现,要么需要笨拙的链下机制。一个高级金融合约可能需要访问市场数据、在多笔交易之间维护内部状态的能力以及复杂的条件逻辑——这些都是比特币脚本无法提供的。以太坊通过提供一种图灵完备的语言并完全访问区块链状态来消除这些限制。
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
以太坊的根本目标是提供一个内置图灵完备编程语言的区块链,允许任何人编写智能合约和去中心化应用,在其中创建自己的任意所有权规则、交易格式和状态转换函数。以太坊不是为货币、域名注册或资产交易等特定应用设计协议,而是提供一个基础层——一个基于区块链的分布式计算平台,开发者可以用它来构建任何他们能想象的应用。
其架构与比特币的UTXO模型有根本区别。以太坊使用基于账户的系统,其中区块链状态由地址到账户对象的映射组成。每个账户都有余额、交易计数器(nonce),对于合约账户还有关联的代码和存储。该平台包含一种内置的图灵完备编程语言,用于编写在以太坊虚拟机(EVM)中执行的合约代码,EVM是一个基于栈的执行环境,处理交易和状态转换。
这种通用性使得广泛的应用成为可能:具有自定义发行规则的替代加密货币、金融衍生品和稳定币、身份和信誉系统、去中心化文件存储、去中心化自治组织(DAO)等等。白皮书强调,以太坊并非针对任何特定用例进行优化,而是提供基本构建块——账户、交易、图灵完备语言和燃料计量执行——开发者可以将这些组合起来,创建生态系统所需的任何应用。
Ethereum Accounts
في Ethereum، تتكون الحالة من حسابات، وهناك نوعان أساسيان. الحسابات المملوكة خارجياً (EOAs) تُتحكم بواسطة مفاتيح خاصة وليس لها كود مرتبط—تمثل المستخدمين البشريين أو الكيانات الخارجية التي تتفاعل مع blockchain. حسابات العقود تُتحكم بواسطة كود العقد الخاص بها وتُفعّل عند تلقي رسالة أو معاملة. يتشارك كلا النوعين بنية مشتركة: كل حساب لديه nonce (عداد يُستخدم لضمان أن كل معاملة تُعالج مرة واحدة فقط)، ورصيد ether، وللعقود تحديداً، كود العقد وتخزين دائم.
Ether هي العملة المشفرة الداخلية الأساسية لـ Ethereum، وتعمل كوسيط لنقل القيمة والوحدة الأساسية لدفع رسوم المعاملات (gas). على عكس نموذج UTXO الخاص بـ Bitcoin حيث تتوزع القيمة عبر مخرجات متعددة غير منفقة، تحافظ حسابات Ethereum على رصيد بسيط يزداد عند تلقي ether وينقص عند إرساله. يُبسّط هذا النموذج القائم على الحسابات أنواعاً كثيرة من التطبيقات، خاصة تلك التي تتطلب حالة دائمة أو تحكم وصول معقد، رغم أنه يُقدم اعتبارات أمنية مختلفة مقارنة بمقاربة Bitcoin.
التمييز بين EOAs وحسابات العقود حاسم لفهم عمل Ethereum. يمكن لـ EOAs بدء المعاملات بإنشاء وتوقيع رسائل بمفاتيحها الخاصة، ودفع رسوم gas لتضمين معاملاتها في الكتل. لا تستطيع حسابات العقود بدء المعاملات بنفسها لكن يمكنها إرسال رسائل إلى عقود أخرى استجابة لتلقي معاملة أو رسالة، مما يُمكّن سلاسل تنفيذ معقدة حيث تُطلق معاملة خارجية واحدة تفاعلات متعددة بين العقود.
Ethereum Accounts
在以太坊中,状态由账户组成,有两种基本类型。外部拥有账户(EOA)由私钥控制,没有关联代码——它们代表与区块链交互的人类用户或外部实体。合约账户由其合约代码控制,在收到消息或交易时被激活。两种类型共享一个通用结构:每个账户都有一个nonce(用于确保每笔交易只能被处理一次的计数器)、以太币余额,而合约特别还拥有合约代码和持久存储。
以太币是以太坊的主要内部加密货币,既作为价值转移的媒介,也是支付交易费用(燃料费)的基本单位。与比特币的UTXO模型——价值分布在多个未花费输出中——不同,以太坊账户维护一个简单的余额,接收以太币时增加,发送时减少。这种基于账户的模型简化了许多类型的应用,特别是那些需要持久状态或复杂访问控制的应用,尽管与比特币的方法相比,它引入了不同的安全考量。
EOA与合约账户之间的区别对于理解以太坊的运作至关重要。EOA可以通过使用私钥创建和签署消息来发起交易,支付燃料费以使其交易被包含在区块中。合约账户本身不能发起交易,但可以在收到交易或消息时向其他合约发送消息,从而实现复杂的执行链,其中单笔外部交易触发多个合约之间的交互。
Messages and Transactions
المعاملات في Ethereum هي حزم بيانات موقعة تُنشأ بواسطة حسابات مملوكة خارجياً وتُبث إلى الشبكة. تحتوي المعاملة على عنوان المستلم، وتوقيع تشفيري يُثبت هوية المرسل، ومقدار ether المُراد تحويله، وحقل بيانات اختياري (حاسم للتفاعل مع العقود)، وSTARTGAS (الحد الأقصى لعدد الخطوات الحسابية المسموح بها للمعاملة)، وGASPRICE (الرسوم لكل خطوة حسابية يرغب المرسل في دفعها). يجمع المُعدّنون هذه المعاملات ويتحققون منها وينفذونها ويضمونها في الكتل، ويتلقون رسوم gas كتعويض.
الرسائل مشابهة مفاهيمياً للمعاملات لكنها تُنتج بواسطة العقود بدلاً من الجهات الخارجية. عندما يُنفذ كود عقد، يمكنه إرسال رسائل إلى عقود أخرى—تحتوي هذه الرسائل الداخلية على المرسل (عنوان العقد)، والمستلم، ومقدار ether المُراد تحويله، وحمولة بيانات اختيارية، وحد STARTGAS. تُمكّن الرسائل التواصل بين العقود، مما يسمح ببناء تطبيقات معقدة من عقود متعددة متفاعلة بدلاً من برامج متجانسة.
آلية gas حاسمة لمنع إساءة الاستخدام: كل خطوة حسابية وعملية تخزين وبايت بيانات في المعاملة تستهلك gas. إذا نفد gas المعاملة قبل اكتمالها، تُعاد جميع تغييرات الحالة (باستثناء دفع gas للمُعدّن)، مما يمنع الحلقات اللانهائية أو الحوسبة المفرطة من تعطيل الشبكة. يُحدد المرسل كلاً من ميزانية gas الإجمالية (STARTGAS) والسعر الذي يرغب في دفعه لكل وحدة (GASPRICE)، ويُسترد أي gas غير مستخدم بعد اكتمال التنفيذ.
Messages and Transactions
以太坊中的交易是由外部拥有账户创建并广播到网络的签名数据包。一笔交易包含接收方地址、证明发送方身份的密码学签名、要转移的以太币数量、一个可选的数据字段(对于与合约交互至关重要)、STARTGAS(交易被允许执行的最大计算步数)和GASPRICE(发送方愿意为每个计算步骤支付的费用)。矿工收集这些交易,验证它们,执行它们,并将它们包含在区块中,收取燃料费作为补偿。
消息在概念上类似于交易,但由合约而非外部参与者产生。当合约的代码执行时,它可以向其他合约发送消息——这些内部消息包含发送方(合约地址)、接收方、要转移的以太币数量、可选的数据载荷和STARTGAS限制。消息使得合约之间能够通信,允许从多个交互合约而非单体程序中构建复杂应用。
燃料机制对于防止滥用至关重要:交易中的每个计算步骤、存储操作和数据字节都消耗燃料。如果交易在完成前耗尽燃料,所有状态更改将被还原(但向矿工支付的燃料费除外),从而防止无限循环或过度计算使网络瘫痪。发送方指定燃料总预算(STARTGAS)和愿意为每单位支付的价格(GASPRICE),执行完成后任何未使用的燃料将被退还。
Ethereum State Transition Function
تُعرّف دالة state transition في Ethereum APPLY(S,TX) - S' كيف تُحوّل المعاملة حالة blockchain، وتتبع تسلسلاً دقيقاً من الخطوات. أولاً، يتحقق النظام من صلاحية المعاملة: التحقق من صحة التوقيع، وتأكيد أن nonce يتطابق مع nonce حساب المرسل، والتأكد من أن المرسل لديه رصيد كافٍ لدفع التكلفة المسبقة (STARTGAS × GASPRICE بالإضافة إلى القيمة المُرسلة). إذا فشل أي فحص، تُرفض المعاملة قبل بدء التنفيذ. إذا كانت صالحة، تُخصم رسوم المعاملة من حساب المرسل، ويُزاد nonce المرسل، ويُضبط عداد gas أولي على STARTGAS ناقص رسوم لكل بايت من بيانات المعاملة.

بعد ذلك، ينقل النظام قيمة ether المحددة من المرسل إلى المستلم. إذا كان المستلم حساباً مملوكاً خارجياً، يكتمل هذا المعاملة. إذا كان المستلم حساب عقد، يعمل كود العقد في Ethereum Virtual Machine، مستهلكاً gas لكل عملية حتى يكتمل الكود بنجاح، أو يتوقف الكود صراحة، أو ينفد gas. أثناء التنفيذ، يمكن للعقد قراءة وتعديل تخزينه، وإرسال رسائل إلى عقود أخرى، وإنشاء عقود جديدة.
أخيراً، إذا فشل نقل القيمة (رصيد غير كافٍ) أو فشل تنفيذ الكود (نفاد gas أو حدوث خطأ)، تُعاد جميع تغييرات الحالة—لكن المرسل لا يزال يدفع رسوم gas للمُعدّن عن الحوسبة المُنجزة. إذا نجح التنفيذ، يُسترد gas المتبقي إلى المرسل، ويُرسل gas المُستهلك إلى المُعدّن كرسوم. تضمن هذه الآلية تعويض المُعدّنين عن الحوسبة مع منع التنفيذ الجامح من استهلاك موارد غير محدودة.
Ethereum State Transition Function
以太坊状态转换函数APPLY(S,TX) - S'定义了交易如何转换区块链状态,它遵循精确的步骤序列。首先,系统检查交易的有效性:验证签名是否正确,确认nonce与发送方账户的nonce匹配,并确保发送方有足够的余额来支付预付费用(STARTGAS x GASPRICE加上要发送的值)。如果任何检查失败,交易在执行开始前就被拒绝。如果有效,交易费用从发送方账户扣除,发送方的nonce递增,初始燃料计数器被设置为STARTGAS减去交易数据的每字节费用。

接下来,系统将指定的以太币值从发送方转移到接收方。如果接收方是外部拥有账户,交易到此完成。如果接收方是合约账户,合约的代码在以太坊虚拟机中运行,每个操作消耗燃料,直到代码成功完成、代码显式停止或燃料耗尽。在执行期间,合约可以读取和修改其存储、向其他合约发送消息以及创建新合约。
最后,如果值转移失败(余额不足)或代码执行失败(燃料耗尽或遇到错误),所有状态更改将被还原——但发送方仍需为已执行的计算向矿工支付燃料费。如果执行成功,剩余燃料退还给发送方,已消耗的燃料作为费用发送给矿工。这种机制确保矿工获得计算补偿,同时防止失控的执行消耗无限资源。
Code Execution
آلة Ethereum الافتراضية (EVM) هي بيئة التشغيل حيث يُنفذ كود العقد—آلة افتراضية منخفضة المستوى قائمة على المكدس، مشابهة مفاهيمياً لآلة Java الافتراضية أو WebAssembly. يُخزن كود العقد كتسلسل من البايتات، حيث يمثل كل بايت عملية (opcode) يمكن لـ EVM تنفيذها. نموذج التنفيذ بسيط وحتمي عمداً: يجب أن تصل كل عقدة تشغل EVM بنفس حالة الإدخال والمعاملة إلى نفس حالة الإخراج، مما يضمن الإجماع عبر الشبكة.
يوفر EVM ثلاثة أنواع مميزة من التخزين للحوسبة. المكدس هو بنية "آخر من يدخل أول من يخرج" (LIFO) محدودة بـ 1024 عنصراً، تُستخدم لقيم العمليات الفورية. الذاكرة هي مصفوفة بايت قابلة للتوسع لانهائياً تستمر فقط خلال استدعاء رسالة واحدة وتُعاد تهيئتها بين عمليات التنفيذ. التخزين هو مخزن key-value دائم مرتبط بشكل دائم بكل حساب عقد، حيث تحافظ العقود على حالتها طويلة المدى عبر المعاملات. تُسعّر أنواع التخزين هذه بشكل مختلف في gas—عمليات المكدس والذاكرة رخيصة، بينما عمليات التخزين مكلفة لمنع تضخم blockchain.
أثناء التنفيذ، يمكن لكود العقد الوصول إلى سياق حاسم: يمكنه قراءة عنوان مرسل الرسالة، ومقدار ether المُرسل، وحمولة البيانات المقدمة من المُستدعي، وخصائص مستوى الكتلة مثل رقم الكتلة الحالي والطابع الزمني وعنوان المُعدّن. يمكن للكود إرجاع مصفوفة بايت إخراج إلى المُستدعي ويمكنه إرسال رسائل إلى عقود أخرى أو إنشاء عقود جديدة. نموذج التنفيذ هذا Turing-complete—الحلقات وتدفق التحكم المعقد ممكنان—لكن آلية gas تضمن أن جميع الحوسبة تنتهي في وقت محدود، حيث تحل مشكلة التوقف اقتصادياً بدلاً من قيود اللغة.
Code Execution
以太坊虚拟机(EVM)是合约代码执行的运行时环境——一个低层级的、基于栈的虚拟机,在概念上类似于Java虚拟机或WebAssembly。合约代码存储为字节序列,其中每个字节代表EVM可以执行的一个操作(操作码)。执行模型被刻意设计为简单且确定性的:每个使用相同输入状态和交易运行EVM的节点必须得出相同的输出状态,确保网络达成共识。
EVM为计算提供三种不同类型的存储。栈是一个限制为1024个元素的后进先出(LIFO)结构,用于即时操作值。内存是一个可无限扩展的字节数组,仅在单次消息调用期间持续存在,在执行间被重置。存储是与每个合约账户永久关联的持久键值存储,合约在其中跨交易维护其长期状态。这些存储类型在燃料定价上不同——栈和内存操作便宜,而存储操作昂贵,以防止区块链膨胀。
在执行期间,合约代码可以访问关键的上下文信息:它可以读取消息发送方的地址、发送的以太币数量、调用方提供的数据载荷,以及区块级属性如当前区块号、时间戳和矿工地址。代码可以向调用方返回一个输出字节数组,并且可以向其他合约发送消息或创建新合约。这种执行模型是图灵完备的——循环和复杂的控制流是可能的——但燃料机制确保所有计算在有限时间内终止,通过经济手段而非语言限制解决了停机问题。
Blockchain and Mining
blockchain الخاص بـ Ethereum مشابه جوهرياً لـ Bitcoin، حيث يعمل كقاعدة بيانات تحتوي على كل معاملة تم تنفيذها. ومع ذلك، بينما يُخزن Bitcoin قائمة المعاملات فقط، يُخزن Ethereum كلاً من قائمة المعاملات والحالة الأحدث. كل كتلة في Ethereum تحتوي على hash الكتلة السابقة، وجذر الحالة (hash الجذر لـ Merkle Patricia trie الذي يمثل الحالة الكاملة)، وجذر المعاملات، وجذر الإيصالات (يُخزن بيانات من تنفيذ المعاملات)، بالإضافة إلى قيم الصعوبة والطابع الزمني وnonce. الحالة نفسها هي Merkle Patricia trie كبير يُعيّن العناوين إلى كائنات الحسابات، حيث كل حساب لديه رصيد وnonce وكود (إن وُجد) وتخزين.

يستخدم Ethereum نسخة معدلة من بروتوكول GHOST (الشجرة الفرعية الأثقل المرصودة بجشع) لمعالجة مشاكل الأمان الناشئة عن أوقات الكتل السريعة. في بروتوكولات السلسلة الأطول التقليدية، تؤدي الكتل السريعة إلى معدلات عالية من الكتل القديمة، مما يقلل أمان الشبكة ويزيد مخاطر المركزية لأن المُعدّنين الكبار يُهدرون حوسبة أقل على الكتل القديمة. يُضمّن GHOST الكتل القديمة (تُسمى "أعمام" في Ethereum) في حساب أي سلسلة هي الأطول، ويوفر مكافآت جزئية لكتل الأعمام، محفزاً المُعدّنين على الإشارة إليها. يسمح هذا لـ Ethereum بالحفاظ على وقت كتلة مستهدف يبلغ حوالي 12 ثانية مع الحفاظ على أمان الشبكة.
تعمل خوارزمية التعدين بشكل مشابه لـ proof-of-work الخاص بـ Bitcoin، مما يتطلب من المُعدّنين إيجاد nonce بحيث يكون hash الكتلة أقل من هدف صعوبة معين. ومع ذلك، فإن خوارزمية التعدين كثيفة الذاكرة في Ethereum (Ethash) مصممة لتكون مقاومة لـ ASIC، مما يُعزز نظام تعدين أكثر لامركزية. تتكيف الصعوبة ديناميكياً بناءً على أوقات الكتل للحفاظ على هدف ~12 ثانية، مما يضمن إنتاج كتل متسق بينما يوفر بروتوكول GHOST ضمانات أمنية رغم أوقات الكتل الأسرع مقارنة بمتوسط Bitcoin البالغ 10 دقائق.
Blockchain and Mining
以太坊区块链与比特币的基本相似,作为包含所有已执行交易的数据库。然而,比特币只存储交易列表,而以太坊同时存储交易列表和最新状态。以太坊中的每个区块包含前一个区块的哈希值、状态根(代表整个状态的默克尔帕特里夏树的根哈希)、交易根、收据根(存储交易执行数据),以及难度值、时间戳和nonce值。状态本身是一棵大型默克尔帕特里夏树,将地址映射到账户对象,每个账户都有余额、nonce、代码(如果有的话)和存储。

以太坊使用了GHOST(贪婪最重观察子树)协议的修改版本,以解决快速出块时间带来的安全问题。在传统的最长链协议中,快速出块会导致高孤块率,降低网络安全性并增加中心化风险,因为大型矿工在孤块上浪费的计算更少。GHOST协议将孤块(在以太坊中称为"叔块")纳入最长链的计算中,并为叔块提供部分奖励,激励矿工引用它们。这使得以太坊能够在保持网络安全的同时,维持大约12秒的目标出块时间。
挖矿算法与比特币的工作量证明类似,要求矿工找到一个nonce,使得区块的哈希值低于特定的难度目标。然而,以太坊的内存密集型挖矿算法(Ethash)被设计为抗ASIC的,促进更去中心化的挖矿生态系统。难度根据出块时间动态调整,以维持约12秒的目标,确保稳定的区块生产,而GHOST协议在比特币平均10分钟更快的出块时间下提供安全保障。
Applications
تقع التطبيقات التي يمكن بناؤها على Ethereum في ثلاث فئات عريضة. الفئة الأولى هي التطبيقات المالية، التي توفر للمستخدمين طرقاً أكثر قوة لإدارة والدخول في عقود تتعلق بأموالهم. يشمل ذلك العملات الفرعية، والمشتقات المالية، وعقود التحوط، ومحافظ التوفير بحدود السحب، والوصايا التي توزع الأموال تلقائياً، وحتى عقود التوظيف التي تحسب الدفع بناءً على إتمام العمل المُتحقق منه. تستفيد هذه التطبيقات من قابلية Ethereum للبرمجة لإنشاء أدوات مالية معقدة سيكون تنفيذها مستحيلاً أو صعباً للغاية في الأنظمة التقليدية أو حتى على Bitcoin.
الفئة الثانية هي التطبيقات شبه المالية، حيث المال متورط لكن هناك أيضاً مكون غير نقدي كبير فيما يتم فعله. مثال مثالي هو المكافآت ذاتية التنفيذ لحلول المشاكل الحسابية. يمكن لشخص نشر مشكلة حسابية مع مكافأة، ويمكن للعقد التحقق تلقائياً من الحلول المُقدمة ودفع المكافأة لأول إجابة صحيحة. تجسر هذه الفئة بين المالية البحتة والمجالات الأخرى، باستخدام الحوافز الاقتصادية لحل المشاكل أو تنسيق السلوك.
الفئة الثالثة هي التطبيقات التي لا علاقة لها بالمال على الإطلاق، مثل التصويت عبر الإنترنت وأنظمة الحوكمة اللامركزية. تُظهر هذه التطبيقات غير المالية مرونة Ethereum كمنصة عامة الغرض. تشمل الأمثلة أنظمة أسماء النطاقات اللامركزية مثل Namecoin، وأنظمة السمعة، وتخزين الملفات اللامركزي، وأدوات الحوكمة التنظيمية. من بين جميع أنواع التطبيقات هذه، برزت أنظمة الرموز كأكثرها شيوعاً وأساسية، حيث تعمل كلبنات بناء للعديد من التطبيقات الأخرى.
Applications
可以在以太坊上构建的应用大致分为三大类。第一类是金融应用,为用户提供更强大的方式来管理和签订涉及资金的合约。这包括子货币、金融衍生品、对冲合约、带提取限额的储蓄钱包、自动分配资金的遗嘱,甚至是根据验证的工作完成情况计算薪酬的雇佣合约。这些应用利用以太坊的可编程性来创建在传统系统甚至比特币上都不可能或极其难以实现的复杂金融工具。
第二类是半金融应用,涉及资金但也有大量非货币成分。一个完美的例子是为计算问题的解决方案设立的自动执行的悬赏。某人可以发布一个计算问题和奖励,合约可以自动验证提交的解决方案并向第一个正确答案支付悬赏金。这一类别连接了纯金融和其他领域,利用经济激励来解决问题或协调行为。
第三类是与金钱完全无关的应用,例如在线投票和去中心化治理系统。这些非金融应用展示了以太坊作为通用平台的灵活性。例子包括类似域名币的去中心化域名系统、信誉系统、去中心化文件存储和组织治理工具。在所有这些应用类型中,代币系统已成为最常见和最基本的类型,作为许多其他应用的构建基础。
Token Systems
أنظمة الرموز بسيطة بشكل مدهش في التنفيذ على Ethereum، رغم كونها واحدة من أقوى وأكثر التطبيقات شيوعاً. في جوهرها، أنظمة الرموز هي ببساطة قاعدة بيانات بعملية واحدة: طرح X وحدة من الحساب A وإضافة X وحدة إلى الحساب B، بشرط أن A كان لديه على الأقل X وحدة قبل المعاملة وأن المعاملة مُصرح بها من A. يتطلب التنفيذ الحفاظ على تعيين من العناوين إلى الأرصدة وتوفير دالة نقل تُجري الفحوصات المناسبة قبل نقل الرموز بين الحسابات.
كود العقد لنظام رموز أساسي بسيط بشكل ملحوظ ويمكن كتابته في بضعة أسطر فقط. يتكون من بنية بيانات تُعيّن العناوين إلى الأرصدة، ودالة تهيئة تُخصص العرض الأولي للرموز، ودالة نقل تتحقق من رصيد المرسل وتصريحه قبل تنفيذ النقل. هذه البساطة تتناقض بشكل صارخ مع التعقيد المطلوب لتنفيذ أنظمة مماثلة على Bitcoin، والتي ستتطلب حلولاً بديلة كبيرة وقيوداً بسبب قدرات Bitcoin البرمجية المحدودة.
يمكن أن تمثل الرموز على Ethereum فعلياً أي شيء ذي قيمة. قد تمثل عملات فرعية بسياسات نقدية خاصة بها، أو مشتقات مالية تتتبع أصولاً خارجية، أو أسهم شركات بحقوق أرباح، أو نقاط ولاء في برامج العملاء، أو سلع مثل الذهب أو النفط، أو حتى تمثيلات للممتلكات المادية. تسمح قابلية Ethereum للبرمجة لهذه الرموز بقواعد عشوائية تحكم سلوكها، مثل قيود النقل، أو آليات الحرق التلقائي، أو توزيعات الأرباح، أو حقوق الحوكمة. جعلت هذه المرونة أنظمة الرموز اللبنة الأساسية لمعظم نظام Ethereum البيئي.
Token Systems
代币系统在以太坊上实现起来出人意料地简单,尽管它是最强大和最常见的应用之一。在其核心,代币系统只是一个具有单一操作的数据库:从账户A减去X个单位并向账户B添加X个单位,条件是A在交易前至少拥有X个单位且交易由A授权。实现这一点需要维护一个地址到余额的映射,并提供一个在账户之间转移代币之前执行适当检查的转账函数。
基本代币系统的合约代码非常简单,可以用几行代码编写。它由一个将地址映射到余额的数据结构、一个分配初始代币供应量的初始化函数,以及一个在执行转账前检查发送方余额和授权的转账函数组成。这种简单性与在比特币上实现类似系统所需的复杂性形成了鲜明对比,后者由于比特币受限的脚本能力而需要大量的变通方法和限制。
以太坊上的代币可以代表几乎任何有价值的东西。它们可能代表具有自己货币政策的子货币、追踪外部资产的金融衍生品、拥有分红权的公司股份、客户计划中的积分、黄金或石油等大宗商品,甚至是实物财产的表示。以太坊的可编程性允许这些代币具有管理其行为的任意规则,例如转账限制、自动销毁机制、分红分配或治理权利。这种灵活性使代币系统成为以太坊生态系统的基础构建模块。
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
金融衍生品是以太坊智能合约最基本和最重要的应用之一。一个简单的对冲合约展示了基本机制:甲方存入价值1000美元的一定数量以太币,乙方存入等值金额,合约使用数据源记录当时以太币的美元价值。30天后,合约重新计算价值,将价值1000美元的以太币发送给甲方,剩余部分发送给乙方。如果以太币价格上涨,甲方收到的以太币较少但维持1000美元价值;如果价格下跌,甲方收到更多以太币以维持该价值。这使得甲方可以对冲波动性风险,而乙方则对价格走势进行投机。
此类合约的实现需要通过预言机合约或数据源来访问外部数据。这些预言机提供价格信息、天气数据或合约正确执行所需的其他现实世界信息。虽然预言机引入了信任依赖,但可以通过冗余设计和加密经济激励来提供可靠数据。合约本身只需查询预言机,根据该数据执行计算,并按照其编程逻辑分配资金。
稳定币和更复杂的金融工具可以使用类似的机制构建。稳定币合约可以维护以太币储备并发行锚定法定货币的代币,根据价格源自动调整供应量或抵押要求。期权合约、期货合约、互换合约以及其他通常需要复杂法律框架和可信中介的衍生品可以被编码为自动执行的智能合约。这种可编程金融基础设施在维护区块链技术的透明性和安全保证的同时,实现了复杂的金融工程。
Identity and Reputation Systems
نظام تسجيل الأسماء المشابه لـ Namecoin قابل للتنفيذ بسهولة على Ethereum ويُعد أبسط مثال على نظام هوية. يحافظ العقد على قاعدة بيانات بجدول key-value يُعيّن الأسماء إلى البيانات المرتبطة (مثل عناوين IP أو المفاتيح العامة أو معلومات أخرى). يمكن لأي شخص تسجيل اسم بإرسال معاملة إلى العقد مع رسوم تسجيل صغيرة، بشرط ألا يكون الاسم مأخوذاً بالفعل. يمكن للمالك تحديث البيانات المرتبطة في أي وقت، ويمكن جعل الأسماء قابلة للنقل أو دائمة وفقاً للقواعد المُرمزة في العقد.
يمكن بناء أنظمة هوية أكثر تقدماً على هذا الأساس لتشمل درجات السمعة وعلاقات شبكة الثقة والتحقق اللامركزي من الهوية. على سبيل المثال، يمكن لعقد الحفاظ على درجات السمعة بناءً على المعاملات المُتحقق منها أو تقييمات الأقران أو إتمام المهام. ستكون هذه الدرجات مرئية للعموم ومرتبطة تشفيرياً بعناوين محددة، مما يُنشئ سمعة محمولة تتبع المستخدمين عبر التطبيقات. يمكن لأنظمة شبكة الثقة أن تسمح للمستخدمين بالتصديق على هويات الآخرين، بناء رسوم بيانية اجتماعية تساعد في التمييز بين المستخدمين الشرعيين والجهات السيئة.
تصبح أنظمة الهوية والسمعة هذه قوية بشكل خاص عند دمجها مع تطبيقات أخرى. يمكن لسوق أن يتطلب درجات سمعة دنيا للبائعين، أو منصة إقراض أن تُعدل أسعار الفائدة بناءً على سمعة المقترض، أو شبكة اجتماعية أن تستخدم شبكة الثقة لتصفية البريد العشوائي والمحتوى الاحتيالي. من خلال توفير بنية تحتية مشتركة للهوية يمكن لأي تطبيق الاستعلام عنها، يُمكّن Ethereum فئة جديدة من التطبيقات القائمة على الثقة التي لا تعتمد على مزودي هوية مركزيين أو أنظمة سمعة مملوكة.
Identity and Reputation Systems
类似域名币的域名注册系统在以太坊上可以轻而易举地实现,是身份系统最简单的例子。合约维护一个包含键值表的数据库,将名称映射到关联数据(如IP地址、公钥或其他信息)。任何人都可以通过向合约发送交易并附上少量注册费来注册一个名称,前提是该名称尚未被占用。所有者可以随时更新关联数据,名称可以根据合约中编码的规则设置为可转让或永久性的。
在此基础上可以构建更高级的身份系统,包括信誉评分、信任网络关系和去中心化身份验证。例如,合约可以基于已验证的交易、同行评级或任务完成情况来维护信誉评分。这些评分将是公开可见的,并与特定地址进行密码学绑定,创建一个跨应用跟随用户的可移植信誉。信任网络系统可以允许用户为他人的身份背书,构建有助于区分合法用户和不良行为者的社交图谱。
当与其他应用集成时,此类身份和信誉系统变得特别强大。市场可以要求卖家达到最低信誉评分,借贷平台可以根据借款人的信誉调整利率,社交网络可以使用信任网络来过滤垃圾信息和欺诈内容。通过提供任何应用都可以查询的共享身份基础设施,以太坊实现了一类不依赖中心化身份提供商或专有信誉系统的新型信任应用。
Decentralized File Storage
يمكن تنفيذ تخزين الملفات اللامركزي من خلال عقود Ethereum التي تنسق بين المستخدمين الذين يحتاجون إلى التخزين والمزودين الذين يقدمونه. في نموذج "Dropbox اللامركزي"، سيدفع المستخدمون رسوماً شهرية لتحميل الملفات، مع توزيع العقد للمدفوعات على مزودي التخزين الذين يُثبتون أنهم يُخزنون البيانات فعلاً. تعمل آلية الإثبات من خلال تحديات تشفيرية دورية: يختار العقد عشوائياً أجزاء من الملفات ويطلب من المزودين تقديم إثباتات Merkle tree تُظهر أنهم يملكون تلك البيانات. المزودون الذين يفشلون في التحديات أو يصبحون غير متصلين سيخسرون ودائعهم وتدفق المدفوعات المستقبلية.
يقدم هذا النهج عدة مزايا على التخزين المركزي. تُمكّن إثباتات Merkle tree التحقق الفعال—يمكن للمستخدمين والعقد تأكيد توفر الملفات دون تنزيل الملفات بالكامل. يوزع النظام طبيعياً الملفات عبر مزودين مستقلين متعددين، مما يُنشئ تكراراً دون الحاجة إلى بروتوكولات نسخ صريحة. تُوائم الحوافز الاقتصادية سلوك المزودين مع احتياجات المستخدمين: يكسب المزودون المال بتخزين البيانات بشكل موثوق ويخسرون المال إذا فشلوا في ذلك. يُلغي هذا متطلب الثقة المتأصل في حلول التخزين المركزية.
يمكن أن تكون تكاليف التخزين في مثل هذا النظام أقل من البدائل المركزية لعدة أسباب. إلغاء التسعير الاحتكاري يسمح للمنافسة السوقية بدفع التكاليف إلى قرب التكلفة الفعلية للتخزين. التكرار الضمني من عدة مستخدمين يُخزنون ملفات مماثلة يمكن أن يقلل من متطلبات التخزين الإجمالية. لا حاجة لبنية تحتية مكلفة لمراكز البيانات أو نفقات عامة مؤسسية. ومع ذلك، تبقى التحديات حول آليات الدفع وضمان مشاركة كافية من المزودين وإدارة المفاضلة بين التكرار والتكلفة. رغم هذه التحديات، يُظهر التخزين اللامركزي كيف يمكن لـ Ethereum تنسيق تفاعلات معقدة متعددة الأطراف من خلال الحوافز الاقتصادية وحدها.
Decentralized File Storage
去中心化文件存储可以通过以太坊合约来实现,在需要存储的用户和提供存储的供应商之间进行协调。在"去中心化Dropbox"模式中,用户按月付费上传文件,合约将付款分配给证明自己实际存储了数据的存储供应商。证明机制通过定期的密码学挑战实现:合约随机选择文件的部分内容,并要求供应商提供默克尔树证明,证明他们拥有该数据。挑战失败或下线的供应商将失去其押金和未来的付款流。
这种方法相比中心化存储有几个优势。默克尔树证明实现了高效验证——用户和合约可以在不下载整个文件的情况下确认文件可用性。该系统自然地将文件分布在多个独立的供应商之间,在无需显式复制协议的情况下创建冗余。经济激励使供应商的行为与用户需求保持一致:供应商通过可靠存储数据赚钱,如果未能做到则亏钱。这消除了中心化存储解决方案中固有的信任需求。
此类系统的存储成本有可能因多种原因而低于中心化替代方案。消除垄断定价使市场竞争将成本推至接近实际存储成本。多个用户存储类似文件产生的隐性冗余可以减少总存储需求。无需昂贵的数据中心基础设施或企业管理费用。然而,在支付机制、确保足够的供应商参与以及管理冗余与成本之间的权衡方面仍然存在挑战。尽管存在这些挑战,去中心化存储展示了以太坊如何仅通过经济激励来协调复杂的多方交互。
Decentralized Autonomous Organizations
المنظمة اللامركزية المستقلة (DAO) هي كيان افتراضي لديه مجموعة من الأعضاء أو المساهمين الذين يملكون جماعياً الحق في إنفاق أموال الكيان وتعديل كوده. تعمل DAO نموذجية بقاعدة بسيطة: يُحتاج 67% من الأعضاء لاتخاذ قرارات الإنفاق أو تعديل كود المنظمة. يمكن للأعضاء تقديم مقترحات والتصويت عليها، وإذا حصل مقترح على دعم كافٍ، ينفذ العقد القرار تلقائياً. يمكن أن تكون حصص العضوية قابلة للنقل، مما يسمح بسوق سائلة لمشاركة DAO، ويمكن أن يكون لفئات مختلفة من الحصص حقوق تصويت أو مطالبات اقتصادية مختلفة.
أبسط تصميم DAO هو عقد ذاتي التعديل يحافظ على قائمة بالأعضاء ويتطلب تصويت أغلبية 2/3 لتغيير أي جانب من العقد، بما في ذلك قواعد التصويت الخاصة به. سيقدم الأعضاء تغييرات الكود كمعاملات، وسيصوت أعضاء آخرون، وعند الوصول إلى العتبة، سيُحدث العقد نفسه. قد تتضمن التصاميم الأكثر تطوراً أنظمة تصويت مُفوضة حيث يمكن للأعضاء تخصيص قوتهم التصويتية لممثلين، أو ديمقراطية سائلة حيث يمكن تفويض الأصوات ولكن استرجاعها في أي وقت للقرارات المهمة.
يمكن لـ DAOs أن تخدم أغراضاً متنوعة تتجاوز إدارة الأموال البسيطة. يمكن أن تعمل DAO كشركة لامركزية، توظف المقاولين وتشتري الخدمات وتوزع الأرباح على المساهمين—كل ذلك يحكمه كود smart contract بدلاً من الهياكل القانونية التقليدية. يمكن أن تعمل كصندوق استثمار لامركزي، حيث يصوت الأعضاء على المشاريع التي يُموّلونها. يمكن أن تدير مورداً مشتركاً، حيث يصوت أصحاب المصلحة على قواعد التخصيص. الفكرة الرئيسية هي أنه بترميز قواعد الحوكمة في كود شفاف وغير قابل للتغيير وربطها بحصة اقتصادية، يمكن لـ DAOs تنسيق قرارات المجموعة دون الحاجة إلى إدارة هرمية تقليدية أو إنفاذ قانوني.
Decentralized Autonomous Organizations
去中心化自治组织(DAO)是一个虚拟实体,拥有一组成员或股东,他们共同有权花费该实体的资金并修改其代码。典型的DAO遵循一个简单规则:需要67%的成员同意才能做出支出决定或修改组织的代码。成员可以提交提案、对提案投票,如果提案获得足够支持,合约将自动执行该决定。成员份额可以是可转让的,允许DAO参与权的流动市场,不同类别的份额可以拥有不同的投票权或经济权益。
最简单的DAO设计是一个自我修改的合约,维护一个成员列表,并要求三分之二多数投票来更改合约的任何方面,包括其自身的投票规则。成员以交易的形式提交代码变更,其他成员投票,达到阈值后合约将自行更新。更复杂的设计可能包括委托投票系统,成员可以将投票权分配给代表,或者流动民主,投票可以被委托但在重要决定时可以随时收回。
DAO可以服务于超越简单资金管理的各种目的。DAO可以作为去中心化公司运作,雇佣承包商、购买服务并向股东分配利润——所有这些都由智能合约代码而非传统法律结构治理。它可以作为去中心化投资基金运作,由成员投票决定资助哪些项目。它可以管理公共资源,由利益相关者投票决定分配规则。关键洞察在于,通过将治理规则编码为透明的、不可变的代码并将其与经济利益绑定,DAO可以在不需要传统等级管理或法律执行的情况下协调群体决策。
Further Applications
إلى جانب الفئات الرئيسية التي نوقشت بالفعل، يُمكّن Ethereum العديد من التطبيقات الأخرى. يمكن لمحافظ التوفير ذات ميزات الأمان المتطورة فرض حدود سحب يومية مع توفير مفاتيح طوارئ للاسترداد، مما يحمي المستخدمين من السرقة مع الحفاظ على السيطرة النهائية. يمكن لعقود التأمين على المحاصيل الدفع تلقائياً للمزارعين بناءً على تغذيات بيانات الطقس، مما يُلغي معالجة المطالبات ويقلل النفقات الإدارية. يمكن لتطبيقات المقامرة من نظير إلى نظير العمل دون أي وسيط موثوق، حيث تحتفظ العقود الذكية بالرهانات وتدفع تلقائياً للفائزين بناءً على أرقام عشوائية قابلة للتحقق أو بيانات أحداث العالم الحقيقي.
تسمح أسواق التنبؤ على السلسلة للمستخدمين بالمراهنة على أحداث مستقبلية، مما يُنشئ آليات تنبؤ قوية من خلال حكمة الجماهير. يمكن تعزيزها ببروتوكولات على غرار SchellingCoin لإنشاء oracles لامركزية: يُبلّغ المشاركون بشكل مستقل عن البيانات (مثل نتائج الانتخابات أو أحوال الطقس)، ويتلقى من تتطابق تقاريرهم مع الأغلبية مكافآت بينما يُعاقب المنحرفون. يُحفز هذا النهج الاقتصادي التشفيري الإبلاغ الصادق ويمكن أن يوفر بيانات العالم الحقيقي الموثوقة لعقود أخرى دون الحاجة إلى الثقة في أي مزود oracle واحد.
تمثل محافظ التوقيع المتعدد تطبيقاً مهماً آخر، مما يُمكّن من التحكم المشترك في الأموال بين أطراف متعددة. قد تتطلب محفظة multi-sig بنمط 2-of-3 موافقة أي طرفين من ثلاثة أطراف معينة على المعاملة قبل إنفاق الأموال، وهو مفيد لترتيبات الضمان أو خزائن الشركات أو الأمان الشخصي. يمكن للأسواق اللامركزية أن تجمع بين أنظمة الهوية ودرجات السمعة وعقود الضمان وآليات حل النزاعات لتمكين التجارة من نظير إلى نظير دون منصات مركزية. يُظهر كل من هذه التطبيقات كيف تُمكّن قابلية Ethereum للبرمجة نماذج ثقة وهياكل تنظيمية جديدة.
Further Applications
除了已经讨论的主要类别之外,以太坊还支持众多其他应用。带有复杂安全功能的储蓄钱包可以施加每日提取限额,同时提供用于恢复的紧急密钥,在保持最终控制权的同时保护用户免受盗窃。农作物保险合约可以根据天气数据源自动向农民支付赔偿,消除理赔处理过程并减少管理开销。点对点赌博应用可以在没有任何可信中介的情况下运作,智能合约持有赌注并根据可验证的随机数或现实世界的事件数据自动向赢家支付。
链上预测市场允许用户对未来事件下注,通过群体智慧创建强大的预测机制。这些可以通过谢林币(SchellingCoin)风格的协议来增强,以创建去中心化预言机:参与者独立报告数据(如选举结果或天气状况),与多数一致的报告获得奖励,而异常值则受到惩罚。这种加密经济方法激励诚实报告,可以为其他合约提供可靠的现实世界数据,而无需信任任何单一预言机提供者。
多重签名钱包是另一个重要应用,实现多方对资金的共同控制。一个2-of-3多重签名钱包可能要求三个指定方中的任意两个批准交易才能花费资金,适用于托管安排、企业金库或个人安全。去中心化市场可以结合身份系统、信誉评分、托管合约和争议解决机制来实现无需中心化平台的点对点商务。这些应用中的每一个都展示了以太坊的可编程性如何实现新的信任模型和组织结构。
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 يقبلونه، حامياً موارد الشبكة.

تبقى قابلية التوسع مصدر قلق كبير، حيث يجب على كل عقدة كاملة معالجة كل معاملة للتحقق من الحالة. تُعاني بنى blockchain الحالية لمطابقة إنتاجية المعاملات في الأنظمة المركزية. تشمل الحلول المحتملة تجزئة الحالة، حيث تُعالج عقد مختلفة مجموعات فرعية مختلفة من المعاملات، والانتقال من proof-of-work إلى إجماع proof-of-stake، الذي يمكن أن يُمكّن إنتاج كتل أكثر كفاءة. يمكن للعملاء الخفيفين الذين يستخدمون إثباتات Merkle التحقق من المعاملات دون معالجة جميع الكتل، لكن يجب أن يُعالج شخص ما كل شيء. تمثل تحديات قابلية التوسع هذه مجالات نشطة للبحث والتطوير حاسمة لجدوى Ethereum على المدى الطويل.
Miscellanea And Concerns
以太坊对修改版GHOST协议的实现包括叔块纳入和奖励的具体规则。叔块必须是当前区块祖先的直接子块(回溯2到7代),必须是有效的区块头,必须与之前的叔块不同,且不能是当前区块的直接祖先。叔块获得标准区块奖励的87.5%,而包含叔块的区块每包含一个叔块获得额外3.125%的奖励(最多两个叔块)。这种激励结构鼓励矿工引用他们观察到的孤块,增强网络安全,同时奖励在网络传播中暂时运气不佳的矿工。
费用系统基于"燃料"的概念,每个计算操作都有固定的燃料成本。例如,一次乘法运算消耗5个燃料单位,一次SHA256哈希运算消耗20个燃料单位,每笔交易的基础成本为21,000个燃料单位。用户指定燃料上限(愿意消耗的最大燃料量)和燃料价格(每单位燃料愿意支付的以太币数量)。这个系统有多重目的:通过确保所有计算都需要付费来防止无限循环和拒绝服务攻击,创建一个用户通过燃料价格竞价的区块空间市场,并允许矿工设定愿意接受的最低燃料价格来保护网络资源。

可扩展性仍然是一个重大关切,因为每个全节点必须处理每笔交易以验证状态。当前的区块链架构难以匹配中心化系统的交易吞吐量。潜在的解决方案包括状态分片——不同节点处理不同的交易子集,以及从工作量证明向权益证明共识的转变——这可以实现更高效的区块生产。使用默克尔证明的轻客户端可以在不处理所有区块的情况下验证交易,但总得有人处理所有内容。这些可扩展性挑战代表了对以太坊长期可行性至关重要的活跃研究和开发领域。
Conclusion
صُمم بروتوكول Ethereum في الأصل كنسخة مُحسّنة من عملة مشفرة، توفر ميزات متقدمة مثل الضمان على blockchain وحدود السحب والعقود المالية من خلال لغة برمجة عالية التعميم. ومع ذلك، يتجاوز بروتوكول Ethereum مجرد العملة بكثير. البروتوكولات حول تخزين الملفات اللامركزي والحوسبة اللامركزية وأسواق التنبؤ اللامركزية، من بين عشرات المفاهيم الأخرى، لديها القدرة على زيادة كفاءة صناعة الحوسبة بشكل كبير وتوفير دفعة هائلة لبروتوكولات نظير إلى نظير الأخرى بإضافة طبقة اقتصادية لأول مرة.
بدلاً من توفير مجموعة محدودة من العمليات المصممة لحالات استخدام محددة، يوفر Ethereum لغة برمجة Turing-complete تُمكّن المطورين من بناء أي تطبيق يمكنهم تصميمه. تريد اختراع مشتق مالي خاص بك؟ إنشاء عملتك الخاصة؟ إنشاء حكومة على blockchain؟ كل هذا قابل للتنفيذ بسهولة مع نظام Ethereum البرمجي. قوة المنصة لا تكمن في التنبؤ بالتطبيقات التي ستُبنى، بل في توفير البنية التحتية الأساسية التي تجعل بناءها سهلاً.
مفهوم دالة state transition عشوائية كما نُفذ بواسطة بروتوكول Ethereum يوفر منصة ذات إمكانات فريدة. بدلاً من أن يكون بروتوكولاً مغلقاً ذا غرض واحد مخصصاً لتطبيقات محددة في تخزين البيانات أو المقامرة أو المالية، فإن Ethereum مفتوح الأفق بتصميمه، ونعتقد أنه مناسب للغاية لخدمة طبقة أساسية لعدد كبير من البروتوكولات المالية وغير المالية في السنوات القادمة. التطبيقات التي ستُبنى على Ethereum في المستقبل قد تكون تطبيقات لا يمكننا حتى تخيلها اليوم، وتلك الإمكانية المفتوحة تمثل الوعد الحقيقي للمنصة.
Conclusion
以太坊协议最初被构想为加密货币的升级版本,通过高度通用的编程语言提供链上托管、提取限额和金融合约等高级功能。然而,以太坊协议远不止于货币。围绕去中心化文件存储、去中心化计算和去中心化预测市场的协议,以及数十个其他概念,有潜力大幅提高计算行业的效率,并通过首次添加经济层为其他点对点协议提供巨大推动力。
以太坊不是提供为特定用例设计的有限操作集,而是提供一种图灵完备的编程语言,使开发者能够构建他们所能设计的任何应用。想要发明自己的金融衍生品?创建自己的货币?在区块链上建立一个政府?这些在以太坊的脚本系统中都可以轻而易举地实现。该平台的力量不在于预测将构建什么应用,而在于提供使构建这些应用变得容易的基础设施。
以太坊协议实现的任意状态转换函数的概念提供了一个具有独特潜力的平台。以太坊不是一个封闭的、面向特定数据存储、赌博或金融应用的单一用途协议,而是在设计上就是开放式的,我们相信它极其适合在未来数年中作为大量金融和非金融协议的基础层。未来在以太坊上构建的应用可能是我们今天甚至无法想象的,而这种开放式的可能性代表了该平台的真正前景。
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
以太坊白皮书建立在加密货币和分布式系统研究的大量先前工作之上。基础性的比特币协议在中本聪2008年的原始论文《比特币:一种点对点电子现金系统》中进行了描述,该论文引入了基于区块链的数字货币概念。早期扩展比特币功能的尝试包括域名币——一个去中心化的域名注册系统,展示了货币之外的区块链应用,尽管受限于比特币的脚本能力。
彩色币白皮书提出了一种通过"着色"特定比特币来在比特币区块链上表示替代资产的方法,而万事达币试图在比特币之上创建一个用于更复杂金融工具的协议层。两者都凸显了在比特币之上构建的局限性,并推动了对更灵活平台的需求。去中心化自治公司的概念在《比特币杂志》中进行了探讨,为通过智能合约进行组织治理提供了理论基础。
关键技术组件包括用于轻客户端的简化支付验证(SPV)、用于高效数据验证的默克尔树,以及用于以太坊状态表示的帕特里夏树。GHOST(贪婪最重观察子树)协议在2013年的一篇密码学论文中进行了描述,解决了快速出块时间带来的安全问题,构成了以太坊共识机制的基础。这些参考文献代表了以太坊所建立的知识基础,结合了加密货币、分布式系统、密码学和博弈论的洞见,创建了一个通用区块链平台。