عنوان مُعاد توجيهه: تصميم عقد ذكي: انظر كيف يوزع stETH أرباحًا تلقائيًا يوميًا؟ دع ETH الخاص بك يشارك في الرهن لكسب فوائد مستقرة.
قام المؤلف بتحويل كمية صغيرة من الإيثر (ETH) إلى إيثر مستقر (stETH) واكتشف أن كمية stETH زادت بشكل طبيعي كل يوم، مما أسفر عن تحقيق أرباح مستمرة. ومع ذلك، لم تكن هناك سجلات معاملات مرئية في الحساب. لماذا؟ ستستكشف هذه المقالة التصميم الذكي الكامن وتكشف سر توزيع الأرباح.
1 stETH قد حققت بعض الأرباح بعد عدة أيام.
قبل الانغماس في كيفية كسب الأرباح من stETH، دعونا نقدم أولاً المنطق الذي يقف وراء ذلك، وهو تجزئة Ethereum. يمكن للقراء الذين يعرفون بالفعل هذا المفهوم تخطيه.
في البداية، استخدمت إيثريوم، مثل بيتكوين، دليل العمل (PoW) كآلية توافقها. ومع ذلك، بسبب المخاوف من استهلاك الطاقة والأمان والقابلية للتوسيع، انتقلت إيثريوم إلى دليل الحصة (PoS) في سبتمبر 2022.
سابقاً كان يعتمد على قوة التعدين لتحقيق التوافق، والآن يعتمد Ethereum على مشاركين يراهنون ETH للحصول على حقوق التصويت وكسب المكافآت من خلال التصويت. هذا يحفز التوافق من خلال PoS.
من خلال رهن 32 ETH، يمكن للشخص الانضمام إلى شبكة Ethereum كمُحقق، مسؤول عن تخزين البيانات ومعالجة المعاملات وإضافة كتل جديدة إلى سلسلة الكتل. يتلقى المحققون مكافآت ETH عن تجميع المعاملات بشكل صحيح في كتل جديدة والتحقق من عمل المحققين الآخرين، مما يسمح بعوائد مستقرة نسبيا من خلال الرهن.
ومع ذلك ، فإن التخزين التقليدي مرهق للمستخدمين العاديين ، لأنه يتطلب 32 ETH وجهاز كمبيوتر مخصص مع وصول غير متقطع إلى شبكة Ethereum. بالإضافة إلى ذلك ، فإن تخزين ETH يحبس السيولة. ومن هنا جاء ظهور مشتقات التخزين السائل (LSD) ، التي تهدف إلى معالجة الحواجز وقضايا السيولة في التخزين التقليدي. يسمح LSD للمستخدمين بتخزين أقل من 32 ETH وتفويض ETH الخاص بهم إلى موفري Staking التابعين لجهات خارجية ، وتلقي رموز Staking المقابلة (مثل StETH من Lido أو rETH من Rocket Pool). يمكن تداول هذه الرموز السائلة أو اقتراضها أو استخدامها في أنشطة مالية أخرى على منصات مختلفة ، مما يتيح للمستخدمين المشاركة في التخزين بشكل أكثر ملاءمة مع الحفاظ على السيولة.
إذا، المنطق الأساسي وراء stETH هو أن يقدم المستخدمون ETH الخاص بهم إلى Lido، الذي يستخدم بدوره هذه الETH للمشاركة في PoS لإثراء Ethereum. وبمقابل ذلك، يتلقى المستخدمون stETH كدليل على مشاركتهم. بعد ذلك، يوزع Lido الأرباح على العناوين التي تحمل stETH.
يمكننا ملاحظة أن أرباح stETH تُحدَّث تلقائيًّا كل يوم. يوضح الرسم البياني التالي الوضع الربحي الذي اختبرناه، ويمكن للمستخدمين التحقق من المحتوى ذي الصلة بمحافظهم المشفّرة يوميًّا.
في هذه النقطة، قد يتساءل أولئك الذين يعرفون تطوير العقود الذكية: مع أرباح يومية صغيرة من هذا القبيل، هل هي كافية حتى لتغطية رسوم الغاز؟
في الواقع، إذا كان من المفترض أن يقوم ليدو بتوزيع الأرباح باستخدام أبسط الطرق، فمن المحتمل أن يواجه صعوبة في تغطية تكلفة الغاز. إرسال الرموز إلى عدد كبير من العناوين سيتطلب رسوم غاز كبيرة، والتي قد لا تكون ممكنة.
ومع ذلك، تمكنت ليدو من تحقيق نمو أرباح تلقائي في حيازات stETH داخل المحافظ دون وجود أي معاملات ظاهرة. كيف هذا ممكن؟
لقد وجدنا عقد ليدو في https://etherscan.io/token/0xae7ab96520de3a18e5e111b5eaab095312d7fe84 وتتبعت طريقة balanceOf في العقد.
تتوافق طريقة balanceOf مع معيار ERC20 وتستخدمها المحافظ لاسترداد كمية الرموز المملوكة من قبل المستخدم.
في عقد stETH، نرى أنه يستدعي طريقة getPooledEthByShares. تأخذ هذه الطريقة التصويب (عنوان => uint256) الخاص بالأسهم؛ كمدخلات. هل يمثل هذا كم يمتلك المستخدم من stETH؟ بوضوح لا، حيث أن تحديث البيانات لكل عنوان يوميًا سيكون غير عملي. بينما يمكن تحديث الأسهم في صفقة واحدة تحقيق ذلك، إلا أن استهلاك الغاز سيظل كبيرا.
حتى الآن، قد تكونوا قد تخمنتم كيف يعمل العقد. دعونا نواصل فحص طريقة getPooledEthByShares.
يمكن ملاحظة أن النتيجة النهائية تم الحصول عليها عن طريق ضرب كمية الأسهم في العنوان بـ _getTotalPooledEther() والقسمة على _getTotalShares.
_getTotalPooledEther يمثل القيمة الإجمالية ل stETH (والتي، إذا كان stETH مرتبطًا ب ETH بنسبة 1:1، فإنه يمثل أيضًا القيمة الإجمالية ل ETH)، بينما يمثل _getTotalShares العدد الإجمالي للأسهم. من خلال هذا الحساب، يتم تحديد كمية stETH المملوكة لكل عنوان بشكل ديناميكي.
على سبيل المثال، إذا كان هناك مجموع 1000 سهم، وكان لدى العنوان A 100 سهم (كما يمثله sharesAmount)، وكان إجمالي stETH 1000 (كما يُعيد من قِبل _getTotalPooledEther)، فبناءً على هذا الحساب، سيمتلك العنوان A 100 stETH.
الآن، إذا قام ليدو برهان مجموع 1000 ETH وحقق ربحاً بمقدار 1 ETH، وتحديث _getTotalPooledEther إلى 1001، مما يعني زيادة إجمالي stETH من 1000 إلى 1001. وبالتالي، فإن الحساب الجديد لعنوان A سيكون 100 * 1001 / 1000 = 100.1 stETH.
ببساطة، بينما تظل الأسهم التي تحتفظ بها كل عنوان ثابتة، يزيد stETH المقابل لتلك الأسهم. وبالتالي، عند إعادة الحساب، تزيد حتمًا ممتلكات stETH.
استمرارًا في الشيفرة، تتأثر المنطقية داخل _getTotalPooledEther بطريقة handleOracleReport التي تحدث البيانات ذات الصلة داخل العقد. يتم استدعاء هذه الطريقة بانتظام، ويحدث الاستدعاء النوعي من خلال العقد في https://etherscan.io/address/0x852deD011285fe67063a08005c71a85690503Cee, الذي يستدعي بانتظام submitReportData لتحديث البيانات (يستدعي submitReportData داخليًا handleOracleReport في عقد Lido):
يمكننا رؤية أن هناك مكالمات يومية لتحديث المحتوى ذي الصلة، مما يفسر لماذا، على الرغم من أننا لا نستطيع رؤية أي صفقة توزيع أرباح إلى عنواننا، إلا أن الرصيد يتغير كل يوم.
يوضح هذا سمة من العقود الذكية Ethereum ERC20: كمية الرموز المملوكة بواسطة العناوين ليست منشورة بشكل صعب ولكن تعود بواسطة طرق العقد. لذلك، من الممكن أن يتغير رصيد الرمز لعنوان حتى بدون أي معاملات. بينما تجعل هذه المرونة العقود ERC20 أكثر تنوعًا، يمكن أن تكون مربكة أيضًا بالنسبة لأولئك الذين غير عائلين بالعقود. آمل أن يساعد هذا المقال القراء في فهم العقود الذكية بشكل أفضل والتفاعل معها بشكل أكثر أمانًا وذكاءً.
علاوة على ذلك، في حين أن وضع ETH للحصول على stETH يبدو أنه يقدم مكافآت وضع ثابتة، هناك ما زالت مخاطر محتملة متضمنة. يعتبر هذا المقال استكشافًا تقنيًا لعقود الوضع ولا ينبغي تفسيره على أنه نصيحة استثمارية.
هذه المقالة مأخوذة من [ فريق ZANOriginal title “Ingenious contract design, see how stETH automatically distributes income on a daily basis? Let your ETH participate in staking to obtain stable interest”,Copyright belongs to the original authorZAN Team], إذا كان لديك أي اعتراضات على إعادة النشر، يرجى الاتصال بالبوابة تعلمالفريق، وسيتولى الفريق ذلك في أقرب وقت ممكن وفقا للإجراءات ذات الصلة.
تنويه: تعبر الآراء والآراء المعبر عنها في هذه المقالة فقط عن آراء الكاتب الشخصية ولا تشكل أي نصيحة استثمارية.
تترجم النسخ الأخرى من المقالة من قبل فريق Gate Learn ولا يتم ذكرها فيGate.io)، قد لا يُعاد نشر المقال المترجم أو توزيعه أو سرقته.
Share
Content
عنوان مُعاد توجيهه: تصميم عقد ذكي: انظر كيف يوزع stETH أرباحًا تلقائيًا يوميًا؟ دع ETH الخاص بك يشارك في الرهن لكسب فوائد مستقرة.
قام المؤلف بتحويل كمية صغيرة من الإيثر (ETH) إلى إيثر مستقر (stETH) واكتشف أن كمية stETH زادت بشكل طبيعي كل يوم، مما أسفر عن تحقيق أرباح مستمرة. ومع ذلك، لم تكن هناك سجلات معاملات مرئية في الحساب. لماذا؟ ستستكشف هذه المقالة التصميم الذكي الكامن وتكشف سر توزيع الأرباح.
1 stETH قد حققت بعض الأرباح بعد عدة أيام.
قبل الانغماس في كيفية كسب الأرباح من stETH، دعونا نقدم أولاً المنطق الذي يقف وراء ذلك، وهو تجزئة Ethereum. يمكن للقراء الذين يعرفون بالفعل هذا المفهوم تخطيه.
في البداية، استخدمت إيثريوم، مثل بيتكوين، دليل العمل (PoW) كآلية توافقها. ومع ذلك، بسبب المخاوف من استهلاك الطاقة والأمان والقابلية للتوسيع، انتقلت إيثريوم إلى دليل الحصة (PoS) في سبتمبر 2022.
سابقاً كان يعتمد على قوة التعدين لتحقيق التوافق، والآن يعتمد Ethereum على مشاركين يراهنون ETH للحصول على حقوق التصويت وكسب المكافآت من خلال التصويت. هذا يحفز التوافق من خلال PoS.
من خلال رهن 32 ETH، يمكن للشخص الانضمام إلى شبكة Ethereum كمُحقق، مسؤول عن تخزين البيانات ومعالجة المعاملات وإضافة كتل جديدة إلى سلسلة الكتل. يتلقى المحققون مكافآت ETH عن تجميع المعاملات بشكل صحيح في كتل جديدة والتحقق من عمل المحققين الآخرين، مما يسمح بعوائد مستقرة نسبيا من خلال الرهن.
ومع ذلك ، فإن التخزين التقليدي مرهق للمستخدمين العاديين ، لأنه يتطلب 32 ETH وجهاز كمبيوتر مخصص مع وصول غير متقطع إلى شبكة Ethereum. بالإضافة إلى ذلك ، فإن تخزين ETH يحبس السيولة. ومن هنا جاء ظهور مشتقات التخزين السائل (LSD) ، التي تهدف إلى معالجة الحواجز وقضايا السيولة في التخزين التقليدي. يسمح LSD للمستخدمين بتخزين أقل من 32 ETH وتفويض ETH الخاص بهم إلى موفري Staking التابعين لجهات خارجية ، وتلقي رموز Staking المقابلة (مثل StETH من Lido أو rETH من Rocket Pool). يمكن تداول هذه الرموز السائلة أو اقتراضها أو استخدامها في أنشطة مالية أخرى على منصات مختلفة ، مما يتيح للمستخدمين المشاركة في التخزين بشكل أكثر ملاءمة مع الحفاظ على السيولة.
إذا، المنطق الأساسي وراء stETH هو أن يقدم المستخدمون ETH الخاص بهم إلى Lido، الذي يستخدم بدوره هذه الETH للمشاركة في PoS لإثراء Ethereum. وبمقابل ذلك، يتلقى المستخدمون stETH كدليل على مشاركتهم. بعد ذلك، يوزع Lido الأرباح على العناوين التي تحمل stETH.
يمكننا ملاحظة أن أرباح stETH تُحدَّث تلقائيًّا كل يوم. يوضح الرسم البياني التالي الوضع الربحي الذي اختبرناه، ويمكن للمستخدمين التحقق من المحتوى ذي الصلة بمحافظهم المشفّرة يوميًّا.
في هذه النقطة، قد يتساءل أولئك الذين يعرفون تطوير العقود الذكية: مع أرباح يومية صغيرة من هذا القبيل، هل هي كافية حتى لتغطية رسوم الغاز؟
في الواقع، إذا كان من المفترض أن يقوم ليدو بتوزيع الأرباح باستخدام أبسط الطرق، فمن المحتمل أن يواجه صعوبة في تغطية تكلفة الغاز. إرسال الرموز إلى عدد كبير من العناوين سيتطلب رسوم غاز كبيرة، والتي قد لا تكون ممكنة.
ومع ذلك، تمكنت ليدو من تحقيق نمو أرباح تلقائي في حيازات stETH داخل المحافظ دون وجود أي معاملات ظاهرة. كيف هذا ممكن؟
لقد وجدنا عقد ليدو في https://etherscan.io/token/0xae7ab96520de3a18e5e111b5eaab095312d7fe84 وتتبعت طريقة balanceOf في العقد.
تتوافق طريقة balanceOf مع معيار ERC20 وتستخدمها المحافظ لاسترداد كمية الرموز المملوكة من قبل المستخدم.
في عقد stETH، نرى أنه يستدعي طريقة getPooledEthByShares. تأخذ هذه الطريقة التصويب (عنوان => uint256) الخاص بالأسهم؛ كمدخلات. هل يمثل هذا كم يمتلك المستخدم من stETH؟ بوضوح لا، حيث أن تحديث البيانات لكل عنوان يوميًا سيكون غير عملي. بينما يمكن تحديث الأسهم في صفقة واحدة تحقيق ذلك، إلا أن استهلاك الغاز سيظل كبيرا.
حتى الآن، قد تكونوا قد تخمنتم كيف يعمل العقد. دعونا نواصل فحص طريقة getPooledEthByShares.
يمكن ملاحظة أن النتيجة النهائية تم الحصول عليها عن طريق ضرب كمية الأسهم في العنوان بـ _getTotalPooledEther() والقسمة على _getTotalShares.
_getTotalPooledEther يمثل القيمة الإجمالية ل stETH (والتي، إذا كان stETH مرتبطًا ب ETH بنسبة 1:1، فإنه يمثل أيضًا القيمة الإجمالية ل ETH)، بينما يمثل _getTotalShares العدد الإجمالي للأسهم. من خلال هذا الحساب، يتم تحديد كمية stETH المملوكة لكل عنوان بشكل ديناميكي.
على سبيل المثال، إذا كان هناك مجموع 1000 سهم، وكان لدى العنوان A 100 سهم (كما يمثله sharesAmount)، وكان إجمالي stETH 1000 (كما يُعيد من قِبل _getTotalPooledEther)، فبناءً على هذا الحساب، سيمتلك العنوان A 100 stETH.
الآن، إذا قام ليدو برهان مجموع 1000 ETH وحقق ربحاً بمقدار 1 ETH، وتحديث _getTotalPooledEther إلى 1001، مما يعني زيادة إجمالي stETH من 1000 إلى 1001. وبالتالي، فإن الحساب الجديد لعنوان A سيكون 100 * 1001 / 1000 = 100.1 stETH.
ببساطة، بينما تظل الأسهم التي تحتفظ بها كل عنوان ثابتة، يزيد stETH المقابل لتلك الأسهم. وبالتالي، عند إعادة الحساب، تزيد حتمًا ممتلكات stETH.
استمرارًا في الشيفرة، تتأثر المنطقية داخل _getTotalPooledEther بطريقة handleOracleReport التي تحدث البيانات ذات الصلة داخل العقد. يتم استدعاء هذه الطريقة بانتظام، ويحدث الاستدعاء النوعي من خلال العقد في https://etherscan.io/address/0x852deD011285fe67063a08005c71a85690503Cee, الذي يستدعي بانتظام submitReportData لتحديث البيانات (يستدعي submitReportData داخليًا handleOracleReport في عقد Lido):
يمكننا رؤية أن هناك مكالمات يومية لتحديث المحتوى ذي الصلة، مما يفسر لماذا، على الرغم من أننا لا نستطيع رؤية أي صفقة توزيع أرباح إلى عنواننا، إلا أن الرصيد يتغير كل يوم.
يوضح هذا سمة من العقود الذكية Ethereum ERC20: كمية الرموز المملوكة بواسطة العناوين ليست منشورة بشكل صعب ولكن تعود بواسطة طرق العقد. لذلك، من الممكن أن يتغير رصيد الرمز لعنوان حتى بدون أي معاملات. بينما تجعل هذه المرونة العقود ERC20 أكثر تنوعًا، يمكن أن تكون مربكة أيضًا بالنسبة لأولئك الذين غير عائلين بالعقود. آمل أن يساعد هذا المقال القراء في فهم العقود الذكية بشكل أفضل والتفاعل معها بشكل أكثر أمانًا وذكاءً.
علاوة على ذلك، في حين أن وضع ETH للحصول على stETH يبدو أنه يقدم مكافآت وضع ثابتة، هناك ما زالت مخاطر محتملة متضمنة. يعتبر هذا المقال استكشافًا تقنيًا لعقود الوضع ولا ينبغي تفسيره على أنه نصيحة استثمارية.
هذه المقالة مأخوذة من [ فريق ZANOriginal title “Ingenious contract design, see how stETH automatically distributes income on a daily basis? Let your ETH participate in staking to obtain stable interest”,Copyright belongs to the original authorZAN Team], إذا كان لديك أي اعتراضات على إعادة النشر، يرجى الاتصال بالبوابة تعلمالفريق، وسيتولى الفريق ذلك في أقرب وقت ممكن وفقا للإجراءات ذات الصلة.
تنويه: تعبر الآراء والآراء المعبر عنها في هذه المقالة فقط عن آراء الكاتب الشخصية ولا تشكل أي نصيحة استثمارية.
تترجم النسخ الأخرى من المقالة من قبل فريق Gate Learn ولا يتم ذكرها فيGate.io)، قد لا يُعاد نشر المقال المترجم أو توزيعه أو سرقته.