أداة للكشف عن العقود الذكية المتحولة ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

أداة للكشف عن العقود الذكية المتحولة

يتمثل أحد الافتراضات الهامة لأمن Ethereum في أن رمز العقد الذكي غير قابل للتغيير وبالتالي لا يمكن تغييره بمجرد نشره على blockchain. في الممارسة العملية ، بعض العقود الذكية يمكن التغيير - حتى بعد نشرها. باستخدام بعض الحيل الذكية ، يمكنك إنشاء عقود ذكية متحولة "تغير المظهر أو الشكل"إلى شيء آخر - وبفهم ما يجعلهم ممكنين ، يمكنك اكتشافهم.

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

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

يجب على مستخدمي Web3 التعرف على التهديدات التي تشكلها العقود المتحولة حتى يتمكنوا من البحث عن الهجمات المحتملة وتجنبها. يمكن أن تساعد المحافظ وفهرسة blockchain من خلال تحذير المستخدمين قبل أن يتفاعلوا مع عقد ذكي قد يحتوي على خصائص متحولة. تهدف هذه الأداة إلى المساعدة في تثقيف الناس حول هذا التهديد المحتمل ... والدفاع ضده.

كشف العقود الذكية المتحولة

كاشف العقد المتحولة لقد قمت ببناء تحليلات لستة خصائص قد تشير إلى ما إذا كان العقد الذكي متحولًا.

    1. هل تم استخدام الشفرة المتحولة لنشر العقد؟ إذا كان الرمز الثنائي المتحولة المعروف - الكود الافتراضي ذي المستوى الأدنى القابل للقراءة والذي يتحول إلى عقود Ethereum الذكية ، والذي يتم كتابته عادةً في Solidity ، بعد أن يتم تجميعه - يظهر في معاملة لنشر عقد ذكي معين ، فهذه علامة حمراء كبيرة. في الأقسام التالية ، سنناقش أحد الأمثلة على رمز بايت متحولة تم تطويره بواسطة 0age. تحذير مهم: هناك اختلافات لا حصر لها في الرمز الثانوي المتحولة ، مما يجعل اكتشاف جميع الأصناف أمرًا صعبًا. من خلال المسح بحثًا عن حالات معروفة جيدًا ، يزيل الكاشف الثمار المنخفضة المعلقة للمهاجمين الذين يقومون فقط بنسخ ولصق الأمثلة الموجودة.
    2. هل يمكن لرمز العقد الذكي التدمير الذاتي؟ لاستبدال الرمز في العقد - وهي خطوة أساسية في إنشاء عقد متحولة - يحتاج المطور أولاً إلى حذف الكود الموجود مسبقًا. الطريقة الوحيدة للقيام بذلك هي باستخدام ملف رمز التشغيل SELFDESTRUCT، أمر يفعل بالضبط ما يبدو عليه - يمحو كل التعليمات البرمجية والتخزين في عنوان عقد معين. وجود رمز التدمير الذاتي في العقد لا يثبت أنه متحول ؛ ومع ذلك ، فإنه يقدم دليلاً على أن العقد ربما أن تكون متحولة ومن الجدير معرفة ، على أي حال ، ما إذا كانت العقود التي تعتمد عليها يمكن أن تطلق أسلحة نووية.
    3. هل العقد الذكي يتصل بكود من مكان آخر؟ إذا كان العقد الذكي المعني لا يمكنه التدمير الذاتي بشكل مباشر ، فقد يظل قادرًا على محو نفسه باستخدام DELEGATECALL كود التشغيل. يسمح كود التشغيل هذا للعقد الذكي ديناميكيًا بتحميل وتنفيذ كود موجود داخل عقد ذكي آخر. حتى إذا كان العقد الذكي لا يحتوي على كود التشغيل SELFDESTRUCT ، فيمكنه استخدام DELEGATECALL لتحميل كود التدمير الذاتي من مكان آخر. في حين أن وظيفة DELEGATECALL لا تشير بشكل مباشر إلى ما إذا كان العقد الذكي متحولًا ، إلا أنه دليل محتمل - ومشكلة أمنية محتملة - جدير بالملاحظة. كن حذرًا من أن هذا المؤشر لديه القدرة على إثارة العديد من الإيجابيات الكاذبة. 
    4. هل عقد آخر نشر هذا العقد؟ يمكن نشر العقود المتحولة فقط بواسطة عقود ذكية أخرى. وذلك لأن العقود المتحولة يتم تمكينها بواسطة كود تشغيل آخر ، ولا يمكن استخدامه إلا بواسطة عقود ذكية أخرى ، تسمى CREATE2. (سنناقش CREATE2 - كيف تعمل ولماذا هي مهمة - أكثر في قسم لاحق.) هذه السمة هي واحدة من أقل المؤشرات وضوحا للتحول المحتمل. إنه شرط مسبق ضروري ولكنه غير كافٍ. من المرجح أن يثير البحث عن هذه السمة العديد من الإيجابيات الخاطئة - ولكن من المعلومات القيمة أن تعرف أنها يمكن أن تثير الشكوك وتوفر سببًا لمزيد من التدقيق في العقد ، خاصةً إذا كان العقد الذكي يحتوي على كود التشغيل الموصوف لاحقًا.
    5. هل يحتوي عقد الناشر على كود التشغيل CREATE2؟ كما هو مذكور أعلاه ، يعد النشر عبر CREATE2 شرطًا مسبقًا أساسيًا للتحول. إذا كان عقد النشر يحتوي على كود التشغيل CREATE2 ، فقد يشير ذلك إلى أنه استخدم CREATE2 لنشر العقد المعني. إذا كان القائم بالنشر قد استخدم بالفعل CREATE2 لنشر العقد المذكور ، في حين أن هذا لا يعني بالضرورة أن العقد متحولة ، فهذا يعني أنه ربما متحولة وقد يكون من الحكمة المضي قدمًا بحذر وإجراء مزيد من التحقيق. مرة أخرى ، احذر من الإيجابيات الكاذبة: إنشاء 2 لديها الكثير من الاستخدامات المشروعة، بما في ذلك التعزيز حلول تحجيم "الطبقة الثانية" وتسهيل إنشاء محافظ عقد ذكية يمكنها تحسين web3 المستخدم على متن الطائرة وخيارات الاسترداد الرئيسية.
    6. هل تغير الرمز؟ هذا هو القول الأكثر وضوحًا ، لكنه لن يظهر إلا بعد تحول عقد متحول بالفعل. إذا كان تجزئة رمز العقد الذكي - معرف تشفير فريد - مختلفًا عما كان عليه عندما تم نشر العقد في البداية ، فمن المحتمل أن الرمز قد تمت إزالته أو استبداله أو تغييره. إذا لم تعد التجزئات متطابقة ، فهذا يعني أن شيئًا ما بخصوص الكود قد تغير وقد يتغير العقد. هذا العلم هو أضمن مؤشر للتحول ، لكنه لن يساعد في التنبؤ أو استباق التحول لأنه يتحقق فقط من حدوثه بالفعل.

