كان هناك الكثير من النقاش مؤخرًا حول زيادة حد الغاز لكتل الإيثيريوم. يدافع البعض عن زيادة أحجام الكتل بناءً على قانون مور، والبعض يعتمد على الحدس الشخصي، والبعض الآخر ينشر الكلمة فقط، ولا يزال البعض الآخر يشعر بالقلق من أن سلاسل أخرى مثل Solana سوف تتفوق على Ethereum من حيث اعتماد المستخدم على نطاق واسع.
بعد ذلك، أريد عرض بعض المخططات والبيانات، والتي قد تساعدنا في إنشاء فرضية دون التأثير على اللامركزية في Ethereum. اتخذ قرارًا لتحقيق أقصى استفادة حد الغاز.
ابدأ من البداية
على عكس Bitcoin، لا يوجد Ethereum. حد ثابت لحجم الكتلة، ولكنه يعتمد بدلاً من ذلك على آلية حجم الكتلة المرنة التي يتم قياسها في بعض وحدات "الغاز". في الايثيريوم، الغاز هو وحدة تقيس مقدار العمليات الحسابية المطلوبة لتنفيذ عملية ما، مثل المعاملة أو العقد الذكي. تتطلب كل عملية في الإيثريوم كمية معينة من الغاز لإكمالها، ولكل كتلة غطاء غاز، والذي يحدد عدد العمليات التي يمكن أن تحتويها الكتلة.
في البداية، في عام 2015، كان لدى Ethereum حد أعلى يبلغ 5000 غاز لكل كتلة. وسرعان ما تم رفع هذا الحد إلى حوالي 3 ملايين، ثم إلى حوالي 4.7 مليون في وقت لاحق من عام 2016. مع تنفيذ الشوكة الصلبة Tangerine Whistle (EIP-150) في عام 2016 ردًا على هجمات DoS، تمت زيادة الحد الأقصى للغاز إلى 5.5 مليون من خلال إعادة تسعير العديد من أكواد التشغيل المكثفة لعمليات الإدخال والإخراج. وبعد هذه الهجمات، واصل عمال المناجم زيادة حد الغاز إلى نحو 6.7 مليون في يوليو 2017، وإلى نحو 8 ملايين في ديسمبر 2017، وإلى نحو 10 ملايين في سبتمبر 2019، وإلى نحو 10 ملايين في أغسطس 2020. وفي النهاية إلى ما يقرب من 15 مليونًا في 3 أبريل 2021.
منذ ذلك الحين ، تم تحسين أسعار بعض أكواد التشغيل بشكل أكبر من خلال تنشيط الشوكات الصلبة Spurious Dragon وByzantium وConstantinople وIstanbul وبرلين. تتضمن أمثلة هذه التحسينات EIP-145، وEIP-160، وEIP-1052، وEIP-1108، وEIP-1884، وEIP-2028، وEIP-2200، وEIP-2565، وEIP-2929.
حدث التغيير الأكثر أهمية في سوق رسوم Ethereum مع تقديم هارد فورك لندن (EIP-1559) في أغسطس 2021. يقدم EIP-1559 رسومًا أساسية يتم ضبطها ديناميكيًا بمرور الوقت/ارتفاع الكتلة بناءً على الطلب على مساحة الكتلة. كما تم تقديم "الحجم المستهدف" الذي حدده بـ 15 مليون غاز لكل كتلة. يُستخدم هذا الهدف لتوجيه التعديل الديناميكي للرسوم الأساسية. إذا تجاوز إجمالي كمية الغاز المستخدمة في الكتلة هذا الهدف، فستزيد الرسوم الأساسية للكتلة التالية. وعلى العكس من ذلك، إذا كانت الكمية الإجمالية للغاز المستخدم أقل من الهدف، يتم تخفيض الرسوم الأساسية. تهدف هذه الآلية إلى إنشاء سوق رسوم أكثر قابلية للتنبؤ بها وتحسين تجربة المستخدم من خلال تثبيت النفقات العامة للمعاملات. بالإضافة إلى ذلك، قدم EIP-1559 أيضًا آلية لتدمير الرسوم الأساسية، مما أدى إلى إزالة هذا الجزء من الأثير من التداول بشكل دائم. وهذا يعزز استدامة البروتوكول مع إنشاء ما يسمى بميم النقود فائقة الصوت.
بموجب EIP-1559، يوجد أيضًا حد أقصى (أو "الحد الأقصى") للغاز، والذي تم ضبطه على ضعف الهدف، وهو 30 مليون غاز . وهذا يعني أن الكتلة يمكنها حزم المعاملات باستخدام إجمالي يصل إلى 30 مليون غاز.
< قوي>منذ ذلك الحين، ظل غطاء غاز كتلة الإيثريوم دون تغيير، واعتبارًا من عام 2024، لا يزال 30 مليون غاز لكل كتلة.
هل نحن مستعدون لزيادة حجم الكتلة؟
في الآونة الأخيرة، أعرب بعض الأشخاص عن مخاوفهم بشأن حد الغاز الخاص بالإيثريوم وطالبوا بزيادته. في أحدث AMA لمؤسسة Ethereum على Reddit، قال Vitalik إنه يدرس فكرة زيادة غطاء الغاز بنسبة 33٪ إلى 40 مليونًا. يعتمد تفكيره على قانون مور، الذي ينص على أن عدد الترانزستورات الموجودة على الرقاقة الدقيقة يتضاعف كل عامين تقريبًا، مما يسمح بزيادة مقابلة في قوة الحوسبة. ويشير هذا المبدأ إلى أن أداء الشبكة، بما في ذلك القدرة على معالجة المعاملات وتنفيذها، يمكن أن يتزايد أيضًا بمرور الوقت.
يدعم الباحثون Dankrad وAnsgar من مؤسسة Ethereum أيضًا فكرة زيادة غطاء الغاز بعد تقييم الوضع بعد ترقية Dencun. بالإضافة إلى ذلك، نشر باري من مؤسسة إيثريوم منشورًا يستكشف الطرق المحتملة لزيادة غطاء الغاز. أعرب آخرون مثل بيتر وماريوس من جيث عن مخاوفهم بشأن زيادة غطاء الغاز، خاصة بدون وجود الأدوات/المراقبة المناسبة. ترتبط هذه المخاوف في المقام الأول بقضايا مثل نمو الحالة المتسارع، ووقت المزامنة، ومعدلات كتلة إعادة التنظيم.
ما هو حجم الكتلة؟
يمكن قياس حجم الكتلة بطريقتين:
استخدام الغاز
p >
حجم الكتلة بالبايت
على الرغم من أن هذين المقياسين مرتبطان، إلا أنه يجب النظر إليهما بشكل مستقل.
على سبيل المثال، قد تكون الكتلة التي تحتوي على العديد من بايتات بيانات الاتصال غير الصفرية كبيرة في حجم البايت، في حين أن الاستخدام الفعلي للغاز (لكل قسم من الكلمات غير الصفرية يتطلب 16 بايتًا) الغاز) والذي ربما لا يزال صغيرًا نسبيًا.
بغض النظر عن حالة الضغط في الوقت الحالي، مع مراعاة حد Geth البالغ 128 كيلو بايت لكل معاملة،الحد الأقصى للكتلة التي يمكن تحقيقها حاليًا هو 6.88 تقريبًا ميغابايت. ستؤدي هذه الكتلة إلى زيادة عدد المعاملات التي يبلغ حجمها 128 كيلو بايت المضمنة فيها. يؤدي هذا في الواقع إلى 55 معاملة تحتوي على حوالي 130,900 بايت من بيانات الاتصال صفر بايت (4 غاز لكل بايت)، ومعاملة واحدة تملأ المساحة المتبقية. ومع ذلك، بعد الضغط السريع، يبلغ الحجم النهائي لهذه الكتلة حوالي 0.32 ميجابايت، وهو حجم ضئيل.
في حالة أخرى، مع الأخذ في الاعتبار الحد الأقصى لحجم الكتلة الممكن، بما في ذلك 15 معاملة تحمل بيانات استدعاء بايت غير صفرية، يمكن أن يصل الحجم المضغوط إلى 1.77 ميجابايت تقريبًا.
وهكذا، اعتبارًا من اليوم، يمثل 1.77 ميجا بايت الحد الحقيقي لحجم الكتلة لكتل طبقة التنفيذ.
ملاحظة المترجم:
في الفقرات أعلاه، يريد المؤلف أن قم بتعظيم حجم الكتلة عندما يكون الحد الأعلى للغاز ثابتًا عند 30 M، ويحاول حساب الحد الأقصى لحجم الكتلة التي يمكن ملؤها.
إذا قمت بإصلاح الحد الأعلى للغاز وجعل حجم الكتلة أكبر، فيمكنك فقط تعبئة بيانات المكالمات (لأنه لن يتم استهلاك الرموز الثانوية مثل الحساب/STORE) كتلة مساحة التخزين).
لذلك، لتكبير الكتلة، لا يعدو الأمر سوى ملء المعاملة ببيانات الاتصال قدر الإمكان. ثم هناك طريقتان: "plug 0 calldata" و"plug 0 calldata" ويتطلب الأمر حسابًا لمعرفة أيهما يمكنه زيادة حجم الكتلة. والنتيجة النهائية هي أن حجم كتلة "Sephi0 calldata" أكبر.
استنادًا إلى فرضية أن عميل Geth يحد من حجم كل معاملة بحد أقصى 128 كيلوبايت، تم حساب مثالين أدناه.
الحالة 1: 56 معاملة بحجم 130,900 B (< 128 كيلوبايت) (جميعها بدون بيانات اتصال، 4 غاز/ ب): الغاز المستخدم = 56* (130,900*4+21000) = 30497600 >(30 م)، لذلك يمكن إدراج 55 معاملة فقط من المعاملات المذكورة أعلاه + معاملة واحدة أصغر من المعاملة المذكورة أعلاه على الأكثر. ويبلغ حجم الكتلة المقابلة حوالي 55*128 = 7040 كيلو بايت = 6.875 ميجابايت. ومع ذلك، نظرًا لأن بيانات الاستدعاء كلها عبارة عن أصفار، فإن حجم الكتلة المضغوطة يبلغ حوالي 0.32 ميجابايت.
الحالة 2: 15 معاملة بحجم 130,900 B (< 128 كيلوبايت) (جميعها ببيانات اتصال غير صفرية، 16 غاز/ب): الغاز المستخدم = 15 *(130900*16+21000) = 31731000 > 30 م. حجم الكتلة المقابل هو حوالي 14 * 128 = 1792 كيلو بايت = 1.75 ميجابايت ~ 15 * 128 = 1.875 ميجابايت. ومع ذلك، نظرًا لأن بيانات الاستدعاء ليست صفرية، فليس من السهل ضغطها، لذا يبلغ حجم الكتلة المضغوطة حوالي 1.77 ميجابايت. )
فيما يتعلق بهذا الحد الأقصى لحجم الكتلة، يمكننا تحديد عدة عوامل تؤثر عليه:
غطاء الغاز: ليس هناك شك في أن غطاء الغاز سيؤثر على الحد الأقصى لحجم الكتلة. كلما ارتفع الحد، كلما أمكن حشر المزيد من البيانات في الكتلة.
تسعير العمليات والبيانات: كلما كان الغاز أرخص لعملية ما، زاد عدد العمليات التي يمكن تنفيذها داخل الكتلة. على الرغم من أن العمليات مثل CALLDATALOAD أو CALLDATACOPY تكلف 3 بنزين وهي رخيصة نسبيًا؛ إلا أن أكواد التشغيل الأخرى مثل < code>CREATE هو أكثر تكلفة. كلما زادت تكلفة أكواد التشغيل المستخدمة في الكتلة، قلت المساحة المتوفرة لبيانات الاتصال (أو العمليات الأخرى) في تلك الكتلة.
قيود العميل: على الرغم من أن تأثير قيود العميل ليس واضحًا جدًا، على سبيل المثال، يفرض عميل Geth قيودًا على كل معاملة. يمكن أن يؤثر حد 128 كيلو بايت أيضًا على حجم الكتلة النهائي. نظرًا لأن الرسوم الثابتة لكل معاملة هي 21 ألف غاز، فكلما انخفض الحد الأقصى لحجم المعاملة للعميل، زاد عدد مرات حاجته إلى دفع الرسوم الثابتة، وبالتالي "إضاعة" ما يمكن استخدامه لبيانات الاتصال. الغاز. لذا، في النهاية، يمكن أن يؤدي هذا الحد إلى تقليل حجم الكتلة بحد أقصى يبلغ حوالي 0.07 ميجابايت. تجدر الإشارة إلى أن قيود العميل تؤثر فقط على بث المعاملات ولا تؤثر على الكتل التي تم تأكيدها.
أولاً، دعونا نلقي نظرة على حد الغاز لكل كتلة:
الكتل مثل سلسلة Ethereum ترفع مستوى الحد الأعلى لكتلة الغاز هو الطريقة الأكثر مباشرة ووضوحًا لتوسيع السعة. السقف الأعلى يعني مساحة أكبر للبيانات. ومع ذلك، هذا يعني أيضًا أن كل شخص يقوم بتشغيل عقدة كاملة يحتاج إلى نشر وتنزيل كتل أكبر. كما هو موضح في الشكل أعلاه، فإن حجم الكتلة ضمن "السيناريو الأسوأ (أي الحد الأقصى لحجم الكتلة المحسوب مسبقًا)" له علاقة خطية تقريبًا مع الزيادة في الحد الأعلى لكتلة الغاز. يتم تحقيق الحد الأقصى لحجم الكتلة عن طريق إنشاء كتل مليئة بأكبر عدد ممكن من معاملات بيانات الاتصال بالبايت غير الصفرية.
بعد ذلك، دعونا نلقي نظرة على عامل مؤثر آخر - آلية تسعير Ethereum. في المثال الحالي، على وجه التحديد، تم تعيين الحمل الزائد للبايتات غير الصفرية calldata حاليًا على 16 غاز:
كما هو موضح في الشكل يوضح ما سبق أن إضافة حمل غير صفري لبيانات الاتصال سيؤدي إلى تقليل حجم الكتلة. بمعنى آخر، يؤدي تقليل الحمل إلى 8 غازات لكل بايت على سبيل المثال إلى مضاعفة حجم الكتلة في أسوأ الحالات. يعد هذا أمرًا بديهيًا لأن خفض السعر يسمح بوضع ضعف كمية البيانات في الكتلة.
فماذا يحدث بعد اتصال EIP-4844 (Proto-Danksharding) بالإنترنت؟
لن أخوض في تفاصيل حول 4844 هنا، حيث توجد وثائق جيدة على eip4844.com، ولكن باختصار، يقدم EIP-4844 شيئًا مثل " Sidecar (Sidecar)" نوع بيانات منظم، يُسمى blob، يمكن أن تحتوي كل نقطة على حوالي 125 كيلو بايت من البيانات. تشبه آلية رسوم بيانات Blob EIP-1559، ويوجد أيضًا "هدف" يستخدم لتثبيت عدد النقط. في شوكة Dencun الصلبة، تم تعيين الهدف على 3 نقاط لكل كتلة وتم تعيين الحد الأقصى على 6 نقاط لكل كتلة. ومن الجدير بالذكر أن blob لديها سوق رسوم خاص بها، مما يخلق ما يسمى بسوق الرسوم متعدد الأبعاد. وهذا يعني أن النقط الكبيرة لا يتعين عليها التنافس مع المعاملات القياسية، ولكن بدلاً من ذلك يتم فصلها عن الرسوم بموجب آلية EIP-1559.
حتى الآن، الأمر جيد جدًا. دعونا نرى كيف تؤثر هذه الترقية على متوسط حجم كتلة الإيثريوم.
اعتبارًا من اليوم، يبلغ متوسط حجم الكتلة لكتلة سلسلة الإشارات المضغوطة باستخدام snappy حوالي 125 كيلو بايت. مع 4844، نضيف 375 كيلو بايت أخرى لكل كتلة، وبالتالي زيادة متوسط حجم الكتلة الحالي بمقدار 4x. إذا تم الوصول إلى الحد الأقصى لعدد النقط، فإننا نزيد حجم الكتلة الحالية سبع مرات.
يزيد حجم الكتلة الأسوأ من حوالي 1.77 ميجابايت إلى حوالي 2.5 ميجابايت. لا يأخذ هذا التقدير في الاعتبار جزء CL (طبقة الإجماع) من الكتلة. وبغض النظر عن ذلك، يجب أن نكون مستعدين لحجم الكتلة الأقصى هذا في حالة حدوث هجوم DoS.
الملخص
في النهاية، إذا أردنا زيادة حد الغاز الحالي، فنحن بحاجة لإجراء بحث وتحليل شامل قبل التنفيذ. في حين أن الكيانات القائمة مثل Coinbase أو Binance أو Kraken أو Lido يمكنها التعامل مع ما يتجاوز 40 مليون كتلة من الحد الأقصى للغاز، فقد يواجه أصحاب المصلحة المستقلون وقتًا أكثر صعوبة.
لذلك، يجب دراسة مثل هذه القرارات بعناية لضمان عدم التضحية باللامركزية.
في النهاية، من السهل نسبيًا بناء شيء كبير وقوي مثل Facebook، ولكن من المهم ألا نفقد ما يسعى إليه معظمنا: الرحيل المركزية. ص>
Preview
احصل على فهم أوسع لصناعة العملات المشفرة من خلال التقارير الإعلامية، وشارك في مناقشات متعمقة مع المؤلفين والقراء الآخرين ذوي التفكير المماثل. مرحبًا بك للانضمام إلينا في مجتمع Coinlive المتنامي:https://t.me/CoinliveSG