بالإضافة إلى إنشاء أداة سطر أوامر بسيطة لـ Metamorphic Contract Detector ، فقد قمت ببناء بعض الأمثلة على العقود الذكية التي توضح سيناريو خداع العقد المتحولة ، والذي أصفه في القسم التالي. كل الكود متاح في هذا مستودع جيثب

كيف يمكن لممثل خبيث استخدام العقود المتحولة لسرقة أموال الناس

إليك كيف يمكن لشخص ما استخدام عقد ذكي متحولة كجزء من عملية احتيال. 

الأول هو مرحلة الإعداد. ينشر المهاجم عقدًا ذكيًا على عنوان محدد على blockchain باستخدام أداتين: رمز بايت متحولة ورمز تشغيل CREATE2. (سوف نتوسع في كلا المفهومين لاحقًا.) ثم يقوم الرمز الثانوي المتحولة بعمل ما يوحي به اسمه و "يتحول". هنا ، يتحول إلى ملف عقد staking حيث يمكن للمستخدمين مشاركة رموز ERC-20. (مرة أخرى ، سنناقش تفاصيل خدعة التحويل هذه لاحقًا. وعد!)

بعد ذلك يأتي الطعم والتبديل. يشترك المستخدمون غير المرتابين في عملاتهم المميزة في هذا العقد ، حيث تغريهم إمكانية كسب عائد أو بعض المزايا الأخرى. ثم يحذف المهاجم كل كود التخزين المؤقت و "الحالة" - تخزين أو ذاكرة blockchain - في عنوان العقد الذكي هذا باستخدام رمز التشغيل SELFDESTRUCT تمت مناقشته في القسم السابق. (تجدر الإشارة إلى أن الرموز المميزة - الموجودة كجزء من عقد ERC-20 منفصل - لا تزال قائمة ، ولا تتأثر بعقد التدمير الذاتي.)

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

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

كيف يفتح CREATE2 إمكانية التحول 

إنشاء 2 هو ترقية كود التشغيل ، قدم إلى Ethereum في فبراير 2019 ، يوفر ذلك طريقة جديدة لنشر العقود الذكية. 

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

كيف يمكن لـ CREATE2 توقع المستقبل؟ يعد حساب كود التشغيل محددًا: طالما أن المدخلات لا تتغير ، فلن يتغير العنوان المحدد بواسطة CREATE2. (حتى أصغر تغيير سيؤدي إلى حدوث النشر في مكان آخر.)

وبشكل أكثر تفصيلاً ، فإن CREATE2 هي وظيفة تجمع بين بعض العناصر وتجمعها معًا. أولاً ، يتضمن عنوان الناشر (أو المرسل): بدء العقد الذكي الذي يعمل كوالد للعقد الذي سيتم إنشاؤه. بعد ذلك ، يضيف رقمًا عشوائيًا يقدمه المرسل (أو "ملح") ، والذي يسمح للمطور بنشر نفس الرمز على عناوين مختلفة (عن طريق تغيير الملح) ويمنع الكتابة فوق العقود الحالية المتطابقة. أخيرًا ، يستخدم تجزئة keccak256 لبعض الرموز الثانوية لتهيئة العقد الذكي ("init") ، وهي البداية التي تتحول إلى عقد ذكي جديد. تحدد هذه التركيبة المجزأة معًا عنوان Ethereum ثم تنشر الرمز الثانوي المحدد على هذا العنوان. طالما يظل الرمز الثانوي كما هو تمامًا ، ستقوم CREATE2 دائمًا بنشر الرمز الثانوي المحدد على نفس العنوان على blockchain.

إليك ما تبدو عليه صيغة CREATE2. (ملاحظة: ستلاحظ عنصرًا آخر ، "0xFF" في المثال أدناه. هذا مجرد ثابت تستخدمه CREATE2 ل منع الاصطدامات باستخدام رمز التشغيل "CREATE" السابق.)

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

كيف يعمل العقد المتحولة في الواقع

تتطلب وصفة تحويل العقد الذكي إلى عقد متحولة ثلاثة عقود ذكية في المجموع ، يلعب كل منها دورًا فريدًا.

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

أداة للكشف عن العقود الذكية المتحولة ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

دعونا نناقش كل خطوة ، 1-7 ، بالتفصيل لإلقاء الضوء على العمليات في العمل.

الخطوة 1: يقوم المطور بتحريك كل شيء

يقوم المبرمج بتصميم بعض كود العقد الذكي - الرمز الثانوي لعقد التنفيذ - والذي سينتهي به الأمر في نهاية المطاف في العقد المتحولة. يرسل المطور هذا الرمز إلى Metamorphic Contract Factory ، وهو عقد ذكي يتمثل هدفه الرئيسي في نشر عقود ذكية أخرى. يحدد هذا الإجراء عملية إنشاء العقد المتحولة بأكملها في حالة حركة.

كل ما يلي هو نتيجة لهذه الخطوة الأولية. في الواقع، تحدث الخطوات من 1 إلى 6 في معاملة ذرية واحدة على blockchain ، مما يعني جميعها تقريبًا مرة واحدة. يمكن تكرار هذه الخطوات مرارًا وتكرارًا ، إلى ما لا نهاية ، لاستبدال الكود داخل العقد المتحولة والحفاظ عليه في حالة تحول مستمر.

الخطوة 2: ينشر المصنع عقد التنفيذ

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

الخطوة 3: مخازن المصنع عنوان عقد التنفيذ

بعد نشره في blockchain ، سيكون عقد التنفيذ بالضرورة موجودًا في بعض عناوين blockchain. يقوم المصنع بتخزين عنوان العقد هذا في ذاكرته الخاصة (لاستخدامه لاحقًا في الخطوة 5). 

الخطوة 4: المصنع ينشر العقد المتحولة

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

يوجد أدناه مثال لما يبدو عليه الرمز الثانوي المتحولة ، من ملف الريبو المتحولة بنسبة 0age. هذا مجرد مثال واحد على رمز ثنائي متحولة - توجد اختلافات لا حصر لها ، مما يعقد بشكل كبير اكتشاف العقود المتحولة.

أداة للكشف عن العقود الذكية المتحولة ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

الخطوة 5: استعلامات رمز التحويل عن طريق رمز المصنع لعنوان عقد التنفيذ

يطلب الرمز الثانوي المتحولة من المصنع عنوان عقد التنفيذ (كما هو مخزّن في الخطوة 3). لا يهم ما إذا كان عنوان عقد التنفيذ يتغير طالما ظل الرمز الثانوي المتحولة الذي يطلب العنوان كما هو. في الواقع ، إذا قام المطور لاحقًا بنشر عقد تنفيذ جديد - مثل عقد خبيث مصمم لسرقة الرموز المميزة - فسيتم بالضرورة نشره على عنوان blockchain مختلف ، في الخطوة 2. وهذا ليس له أي تأثير على إنشاء عقد Metamorphic.

خطوة 6 يتم نسخ رمز عقد التنفيذ في العقد المتحولة

باستخدام عنوان blockchain الذي تم تعلمه في الخطوة 5 ، يحدد الرمز الثانوي المتحولة موقع الرمز في عقد التنفيذ ونسخ هذا الرمز في التخزين المحلي لعقد Metamorphic. هذه هي الطريقة التي يتغير بها شكل العقد المتحولة: عن طريق نسخ الكود من عقد التنفيذ. 

الخطوة 7: اشطفها وكررها

يمكن للمطور أن يكرر الخطوات من 1 إلى 6 مرارًا وتكرارًا واستبدال الكود الموجود في عقد Metamorphic بما يحلو له عن طريق عقد تنفيذ جديد. كل ما هو مطلوب هو استخدام رمز التشغيل SELFDESTRUCT - أو بشكل أكثر خداعًا ، DELEGATECALL OPCodes التي تؤدي في النهاية إلى SELFDESTRUCT - لإزالة الكود الموجود مسبقًا في عقد Metamorphic. من خلال تكرار الدورة باستخدام الرمز الثانوي لعقد التنفيذ الجديد ، فإن العقد المتحولة ، مثل السحر ، يتحول!

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

كل ما يتم نشره في عقد التنفيذ سينتهي في نهاية المطاف في العقد المتحولة. هذا هو جوهر الحيلة. 

***

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

يعني وجود عقود متحولة أنه من الممكن لمستخدمي الويب 3 إبرام عقود يمكن أن تتغير حسب الرغبة - ولهذا السبب يعد هذا التهديد مهمًا للغاية لفهمه والدفاع ضده. كاشف العقد المتحولة الخاص بي تقدم فقط خطوة أولى نحو تحديد العقود المتحولة من خلال خفة اليد التي يستخدمونها. هناك عدة طرق يمكن من خلالها تحسين الكاشف في المستقبل. على سبيل المثال ، من خلال التحقق بشكل متكرر من المصنع (أو عقد الناشر) الذي أنشأ عقد التحول ، يمكن للمرء أن يرى ما إذا كان المصنع نفسه متحولًا. ستكون هذه الميزة إضافة مفيدة إلى الإصدار 2 المحدث من الكاشف.

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

تحليل العقود الذكية للسمات المتحولة باستخدام أداة الكاشف وزيارة جيثب ريبو لمزيد من

المحرر: روبرت هاكيت @ rhhackett

***

شكر وتقدير: أريد أن أقدم صيحة ضخمة وأشكرك على روبرت هاكيت وإيدي لازارين وسام راجسدال ورياز فايزولابوي ونوح سيترون وماسون هول ودايجون بارك على ملاحظاتهم ونصائحهم القيمة في جعل هذا المنشور والأداة تنبض بالحياة. 

***

الآراء المعبر عنها هنا هي آراء أفراد AH Capital Management، LLC ("a16z") المقتبس منهم وليست آراء a16z أو الشركات التابعة لها. تم الحصول على بعض المعلومات الواردة هنا من مصادر خارجية ، بما في ذلك من شركات محافظ الصناديق التي تديرها a16z. على الرغم من أنه مأخوذ من مصادر يُعتقد أنها موثوقة ، لم تتحقق a16z بشكل مستقل من هذه المعلومات ولا تقدم أي تعهدات حول الدقة الدائمة للمعلومات أو ملاءمتها لموقف معين. بالإضافة إلى ذلك ، قد يتضمن هذا المحتوى إعلانات جهات خارجية ؛ لم تقم a16z بمراجعة مثل هذه الإعلانات ولا تصادق على أي محتوى إعلاني وارد فيها.

يتم توفير هذا المحتوى لأغراض إعلامية فقط ، ولا ينبغي الاعتماد عليه كمشورة قانونية أو تجارية أو استثمارية أو ضريبية. يجب عليك استشارة مستشاريك بخصوص هذه الأمور. الإشارات إلى أي أوراق مالية أو أصول رقمية هي لأغراض توضيحية فقط ، ولا تشكل توصية استثمارية أو عرضًا لتقديم خدمات استشارية استثمارية. علاوة على ذلك ، هذا المحتوى غير موجه أو مخصص للاستخدام من قبل أي مستثمرين أو مستثمرين محتملين ، ولا يجوز الاعتماد عليه تحت أي ظرف من الظروف عند اتخاذ قرار بالاستثمار في أي صندوق تديره a16z. (سيتم تقديم عرض للاستثمار في صندوق a16z فقط من خلال مذكرة الاكتتاب الخاص واتفاقية الاشتراك والوثائق الأخرى ذات الصلة لأي صندوق من هذا القبيل ويجب قراءتها بالكامل.) أي استثمارات أو شركات محفظة مذكورة ، يشار إليها ، أو الموصوفة لا تمثل جميع الاستثمارات في السيارات التي تديرها a16z ، ولا يمكن أن يكون هناك ضمان بأن الاستثمارات ستكون مربحة أو أن الاستثمارات الأخرى التي تتم في المستقبل سيكون لها خصائص أو نتائج مماثلة. قائمة الاستثمارات التي أجرتها الصناديق التي يديرها Andreessen Horowitz (باستثناء الاستثمارات التي لم يمنحها المُصدر إذنًا لـ a16z للإفصاح علنًا عن الاستثمارات غير المعلنة في الأصول الرقمية المتداولة علنًا) على https://a16z.com/investments /.

الرسوم البيانية والرسوم البيانية المقدمة في الداخل هي لأغراض إعلامية فقط ولا ينبغي الاعتماد عليها عند اتخاذ أي قرار استثماري. الأداء السابق ليس مؤشرا على النتائج المستقبلية. المحتوى يتحدث فقط اعتبارًا من التاريخ المشار إليه. أي توقعات وتقديرات وتنبؤات وأهداف وآفاق و / أو آراء معبر عنها في هذه المواد عرضة للتغيير دون إشعار وقد تختلف أو تتعارض مع الآراء التي يعبر عنها الآخرون. يرجى الاطلاع على https://a16z.com/disclosures للحصول على معلومات إضافية مهمة.

الطابع الزمني:

اكثر من أندرسن هورويتز