You are on page 1of 46

‫تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪،‬‬

‫آنالیز‪ ،‬تأثیر‬

‫تهیه و تألیف‪:‬‬
‫‪Massimo Bartoletti, Salvatore Carta, Tiziana Cimoli, Roberto Saia‬‬

‫ترجمه‪ :‬سپهر هاشمی‬

‫تاریخ نشر مقاله‪ :‬ژانویه ‪2020‬‬

‫آخرین بروزرسانی‪ 1 :‬تیر ‪1400‬‬


‫چکیده‬
‫طرحهای پانزی‪ ،‬کالهبرداری مالی هستند که با وعده سود باال کاربران را فریب میدهند‪ .‬در‬
‫واقع‪ ،‬کاربران فقط با سرمایهگذاری کاربران جدیدی که به این طرح میپیوندند بازپرداخت‬
‫می شوند‪ :‬در نتیجه‪ ،‬یک طرح پانزی بالفاصله پس از قطع عضویت کاربران در آن منقرض‬
‫میشود‪ .‬طرحهای پانزی که ‪ 150‬سال پیش در دنیای آفالین به وجود آمدهاند‪ ،‬از آن زمان به‬
‫ً‬
‫اخیرا نیز حول محور‬ ‫دنیای دیجیتال مهاجرت کردهاند‪ ،‬ابتدا در وب فعالیت میکردند و‬
‫رمزارزهایی مانند بیتکوین فعالیت دارند‪ .‬پلتفرمهای قرارداد هوشمند مانند اتریوم فرصت‬
‫جدیدی را برای کالهبرداران فراهم کردهاند که اکنون امکان ایجاد کالهبرداری "قابل اعتماد" را‬
‫دارند که اجرای آنها "بهطور صحیح" تضمین شده است اما همچنان باعث از دست رفتن‬
‫پول کاربران می شوند‪ .‬ما در حال حاضر یک بررسی جامع از طرحهای پانزی در اتریوم‪ ،‬آنالیز‬
‫رفتار و تأثیر آنها از دیدگاههای مختلف را صورت دادهایم‪.‬‬
‫فهرست مطالب‬
‫‪7‬‬ ‫بخش ‪ - 1‬مقدمه‬

‫‪10‬‬ ‫بخش ‪ -2‬خالصه شرح اتریوم‬

‫‪12‬‬ ‫بخش ‪ -3‬مجموعه طرحهای پانزی‬


‫‪ :3.1‬یک طرح پانزی "هوشمند" چیست؟‪12 ..................................‬‬
‫‪ :3.2‬مجموعهای از طرحهای پانزی ‪15.........................................‬‬
‫‪ :3.3‬استخراج معامالت ‪17 .......................................................‬‬

‫‪17‬‬ ‫بخش ‪ -4‬آناتومی طرحهای پانزی‬


‫‪ :4.1‬طبقهبندی طرحهای پانزی ‪17 ..............................................‬‬
‫‪ :4.2‬آنالیز توزیع پول ‪21 ...........................................................‬‬
‫‪ :4.3‬موارد امنیتی‪23 ..............................................................‬‬

‫‪27‬‬ ‫بخش ‪ -5‬تاثیر طرحهای پانزی‬


‫‪ :5.1‬آمار بر اساس نوع طرحها ‪29...............................................‬‬

‫‪30‬‬ ‫بخش ‪ -6‬اندازهگیری سود و زیان‬

‫‪33‬‬ ‫بخش ‪ -7‬تکامل زمانی‬


‫‪ :7.1‬همبستگی جریان ورودی و خروجی‪33 .................................‬‬
‫‪ :7.2‬طول عمر ‪34 ..................................................................‬‬
‫‪ :7.3‬حجم پرداختها ‪35 ........................................................‬‬

‫‪38‬‬ ‫بخش ‪ -8‬سنجش نابرابری پرداخت‬

‫‪41‬‬ ‫بخش ‪ -9‬نتیجهگیری‬

‫‪44‬‬ ‫ضمیمه ‪A‬‬

‫‪44‬‬ ‫منابع و مآخذ‬


‫بخش ‪ - 1‬مقدمه‬
‫ظهور بیتکوین [‪ 1‬و ‪ ] 2‬راهی جدید برای مبادله ارز ایجاد کرده است که انتقال وجه امن و‬
‫تقریباً ناشناس پول را بدون واسطهگری مقامات معتمد امکانپذیر میکند‪ .‬این امر با ترکیب‬
‫مناسب چندین تکنیک مانند طرحهای امضای دیجیتال‪ ،‬معماهای "اثبات کار‪ "1‬با سختی‬
‫متوسط‪ ،‬و ایده بالکچین بهعنوان یک لجر عمومی غیرقابل تغییر که تمام معامالت پولی را‬
‫ثبت میکند و توسط یک شبکه همتابههمتا از طریق یک پروتلک اجماع توزیع شده نگهداری‬
‫میشود‪ ،‬میسر شده است‪.‬‬
‫بیتکوین بالفاصله پس از گسترش یافتن‪ ،‬شروع به برانگیختن عالقه مجرمانی کرده است‬
‫که مشتاق به یافتن راههای جدید برای انتقال ارز بدون پیگیری و تعقیب شدن توسط‬
‫بازرسان و مقامات نظارتی هستند‪]3[ .‬‬
‫ً‬
‫اخیرا‪ ،‬طرحهای پانزی [‪ - ]4‬یک کالهبرداری کالسیک که حداقل در ‪ 150‬سال پیش در‬
‫ً‬
‫اخیرا نیز در بیتکوین [‪ ]6‬در دنیای‬ ‫جهان آفالین ایجاد شده است ‪ -‬ابتدا در وب [‪ ]5‬و‬
‫دیجیتال فعالیت دارند‪ .‬طرحهای پانزی اغلب با عنوان برنامههای سرمایهگذاری "با بهره باال"‬
‫استتار میکنند‪ .‬کاربران با سرمایهگذاری مقداری پول وارد این طرح میشوند‪ .‬شرایط واقعی‬
‫کسب درآمد به قوانین خاص این طرح بستگی دارد‪ ،‬اما همه طرحهای پانزی یک وجه‬
‫مشترک دارند‪ :‬افراد برای بازخرید سرمایهگذاری خود‪ ،‬باید کاربران جدید را وارد این طرح کنند‪.‬‬
‫تعریف معتبرتر از طرح های پانزی توسط کمیسیون بورس و اوراق بهادار ایاالت متحده‬
‫(‪ )SEC2‬به شرح زیر است‪:‬‬
‫«یک طرح پانزی یک کالهبرداری در سرمایهگذاری است که شامل پرداخت بازدهی ادعایی‬
‫به سرمایهگذاران موجود از طریق بودجهای است که سرمایهگذاران جدید به آن کمک میکنند‪.‬‬
‫سازماندهندگان طرح پانزی اغلب با وعده سرمایهگذاری در فرصتهایی بیخطر یا کمخطر‬
‫که ادعا میکنند بازده باالیی دارند‪ ،‬سرمایهگذاران جدید را وسوسه میکنند‪ .‬با درآمد اندک یا‬
‫نامشروع‪ ،‬طرحهای پانزی سرمایه گذاران جدید را ملزم به یک جریان مداوم پول برای ادامه‬
‫کار میکنند‪ .‬طرحهای پانزی اغلب در مواردی که جذب سرمایهگذاران جدید دشوار میشود یا‬
‫تعداد زیادی از سرمایهگذاران درخواست بازگشت وجوه خود را میکنند به طور حتم سقوط‬
‫میکنند»‬
‫غالباً‪ ،‬مکانیزم سرمایهگذاری در طرحهای پانزی یک توپولوژی به شلک هرم از کاربران‬
‫ایجاد میکند‪ ،‬که در آن آغازگر طرح باالترین سطح را دارد و در سطح ‪ ℓ+1‬سرمایهگذاری کاربران‬
‫از طریق سرمایهگذاری کسانی که در سطح ‪ ℓ‬هستند جبران میشود‪ .‬این طرح در نهایت سقوط‬
‫خواهد کرد زیرا در برخی موارد دیگر یافتن سرمایهگذاران جدید امکانپذیر نخواهد بود‪ ،‬به‬

‫‪1‬‬
‫‪Proof-Of-Word‬‬
‫‪2‬‬
‫‪https://www.sec.gov/spotlight/enf-actions-ponzi.shtml‬‬
‫‪7‬‬
‫‪ / 8‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫این دلیل که تعداد آنها بهطور تصاعدی در تعداد سطوح این هرم رشد میکند‪ .‬بنابراین‪،‬‬
‫کاربران در سطوح باالی هرم سود کسب خواهند کرد‪ ،‬درحالیکه کسانی که در سطوح پایین‬
‫هستند‪ ،‬سرمایه خود را از دست میدهند‪.‬‬
‫ً‬
‫علیرغم اینکه بسیاری از سرمایهگذاران کامال از ماهیت تقلبی بودن این طرحها و‬
‫همچنین غیرقانونی بودن آنها در بسیاری از کشورها آگاه هستند‪ ،‬اما بازهم طرحهای پانزی‬
‫همچنان مبالغ قابل توجهی پول خود جذب میکنند‪ .‬یک مطالعه اخیر [‪ ]6‬تخمین میزند که‬
‫طرحهای پانزی از طریق بیتکوین بیش از ‪ 7‬میلیون دالر در دوره زمانی سپتامبر ‪ 2013‬تا‬
‫‪3‬‬
‫سپتامبر ‪ 2014‬جمع آوری کردهاند‪.‬‬
‫طرحهای هوشمند پانزی‪ :‬گسترش قراردادهای هوشمند‪ ،‬بهعنوان مثال‪ ،‬برنامههای‬
‫رایانهای که اجرای صحیح آنها بدون اتکا به یک مرجع معتبر بهطور خودکار اجباری میشوند‬
‫[‪ ،]7‬فرصتهای جدیدی را برای کالهبرداران ایجاد میکنند‪ .‬در واقع‪ ،‬اجرای طرحهای پانزی‬
‫بهعنوان قراردادهای هوشمند دارای چندین ویژگی جالب است‪:‬‬
‫مبتکر طرح پانزی می تواند ناشناس باقی بماند‪ ،‬زیرا ایجاد قرارداد و برداشت پول از آن‬
‫نیازی به فاش کردن هویت وی را ندارد‪.‬‬
‫از آنجا که قراردادهای هوشمند "غیرقابل تغییر" و "غیر قابل توقف" هستند‪ ،‬هیچ مرجع‬
‫مرکزی (به ویژه هیچ دادگاه قانونی) قادر به خاتمه دادن به اجرای طرح یا برگرداندن اثرات‬
‫آن برای بازپرداخت قربانیان نیست‪ .‬این امر خصوصاً در مورد قراردادهای هوشمندی که بر‬
‫روی بالکچینهای غیرمجاز اجرا میشوند‪ ،‬کنترل میشود که توسط شبکهی گره‪4‬های‬
‫همتابههمتا کنترل میشوند؛‬
‫سرمایه گذاران ممکن است بدلیل این واقعیت که کد قراردادهای هوشمند‪ ،‬عمومی و‬
‫غیرقابلتغییر است و اجرای آن قراردادها بهطور خودکار اعمال میشوند‪ ،‬به حس اعتمادپذیری‬
‫کاذب دست پیدا بکنند‪ .‬این امر ممکن است سرمایهگذاران را به این باور برساند که مالک‬
‫طرح نمی تواند از پول آنها سوءاستفاده کند‪ ،‬و اینکه این طرح برای همیشه اجرا میشود و‬
‫آنها برای به دست آوردن منافع اعالم شده احتمال منصفانهای میدهند‪.‬‬
‫همه این ویژگیها با ترکیبی از عواملی منجمله رشد پلتفرمهایی برای قراردادهای‬
‫هوشمند [‪ ]8‬امکان پذیر هستند که ناشناس بودن و پایداری قرارداد را بهعنوان اصلیترین‬
‫نقاط فروش تبلیغ میکنند؛ بعالوهی این واقعیت که این فناوریها بسیار جدید هستند و‬
‫هنوز هم در یک منطقه خاکستری‪ 5‬از سیستمهای حقوقی زندگی میکنند [‪ 9‬و ‪.]10‬‬
‫درک رفتار برنامههای "هوشمند" پانزی برای ایجاد سیاستهای مداخلهای مناسب بسیار‬
‫مهم است‪ .‬برای این منظور‪ ،‬باید جنبههای مختلف کالهبرداری را با پاسخ به چندین سوال‬
‫آنالیز کرد‪ :‬چند قربانی درگیر شدهاند؟ چه مقدار پول سرمایهگذاری شده است؟ تکامل زمانی‬
‫و طول عمر یک طرح کالهبرداری چگونه هستند؟ چه نوع کاربرانی در این کالهبرداریها قرار‬
‫میگیرند؟ آیا میتوانیم ردپای طرحهای پانزی را در حین اجرای آنها یا حتی قبل از شروعشان‬

‫‪ 3‬این برآورد هم طرح های سنتی پانزی که پرداخت در بیتکوین می پذیرند را در نظر می گیرد و هم طرح هایی‬
‫که فقط با بیتکوین کار میکنند‪.‬‬
‫‪4‬‬
‫‪Node‬‬
‫‪5‬‬
‫یک وضعیت یا حوزه فعالیت بیمارگونه که براحتی با یک دسته یا مجموعه قوانین مطابقت ندارد‪.‬‬
‫بخش ‪ - 1‬مقدمه ‪9 /‬‬
‫نیز تشخیص بدهیم ؟ تحقیق در مورد این موارد به ایجاد اختالل در این نوع کالهبرداریها‬
‫کمک میکند‪.‬‬
‫مشارکتها؛ این مقاله اولین نظرسنجی جامع در مورد طرحهای پانزی در اتریوم [‪ ]11‬که‬
‫تاکنون برجستهترین بستر برای قراردادهای هوشمند است میباشد‪ .‬ما یک مجموعه داده از‬
‫طرحهای پانزی میسازیم و آنها را از دیدگاههای مختلف آنالیز میکنیم‪ .‬بهطور خاص‪،‬‬
‫مشارکتهای ما میتوانند به شرح زیر خالصه شوند‪:‬‬
‫مجموعهای از معیارها برای تعیین زمان اجرای یک طرح پانزی توسط یک قرارداد‬ ‫•‬
‫هوشمند‪ .‬معیارهای ما درحالی که از عوامل خارجی مانند روش تبلیغاتی یا بازیسازی‬
‫طرح چشمپوشی میکنند‪ ،‬تنها منطق اجرا شده توسط قرارداد برای جمعآوری و توزیع‬
‫پول را در نظر میگیرند‪.‬‬
‫یک دیتاست ‪ 6‬عمومی از طرحهای پانزی که در اتریوم مستقر شدهاند (‪،)goo.gl/CvdxBp‬‬ ‫•‬
‫منسجم با معیارهای طبقهبندی ما‪ .‬این دیتاست با بررسی سورس کد قراردادها ساخته‬
‫میشود‪ .‬ما از قراردادهایی شروع میکنیم که سورس کد آن بر روی جستجوگران بالکچین‬
‫موجود است که در میان آنها ‪ 138‬طرح پانزی را پیدا میکنیم‪ .‬ما با جستجو درون‬
‫ً‬
‫قبال‬ ‫بالکچین بدنبال قراردادهایی که بایتکد آنها بسیار شبیه به قراردادی است که‬
‫بهعنوان پانزی طبقهبندی شده است‪ ،‬این مجموعه را به ‪ 184‬طرح گسترش میدهیم‪.‬‬
‫موارد منفی کاذب‪ 7‬نیز با بازرسی دستی کد دیکامپایل شدهی آنها کنار گذاشته میشوند‪.‬‬
‫یک ابزار‪ 8‬منبعباز که همه تراکنشهای طرحهای پانزی درون دیتاست ما را از بالکچین‬ ‫•‬
‫اتریوم استخراج کرده‪ ،‬تمامی تحرکات ورودی و خروجی پول را ضبط کرده‪ ،‬و تحلیلهای‬
‫ارائه شده در این مقاله را محاسبه میکند‪.‬‬
‫آنالیزی از سورس کد قراردادهای درون مجموعهی ما (بخش ‪ ،4‬آناتومی طرحهای پانزی)‪.‬‬ ‫•‬
‫ما در می یابیم که اکثر قراردادها از تعدادی الگوی مشترک برخوردارند و اینکه بسیاری از‬
‫آنها با تغییرات جزئی نسبت به دیگر موارد موجود بدست میآیند‪ .‬ما یک طبقهبندی‬
‫تقریبی از طرحهای پانزی در نظر میگیریم که آنها را طبق الگوی استفاده شده برای توزیع‬
‫مجدد پرداختها طبقهبندی میکند‪ .‬ما نشان میدهیم که طرحهای موجود در هر دسته‬
‫در توزیع عادالنه پول شکست میخورند‪ .‬عالوه براین‪ ،‬ما در قرارداد تحلیل شده‪ ،‬چندین‬
‫آسیبپذیری امنیتی را مشاهده میکنیم که میتوانند توسط دشمنان برای سرقت پول‬
‫مورد سواستفاده قرار بگیرند‪.‬‬
‫اندازهگیری تأثیر اقتصادی طرحهای پانزی‪ ،‬کمّ ی کردن مقدار کلی مبادله شده از طریق‬ ‫•‬
‫آن طرحها (بخش ‪ ،5‬تأثیر طرحهای پانزی)‪.‬‬
‫اندازه گیری سود و زیان کاربران طرحهای پانزی (بخش ‪ .)6‬ما بر روی ‪ 10‬طرح برتر‬ ‫•‬
‫(آنهایی که بیشترین تعداد تراکنشها را دارند)‪ ،‬با جالبترین ویژگیها (تعداد کاربران‪،‬‬
‫تراکنشها یا اتر ردوبدل شده) تمرکز میکنیم‪ .‬در بیشتر موارد الگوی معمول طرحهای‬

‫‪6‬‬
‫مجموعه داده – ‪Dataset‬‬
‫‪7‬‬
‫‪False Negatives‬‬
‫‪8‬‬
‫‪https://www.github.com/blockchain-unica/ethereum-ponzi‬‬
‫‪ / 10‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫ً‬
‫عمال تعداد کمی از کاربران سود زیادی کسب میکنند‪،‬‬ ‫پانزی را مشاهده میکنیم‪ :‬یعنی‬
‫درحالیکه اکثر کاربران براحتی پول خود را از دست میدهند‪.‬‬
‫آنالیز رفتار زمانی طرحهای پانزی تحت دیدگاههای مختلف (بخش ‪ ،7‬تکامل در طول‬ ‫•‬
‫زمان)‪ .‬ابتدا‪ ،‬ما طول عمر طرحهای پانزی را بهعنوان یک شاخص مهم برای پیشبینی‬
‫زمان سقوط یک طرح بررسی میکنیم‪ .‬سپس‪ ،‬همبستگی بین جریان ورودی و خروجی‬
‫قراردادها در طول زمان را تحلیل میکنیم‪ .‬در پایان نیز حجم ماهانه معامالت را اندازه‬
‫گیری میکنیم‪.‬‬
‫آنالیز نابرابری پرداختهای ورودی و خروجی طرح (بخش ‪ ،8‬اندازهگیری نابرابری‬ ‫•‬
‫پرداخت)‪ .‬این شاخص ممکن است چگونگی انتخاب قربانیان توسط کالهبرداران را‬
‫نمایان کند‪ :‬توزیع عادالنه پرداختها بدین معناست که این طرح توسط شمار زیادی از‬
‫قربانیانی که مقادیر کمی پول پرداخت میکنند تغذیه میشود‪ .‬در عوض‪ ،‬توزیع نابرابر‬
‫گاهاً بدین معناست که این طرح از شمار کوچکی از «ماهیهای بزرگ» که پول زیادی‬
‫سرمایهگذاری میکنند سود میبرد‪.‬‬
‫مجموعهای از دستورالعملها که کاربران میتوانند برای محافظت از خود در برابر طرحهای‬ ‫•‬
‫پانزی از آنها استفاده کنند (بخش ‪ ،9‬نتیجهگیری)‬

‫بخش ‪ -2‬خالصه شرح اتریوم‬


‫اتریوم [‪ ]11‬یک ماشین مجازی غیرمتمرکز یا ‪ ]12[ EVM‬است‪ ،‬که میتواند برنامههایی –به نام‬
‫قراردادها‪ -‬که به زبان بایتکد کامل تورینگ نوشته شدهاند را اجرا کند‪ .‬هر قرارداد دارای یک‬
‫محل ذخیرهسازی دائمی برای نگهداری دادهها و مجموعهای از توابع است که میتواند توسط‬
‫کاربران یا سایر قراردادها مورد استفاده قرار بگیرد‪ .‬کاربران و قراردادها میتوانند مالک یک‬
‫رمزارز (که به اختصار اتر یا ‪ ETH‬نامیده میشود) باشند‪ ،‬و اتر را از‪/‬به سایر کاربران‪/‬قراردادها‬
‫ارسال‪/‬دریافت کنند‪.‬‬
‫کاربران میتوانند تراکنشها را به شبکه اتریوم ارسال کنند تا‪ )1( :‬قراردادهای جدید ایجاد‬
‫کنند‪ )2( ،‬یک تابع از یک قرارداد را فراخوانی کنند‪ )3( ،‬اتر را به قراردادها یا به دیگر کاربران‬
‫انتقال بدهند‪ .‬تمام تراکنش های ارسال شده توسط کاربران‪ ،‬که تراکنشهای خارجی نامیده‬
‫میشوند‪ ،‬در یک ساختار داده عمومی و فقط ضمیمه شده ‪ -‬بالکچین ‪ -‬ثبت و ضبط میشوند‪.‬‬
‫با دریافت یک تراکنش خارجی‪ ،‬یک قرارداد میتواند برخی از تراکنشهای داخلی که به صراحت‬
‫در بالکچین ثبت نشده اند را اخراج کند‪ ،‬اما هنوز هم بر موجودی کاربران و سایر قراردادها‬
‫تأثیراتی را دارد‪.‬‬
‫از آنجا که تراکنشها می توانند پول را جابجا کنند‪ ،‬تضمین عملکرد صحیح آنها بسیار‬
‫مهم و حیاتی ا ست‪ .‬برای این منظور‪ ،‬اتریوم به یک مرجع مرکزی قابل اعتماد تکیه نمیکند‪:‬‬
‫بلکه هر تراکنش توسط شبکه غیرمتمرکزی از گرهها پردازش میشود‪ .‬یک پروتلک اجماع‪ 9‬برای‬
‫رسیدگی به عدم تطابق (بهعنوان مثال‪ ،‬بدلیل عدم موفقیت یا بدلیل حمالت) که در حال‬
‫حاضر براساس یک معمای "ا ثبات کار" ساخته شده است وجود دارد‪ .‬امنیت پروتلک اجماع‬

‫‪9‬‬
‫‪Consensus‬‬
‫بخش ‪ -2‬خالصه شرح اتریوم ‪11 /‬‬
‫متکی بر این واقعیت است که پیروی از پروتلک راحتتر از تالش برای حمله به آن است‪ .‬در‬
‫واقع‪ ،‬گرهها انگیزه های اقتصادی برای انجام صحیح تمام محاسبات مورد نیاز پروتلک دریافت‬
‫میکنند‪ .‬اجرای قراردادها تا جاییکه و بهشرطی که دشمن قسمت زیادی از توان محاسباتی‬
‫شبکه را کنترل نکند به درستی تضمین شده است [‪.]13‬‬
‫قراردادها؛ بهطور خالصه‪ ،‬قراردادها را میتوان بهعنوان اشیایی در زبانهای شیءگرا‬
‫مشاهده کرد که از زمینهها و توابع تشکیل شدهاند‪ .‬یک کاربر میتواند با ارسال یک تراکنش‬
‫مناسب به گرههای اتریوم عملکردی را فراخوانی کند‪ .‬تراکنش باید شامل هزینه تراکنش (برای‬
‫ماینرها) باشد‪ ،‬و ممکن است شامل انتقال اتر از تماس گیرنده به قرارداد باشد‪.‬‬

‫شلک ‪ -1‬قرارداد یک کیفپول ساده‬

‫شخصی‬
‫ِ‬ ‫پول‬
‫ِ‬ ‫ما قراردادها را از طریق یک مثال کوچک (‪ ،AWallet‬در شلک ‪ )1‬که یک کیف‬
‫ً‬
‫مرتبط با یک مالک را پیاده سازی میکند‪ ،‬نشان میدهیم‪ .‬ما بهجای اینکه مستقیما آن را‬
‫بهعنوان بایتکد ‪ EVM‬کدنویسی کنیم‪ ،‬از زبان سالیدیتی ‪ ،10‬یک زبان برنامه نویسی شبیه‬
‫جاوااسکریپت استفاده میکنیم که در بایتکد ‪ EVM‬کامپایل میشود [‪ .]14‬این قرارداد‬
‫میتواند اتر را از دیگر کاربران دریافت کند و مالـک آن میتواند (بخشی از) آن اتر را از طریق‬
‫تابع ‪ pay‬به سایر کاربران ارسال کند‪ .‬هشتیبل‪ outflow 11‬تمام ‪address‬هایی‪ 12‬که به آنها‬
‫پول ارسال میکند را رکورد میکند و مبلغ لک انتقالیافته را به هرکدام از آنها مرتبط میسازد‪.‬‬
‫هشتیبل ‪ inflow‬تمام آدرسهایی که از آنها پول دریافت کرده است را رکورد میکند‪ .‬تمام‬
‫اترهای دریافت شده توسط قرارداد نگهداری میشوند‪ .‬مقدار آن بهطور خودکار در ‪balance‬‬
‫ثبت میشود‪ :‬این یک متغیر ویژه است که توسط برنامهنویس قابل تغییر نیست‪ .‬هنگامیکه‬
‫یک قرارداد‪ ،‬اتر دریافت میکند‪ ،‬یک تابع خاص بدون نام که تابع ‪ fallback‬نامیده میشود‬
‫را نیز اجرا میکند‪.‬‬

‫‪10‬‬
‫‪Solidity‬‬
‫‪11‬‬
‫)‪HashTable (Key:Value‬‬
‫‪12‬‬
‫آدرسها توالی ‪ 160‬بیتی هستند که بهطور منحصر بفرد قراردادها و کاربران را شناسایی میکنند‬
‫‪ / 12‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫‪13‬‬
‫است که هنگامیکه قرارداد ایجاد میشود فقط‬ ‫تابع ‪ AWallet‬در خط ‪ 6‬یک سازنده‬
‫‪14‬‬
‫‪ )1 wei‬را از قرارداد‬ ‫یک بار اجرا میشود‪ .‬تابع ‪ pay‬هم مقدار ‪=10-18 ETH( amount wei‬‬
‫به گیرنده میفرستد‪ .‬در خط ‪ 9‬اگر تماس گیرنده (یعنی ‪ )msg.sender‬مالک نباشد‪ ،‬یا اگر‬
‫مقدار دیگری از اتر (‪ )msg.value‬به اسناد ضمیمه بشود و به قرارداد منتقل بشود‪ ،‬قرارداد‬
‫یک استثنا را ایجاد می کند‪ .‬از آنجا که استثناءها عوارض جانبی را برمیگردانند‪ ،‬این اتر به‬
‫تماس گیرنده (کسی که با این وجود دستمزد پردازش تراکنش را از دست میدهد) باز‬
‫میگردد‪ .‬در خط ‪ ،10‬اگر مقدار مورد نیاز اتر در دسترس نباشد‪ ،‬تماس خاتمه مییابد‪ .‬در این‬
‫حالت‪ ،‬نیازی به بازگشت وضعیت با یک استثناء وجود ندارد‪ .‬در خط ‪ ،11‬قبل از انتقال اتر به‬
‫گیرنده‪ ،‬قرارداد هم رجیستری ‪ outflow‬را بروزرسانی میکند‪ .‬تابع ‪ send‬در خط ‪ 12‬که برای‬
‫همین منظور استفاده شده است‪ ،‬برخی از تناقضات و رفتارهای عجیب را نشان میدهد‪،‬‬
‫بهعنوان مثال اگر گیرنده ی اتر‪ ،‬یک قرارداد باشد‪ ،‬ممکن است این تابع با خطا مواجه شود‬
‫و خراب شود‪ .‬هنگامیکه هیچ تابع دیگری فراخوانی نمیشود‪ ،‬تابع ‪ fallback‬در خط ‪ 16‬با‬
‫دریافت اتر آغاز میشود‪ .‬در این حالت‪ ،‬تابع ‪ fallback‬فقط رجیستری ‪ inflow‬را بروزرسانی‬
‫می کند‪ .‬در هر دو حالت‪ ،‬هنگام دریافت اتر و هنگام ارسال‪ ،‬مقدار لک اتر قرارداد‪ ،‬که در متغیر‬
‫‪ this.balance‬ذخیره شده است‪ ،‬بهطور خودکار بروزسانی میشود‪.‬‬

‫بخش ‪ -3‬مجموعه طرحهای پانزی‬


‫قرارداد پول را در میان سرمایهگذاران طبق چندین منطق توزیع میکند‪.‬‬ ‫‪R1‬‬
‫‪ R2‬قرارداد پول را فقط از سرمایهگذاران دریافت میکند‪.‬‬
‫‪ R3‬هر سرمایهگذار کسب منفعت خواهد نمود اگر پس از وی‪ ،‬سرمایهگذاران کافی‬
‫پول کافی در قرارداد سرمایهگذاری بنمایند‪.‬‬
‫هر چه یک سرمایهگذار دیرتر به قرارداد میپیوندد‪ ،‬خطر از دست دادن‬ ‫‪R4‬‬
‫سرمایهگذاریش بیشتر میشود‪.‬‬
‫شلک ‪ -2‬معیارهای طبقهبندی قرارداد بهعنوان طرح پانزی‬

‫در این بخش ما مجموعهای از معیارها را برای طبقهبندی قراردادها بهعنوان طرحهای پانزی‬
‫تعیین میکنیم‪ .‬سپس روش خود را برای ساخت مجموعهای از طرحهای پانزی و برای‬
‫استخراج تراکنشهای مرتبط توصیف میکنیم‪.‬‬

‫‪ :3.1‬یک طرح پانزی "هوشمند" چیست؟‬


‫ما با شفافسازی آنچه در این مقاله بهعنوان یک طرح پانزی در نظر گرفته شده است شروع‬
‫میکنیم‪ .‬اولین انتخاب کلیدی که ما انجام میدهیم محدود کردن به طرحهایی است که‬
‫بهعنوان قراردادهای هوشمند (پانزیهای "هوشمند") اجرا میشوند [‪ .]15‬این انتخاب‬

‫‪13‬‬
‫‪Constructor‬‬
‫‪14‬‬
‫‪0.000000000000000001‬‬
‫بخش ‪ -3‬مجموعه طرحهای پانزی ‪13 /‬‬
‫کالهبرداریهایی که فقط از اتریوم بهعنوان وسیله پرداخت (یا فقط برای تبلیغات) استفاده‬
‫میکنند را رد میکند (و غیرمحتمل میشمارد)‪ .‬این کالهبرداریها شامل برخی از برنامههای‬
‫سرمایه گذاری معروف "پر بازده" هستند که بسیاری از آنها در لیست سیاه گزارش شده توسط‬
‫‪ BadBitcoin15‬گزارش شده است‪ .‬ما تصمیم گرفتیم این نوع کالهبرداریها را از آنالیز خود‬
‫حذف کنیم زیرا بازیابی هرگونه اطالعات درباره آدرسهای اتریوم (در صورت وجود) که آنها‬
‫استفاده میکنند بندرت امکانپذیر است‪.‬‬
‫در شلک ‪ 2‬ما چهار شرط و الزام را برای تعیین اینکه آیا قرارداد یک طرح پانزی است یا‬
‫منحصرا بر اساس منطق پیادهسازیشده در قرارداد پیشنهاد میدهیم‪ .‬وقتی قراردادی‬‫ً‬ ‫خیر‪،‬‬
‫هر چهار الزام را برآورده میکند‪ ،‬آن را بهعنوان یک طرح پانزی طبقه بندی میکنیم‪.‬‬
‫‪ R1‬میخواهد بداند که قرارداد پول را به سرمایهگذاران یعنی کاربرانی که با ارسال مقداری‬
‫پول به قرارداد‪ ،‬به آن پیوستها ند توزیع کند‪ .‬این شرط هیچ محدودیتی بر منطق استفاده‬
‫شده برای توزیع پول ایجاد نمیکند‪ ،‬بنابراین ‪ R1‬به تنهایی برای طبقهبندی قرارداد بهعنوان‬
‫پانزی کافی نیست‪ :‬بهعنوان مثال‪ ،‬بازیهای قمار‪ ،‬قرعهکشیها‪ ،‬بیمه و اوراق قرضه‪ R1 ،‬را‬
‫متقاعد میکنند‪ .‬با اینحال‪ R1 ،‬قراردادهایی که چندین نوع دارایی در اختیار کاربران قرار‬
‫میدهند را رد میکند‪ ،‬اما منطق توزیع آن داراییها را اجرا نمیکند‪ :‬بلکه این داراییها از‬
‫طریق بازارهای خارجی مانند صرافیهای رمزارز مبادله میشوند‪ .‬این مورد‪ ،‬بهعنوان مثال‪ ،‬در‬
‫بیشتر پیادهسازیهای توکنهای ‪ ]16[ ERC-20‬از طریق عرضه اولیه سکه (‪ )ICO‬رخ داده است‬
‫[‪.]17‬‬
‫‪ R2‬میخواهد بداند که پول جمعآوری شده توسط قرارداد فقط از سمت سرمایهگذاران‬
‫آمده باشد‪ .‬این شرط مواردی که در آنها پول توزیع شده به سرمایه گذاران از منابع خارجی‬
‫ً‬
‫مثال بانکی که بهره یک اوراق قرضه "هوشمند" را پرداخت میکند‪،‬‬ ‫تأمین میشود را رد میکند‪.‬‬
‫یا یک دالل شرطبندی که با استفاده از بودجه شخصی خود شرطبندیها را میپردازد‪.‬‬
‫‪ R3‬میخواهد بداند هر سرمایهگذار مادامیکه سرمایهگذاران جدید پول را به قرارداد‬
‫بفرستند‪ ،‬سود کسب میکند‪ .‬همراه با دو مورد اول‪ ،‬این بدان معنی است که کاربران فقط از‬
‫طریق سرمایهگذاری سایر کاربران سود کسب میکنند‪ .‬توجه داشته باشید که بازیهای قمار‪،‬‬
‫شرطبندی و قرعهکشیها معیار ‪ R3‬را نقض میکنند‪ :‬در آنجا‪ ،‬حتی اگر جریان سرمایهگذاری‬
‫مداوم باشد‪ ،‬یک کاربر بد شانس تضمین نمیکند که سود کسب کند (بهعنوان مثال‪ ،‬امکانش‬
‫هست که وی همیشه بدشانس باشد و برنده نشود)‬
‫‪ R4‬میخواهد بداند که با ورود یک نفر به طرح‪ ،‬خطر از دست دادن سرمایهگذاری یک‬
‫نفر دیگر افزایش بیابد‪ .‬این یک ویژگی برجسته طرحهای پانزی است که در دنیای واقعی نیز‬
‫وجود دارد‪ :‬در یک زمان خاص‪ ،‬یافتن سرمایهگذاران جدید دشوار میشود‪ ،‬بنابراین دیگر هیچ‬
‫کس سود نمیبرد و این طرح سقوط میکند‪.‬‬
‫در مقایسه با تعریف کمیسیون بورس و اوراق بهادار ایاالت متحده از طرح پانزی که در‬
‫بخش ‪ 1‬ذکر شده است‪ ،‬الزامات ‪ R1‬و ‪ R2‬با هم این واقعیت را نشان میدهند که یک طرح‬
‫پانزی "شامل پرداخت بازدهی ادعایی به سرمایهگذاران موجود از وجوهی است که توسط‬
‫سرمایهگذاران جدید ارائه میشود"؛ ‪ R3‬با این واقعیت مطابقت دارد که آنها "برای ادامه کار‬

‫‪15‬‬
‫‪https://badbitcoin.org/thebadlist/index.php‬‬
‫‪ / 14‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫نیاز به یک جریان مداوم پولی از سرمایه گذاران جدید دارند"؛ ‪ R4‬نیز به این معناست که‬
‫"آن طرحها ناگزیر سقوط میکنند؛ اغلب هم در مواردی که بکارگیری سرمایهگذاران جدید دشوار‬
‫میشود"‪ .‬توجه داشته باشید که الزامات ما این واقعیت را درک نمیکنند که "سازماندهندگان‬
‫طرح پانزی اغلب با وعده سرمایهگذاری در فرصتهایی که ادعا میشود بازده باالیی دارند ‪-‬‬
‫کمخطر یا بدون خطر‪ -‬سرمایهگذاران جدید را وسوسه میکنند"‪ .‬دلیل این امر این است که‪،‬‬
‫ً‬
‫منحصرا بر اساس منطق پیادهشده در قرارداد است‪ ،‬در حالیکه‬ ‫از لحاظ طراحی‪ ،‬الزامات ما‬
‫تبلیغات (برای جذب سرمایهگذاری در طرح پانزی) امری انسانی است و خارج از کد قرارداد‬
‫انجام میشود‪.‬‬
‫طرحهای پانزی در مقابل شبهپانزی‪ .‬توجه داشته باشید که الزام ‪ R4‬برخی از قراردادها‬
‫که بعضاً بهعنوان برنامههای پانزی شناخته میشوند را منتفی میداند‪ ،‬حتی اگر مکانیزم‬
‫پانزی برای توزیع سرمایهگذاری در قرارداد نیز هارد‪-‬کد‪ 16‬نشده باشد‪ .‬این یک "مورد تمثیلی"‬
‫از قراردادهایی است که بازارهای قابل جمعآوری رمزارز را پیادهسازی میکنند و نمونه بارز آن‬
‫نیز بازی ‪ CryptoKitties‬نام دارد؛ یک بازی که در آن بازیکنان میتوانند گربههای مجازی را‬
‫تولید و معامله کنند که بهعنوان توکنهای ‪ ERC-721‬اجرا میشود‪ .‬در واقع‪ ،‬در اینجا الزام‬
‫‪ R4‬نقض می شود‪ ،‬زیرا یک کاربر خوش شانس‪ ،‬صرفنظر از لحظه پیوستن به قرارداد‪ ،‬ممکن‬
‫است یک گربه نادر را تولید کند و با فروش آن سود کسب کند‪.‬‬
‫بدالیل مشابه‪ ،‬الزام ‪ R4‬بازی ‪ Fomo3D‬که گاهاً بهعنوان یک طرح پانزی از آن یاد‬
‫بازی قرعهکشی کار میکند که در آن‪ ،‬در هر‬
‫ِ‬ ‫میشود را رد میکند‪ Fomo3D .‬به عنوان یک‬
‫دور‪ ،‬بازیکنان میتوانند برخی از "کلیدها" را خریداری کنند‪ ،‬و آخرین خریدار در این مرحله‬
‫برنده یک جکپات‪ 17‬است‪ .‬هر زمان که یک کلید خریداری شد‪ ،‬مهلت زمانی تا اتمام دور تمدید‬
‫میشود و درآمد حاصل از فروش کلید به دو قسمت تقسیم میشود‪ :‬بخشی از آن به جکپات‬
‫اضافه میشود‪ ،‬درحالیکه قسمت دیگر بین شرکتکنندگان در آن دور بازی تقسیم میشود‪.‬‬
‫مکانیزم قرعه کشی در این بازی‪ ،‬زمان پیوستن کاربر به این طرح را از خطر از دست دادن‬
‫ً‬
‫نتیجتا این امر‪ ،‬الزام ‪ R4‬را نقض میکند‪.‬‬ ‫سرمایه گذاریاش جدا میکند؛‬
‫الزام ‪ R4‬همچنین ‪ ،PoWH3D‬یکی دیگر از طرحهای ادعایی پانزی را رد میکند‪.‬‬
‫‪ PoWH3D‬یک توکن و صرافی آن را پیادهسازی میکند‪ :‬مکانیزم قرارداد اطمینان میدهد که‬
‫ارزش توکن هنگام خرید افراد رشد میکند و هنگام فروش کاهش مییابد‪ .‬عالوهبراین‪ ،‬معامله‬
‫هر توکن ‪ 10‬درصد هزینه دارد‪ .‬سرمایهگذاران میتوانند از سه طریق درآمد کسب کنند‪ :‬فروش‬
‫توکن گرانتر از قیمت خرید؛ دعوت از یک سرمایهگذار جدید برای خرید توکن (در این حالت‪،‬‬
‫آنها دستمزد دعوتنامه را دریافت میکنند)؛ و دریافت هزینههای پرداختشده توسط یک‬
‫سرمایهگذار (که بدون دعوتنامه آمده است) (این هزینهها بین تمام دارندگان توکن توزیع‬
‫میشود)‪ .‬در اینجا الزام ‪ R4‬نقض میشود زیرا تاخیر در سرمایهگذاری‪ ،‬بهعنوان مثال در یک‬
‫لزوما بمعنای افزایش خطر از دست دادن سرمایهگذاریهای یک شخص نیست‪،‬‬ ‫ً‬ ‫دوره رکود‪،‬‬
‫زیرا مکانیزم از پایین بودن ارزش توکنها مطمئن است‪.‬‬

‫‪16‬‬
‫کد اختصاصی‪ ،‬صفتی در مورد روال یا برنامه ای که برای وضعیت خاصی طراحی شده و یا به جای دریافت‬
‫ورودی عمومی‪ ،‬از ثابتهای توکار استفاده میکند‪Hard Coded .‬‬
‫‪17‬‬
‫تمام پولها‪ .‬پولهای روی هم انباشته شده‪Jackpot .‬‬
‫بخش ‪ -3‬مجموعه طرحهای پانزی ‪15 /‬‬
‫متذکر میشویم که‪ ،‬حتی اگر در یک قراردادی صراحتاً مکانیزم پانزی اجرا نشود (که‬
‫بنابراین برخی از الزامات ما را نقض می کند)‪ ،‬این امر ممکن است به طور بالقوه رفتاری را‬
‫القاء کند که از نزدیک با برنامه پانزی مشابه است‪ .‬بهعنوان مثال‪ CryptoKitties ،‬و طرفداران‬
‫آن باعث بوجود آمدن و رشد مجموعهای از مجموعههای‪-‬رمزارزی شدند که اغلب با "جنون‬
‫لگ الله‪ "18‬مقایسه میشود‪ .‬محبوبیت بسیار زیاد ‪ CryptoKitties‬تقریباً باعث شلوغی شبکه‬
‫اتریوم در سال ‪ 2017‬شد‪ .‬برخی از گربههای مجازی با قیمت بیش از ‪170‬هزار دالر فروخته‬
‫شدند و بازار نیز بیش از ‪ 12‬میلیون دالر از فروش گربههای مجازی را پردازش کرده است [‪.]18‬‬

‫‪ :3.2‬مجموعهای از طرحهای پانزی‬


‫برای ساخت یک دیتاست از طرحهای پانزی‪ ،‬ما با بازیابی کد سالیدیتی قراردادهای منتشر‬
‫شده در بالکچین اتریوم شروع به کار میکنیم‪ .‬از آنجاییکه بالکچین فقط بایتکد ‪ EVM‬را‬
‫ذخیره میکند‪ ،‬برای این منظور ما به جستجوگر بالکچین اتریوم تکیه میکنیم‪ ،‬که به‬
‫توسعهدهندگان اجازه میدهد کد سالیدیتی قرارداد خود را بارگذاری کنند و تأیید میکند که‬
‫‪19‬‬
‫تلفیق آنها با کد ‪ EVM‬موجود بر روی بالکچین مطابقت دارد‪.‬‬
‫با بازرسی دستی کد سالیدیتی این قراردادها‪ ،‬ما ‪ 138‬قرارداد را کشف میکنیم که تمام‬
‫الزامات شلک ‪ 2‬را برآورده میکنند و بنابراین میتوانند بهعنوان طرحهای پانزی طبقهبندی‬
‫بشوند‪ .‬از آنجا که تمام قراردادهای موجود در این نمونه نسبتاً کوچک هستند (کمتر از ‪120‬‬
‫خط کد‪ ،‬منجمله کامنتها)‪ ،‬بازرسی دستی به اندازه کافی برای بررسی الزامات دقیق بوده‬
‫است‪ .‬بهعنوان بررسی بیشتر‪ ،‬برای همه این قراردادها الگوی مورد استفاده آنها برای توزیع‬
‫مجدد پول که مبنای طبقهبندی ما در بخش ‪ 4‬است را مطالعه میکنیم‪ .‬برای اینکه در حاشیه‬
‫امن باقی بمانیم (بهعنوان مثال‪ ،‬برای جلوگیری از برخورد با موارد مثبت کاذب‪ ،)20‬ما آن دسته‬
‫از قراردادها که برای اطمینان از وضعیتشان بیش از حد پیچیده هستند ‪ -‬چه الزامات را‬
‫برآورده بکنند چه نکنند ‪ -‬را در این مجموعه وارد نکردهایم‪.‬‬
‫ما برای بزرگتر کردن مجموعه خود مرحله جستجوی دیگری را انجام میدهیم‪ .‬بهطور‬
‫خاصتری‪ ،‬ما در بالکچین اتریوم‪ ،‬قراردادهایی که بایتکد آنها مشابه برخی از طرحهای پانزی‬
‫درون مجموعه اولیه ما هستند را جستجو میکنیم‪ .‬این کار از طریق مراحل زیر انجام میشود‪:‬‬
‫ما برای برآورد فاصله عادی لوناشتاین‪( ]20[ 21‬که منبعد ‪ NLD‬نامیده میشود)‬ ‫‪.1‬‬
‫بین د و قرارداد دلخواه ‪ EVM‬بر روی بالکچین اتریوم از الگوریتم مونت کارلو استفاده‬

‫‪18‬‬
‫یک حباب اقتصادی بزرگ در هلند مابین سالهای ‪ 1634‬تا سال ‪ 1637‬میالدی‪Tulip Mania .‬‬
‫‪19‬‬
‫هنگامیکه ما برای اولین بار مجموعه خود را در سال ‪ 2017‬ایجاد کردیم‪ ،‬هنوز امکان داشت همه قراردادها را با‬
‫سورسکد تأیید شده از طریق لینک ‪ https://etherscan.io/contractVerified‬لیست کرد‪ .‬در حال حاضر‪ ،‬فقط‬
‫‪ 500‬قرارداد آخر با منبع تأیید شده ذکر شده است‪ .‬برای غلبه بر این محدودیت میتوان از تجزیه کننده بالکچین‬
‫مانند ‪ ]19[ BlockAPI‬برای اسکن تمام معامالت موجود در بالکچین و گرفتن کد سالیدیتی آنها از ‪Etherscan‬‬
‫استفاده کرد‪ .‬برای قرارداد دارای آدرس ‪ xyz‬لینک ‪ https://etherscan.io/address/xyz#code‬حاوی کد‬
‫سالیدیتی قرارداد است‪ ،‬اگر توسط ‪ Etherscan‬تأیید شده است‪.‬‬
‫‪20‬‬
‫‪False Positive‬‬
‫‪21‬‬
‫فاصله لوناشتاین یا فاصله ویرایش در نظریه داده و علوم کامپیوتر متری برای محاسبه میزان تفاوت میان دو‬
‫رشته است‪ .‬به عنوان مثال فاصله لوناشتاین بین "‪ "kitten‬و "‪ "sitting‬برابر ‪ 3‬است‪ – .‬فاصله عادی لوناشتاین‪:‬‬
‫‪Normalized Levenshtein distance‬‬
‫‪ / 16‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫میکنیم‪ NLD .‬معیاری استاندارد برای سنجش تشابه بین دو رشته است‪ .‬فاصله‬
‫غیرعادی لوناشتاین‪ 22‬بین دو رشته‪ ،‬تعداد کاراکتری را که باید برای تبدیل رشته اول‬
‫به رشته دوم تغییر بدهد را اندازهگیری میکند (بهعنوان مثال‪ ،‬اختالف کاراکتر بین‬
‫واژگان "‪ "Ponzi‬و "‪ "Bamzai‬عدد ‪ 3‬است)‪ .‬نسخه عادی خود یک معیار است و‬
‫مقدار آن یک عدد واقعی بین ‪( 0‬برابری کامل) و ‪( 1‬نابرابری کامل) است‪ .‬بعد از‬
‫این محاسبات‪ ،‬ما عدد ‪ 0.79‬را برای ‪ NLD‬بین دو قرارداد ‪ EVM‬که به دلخواه از‬
‫بالکچین دانلود شدهاند تخمین میزنیم‪.‬‬
‫‪ .2‬ما ‪ NLD‬را بین قراردادهای موجود در نمونه اولیه خود و کلیه قراردادهای موجود‬
‫در بالکچین اتریوم محاسبه میکنیم‪ .‬ما هر قراردادی با ‪ NLD‬کمتر از ‪ 0.35‬از برخی‬
‫از قراردادهای موجود در نمونه خود را بهعنوان یک طرح بالقوهی پانزی در نظر‬
‫میگیریم‪ .‬دو مقدار ‪ 0.35‬و ‪ 0.79‬به اندازهای کافی با هم فاصله دارند که مطمئن‬
‫بشویم با موارد مثبت کاذب روبرو نشدهایم‪ .‬این موارد قراردادهایی هستند که ‪NLD‬‬
‫از نمونه اولیه آنها زیر ‪ 0.35‬است لکن طرحهای پانزی نیستند‪ .‬این جستجو منجر‬
‫به یافتن ‪ 0‬طرح جدید احتمالی پانزی شد‪ ،‬که در مجموعه اصلی ‪ 138‬قرارداد ما‬
‫گنجانده نشده است‪.‬‬
‫آنالین زبان سالیدیتی برای بایتکد ‪ EVM‬آن ‪ 0‬قرارداد یافت شده‬ ‫‪23‬‬
‫ما از دیکامپایلر‬ ‫‪.3‬‬
‫در مرحله دوم استفاده میکنیم‪ ،‬و کد سالیدیتی بدست آمده از دیکامپایل را با کد‬
‫طرح پانزی مربوطه که در فاز اول پیدا کردهایم‪ ،‬به صورت دستی مقایسه میکنیم‪.‬‬
‫در ‪ 46‬مورد‪ ،‬مطابقت اساسی بین کدهای قرارداد پیدا میکنیم‪ ،‬بنابراین این‬
‫قراردادها را نیز به مجموعه خود اضافه میکنیم‪.‬‬

‫‪Contract name‬‬ ‫‪#Trans.‬‬ ‫‪ETH‬‬ ‫‪USD‬‬ ‫‪Users‬‬ ‫‪Transactions‬‬

‫‪In‬‬ ‫‪Out‬‬ ‫‪In‬‬ ‫‪Out‬‬ ‫‪In‬‬ ‫‪Out‬‬ ‫‪Paying‬‬ ‫‪Paid‬‬ ‫‪First‬‬ ‫‪Last‬‬

‫‪DynamicPyramid‬‬ ‫‪444‬‬ ‫‪143‬‬ ‫‪7 474‬‬ ‫‪7 437‬‬ ‫‪84 187‬‬ ‫‪83 541‬‬ ‫‪175‬‬ ‫‪51‬‬ ‫‪2016-02-23‬‬ ‫‪2018-10-01‬‬
‫‪DianaEthereum-x1.8‬‬ ‫‪288‬‬ ‫‪168‬‬ ‫‪5 307‬‬ ‫‪5 303‬‬ ‫‪61 166‬‬ ‫‪61 266‬‬ ‫‪129‬‬ ‫‪84‬‬ ‫‪2016-03-08‬‬ ‫‪2018-05-17‬‬
‫‪Doubler2‬‬ ‫‪395‬‬ ‫‪161‬‬ ‫‪4 858‬‬ ‫‪4 825‬‬ ‫‪26 376‬‬ ‫‪26 220‬‬ ‫‪211‬‬ ‫‪68‬‬ ‫‪2016-02-16‬‬ ‫‪2018-11-22‬‬
‫‪ZeroPonzi‬‬ ‫‪627‬‬ ‫‪499‬‬ ‫‪4 490‬‬ ‫‪4 489‬‬ ‫‪49 816‬‬ ‫‪49 770‬‬ ‫‪47‬‬ ‫‪28‬‬ ‫‪2016-04-04‬‬ ‫‪2017-10-27‬‬
‫‪Doubler‬‬ ‫‪156‬‬ ‫‪57‬‬ ‫‪3 073‬‬ ‫‪3 073‬‬ ‫‪31 292‬‬ ‫‪35 927‬‬ ‫‪92‬‬ ‫‪17‬‬ ‫‪2016-02-19‬‬ ‫‪2018-06-26‬‬
‫‪Government‬‬ ‫‪723‬‬ ‫‪846‬‬ ‫‪2 939‬‬ ‫‪2 939‬‬ ‫‪35 738‬‬ ‫‪40 066‬‬ ‫‪40‬‬ ‫‪27‬‬ ‫‪2016-03-08‬‬ ‫‪2017-03-20‬‬
‫‪Rubixi‬‬ ‫‪686‬‬ ‫‪66‬‬ ‫‪1 367‬‬ ‫‪1 363‬‬ ‫‪16 986‬‬ ‫‪16 775‬‬ ‫‪104‬‬ ‫‪28‬‬ ‫‪2016-03-14‬‬ ‫‪2019-01-24‬‬
‫‪ProtectTheCastle2‬‬ ‫‪890‬‬ ‫‪1257‬‬ ‫‪1 332‬‬ ‫‪1 332‬‬ ‫‪186 040‬‬ ‫‪190 802‬‬ ‫‪101‬‬ ‫‪68‬‬ ‫‪2016-03-20‬‬ ‫‪2018-02-22‬‬
‫‪EthereumPyramid‬‬ ‫‪978‬‬ ‫‪339‬‬ ‫‪986‬‬ ‫‪917‬‬ ‫‪5 044‬‬ ‫‪5 290‬‬ ‫‪327‬‬ ‫‪125‬‬ ‫‪2015-09-07‬‬ ‫‪2018-04-11‬‬
‫)‪Total (184 schemes‬‬ ‫‪18 925‬‬ ‫‪9100‬‬ ‫‪43 881‬‬ ‫‪43 332‬‬ ‫‪630 662‬‬ ‫‪702 878‬‬ ‫‪2378‬‬ ‫‪1232‬‬ ‫—‬ ‫—‬

‫جدول ‪ -1‬برجستهترین طرحهای پانزی بر اساس میزان اتر سرمایهگزاری شده‬

‫در پایان‪ ،‬ما به یک مجموعه داده از ‪ 184‬طرح پانزی میرسیم که آنها را در آدرس‬
‫‪ goo.gl/CvdxBp‬در دسترس قرار میدهیم (گزیدهای از این مجموعه در جدول ‪ 1‬در بخش‬
‫‪ 5‬هست)‪ .‬ما تأکید میکنیم که مجموعه ما شامل همه طرحهای پانزی که طی سالهای‬

‫‪22‬‬
‫‪Non-normalized Levenshtein Distance‬‬
‫‪23‬‬
‫دیکامپایلر‪ :‬ابزاری که کد اصلی نرمافزارها را با عملیات دیکامپایل نشان میدهد‪.‬‬
‫‪https://ethervm.io/decompile‬‬
‫بخش ‪ -4‬آناتومی طرحهای پانزی ‪17 /‬‬
‫گذشته در اتریوم منتشر شدهاند‪ ،‬نیست‪ .‬بهعنوان مثال‪ ،‬قرارداد ‪ PonziUnlimited24‬آشکارا‬
‫یک طرح پانزی است‪ ،‬اما تشخیص اینکه منطق آن مطابق با الزامات شلک ‪ 2‬است‪ ،‬فوری‬
‫نیست؛ بنابراین ما آن را در مجموعه خود قرار نمیدهیم‪.25‬‬

‫‪ :3.3‬استخراج معامالت‬
‫برای هر طرح پانزی در دیتاست ما‪ ،‬تمام معامالت آن (چه خارجی و چه داخلی) را از بالکچین‬
‫اتریوم جمع میکنیم‪ .‬بهطور خاصتری‪ ،‬ما برای هر معامله دادههای زیر را ثبت میکنیم‪)1( :‬‬
‫تعداد بلوک ثبت شده؛ (‪ )2‬تاریخی که در بالکچین منتشر شده است؛ (‪ )3‬آدرس فرستنده؛‬
‫(‪ )4‬آدرس گیرنده؛ (‪ )5‬مقدار اتر منتقل شده توسط معامله؛ (‪ )6‬یک مقدار بولین‪ 26‬که ثبت‬
‫میکند آیا اجرای معامله منجر به خطا شده است یا نه‪ )7( .‬یک مقدار بولین که خارجی یا‬
‫داخلی بودن معامله را نشان میدهد‪ .‬اسکریپت هایی که برای این منظور توسعه دادهایم از‬
‫در آدرس‬ ‫و‬ ‫میکنند‬ ‫بهرهبرداری‬ ‫‪Etherscan‬‬ ‫نام‬ ‫به‬ ‫اتریوم‬ ‫توسعه‬ ‫‪API27‬های‬
‫‪ github.com/blockchain-unica/ethereum-ponzi‬در دسترس هستند‪.‬‬

‫بخش ‪ -4‬آناتومی طرحهای پانزی‬


‫در این بخش‪ ،‬سورس کد طرحهای پانزی را آنالیز میکنیم تا رفتار آنها را درک کنیم و قیاس‬
‫بین طرحهای مختلف را بیابیم‪ .‬سپس درباره برخی موارد امنیتی یافت شده در قراردادهای‬
‫تحلیل شده بحث میکنیم‪.‬‬

‫‪ :4.1‬طبقهبندی طرحهای پانزی‬


‫بر اساس آنالیز سورس کد قراردادها که در بخش ‪ 2-3‬انجام شده است‪ ،‬ما یک طبقهبندی‬
‫تقریبی از طرحهای پانزی را طراحی میکنیم‪ ،‬که آنها را بر اساس الگوی استفاده شده برای‬
‫بازپرداخت پول طبقهبندی میکند‪ .‬طبقهبندی ما شامل چهار دسته است که نمایندگانی از‬
‫اجداد آنها در شلک ‪3‬تا‪ 286‬نشان داده شدهاند‪ .‬دستههای طبقهبندی ما به شرح ذیل هستند‪:‬‬

‫‪24‬‬
‫‪https://etherscan.io/address/0x582b2489710A4189AD558B6958641789587fCc27‬‬
‫‪ 25‬یک سوال مرتبط‪ ،‬بدون پاسخی آسان‪ ،‬تخمین تعداد لک طرحهای هوشمند پانزی در اتریوم است‪ .‬آنالیز درون‬
‫مرجع شماره [‪ ]21‬تخمین میزند که ‪ 507‬طرح هوشمند پانزی ممکن است تا قبل از سپتامبر ‪ 2017‬در بالکچین‬
‫اتریوم ساخته شده باشند‬
‫‪26‬‬
‫این متغیرها میتوانند تنها دو مقدار درست (‪ )TRUE‬و غلط (‪ )FALSE‬یا ‪ 0‬و ‪ 1‬را در خود نگهداری کنند ‪-‬‬
‫‪Boolean‬‬
‫‪27‬‬
‫‪https://etherscan.io/apis‬‬
‫‪ 28‬قطعه کدهای ارائه شده فرض بر نسخه ‪ v0.2.2‬کامپایلر سالیدیتی که در بیشتر قراردادهای مجموعه ما استفاده‬
‫میشود گذاشتهاند‪ .‬اگرچه نسخه های جدیدتر سالیدیتی‪ ،‬نحوهی اعالم توابع و مدیریت آرایه ها را تغییر میدهند‪،‬‬
‫اما این تغییرات در روح نمونههای ما تأثیر نمیگذارند‪.‬‬
‫‪ / 18‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫‪29‬‬
‫از ساختار داده درختی برای القای یک سفارش در بین کاربران‬ ‫طرحهای درختی‪-‬شلک‬
‫استفاده میکنند‪ .‬هر زمان که یک کاربر به این طرح میپیوندد‪ ،‬باید کاربر دیگری را بهعنوان‬
‫دعوتکننده نشان دهد که گره والد او میشود‪ .‬اگر به هیچ دعوتکنندهای اشاره نشود‪ ،‬آن‬
‫والد‪( ،‬یعنی مالک طرح) خود گره اصلی خواهد بود‪ .‬در اکثر طرحها‪ ،‬مبلغی که باید‬
‫سرمایهگذاری شود توسط کاربر انتخاب میشود و محدودیت کمتری برای آن وجود دارد‪ .‬پول‬
‫کاربر جدید با این منطق در بین اجداد وی تقسیم میشود که هر چه یک جد (دو درجه‬
‫باالتر) به وی نزدیکتر باشد‪ ،‬سهم آن جد بیشتر است‪ .‬از آنجا که محدودیتی در تعداد‬
‫فرزندان یک گره وجود ندارد‪ ،‬هرچه تعداد گرهها (و فرزندان) بیشتر باشد‪ ،‬درآمد بیشتری‬
‫کسب خواهد کرد‪.‬‬
‫ما در شلک ‪ 3‬یک طرح اجدادی از این نوع را نشان میدهیم‪ .‬برای پیوستن به این‬
‫طرح‪ ،‬یک کاربر باید مقداری پول ارسال کند و باید یک دعوتکننده را نشان دهد که گره والد‬
‫ً‬
‫قبال حضور داشته‬ ‫او خواهد بود‪ .‬اگر مقدار پول کاربر خیلی کم باشد ( خط ‪ ،)15‬یا اگر کاربر‬
‫باشد (خط ‪ ،)16‬یا اگر دعوتکننده وجود نداشته باشد (خط ‪ ،)17‬کاربر رد میشود‪ .‬در غیر‬
‫اینصورت او را در درخت قرار میدهند (خط ‪ .)19‬پس از پیوستن کاربر‪ ،‬سرمایهگذاری وی در‬
‫بین اجدادش تقسیم میشود (خطوط ‪ 25‬تا ‪ )29‬و در هر سطح نیز مقدار آن نصف میشود‪.‬‬
‫در این طرح‪ ،‬یک کاربر نمیتواند میزان سود خود را پیشبینی کند‪ :‬این به تعداد کاربرانی‬
‫که میتواند دعوت کند و میزان سرمایهگذاری آنها بستگی دارد‪ .‬تنها کسی که تضمین میکند‬
‫سود میبرد گره ریشه درخت یعنی مالک طرح است؛ طرحهای ‪ Etheramid‬و‬
‫‪ DynamicPyramid‬نمونههایی از این نوع طرحها هستند‪.‬‬

‫شلک ‪ -3‬طرح درختی‬

‫طرحهای زنجیرهای‪-‬شلک‪ 30‬یک مورد خاص از طرحهای درختی‪-‬شلک که در آنها هر گره از‬
‫درخت دقیقاً یک فرزند دارد‪ ،‬میباشد (بنابراین ترتیب ایجاد شده در بین کاربران خطی است)‪.‬‬
‫ً‬
‫معموال سرمایهگذاری را در یک عامل ثابت ازپیشتعریفشده‬ ‫طرحهای موجود در این گروه‬
‫ضرب میکنند که برای همه کاربران برابر است‪ .‬این طرح‪ ،‬یکی پس از دیگری‪ ،‬به ترتیب ورود‬
‫و بهطور کامل به کاربران پول پرداخت میکند‪ :‬کلیه سرمایههای جدید تا بدست آوردن مبلغ‬

‫‪29‬‬
‫‪Tree-shaped Schemes‬‬
‫‪30‬‬
‫‪Chain-Shaped Schemes‬‬
‫بخش ‪ -4‬آناتومی طرحهای پانزی ‪19 /‬‬
‫مقرر جمع می شود‪ .‬در آن لحظه‪ ،‬قرارداد بازپرداخت را در یک حواله پس میفرستند و به‬
‫سراغ کاربر بعدی در زنجیره میرود‪ .‬مبلغی که باید سرمایهگذاری شود میتواند ثابت یا آزاد‬
‫ً‬
‫معموال مالک قرارداد از هر سرمایهگذاری یک میزان‬ ‫باشد یا حد پایین تری داشته باشد‪.‬‬
‫کارمزد را برای خود حفظ میکند‪.‬‬
‫ما در شلک ‪ 4‬یک طرح زنجیرهای‪-‬شلک اجدادی نشان دادهایم‪ ،‬که سرمایهگذاری هر کاربر‬
‫را دو برابر میکند‪ .‬برای پیوستن به این طرح‪ ،‬یک کاربر ‪ msg.amount ETH‬را به قرارداد‬
‫میفرستد‪ ،‬که از این رو تابع ‪( fallback‬خط ‪ )14‬را آغاز میکند‪ .‬این قرارداد به حداقل هزینه‬
‫‪ 1‬اتر نیاز دارد‪ :‬اگر ‪ msg.amount‬کمتر از این حداقل باشد‪ ،‬کاربر رد میشود (خط ‪ .)15‬در‬
‫غیر این صورت‪ ،‬آدرس وی به آرایه اضافه میشود (خط ‪ ،)17‬و طول آرایه افزایش مییابد‪.31‬‬
‫مالک قرارداد ‪10‬درصد از مبلغ سرمایهگذاری را حفظ میکند (خط ‪ .)22‬با وجود بودجه‬
‫باقیمانده‪ ،‬قرارداد سعی دارد تا پول کاربران قبلی را پس بدهد‪ .‬اگر موجودی برای پرداخت به‬
‫کاربر در شاخص ‪ paying‬کافی باشد‪ ،‬قرارداد ‪ 2‬برابر سرمایه کاربر را پرداخت میکند (خط ‪.)25‬‬
‫پس از آن‪ ،‬قرارداد تالش میکند تا به کاربر بعدی پرداخت کند و تا زمانی که موجودی کافی‬
‫نباشد‪ ،‬به همین ترتیب ادامه میدهد‪.‬‬
‫در این طرح‪ ،‬یک کاربر میتواند دقیقاً میزان سود خود را پیشبینی کند‪ ،‬مشروط بر اینکه‬
‫این طرح همچنان ادامه داشته باشد‪ .‬مبلغ متناسب با سرمایهگذاری وی میباشد‪ .‬طرحهای‬
‫‪ DianaEthereum ،Doubler‬و ‪ ZeroPonzi‬نمونههایی از این نوع طرحها هستند‪.‬‬

‫شلک ‪ -1‬طرح زنجیرهای‬

‫طرحهای آبشاری‪ :‬برای طرح سفارشدهی کاربر مشابه طرحهای زنجیرهای‪-‬شلک هستند‬
‫اما منطق توزیع پول آنها متفاوت است‪ .‬هر سرمایهگذاری جدید در امتداد زنجیره‬
‫سرمایهگذاران ریخته میشود‪ ،‬بهطوری که هر یک میتوانند سهم خود را بردارند‪ .‬از آنجا که‬
‫این منطق این است که هر کس زودتر بیاید زودتر سرویس میگیرد و توزیع آن همیشه از‬
‫ً‬
‫احتماال کاربران بعدی در این زنجیره هیچوقت پول دریافت‬ ‫ابتدای زنجیره آغاز میشود‪،‬‬
‫نمیکنند‪.‬‬
‫ما در شلک ‪ 5‬یک طرح باستانی از این نوع با عوارض ورودی ‪ 1‬اتر (خط ‪10 ،)19‬درصد‬
‫کارمزد برای مالک (خط ‪ )24‬و یک پرداخت ‪6‬درصدی از سرمایههای کاربر در هر نوبت را نشان‬
‫میدهیم‪ .‬منطق پرداخت از خط ‪ 27‬شروع میشود‪ .‬اگر برای پرداخت به اولین کاربر در آرایه‬

‫‪31‬‬
‫در زبان سالیدیتی‪ ،‬سایز ‪ dynamicarrays‬را میتوان با تغییر دادن عضو ‪ length‬تغییر داد‪.‬‬
‫‪ / 20‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫موجودی قرارداد کافی باشد (در موقعیت ‪ ،)pos = 0‬در این صورت قرارداد میزان ‪6‬درصد از‬
‫سرمایه اصلی آن کاربر را به وی ارسال میکند (خطوط ‪ .)30-29‬پس از آن‪ ،‬قرارداد سعی‬
‫میکند به کاربر بعدی در آرایه پرداخت کند و بههمین ترتیب تا زمانی که موجودی تمام‬
‫نشود‪ ،‬ادامه مییابد‪ .‬با سرمایهگذاری بعدی‪ ،‬آرایه دوباره تکرار میشود و باز هم از اولین کاربر‬
‫شروع میشود‪.‬‬
‫برای اطمینان از اینکه همه کاربران پولی را (منسجم با الزام ‪ )R3‬دریافت میکنند‪،‬‬
‫سرمایهگذاری کاربران جدید باید متناسب با تعداد کاربران رشد کنند‪ .‬طرحهای‬
‫‪ TreasureChest‬و ‪ PiggyBank‬نمونههایی از این نوع طرحها هستند‪.‬‬

‫شلک ‪ -2‬طرح آبشاری‬

‫طرحهای واگذاری‪-‬شلک نمونهای از طرحهای زنجیرهای‪-‬شلک هستند که در آن عوارض‬


‫ورود توسط قرارداد تعیین گردیده و هر زمان که سرمایهگذار جدیدی به این طرح میپیوندد‪،‬‬
‫افزایش مییابد‪ .‬عوارض سرمایهگذار جدید بهطور کامل به شخص قبلی داده میشود‪ :‬از‬
‫آنجاکه عوارض ورودی افزایش مییابد‪ ،‬سرمایهگذار قبلی سود فوری میبرد‪ .‬در هر لحظه‪،‬‬
‫فقط یک سرمایهگذار وجود دارد که پول دریافت میکند‪ ،‬و به محض دریافت پول‪ ،‬این امتیاز‬
‫را به کاربر بعدی تحویل میدهد‪.‬‬
‫یک مثال اجدادی در شلک ‪ 6‬نشان داده شده است‪ .‬برای پیوستن به این طرح‪ ،‬کاربر‬
‫باید حداقل میزان مربوط به ‪ price ETH‬را به قرارداد بفرستد‪ ،‬که از این رو تابع ‪fallback‬‬
‫خط ‪ 11‬را آغاز میکند‪ .‬قرارداد آن مبلغ تجمیعی را منهای هزینهای که در قرارداد نگهداری‬
‫میشود (خط ‪ )13‬به ‪ user‬قبلی منتقل میکند‪ .‬سپس‪ ،‬آدرس کاربر جدید رکورد میشود (خط‬
‫‪ ،)14‬و ‪ price‬دو برابر میشود (خط ‪ .)15‬مالک قرارداد میتواند با فراخوانی‬
‫‪ sweepCommission‬سهم خود را برداشت کند‪.‬‬
‫ً‬
‫در طرحهای واگذاری‪ ،‬در زمان سرمایهگذاری‪ ،‬کاربران دقیقا میدانند که چه مقدار سود‬
‫کسب خواهند کرد‪ .‬با اینحال‪ ،‬از آنجا که عوارض با ادامه طرح افزایش مییابد‪ ،‬کاربران بعدی‬
‫احتماال پول خود را از دست میدهند (منسجم با الزام ‪ .)R4‬طرح ‪KingOfTheEtherThrone‬‬ ‫ً‬
‫نمونهای از طرحهای واگذاری است‪.‬‬
‫بخش ‪ -4‬آناتومی طرحهای پانزی ‪21 /‬‬

‫شلک ‪ -6‬طرح واگذاری‬

‫‪ :4.2‬آنالیز توزیع پول‬


‫طرحهای پانزی این ویژگی را دارند که هر سرمایهگذار میتواند سود کسب کند‪ ،‬مشروط بر‬
‫اینکه سرمایهگذاران پس از او سرمایه کافی در قرارداد سرمایهگذاری کنند (الزام ‪ .)R3‬با تمرکز‬
‫بر روی انواع طرحهای مشخص شده در بخش قبلی‪ ،‬اکنون بررسی میکنیم که یک سرمایهگذار‬
‫ً‬
‫(مثال) پول خود را دو‬ ‫باید منتظر چه تعداد کاربر باشد و چقدر باید سرمایهگذاری کنند تا او‬
‫برابر کند‪.‬‬

‫شلک ‪ - 3‬درخت پرداخت برای طرحی که پول سرمایهگذاری شده را دو برابر میکند و دقیقاً ‪ 1‬اتر از هر کاربر‬
‫میپذیرد‪ .‬اولین اتر به مالک داده میشود‪.‬‬

‫طرحهای زنجیرهای‪-‬شلک‪ :‬یک طرح زنجیرهای‪-‬شلک را در نظر بگیرید که پول دریافتی را‬
‫دو برابر میکند‪ ،‬عوارض ورود را دقی ً‬
‫قا بمیزان ‪ 1‬اتر میپذیرد و به جز ‪ 1‬اتر اولیهی ارسال شده‬
‫به قرارداد‪ ،‬هیچ هزینه دیگری را مجددا برای مالک ندارد‪ .‬بگذارید فرض کنیم اولین کاربر‬
‫یعنی ‪ U1‬میزان ‪ 1‬اتر را ارسال میکند‪ .‬پول او به مالک داده میشود‪ ،‬و بدین ترتیب از قراردادی‬
‫که موجودی آن ‪ 0‬است حذف میشود‪ .‬برای اینکه ‪ U1‬بتواند ‪ 1‬اتر خود به اضافه پول دیگری‬
‫که به وی وعده داده شده است را ببیند (از آنجا که قرارداد مبلغ سرمایهگذاری را دو برابر‬
‫میکند)‪ ،‬باید منتظر دو کاربر دیگر یعنی ‪ U2‬و ‪ U3‬باشد که هر کدام از آنها با ارسال ‪ 1‬اتر به‬
‫طرح بپیوندند‪.‬‬
‫‪ / 22‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫در شلک ‪ ،7‬هر گره معرف یک کاربر است و فرزندان آن نیز کاربرانی هستند که برای‬
‫بازخرید سهم وی مورد نیاز هستند‪ .‬بنابراین‪ U2 ،‬باید منتظر بماند تا ‪ U1‬سهم خود را بازخرید‬
‫کند‪ ،‬و سپس او باید منتظر ‪ U3‬و ‪ U4‬برای ارسال پول باشد (از این رو باید در لک منتظر ‪3‬‬
‫کاربر باشد)‪ .‬کاربر ‪ U3‬که آخرین نفر در سطح خود میباشد‪ ،‬باید صبر کند تا سطح بعدی که‬
‫در مجموع ‪ 4‬کاربر را به انتظار میکشد کامل بشود‪ .‬بهطور کلی‪ ،‬یک کاربر ‪ UK‬در سطح ‪ i‬باید‬
‫صبر کند تا تمام آن کاربران سطح قبلی سهم خود را بازخرید کرده باشند‪ ،‬و سپس باید منتظر‬
‫همه کاربران در سطح خود که قبل از او رسیدهاند بماند‪ .‬اگر ‪ UK‬اولین گره در سطح ‪ i‬باشد‪،‬‬
‫باید منتظر بماند تا همه کاربران دیگر در سطح ‪ i‬بپیوندند‪ ،‬بهعالوه دو نفر دیگر که برای‬
‫بازخرید سهم او مورد نیاز است‪ .‬این به ‪ 2i – 1 + 2‬کاربر نیاز دارد‪ .‬از آنجا که مقدار گرهها تا‬
‫سطح ‪ i - 1‬بهمقدار ‪ 2i – 1‬است و از آنجا که ‪ UK‬اولین نفر در سطح ‪ i‬هست‪ ،‬ما میبینیم که‬
‫‪ k = 2i‬و از این رو‪ ،‬در بهترین حالت‪ UK ،‬باید منتظر تعداد ‪ k + 1‬کاربر باشد‪ .‬در عوض‪ ،‬اگر‬
‫‪ UK‬آخرین کاربر در سطح ‪ i‬باشد‪ ،‬باید منتظر همه کاربران دیگر در سطح ‪ i + 1‬باشد‪ .‬این امر‬
‫به تعداد ‪ 2i+1‬کاربر نیاز دارد‪ .‬از آنجاکه‪ ،k = 2i+1 - 1 ،‬در این مورد ‪ UK‬باید منتظر ‪ k + 1‬کاربر‬
‫باشد‪ .‬بهعنوان مثال‪ ،‬کاربری که در موقعیت ‪ 3‬به این طرح میپیوندد باید منتظر بماند ‪4‬‬
‫کاربر جدید بیایند و ‪ 4‬اتر سرمایهگذاری کنند تا بتواند سرمایه خود را دو برابر کند‪ .‬در عوض‪،‬‬
‫یک کاربر در موقعیت ‪ 50‬باید منتظر ‪ 51‬کاربر جدید باشد‪.‬‬
‫اگرچه در این مثال ساده‪ ،‬یک طرح بدون هزینه و یک مبلغ سرمایهگذاری ثابت برای هر‬
‫کاربر در نظر گرفته شده است‪ ،‬اما مالحظات کلی در مورد احتماالت بازخرید سرمایهگذاری‬
‫افراد برای همه قراردادهای درون مجموعه ما صادق است‪ .‬در قراردادی که هیچ محدودیتی‬
‫در میزان سرمایهگذاری فرد وجود ندارد‪ ،‬یک سرمایهگذاری سنگین غیرمعمول میتواند باعث‬
‫شود که قرارداد در حالیکه پولها را جمع میکند برای مدت زمانی طوالنی ارسال پرداختها‬
‫را نیز متوقف کند و بدین سبب کاربران جدید را برای پیوستن به این طرح دلسرد میکند‪.‬‬
‫همچنین‪ ،‬کارمزدهای باالتر مالک و عوامل باال تر ضریبدهی باعث کاهش سرعت جریان‬
‫میشود‪ .‬بهطوریکه نتایج ما محدودیت کمتری به تعداد کاربران مورد انتظار داشته باشد‪.‬‬
‫بهعنوان مثال‪ ،‬طرح زنجیرهای‪-‬شلک ‪ Doubler2‬مبلغ سرمایهگذاری شده را دو برابر میکند‪،‬‬
‫حداقل سرمایهگذاری بمیزان ‪ 1‬اتر درخواست میکند‪ ،‬و ‪10‬درصد هزینه میگیرد‪ .‬این قرارداد‬
‫فقط پول کاربر ‪68‬ام از ‪ 210‬کاربر را پرداخت کرده است‪ .‬با نگاهی به معامالت آن‪ ،‬میبینیم‬
‫که بیشترین حد عوارض بین ‪ 1‬تا ‪ 5‬اتر است‪ ،‬اما گاهبهگاه عوارض باالتری نیز وجود دارد (تا‬
‫‪ 50‬اتر) که سیستم را برای تکمیل یک سطح بسیار کند میکنند‪.‬‬
‫طرحهای درختی‪-‬شلک‪ :‬مالحظات مذکور در باال برای طرحهای درختی‪-‬شلک نیز بهعنوان‬
‫یک حد پایینتر در نظر گرفته میشوند‪ ،‬زیرا با این واقعیت که کاربران جدید نمیتوانند همگی‬
‫از فرزندان یک گره خاص باشند‪ ،‬سرعت آنها کاهش مییابد‪.‬‬
‫طرحهای آبشاری‪ :‬یک طرح آبشاری با عوارض ثابت ‪ 1‬اتر و بدون هیچ هزینهای را در نظر‬
‫بگیرید که به هر کاربر ‪10‬درصد از مبلغ سرمایهگذاری شده را بدهد‪ .‬برای هر سرمایهگذار جدید‪،‬‬
‫افراد قدیمی دارای ‪ 0.1‬اتر هستند‪ :‬از این رو‪ 10 ،‬کاربر جدید برای بازپرداخت سرمایه گذاری‬
‫وی و ‪ 10‬کاربر دیگر نیز برای دو برابر کردن سرمایهگذاری وی مورد نیاز است‪ .‬توجه داشته‬
‫باشید که برای ‪ 10‬کاربر اول‪ ،‬مبلغی که آنها میدهند بهطور کامل توزیع نشده است‪ :‬یعنی‬
‫بخشی از قرارداد باقی مانده است‪ .‬بااینحال‪ ،‬پس از پیوستن دهمین سرمایهگذار به زنجیره‪،‬‬
‫بخش ‪ -4‬آناتومی طرحهای پانزی ‪23 /‬‬
‫پولی که او میدهد برای تقسیم شدن بین تمام کاربران کافی نیست‪ :‬از آن لحظه به بعد‪،‬‬
‫قرارداد باید از بودجههای خود استفاده کند تا خال را پر کند‪ .‬سرانجام‪ ،‬این مبلغ نیز پایان‬
‫مییابد‪ :‬با ادامه طرح‪ ،‬مهم نیست که چه تعداد سرمایهگذار دیگر به آن طرح بپیوندند‪ ،‬فقط‬
‫تضمین شده است که ‪ 10‬کاربر اول سهام را دریافت خواهند کند‪.‬‬
‫بنابراین‪ ،‬برای اطمینان از اینکه هر فردی میتواند سرمایهگذاری خود را دو برابر کند‪ ،‬باید‬
‫اطمینان حاصل کنیم که سرمایهگذاری روی همه کاربران پخش شده است‪ .‬بگذارید اکنون‬
‫فرض کنیم که‪ ،‬برای پیوستن به این طرح‪ ،‬یک کاربر باید ‪ 0.1‬اتر ضربدر تعداد کاربران موجود‬
‫باشد‪ .‬بنابراین کاربر اول ‪ 0‬اتر سرمایهگذاری میکند و کاربر یازدهم ‪ 1‬اتر سرمایهگذاری میکند‪.‬‬
‫با چنین قانونی‪ ،‬اگر طرح شامل ‪ n‬کاربر باشد‪ ،‬کاربر ‪( kth‬مثال کاربر بیستم) میزان )‪0.1(k – 1‬‬
‫اتر داده است درحالیکه )‪ 0.1(n – k‬اتر دریافت کرده است‪ .‬هرچه تعداد کاربران افزایش‬
‫مییابد‪ ،‬پول دریافتی نیز رشد میکند‪ .‬بهعنوان مثال‪ ،‬کاربر سوم که به این طرح میپیوندد‬
‫باید ‪ 0.2‬اتر سرمایهگذاری کند و بهمحض عضویت ‪ 4‬کاربر دیگر میزان ‪ 0.4‬اتر (دوبرابر‬
‫سرمایهاش) دریافت خواهد کرد‪ .‬در عوض‪ ،‬کاربر ‪50‬ام باید ‪ 4.9‬اتر عوارض بدهد و باید منتظر‬
‫‪ 98‬کاربر جدید بماند تا سرمایهگذاری وی دوبرابر گردد‪ .‬با این وجود‪ ،‬از آنجا که عوارض برای‬
‫هر سرمایهگذار جدید افزایش مییابد‪ ،‬با ادامه طرح‪ ،‬ورود به این طرح جذابیت کمتری دارد‪.‬‬
‫طرحهای واگذاری‪ :‬در طرحهای واگذاری‪ ،‬برای اینکه یک سرمایهگذار بتواند بازپرداخت را‬
‫دریافت کند‪ ،‬کافی است منتظر بمانید تا یک کاربر دیگر به آن بپیوندد‪ .‬بااینحال‪ ،‬از آنجا که‬
‫عوارض دائماً افزایش مییابد‪ ،‬با ادامه طرح‪ ،‬ورود به این طرح جذابیت کمتری دارد‪.‬‬
‫بهطور کلی‪ ،‬ما نشان دادهایم که الزامات ‪ R3‬و ‪ R4‬برای انواع طرحهایی که شناسایی‬
‫کردهایم وجود دارند‪ :‬یعنی تضمین شده است که اگر هر سرمایهگذار پول کافی پس از آن‬
‫سرمایهگذاری کند‪ ،‬درآمد کسب خواهد نمود لکن سرمایهگذاران بعدی بیشتر در خطر از دست‬
‫دادن سرمایه گذاری خود هستند‪.‬‬

‫‪ :4.3‬موارد امنیتی‬
‫در این بخش‪ ،‬چندین آسیبپذیری که در اجرای طرحهای پانزی مشاهده کردهایم را نشان‬
‫میدهیم؛ اینها آسیبپذیریهایی هستند که رفتار تبلیغاتی آن طرحها را تضعیف میکنند‪.‬‬
‫ما آسیبپذیریها را با توجه به تأثیرات خود سازماندهی خواهیم کرد‪ :‬آنهایی که به‬
‫سرمایهگذاران آسیب میرسانند و آنهایی که به خود طرح آسیب میرسانند‪.‬‬
‫آسیبرسان به سرمایهگذاران‪ :‬برخی از آسیبپذیریها به دلیل باگ کدنویسی هستند‪،‬‬
‫ً‬
‫کامال عمدی است‪ :‬آنها ضمن اینکه برای صاحب طرح‬ ‫که در برخی موارد بهنظر میرسد‬
‫سودآور هستند‪ ،‬به کاربران آسیب میرسانند‪ .‬رایجترین آسیبپذیری ناشی از استفاده نادرست‬
‫ً‬
‫قبال در مراجع شماره ‪ 22‬و ‪ 23‬به موارد امنیتی آن اشاره شده است‪ .‬اگر‬ ‫از ‪ send‬است که‬
‫یک ‪ send‬با خطا مواجه شود‪ ،‬یک کد خطا را برمیگرداند‪ :‬اگر یک قرارداد این خطا را بررسی‬
‫نکند‪ ،‬نمیتواند متوجه بشود که مشکلی وجود داشته است‪ .‬بنابراین‪ ،‬در صورت بروز خطا در‬
‫زمان اجرای ‪( send‬ارسال پول)‪ ،‬پول در قرارداد باقی میماند‪ ،‬در حالیکه کاربر چیزی دریافت‬
‫نمیکند‪ .‬قابل توجه است که اکثریت عمده قراردادهایی که ما آنالیز کردهایم‪ ،‬بررسی نمیکنند‬
‫ببینند که انتقال اتر با موفقیت انجام شده است یا نه‪ .‬کد آنها مشابه کد موجود در شلک‬
‫‪( 3‬خط ‪ ،)27‬شلک ‪( 4‬خط ‪ ، )22‬شلک ‪( 5‬خط ‪ )29‬و شلک ‪( 6‬خط ‪ )13‬میباشد‪ .‬این‬
‫‪ / 24‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫آسیبپذیری حداقل از ‪ 11‬فوریه ‪ 2016‬زمانیکه صاحب طرح ‪ KingOfTheEtherThrone‬فهمید‬
‫‪32‬‬
‫که مقدار زیادی اتر در قرارداد او باقیمانده است شناخته شده است‪.‬‬
‫‪33‬‬
‫این طرح طبق‬ ‫باگ دیگری که به نفع مالک است‪ ،‬در طرح ‪ PiggyBank‬وجود دارد‪.‬‬
‫تبلیغاتش یک طرح آبشاری است که در آن مالک ‪3‬درصد هزینه را نگه میدارد و هر کاربر با‬
‫هر بار ورود کاربر جدید به این طرح‪ ٪3 ،‬از سرمایه خود را دریافت میکند‪ .‬از این رو‪ ،‬دستور‬
‫محاسبه هزینه مالک باید به شرح زیر باشد‪:‬‬
‫‪fees = amount/33‬‬
‫درحالیکه دستور واقعی استفاده شده در طرح ‪ PiggyBank‬کمی متفاوت است‪:‬‬
‫‪fees += amount/33‬‬
‫ً‬
‫کامال مشهود است اما قابل توجه است که‪ :‬در واقع‪ ،‬دستور دوم باعث‬ ‫این تفاوت‬
‫میشود که کارمزدها در هر سپرده رشد کنند و در نتیجه سهام مالک طرح برای هر سرمایهگذاری‬
‫بهطور پیوسته افزایش مییابد‪ .‬در عمل‪ ،‬کارمزدهای محاسبه شده برای سپرده هفتم بیش از‬
‫خود سپرده است‪ .‬در کنار این‪ ،‬متغیر سراسری مورد استفاده برای اسکن آرایه (‪ pos‬در شلک‬
‫‪ )5‬برخالف خط ‪ 25‬ریست نشده است‪ .‬از این رو‪ ،‬در هر واریز‪ ،‬تکرار فرایند از اولین کاربر به‬
‫کاربر آخر نمیرسد بلکه از آخرین نفر به خود آخرین نفر میرود‪ .‬بدین سبب‪ ،‬در هر واریز فقط‬
‫به یک کاربر و فقط یک بار پول پرداخت میشود‪ .‬بهخصوص که به هم پیوستگی این دو باگ‬
‫منجر میشود (تقریباً) تمام پول سرمایهگذاری شده به مالک داده شود‪ .‬اگر تنها باگ دوم‬
‫وجود داشت‪ ،‬این قرارداد میتوانست مقدار زیادی اتر بازخریدنشدنی را جمع کند‪.‬‬
‫عالوه بر باگهای پنهان شده در کد‪ ،‬خطرات دیگر برای کاربران ناشی از توابعی هستند‬
‫که به مالک امکان انجام کارهای ویژه را میدهد‪ ،‬که میتواند قرارداد را از رفتار مورد انتظار‬
‫دور کند‪ .‬یک مثال از این مورد در طرح ‪ DynamicPyramid‬وجود دارد که در آن مالک‬
‫میتواند نرخ بهره و همچنین سهام کارمزد خود را تغییر دهد (نگاه کنید به شلک ‪ ، 8‬سمت‬
‫راست)‪ .‬موارد دیگر در طرحهای ‪ Doubler3‬و ‪ TheGame‬هستند که در آن مالک میتواند‬
‫تمام پول قرارداد را برداشت کند (نه تنها سهم خودش‪ ،‬نگاه کنید به شلک ‪ ،9‬سمت چپ)‪،‬‬
‫و مبلغی که به سرمایهگذاران پس داده میشود را تخلیه کند‪ .‬بعالوه‪ ،‬برخی از طرحها دارای‬
‫تابع ‪ selfdestruct‬هستند که فقط توسط مالک قابل فراخوانی است و قرارداد را فسخ میکند‬
‫(نگاه کنید به شلک ‪ ،9‬سمت راست)‪ .‬وقتی این اتفاق میافتد‪ ،‬سرمایهگذاران پول خود را از‬
‫دست میدهند‪.‬‬
‫آسیبرسان به طرح‪ :‬حتی هنگامیکه دستورات ‪ send‬بررسی میشوند‪ ،‬یک عملکرد‬
‫نامناسب از مقدار برگشتی آنها میتواند نتیجه معکوس بدهد و میتواند طرح را در معرض‬
‫حمالت ‪ DDOS‬یا ‪ Blackmailing‬قرار بدهد‪ .‬بهعنوان مثال‪( HYIP ،‬شلک ‪ 10‬را ببینید)‪ ،‬یک‬
‫طرح آبشاری است که در آن سرمایهگذاران در یک آرایه ثبت میشوند و در پایان هر روز پول‬
‫به همه آنها پرداخت میشود‪ .‬این طرح بررسی میکند تا ببیند که آیا هر دستور ‪send‬‬
‫موفقیتآمیز بوده است یا نه‪ :‬در صورت خطا‪ ،‬یک استثنا را ایجاد میکند‪ .‬بااینحال‪ ،‬هرگونه‬
‫خطا در یکی از ‪send‬ها (سطرهای ‪ 25‬و ‪ )31‬تمام انتقالهای اتر را برمیگرداند‪ .‬خطاها ممکن‬

‫‪32‬‬
‫‪https://www.reddit.com/r/ethereum/comments/44h1m1/‬‬
‫‪33‬‬
‫‪https://www.reddit.com/r/ethereum/comments/4br0za/piggybank_earn_eth_forever/‬‬
‫بخش ‪ -4‬آناتومی طرحهای پانزی ‪25 /‬‬
‫است اتفاق بیفتند‪ ،‬بهعنوان مثال‪ ،‬بهدالیل زیر‪ )1( :‬مجموعه سرمایهگذاران آنقدر طوالنی‬
‫میشوند که اسکن آنها منجر به اتمام گس برای پردازش میشود‪ )2( .‬مانده قرارداد بهنوعی‬
‫و بهشکلی در وسط دستور ‪( for‬خط ‪ )28‬صفر میشود‪ ،‬زیرا هنوز پول را به همه سرمایهگذاران‬
‫نپرداخته است‪ )3( .‬یکی از سرمایهگذاران‪ ،‬یک قرارداد است که ‪ fallback‬آن یک خطا را‬
‫ایجاد میکند‪ .‬با اکسپلویت کردن آخرین باگ‪ ،‬یک مهاجم میتواند قراردادی را همراه با یک‬
‫‪34‬‬
‫را در‬ ‫‪ fallback‬ایجاد کند که همیشه تابع ‪ throw‬را انجام میدهد‪( .‬بهعنوان مثال‪ ،‬مالوری‬
‫شلک ‪ 10‬ببینید)‪ .‬قرارداد مهاجم مقدار ناچیزی از اتر را برای ورود به مجموعه سرمایهگذاران‬
‫به ‪ HYIP‬میفرستد‪ .‬هنگامی که ‪ HYIP‬سعی میکند بازپرداخت وی را برای او ارسال کند‪،‬‬
‫‪ fallback‬استناد شده یک استثنا را ایجاد میکند‪ .‬توجه داشته باشید که هیچ راهی برای‬
‫لغو مالوری از آرایه وجود ندارد‪ ،‬بنابراین ‪ HYIP‬گیر کرده است و موجودی آن برای همیشه‬
‫فریز شده است‪ .‬در این مرحله‪ ،‬مهاجم میتواند از ‪ HYIP‬باجخواهی کرده و برای متوقف‬
‫کردن حمله‪ ،‬درخواست پول کند (از طریق ‪ ،StopAttack‬خط ‪)21‬‬
‫اگرچه عدم بررسی دستور ‪ send‬بزرگترین باگ هست‪ ،‬باگهای دیگری نیز وجود دارند‬
‫‪35‬‬
‫دارای یک باگ بدنام‬ ‫که بر قراردادها تأثیر میگذارند‪ .‬بهعنوان مثال‪ ،‬طرح ‪Government‬‬
‫است که تاکنون فقط در آن قرارداد مشاهده شده است‪ Government .‬یک طرح پانزی به‬
‫شلک زنجیرهای است که دارای یک تناقض است‪ :‬عالوه بر روش معمول برای بازپرداخت پول‬
‫در صورت ادامه کار و سرمایهگذاری کاربران کافی‪ ،‬آن کسی میتواند برنده تمام پولها بشود‬
‫(جکپات) که هیچکس بعد از او بهمدت ‪ 12‬ساعت سرمایهگذاری نکرده باشد‪ .‬لیست کاربران‬
‫در یک آرایه نگهداری میشود و وقتی ‪ 12‬ساعت تمام شد‪ ،‬آرایه پاک میشود‪ .‬با اینحال‪،‬‬
‫دستوری که برای پاک کردن آرایه استفاده میشد‪ ،‬مجبور بود هر یک از عناصر خود را اسکن‬
‫کند‪ .‬در یک زمان خاص‪ ،‬آرایه بهقدری رشد کرد که پاکسازی هر عنصر به گس زیادی ‪-‬بیشتر‬
‫از حداکثر مجاز در هر معامله‪ -‬نیاز داشت‪ .‬از اینرو‪ ،‬قرارداد گیر افتاد‪ ،‬و برنده اصلی جکپات‬
‫نتوانست پول خود را مطالبه کند‪.‬‬

‫شلک ‪ - 4‬در سمت چپ‪ ،‬رد ثبت نام و عدم بازگشت هزینه در طرح ‪ .Tomeka‬در سمت راست‪ ،‬عملکردی که‬
‫مالک طرح ‪ TheGame‬برای تعیین ضریب و هزینه استفاده کرده است‪.‬‬

‫‪34‬‬
‫‪Mallory‬‬
‫‪35‬‬
‫در اینجا منظور تفکر دولتی هست که در انجمنهای اینترنتی با اسم "‪ "GovernMental‬و همچنین‬
‫"‪ "PonziGovernMental‬شناخته میشن‪.‬‬
‫‪ / 26‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬

‫شلک ‪ -5‬در سمت چپ‪ ،‬در حال تسویه و بازگرداندن تمام موجودی در طرح ‪ .EthVentures1‬در سمت راست‪،‬‬
‫یک تابع ختم قرارداد در طرح ‪.TheGame‬‬

‫شلک ‪ -6‬در سمت چپ‪ ،‬یک قطعه از کد ‪ ،HYIP‬که یک طرح آسیبپذیر در برابر حمالت ‪ DDOS‬میباشد‪ .‬در‬
‫سمت راست‪ ،‬کد حمله مربوطه به نام قرارداد مالوری‪.‬‬
‫باگ بعدی مربوط به عملکرد سازنده است‪ ،‬که فقط یک بار در زمان ایجاد اجرا میشود‬
‫ً‬
‫(معموال برای آماده سازی مالک قرارداد همراه با آدرس ‪ msg.sander‬ارسال کننده اولین‬
‫تراکنش)‪ .‬سازنده باید همان نام قرارداد را داشته باشد‪ ،‬اما ما چهار قرارداد را پیدا کردیم که‬
‫نام اشتباهی دارند‪ FirePonzi ،Rubixi ،GoodFellas :‬و ‪ .StackyGame‬شلک ‪ 11‬خالصهای‬
‫از دو مورد اول را نشان میدهد‪ .‬در سمت چپ‪ ،‬طرح ‪ Goodfellas‬تابعی به نام ‪LittleCactus‬‬
‫(خط ‪ )5‬دارد که مالک را تعیین میکند و سپس هزینههای جمع آوری شده تا لحظه کنونی‬
‫(خط ‪ )11‬به مالک ارسال میشوند‪ .‬در سمت راست‪ ،‬طرح ‪ Rubixi‬تابعی به نام‬
‫‪( DynamicPyramid‬خط ‪ )5‬دارد که مالک را تعیین میکند (با نام ‪ ،)creator‬و سپس یک‬
‫تابع ‪ CollectAllFees‬وجود دارد که میتواند برای ارسال کارمزدها به مالک طرح فراخوانی‬
‫بشود (خط ‪ .)11‬اعطای نام اشتباه به تابعی که بهمعنای سازنده بودن است مضر است‪ :‬این‬
‫بخش ‪ -5‬تاثیر طرحهای پانزی ‪27 /‬‬
‫ً‬
‫اصال صالحیت سازنده بودن را ندارد و هر کسی در هر زمانی میتواند آن را‬ ‫تابع در لک‬
‫فراخوانی کرده و آدرس مالک طرح را تغییر بدهد‪ .‬هنگامی که کاربران باگ را کشف کردند‪،‬‬
‫برای کسب مالکیت و دریافت کارمزدها شروع به فراخوانی این توابع کردند‪.‬‬

‫شلک ‪ -7‬باگ ‪ Constructor‬در طرحهای ‪ GoodFellas‬و ‪Rubixi‬‬

‫برای خاتمه دادن به این لیست باگها‪ ،‬ما یک ترفند ساده را نشان میدهیم که میتواند‬
‫برای خاموش کردن یک طرح زنجیرهای‪-‬شلک استفاده بشود‪ .‬برای نشان دادن آن‪Doubler ،‬‬
‫که مقدار ضرب شده در عدد دو را پس میدهد در نظر میگیریم‪ .‬برای انجام این حمله‪ ،‬اسکار‬
‫ً‬
‫(مثال ‪ 100‬اتر) سرمایهگذاری کند‪ .‬اسکار ابتدا ‪ 100‬اتر به قرارداد میفرستد‬ ‫باید مقدار زیادی اتر‬
‫‪36‬‬
‫با دریافت اسالت‬ ‫‪ ،‬و سپس ‪ 100‬اتر اضافی (بهعالوه برخی کارمزدها) را نیز ارسال میکند‪.‬‬
‫دوم‪ ،‬این طرح تمام ‪ 200‬اتر را به اسکار پس میدهد‪ ،‬بنابراین او چیزی را از دست نمیدهد‪.‬‬
‫از آن لحظه به بعد‪ ،‬تمام سرمایه گذاریهای بعدی برای بازپرداخت ‪ 100‬اتر دوم اسکار جمع‬
‫میشوند‪ .‬اگر متوسط مبلغ سرمایهگذاری شده کمتر از ‪ 100‬اتر باشد‪ ،‬برای بازپرداخت پول‬
‫اسکار به تعداد زیادی سرمایهگذار (و مدت زمانی طوالنی) نیاز است‪ :‬از این رو‪ ،‬این طرح‬
‫برای مدتی قادر به بازپرداخت پول سایر سرمایهگذاران نخواهد بود‪ .‬از آنجا که موفقیت‬
‫ً‬
‫احتماال با‬ ‫اینگونه طرحها بر این اساس است که بازپرداختهای آنها سریعاً صورت میپذیرد‪،‬‬
‫این حمله‪ ،‬کاربران و سرمایهگذاران این طرح را ترک میکنند‪ .‬این حمله را میتوان در هر زمان‬
‫‪37‬‬
‫اگر این‬ ‫جهت بیانگیزه کردن کاربران برای پیوستن به یک طرح زنجیرهای‪-‬شلک انجام داد‪.‬‬
‫حمله در مراحل اولیه چرخه حیات طرح انجام بشود‪ ،‬حمله با ضرر پولی ناچیزی با موفقیت‬
‫پایان مییابد‪.‬‬

‫بخش ‪ -5‬تاثیر طرحهای پانزی‬


‫در جدول ‪ ،1‬ما در مورد ‪ 184‬قرارداد موجود در مجموعه خود‪ ،‬آماری کلی نشان میدهیم؛ و‬
‫در مورد ‪ 10‬قرارداد اول لیست خود‪ ،‬به ترتیب مقدار لک اتر سرمایهگذاری شده‪ ،‬جزئیاتی ارائه‬

‫‪36‬‬
‫براش تضمین ظرفیت ارسالها‪ ،‬اسکار پول را از طریق یک قرارداد ارسال میکند‪.‬‬
‫‪37‬‬
‫تاآنجاکه ما میدانیم‪ ،‬این حمله فقط بر روی قرارداد ‪ Quadrupler‬صورت پذیرفته است‪ .‬برای مشاهده جزئیات‬
‫بیشتر مطالب ‪ etherscan‬و ‪ bitcointalk‬را بخوانید‪.‬‬
‫‪ / 28‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫میدهیم‪ .‬اطالعات کامل در مورد طرحهای پانزی جمع آوری شده‪ ،‬از جمله آدرسهای منحصر‬
‫بهفرد آنها‪ ،‬به صورت آنالین در آدرس ‪ goo.gl/CvdxBp‬گزارش شدهاند‪.‬‬
‫ستونهای جدول ‪ 1‬شامل تعداد معامالت ورودیوخروجی و ارزش کلی منتقل شده‪ ،‬هم‬
‫در اتر و هم در دالر آمریکا (گرد شده به یک عدد صحیح) میباشد‪ .‬برای تبدیل مقدار هر‬
‫بدست‬ ‫‪38‬‬
‫معامله به دالر آمریکا‪ ،‬از میانگین نرخ ارز روز معامله که از وبسایت ‪etherscan.io‬‬
‫آمده استفاده میکنیم‪ .‬ارزش منتقل شده از طریق یک معامله‪ ،‬با توجه به خارجی یا داخلی‬
‫بودن معامله‪ ،‬معنایی متفاوت دارد‪:‬‬
‫معامالت خارجی توسط کاربران برای فراخوانی توابع قرارداد ایجاد میشوند‪ .‬این معامالت‬ ‫•‬
‫میتوانند برخی از اترها را از یک کاربر به قرارداد فراخوانی شده منتقل بکنند‪ .‬از این رو‪،‬‬
‫قرارداد است‪.‬‬ ‫‪39‬‬
‫این مقدار اتر‪ ،‬بخشی از ورودی‬
‫معامالت داخلی دو نوع هستند‪ :‬آنهایی که تحت نظارت خاصی به سمت قرارداد ارسال‬ ‫•‬
‫شدهاند‪ ،‬و آنهایی که از سمت قرارداد ارسال شدهاند‪ .‬اولین مورد زمانی اتفاق میافتد‬
‫که کاربر بهجای ارسال مستقیم پولش به یک طرح پانزی‪ ،‬قرارداد دیگری را امضا بکند‬
‫(بهطور معمول‪ ،‬یک قرارداد کیف پول) که از این رو مبلغ مرتبط با معامله بخشی از‬
‫ورودی قرارداد است‪ .‬حالت دوم زمانی اتفاق میافتد که قرارداد یک بازپرداختی را برای‬
‫قرارداد‬ ‫‪40‬‬
‫برخی از کاربران ارسال میکند‪ :‬در این حالت‪ ،‬مبلغ معامله بخشی از خروجی‬
‫است‪.‬‬
‫توجه داشته باشید که‪ ،‬همانند منبع شماره ‪ 24‬برای طرحهای پانزی در بیتکوین‪ ،‬در‬
‫اتریوم نیز نمیتوانیم سود کالهبرداران را بهطور دقیق تعیین کنیم‪ .‬در واقع‪ ،‬نحوه تعریف اینکه‬
‫چه کسی کالهبردار است مشخص نیست‪ :‬البته که مالک قرارداد را میتوان مبدع کالهبرداری‬
‫دانست‪ ،‬اما ممکن است او بیش از یک آدرس داشته باشد که از طریق آنها پول را بازخرید‬
‫میکند‪ .‬از این رو‪ ،‬ما نمیدانیم به چه شکلی پول ارسال شده برای کاربران قانونی را از پول‬
‫ارسال شده به کالهبرداران جدا کنیم‪ .‬تقریباً لک سود کالهبرداران را میتوان به میزان لک‬
‫‪ inflow‬مربوط به یک طرح دانست‪.‬‬
‫ستونهای "‪ "paying users‬و "‪ "paid users‬در جدول ‪ 1‬به ترتیب تعداد کاربرانی که وارد‬
‫مثال آدرسهای مشخصی که پول را به قرارداد میفرستند) و تعداد آن‬ ‫ً‬ ‫این طرح شدهاند (‬
‫کاربرانی که از قرارداد پولی دریافت کردهاند را نشان میدهند‪.‬‬
‫ستونهای "‪ "USD‬و "‪ "ETH‬در جدول ‪ 1‬اولین معیار تأثیر اقتصادی طرحهای پانزی بر‬
‫اتریوم را نشان میدهند‪ .‬توجه داشته باشید که ‪ ETH‬بهعنوان یک واحد اندازه گیری بهتنهایی‬
‫قابل توجه نیست‪ :‬در واقع‪ ،‬همانطور که توسط نمودار در شلک ‪ 12‬نشان داده شده است نرخ‬
‫صرف از ‪ ETH‬به ‪ USD‬بسیار بیثبات بوده است‪ .‬بهطور کلی‪ ،‬ما مشاهده میکنیم که طرحهای‬
‫پانزی موجود در لیست ما ‪ 630622‬دالر آمریکا را از ‪ 2378‬کاربر مجزا جمعآوری کردهاند‪.‬‬
‫درحالیکه تفاوت بین ‪ ETH‬ورودی و خروجی هیچوقت منفی نیست (زیرا قراردادها نمیتوانند‬
‫‪ ETH‬بیشتر از آنچه که دریافت میکنند را ارسال کنند)‪ ،‬تفاوت بین ‪ USD‬ورودی و خروجی‬

‫‪38‬‬
‫منبع‪https://etherscan.io/chart/etherprice :‬‬
‫‪39‬‬
‫‪inflow‬‬
‫‪40‬‬
‫‪outflow‬‬
‫بخش ‪ -5‬تاثیر طرحهای پانزی ‪29 /‬‬
‫میتواند منفی باشد‪ .‬این یک تناقض نیست‪ :‬همانطور که در شلک ‪ 12‬نشان داده شده است‬
‫میتوان با این واقعیت توضیح داد که نرخ صرف بین ‪ ETH‬و ‪ USD‬در طول زمان متفاوت‬
‫بوده است‪.‬‬

‫‪ :5.1‬آمار بر اساس نوع طرحها‬


‫در جدول ‪ 2‬ما آماری را در مورد تأثیر طرحهای پانزی که بر اساس نوع طرح گروه بندی‬
‫شدهاند را مطابق طبقهبندی در بخش ‪ 4‬نمایش میدهیم‪ .‬ستونها شامل این مواردند‪:‬‬
‫تعداد طرحها برای هر نوع؛ مقدار ‪ ETH‬ورودی و خروجی به قرارداد‪ ،‬و مقادیر مربوطه به دالر‬
‫آمریکا؛ تعداد کاربرانی که در این طرح سرمایهگذاری کردهاند و مقداری پول نیز دریافت کرده‬
‫اند؛ نسبت‪ 41‬بین این دو مقدار‪.‬‬
‫میبینیم که از مجموع ‪ 184‬قرارداد‪ ،‬تقریباً لک طرحها زنجیرهای‪-‬شلک هستند (‪151‬‬
‫طرح)‪ 12 .‬طرح نیز انواع مختلف آبشاری‪ ،‬درختی و دارای انواع مختلف تحویل هستند‪،‬‬
‫درحالیکه بخشی از تعداد ‪ 21‬طرح نیز در هیچ یک از دستههای تحت بررسی یافت نشدهاند‪.‬‬
‫آنها عمدتاً آزمایشات‪ ،‬یا گونههایی از طرحهای موجود یا فقط تکینگیهایی به روش خاص‬
‫خود هستند‪.‬‬
‫سورسکد طرحهای پانزی که در همان دستهبندی قرار میگیرند‪ ،‬فقط تفاوتهایی جزئی‬
‫بین نمونه مجزا را نشان میدهند‪ :‬اکثر قراردادها فقط در ضریب ضرب‪ ،‬در کارمزدهای اعمال‬
‫شده یا در حضور توابع کمکی متفاوت هستند‪ ،‬بهعنوان مثال زمینههای ‪ ،getter/setter42‬یا‬
‫سایر توابع کمکی برای مالک‪ .‬واریانس کم در کد طرحهای پانزی نیز با میانگین فاصله نرمال‬
‫شده لونشتاین در میان بایتکد آنها مشاهده میشود که ‪ 0.54‬است که بسیار کمتر از ‪0.79‬‬
‫بهعنوان فاصله متوسط بین بایتکد دو قرارداد ‪ arbitrary‬است‪ .‬این ممکن است نشان دهد‬
‫که پس از ایجاد اولین طرحهای پانزی‪ ،‬طرحهای بعدی با تطبیق موارد موجود به دست‬
‫آمدهاند‪.‬‬

‫شلک ‪ -8‬میانگین ماهیانه نرخ صرف اتر (‪ )ETH‬به دالر آمریکا (‪)USD‬‬

‫‪41‬‬
‫‪ratio‬‬
‫‪42‬‬
‫دریافت کننده ‪ /‬تنظیم کننده‬
‫‪ / 30‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫‪Kind‬‬ ‫‪#Num‬‬ ‫‪ETH‬‬ ‫‪USD‬‬ ‫‪Users‬‬
‫‪In‬‬ ‫‪Out‬‬ ‫‪In‬‬ ‫‪Out‬‬ ‫‪Paying‬‬ ‫‪Paid‬‬ ‫‪%‬‬
‫‪Tree-shaped‬‬ ‫‪4‬‬ ‫‪410‬‬ ‫‪400‬‬ ‫‪1 429‬‬ ‫‪1 416‬‬ ‫‪161‬‬ ‫‪83‬‬ ‫‪51%‬‬
‫‪Chain-shaped‬‬ ‫‪151‬‬ ‫‪41 514‬‬ ‫‪40 170‬‬ ‫‪587 086‬‬ ‫‪599 347‬‬ ‫‪1967‬‬ ‫‪968‬‬ ‫‪48%‬‬
‫‪Waterfall‬‬ ‫‪4‬‬ ‫‪452‬‬ ‫‪444‬‬ ‫‪8 836‬‬ ‫‪11 261‬‬ ‫‪111‬‬ ‫‪82‬‬ ‫‪73%‬‬
‫‪Handover‬‬ ‫‪4‬‬ ‫‪486‬‬ ‫‪483‬‬ ‫‪2 618‬‬ ‫‪3 124‬‬ ‫‪97‬‬ ‫‪63‬‬ ‫‪64%‬‬
‫‪Other‬‬ ‫‪21‬‬ ‫‪1 017‬‬ ‫‪933‬‬ ‫‪30 693‬‬ ‫‪87 728‬‬ ‫‪42‬‬ ‫‪36‬‬ ‫‪85%‬‬
‫‪Total‬‬ ‫‪184‬‬ ‫‪43 881‬‬ ‫‪43 332‬‬ ‫‪630 662‬‬ ‫‪702 878‬‬ ‫‪2378‬‬ ‫‪1232‬‬ ‫‪51%‬‬

‫جدول ‪ -1‬آمار بر اساس نوع طرحها‬

‫بخش ‪ -6‬اندازهگیری سود و زیان‬


‫اکنون ما توزیع سود و زیان را در بین کاربران بررسی میکنیم‪ .‬ما انتظار داریم الگوی هرمی‬
‫مشترک بین طرحهای پانزی را مشاهده کنیم‪ .‬در آنجا فقط تعداد کمی از کاربران از‬
‫سرمایهگذاری خود سود میبرند‪ ،‬درحالیکه اکثریت قریب به اتفاق ضرر میکنند‪.‬‬
‫تحلیل خود را با مالحظهی دو قرارداد آغاز میکنیم‪( Doubler2 :‬یک طرح زنجیرهای‪-‬‬
‫شلک) و ‪( Etheramid1‬یک طرح درختی‪-‬شلک)‪.‬‬
‫شلک ‪ 13‬سود اتر هر کاربری که وارد طرح ‪ Doubler2‬شده است رت نشان میدهد‪ .‬مقدار‬
‫منفی نشاندهنده میزان ضرر است‪ .‬نمودار نشان میدهد که اکثریت قریب به اتفاق کاربران‬
‫تعادل نزدیک به صفر دارند‪ ،‬درحالیکه فقط تعداد کمی از آنها با اوج ‪ 486‬اتر سود‬
‫قابلتوجهی دارند‪ .‬انتگرال نمودار نزدیک به صفر است که یعنی قرارداد تقریباً تمام پول‬
‫دریافتی را توزیع کرده است‪.‬‬
‫اکنون ما نسبت سود‪ ،‬یعنی نسبت بین اتر دریافت شده در مقابل اتر سرمایهگذاری شده‬
‫را تحلیل میکنیم‪ .‬با توجه به تبلیغات‪ ،‬که وعده سرمایهگذاری دو برابری را میدهد‪ ،‬هر کاربر‬
‫باید دقیقاً نسبت ‪ 2‬داشته باشد‪ .‬درعوض‪ ،‬شلک ‪ 14‬نشان میدهد که از مجموع ‪ 210‬کاربر‪،‬‬
‫تعداد ‪ 142‬کاربر هرگز هیچگونه وجهی دریافت نکردهاند (آنهایی که دارای برچسب ‪ 0‬هستند)؛‬
‫تعداد ‪ 23‬کاربر نسبت سود بین ‪ 0‬و ‪ 1‬دارند (به این معنی که آنها بهسختی توانستند سرمایه‬
‫ً‬
‫مجددا بدست آورند)‪ .‬تعداد ‪ 44‬کاربر نسبت سود بین ‪ 1‬و ‪ 2‬دارند و فقط یک کاربر‬ ‫خود را‬
‫دارای نسبت سود بسیار باالیی است‪)486( .‬‬
‫شلک ‪( 15‬سمت چپ) کاربرانی را با بیشترین سود نشان میدهد‪ .‬کاربری که ‪ 486‬اتر‬
‫کسب کرده است فقط ‪ 1‬اتر سرمایهگذاری کرده است‪ .‬نسبت کاربران پس از وی دقیقاً کمتر از‬
‫‪ 2‬است‪ :‬این بدان معنی است که برای داشتن چنین سود باالیی‪ ،‬آنها مجبور بودند مقدار‬
‫زیادی اتر سرمایهگذاری کنند‪ .‬از آنجا که طرح ‪ Doubler2‬یک طرح زنجیرهای‪-‬شلک است که‬
‫سرمایهگذاری را دو برابر میکند‪ ،‬از شلک ‪ 15‬نتیجه میگیریم که کاربران پرسود بیش از یک‬
‫بار سرمایهگذاری کرده اند و گاهی اوقات قرارداد نیز اتر وعده داده شده را پس نمیدهد‪.‬‬
‫شلک ‪ 13‬سود هر کاربر در ‪ Etheramid1‬را نشان میدهد‪ .‬مانند گذشته‪ ،‬اکثر کاربران پول‬
‫خود را از دست دادهاند‪ .‬فقط تعداد کمی از کاربران مقدار اندکی (تا ‪ 5‬اتر) درآمد کسب کردند‬
‫قا یک نفر از آنها درآمد باالی ‪ 30‬اتر داشته است‪ .‬شلک ‪ 14‬رفتاری مشابه با ‪Doubler2‬‬‫و دقی ً‬
‫را نشان میدهد‪ .‬از شلک ‪ 15‬میبینیم که دو کاربر نسبت سود ویژهای دارند‪ :‬یکی ‪ 7‬اتر از‬
‫بخش ‪ -6‬اندازهگیری سود و زیان ‪31 /‬‬
‫ً‬
‫(احتماال آغازگر طرح) میزان ‪ 30.6‬اتر بدون‬ ‫قبل با سرمایهگذاری ‪ 1‬اتری دریافت کرده و دیگری‬
‫سرمایهگذاری دریافت کرده است‪.‬‬
‫اکنون سایر قراردادهای مجموعه خود را در نظر میگیریم‪ .‬در ضمیمه ‪ ،A‬نمودارهای سود‬
‫کاربر‪ ،‬نسبت سود و جریان ورودی‪-‬خروجی را با انتخاب ‪ 23‬قرارداد نشان میدهیم که از بین‬
‫جالبترین ویژگیها منجمله حجم باالی پرداخت‪ ،‬تعداد کاربران یا تعداد معامالت انتخاب‬
‫شدهاند‪ .‬نمودارهای سود کاربران با وجود تفاوت در تعداد کاربران‪ ،‬نوع طرح و حجم اتر‬
‫ردوبدل شده از قراردادهایی که ما انتخاب کرده ایم‪ ،‬الگویی مشابه با ‪ Doubler2‬نشان‬
‫ً‬
‫کامال کم عمق است و دارای یک اوج مثبت باریک در‬ ‫میدهند‪ .‬بهطور کلی‪ ،‬منحنی در مرکز‬
‫سمت راست است و عمدتا در زیر محور افقی باقی میماند‪ .‬این بدان معنی است که بسیاری‬
‫از کاربران ضرر میکنند‪ .‬تعداد کمی از آنها چیزی بدست میآورند و حتی تعداد کمتری درآمد‬
‫بسیار باالیی دارند‪ .‬همچنین‪ ،‬اگر مالک را در بین کاربران قرار دهیم‪ ،‬تفاوت بین جریان ورودی‬
‫و جریان خروجی تقریباً صفر است‪.‬‬
‫از نمودارهای نسبت سود در ضمیمه ‪ ،A‬مشاهده میکنیم که بیشترین تعداد دستهها‬
‫مربوط به کاربرانی است که هرگز وجهی را پس نگرفتهاند و یا نسبت آنها بین ‪ 0‬و ‪ 1‬است‪.‬‬
‫این بدان معنی است که اکثر کاربران نمیتوانند چیزی بدست آورند‪ .‬درصد کاربرانی که چیزی‬
‫به دست نمیآورند بهطور متوسط حدود ‪ ٪70‬در بین قراردادهای انتخابی ما است‪ .‬بهطور‬
‫خاص‪ ،‬شلک ‪ A.34‬نشان میدهد که ناعادالنهترین قرارداد طرح ‪ Doubler‬است (که در آن‬
‫میزان ‪ ٪88‬از کاربران چیزی به دست نمیآورند) و پس از آن نیز طرحهای ‪ShinySquirrels‬‬
‫(با میزان ‪ )٪87‬و طرح ‪( GreedPit‬با میزان ‪ )٪85‬در صدر قرار دارند‪.‬‬
‫از آنالیز مشترک نمودارهای نسبت سود و کاربران دارای بیشتر سود (شلک ‪،)A.33‬‬
‫میبینیم که فقط یک یا دو کاربر در هر قرارداد دارای درآمد فوقالعاده باالیی هستند و در‬
‫برخی موارد‪ ،‬آنها حتی هیچ پولی را سرمایهگذاری نکردهاند‪ .‬بهطورکلی‪ ،‬سودهای استثنایی‬
‫زیاد فقط کارمزدهای قرارداد هستند که متعلق به مالک طرح است‪ .‬در بعضی موارد‪ ،‬بیش از‬
‫یک مالک وجود دارد‪ :‬بهعنوان مثال‪ ،‬طرح ‪ EthereumPyramid‬دارای دو مالک است و طرح‬
‫‪ Rubixi‬دارای شش مالک است‪ .‬بااینحال‪ ،‬طرح ‪ Rubixi‬موردی جداگانه است‪ :‬یک باگ در‬
‫کد این امکان را به کاربران میدهد که نقش مالک را بدزدند و ازاینرو کارمزدها را دریافت‬
‫کنند‪ .‬در موارد دیگر‪ ،‬طرح هیچ کارمزدی به سود مالک ندارد و ازاینرو نمودار نسبت سود‪،‬‬
‫سطحبندی بیشتر دارد (بهعنوان مثال در طرح ‪ ،ZeroPonzi‬میزان ‪ ٪59‬از کاربران چیزی کسب‬
‫نمیکنند) زیرا عدم حضور کارمزدها‪ ،‬اجازه بازپرداخت پول به کاربران بیشتری را میدهد‪.‬‬
‫‪ / 32‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬

‫شلک ‪ -9‬میزان سود ‪( ETH‬محور عمودی ‪ )Y‬در هر کاربر (محور افقی ‪)X‬‬

‫شلک ‪ -10‬تعداد کاربران گروهبندی شده بر اساس نسبت سود برای طرحهای ‪ Doubler2‬و ‪.Etheramid1‬‬
‫برچسب ‪ 0‬یعنی هیچ وجهی دریافت نشده است‪ .‬برای ‪ ،n > 0‬برچسب ‪ n‬یک نسبت بین ‪( n - 1‬سخت) و ‪n‬‬
‫(مشمول) را نشان میدهد‪ .‬برچسب ∞ کاربرانی را نشان میدهد که هرگز پولی ارسال نکردهاند‪.‬‬

‫‪Doubler2‬‬ ‫‪Etheramid1‬‬

‫‪Invested‬‬ ‫‪Received‬‬ ‫‪Net Gain‬‬ ‫‪Ratio‬‬ ‫‪Invested‬‬ ‫‪Received‬‬ ‫‪Net Gain‬‬ ‫‪Ratio‬‬

‫‪1‬‬ ‫‪186.8‬‬ ‫‪485.8‬‬ ‫‪486‬‬ ‫‪0‬‬ ‫‪30.6‬‬ ‫‪30.6‬‬ ‫∞‬


‫‪601‬‬ ‫‪1081.8‬‬ ‫‪480.8‬‬ ‫‪1.2‬‬ ‫‪1‬‬ ‫‪7‬‬ ‫‪6‬‬ ‫‪7‬‬
‫بخش ‪ -7‬تکامل زمانی ‪33 /‬‬

‫‪370.6‬‬ ‫‪654.5‬‬ ‫‪283.9‬‬ ‫‪1.7‬‬ ‫‪1‬‬ ‫‪6.4‬‬ ‫‪5.4‬‬ ‫‪6.4‬‬

‫‪254‬‬ ‫‪457.2‬‬ ‫‪203.2‬‬ ‫‪1.7‬‬ ‫‪1‬‬ ‫‪6.2‬‬ ‫‪5.2‬‬ ‫‪6.2‬‬

‫‪200‬‬ ‫‪360‬‬ ‫‪159.9‬‬ ‫‪1.8‬‬ ‫‪2‬‬ ‫‪6.6‬‬ ‫‪4.6‬‬ ‫‪3.3‬‬

‫شلک ‪-11‬جزئیات ‪ 5‬کاربری که بیشترین سود را بخاطر ‪ Doubler2‬و ‪ Etheramid1‬کسب کردهاند‪ .‬هر ردیف‬
‫نشاندهنده یک کاربر است‪ .‬مقادیر به اتر هستند‪ ،‬تا اولین رقم اعشاری غیر صفر درج شده است‪ .‬اطالعات‬
‫ستونها شامل‪ )1( :‬مقدار اتر ارسالی توسط کاربر به سمت قرارداد‪ )2( .‬مقدار دریافتی وی‪ )3( ،‬تفاوت بین‬
‫ستونهای ‪ 1‬و ‪ )4( ،2‬نسبت سود میباشند‪ .‬نسبت کاربرانی که پولی ارسال نکردهاند با ∞ نشان داده میشود‪.‬‬

‫بخش ‪ -7‬تکامل زمانی‬


‫در این بخش نحوه رفتار طرحهای پانزی در طول زمان را بررسی میکنیم‪ .‬بهطور خاص‪ ،‬در‬
‫بخش ‪ ،7.1‬ما همبستگی زمانی بین جریان ورودی و خروجی را آنالیز میکنیم‪ .‬در بخش ‪7.2‬‬
‫طول عمر طرحهای پانزی را آنالیز میکنیم‪ .‬در بخش ‪ 7.3‬نیز میبینیم که چگونه حجم‬
‫پرداختها در طول زمان تکامل مییابد‪.‬‬

‫‪ :7.1‬همبستگی جریان ورودی و خروجی‬


‫اکنون ما رفتار معامالت ورودی و خروجی را در طول زمان بررسی میکنیم‪ .‬همانند بخش‬
‫قبلی‪ ،‬ما قبل از بحث در مورد الگوی کلی‪ ،‬ابتدا قراردادهای ‪ Doubler2‬و ‪ Etheramid1‬را‬
‫آنالیز میکنیم‪.‬‬
‫شلک ‪ 16‬نشان میدهد که طرح ‪ Doubler2‬به مدت ‪ 6‬ماه فعال بود و بیشتر فعالیت‬
‫آن در ماه اول متمرکز بود‪ .‬ما یک نوع همبستگی بین جریان ورودی و خروجی مشاهده‬
‫میکنیم‪ :‬قبل از هر یک جریان خروجی (نقطه قرمز)‪ ،‬توالی جریان ورودی (نقاط آبی) با مقادیر‬
‫کمتری وجود دارد‪ .‬این بدان دلیل است که طرحهای زنجیرهای‪-‬شلک وجوه را جمعآوری‬
‫میکنند‪ ،‬و سپس پول را در یک واریزی به یک کاربر پرداخت میکنند‪ .‬از این رو‪ ،‬نقاط قرمز‬
‫از نظر ارزش بیشتر هستند‪ ،‬اما تعداد آنها کمتر است‪ .‬نقاط قرمز ‪( 06-05‬در نمودار طرح‬
‫‪ )Doubler2‬مربوط به مالک قرارداد است که کارمزدها را برداشت میکند‪ Etheramid .‬فقط‬
‫به مدت ‪ 1‬ماه و با ‪ 5‬روز فعالیت شدید فعال بود‪ .‬همچنین در این مورد بین معامالت‬
‫ورودی و خروجی یک همبستگی قوی وجود دارد‪ :‬بااینحال‪ ،‬الگوی آن با ‪ Doubler2‬متفاوت‬
‫است‪ ،‬زیرا سرمایهگذاریهای جدید (نقاط آبی) بالفاصله بین (برخی از) کاربران توزیع‬
‫میشوند‪ .‬این امر منجر به مجموعهای از نقاط قرمز میشود که هرزمان نقطه آبی وجود‬
‫داشته باشد ارزش آنها کاهش مییابد‪.‬‬
‫نمودارهای قراردادهای دیگر در مجموعه ما در ضمیمه ‪ A‬وجود دارد‪ ،‬که هنوز هم از آن‬
‫همبستگی قوی بین جریان ورودی و خروجی را میبینیم‪ .‬همبستگی واقعی به دستهبندی‬
‫طرح پانزی بستگی دارد‪ :‬یک طرح درختی‪-‬شلک به محض دریافت هر سرمایهگذاری (بهعنوان‬
‫مثال‪ )Etheramid1 ،‬آن را پخش میکند‪ ،‬درحالیکه یک طرح زنجیرهای‪-‬شلک منتظر میماند‬
‫که موجودی کافی داشته باشد‪ .‬تفاوتهای جزئی دیگر در نمودارها به ویژگیهای قرارداد‬
‫‪ / 34‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫بستگی دارد‪ .‬بهعنوان مثال‪ ،‬برخی از قراردادها نیز قرعهکشی انجام میدهند؛ بهطوریکه یک‬
‫جکپات (برنده تمام پولها) وجود دارد که منجر به پیدایش یک نقطه قرمز غیرمنتظره در‬
‫نمودار میشود (بهعنوان مثال‪ ،‬طرح ‪ .)Government‬سایر قراردادها بهگونهای طراحی شدهاند‬
‫که مالکان میتوانند به دلخواه خود کارمزدها را برداشت کنند‪ ،‬و در این صورت‪ ،‬نتیجه این‬
‫است که نقاط قرمز در منطقهای بدون نقاط آبی وجود داشته باشند‪ .‬بهطورکلی‪ ،‬اکثر قراردادها‬
‫با اوج فعالیت شدید و سپس قطع کامل فعالیت‪ ،‬عمر بسیار کوتاهی دارند‪.‬‬

‫شلک ‪ -12‬زمان جریان ورودی (نقطه آبی) و جریان خروجی (قرمز)‪ :‬در محور افقی‪ ،‬زمان معامالت (روز‪-‬ماه)؛ در‬
‫محور عمودی‪ ،‬مقدار اتر دریافتی‪/‬ارسالی‪( .‬برای تفسیر منابع با رنگ در این نمودار‪ ،‬خواننده به نسخه وب این‬
‫مقاله ارجاع داده میشود‪).‬‬

‫شلک ‪-13‬طول عمر طرحهای پانزی‪ .‬در محور افقی‪ ،‬تعداد قراردادها؛ در محور عمودی‪ ،‬سنجش طول عمر آنها بر‬
‫مبنای تعداد روز‪.‬‬

‫‪ :7.2‬طول عمر‬
‫اکنون ما درمورد طول عمر طرحهای پانزی در مجموعه خود مطالعه میکنیم‪ .‬شلک ‪ 17‬با‬
‫خط آبی‪ ،‬تعداد روز از اولین تا آخرین معامله ورودی یا خروجی قرارداد را بعنوان طول عمر‬
‫طرح نشان میدهد‪ .‬ما میبینیم که تقریباً ‪ ٪60‬از طرحهای پانزی یک عمر نزدیک به ‪ 0‬روز‬
‫شدهاند و در بسیاری‬ ‫‪43‬‬
‫دارند‪ .‬اساساً‪ ،‬این بدان معناست که آنها در بالکچین اتریوم مستقر‬

‫‪43‬‬
‫‪Deploy‬‬
‫بخش ‪ -7‬تکامل زمانی ‪35 /‬‬
‫از موارد در انجمنها یا وبسایتهای اختصاصی تبلیغ میشوند‪ ،‬اما نتوانستهاند هیچ کاربری‬
‫را جذب کنند‪.‬‬
‫توجه داشته باشید که استفاده از آخرین معامله یک قرارداد برای اندازهگیری دوره فعالیت‬
‫واقعی آن ممکن است خیلی ناخوشایند باشد‪ .‬در واقع‪ ،‬نمودارهای کلی ما نشان میدهد که‬
‫طرحهای پانزی با تعداد زیادی از معامالت انجام شده در یک بازه زمانی کوتاه‪ ،‬سپس یک‬
‫دوره معامالت جداگانه‪ ،‬و در نهایت با عدم فعالیت مشخص میشوند‪.‬‬
‫شلک ‪ 18‬نشان میدهد که چه تعداد طرح پانزی در طول زمان ایجاد شده است‪ .‬ما در‬
‫آوریل ‪ 2016‬با ‪ 91‬طرح جدید پانزی عمومی شاهد اوج گسترش این طرحها هستیم‪ .‬پس از‬
‫این موج اول پیدایش طرحها‪ ،‬با متوسط تقریباً ‪ 3‬طرح عمومی جدید در ماه‪ ،‬اوضاع‬
‫حلوفصل شده است‪ .‬در بخش ‪ ،9‬ما در مورد توضیحات احتمالی این سقوط آزاد ایجاد‬
‫طرحهای پانزی بحث میکنیم و بهویژه حدس میزنیم که بهجای ناپدید شدن‪ ،‬آنها تحولی‬
‫داشتهاند که طبقهبندی آنها دشوارتر شدهاست‪.‬‬

‫‪ :7.3‬حجم پرداختها‬
‫در این بخش نحوه عملکرد طرحهای پانزی در طول زمان را بررسی میکنیم‪ .‬شلک ‪ 19‬حجم‬
‫روزانه پرداختها (با دالر آمریکا) از ‪ 184‬طرح پانزی درون مجموعه ما را نشان میدهد‪ .‬محور‬
‫افقی نشاندهنده زمان است و محور عمودی حجم پول منتقل شده را نشان میدهد (دالر‬
‫آمریکا)‪ .‬خطوط قرمز منقطع نشاندهنده پول ارسال شده توسط کاربران به طرحها است‪،‬‬
‫درحالیکه خط ممتد آبی نشان دهنده پول ارسال شده توسط این طرحها به کاربران است‪.‬‬
‫نمودار به وضوح تعادل بین جریان خروجی و ورودی را گزارش میکند‪ ،‬بدان معنا که بیشتر‬
‫پول سرمایهگذاری شده در این طرحها در بین کاربران توزیع میشود‪ .‬بااینحال‪ ،‬همانطور که‬
‫ً‬
‫بعدا در بخش ‪ 8‬مورد بحث قرار گرفت‪ ،‬توزیع پول از الگوی‬ ‫در بخش ‪ 6‬نشان داده شد و‬
‫نابرابری که مشخصهی طرحهای پانزی هستند پیروی میکند‪.‬‬
‫از شلک ‪ 19‬مشاهده میکنیم که بیشترین مقدار پول در دوره فوریه تا مه ‪ 2016‬با سه‬
‫اوج بین مارس و آوریل ‪ 2016‬مبادله شده است‪ .‬قابل قبول است که سقوط فعالیت بعد از‬
‫آوریل ‪ 2016‬نتیجه افت مشابه در ایجاد طرحهای جدید پانزی است که در شلک ‪ 18‬مشهود‬
‫است‪.‬‬
‫ما اکنون حجم معامالت را به صورت نقطهای و بر روی یک نمونه از مطرحترین طرحها‬
‫اندازهگیری میکنیم‪ .‬هر نمودار در شلک ‪ 20‬جریان پول (ورودی و خروجی) یک قرارداد جداگانه‬
‫را نشان میدهد‪ :‬خطوط قرمز منقطع نشاندهنده پول ارسال شده به طرح (با دالر آمریکا)‬
‫است‪ ،‬درحالیکه خطوط ممتد آبی نشاندهنده بازپرداختهای ارسال شده توسط طرح به‬
‫کاربران است‪ .‬محور افقی نشانگر زمان است که ما لک پول ورودی‪/‬خروجی در هر روز را در‬
‫نظر میگیریم‪.‬‬
‫‪ / 36‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬

‫شلک ‪ -14‬تعداد طرحهای پانزی ساخته شده در ماه‬

‫شلک ‪ -15‬حجم روزانه تراکنشها (مجموعه کامل ‪ 184‬طرح پانزی)‬


‫بخش ‪ -7‬تکامل زمانی ‪37 /‬‬

‫شلک ‪ -16‬حجم پرداخت ورودی و خروجی طرحهای پانزی بر اساس زمان‪ .‬در محور افقی‪ ،‬تاریخ معامالت؛ در محور‬
‫افقی‪ ،‬دالر ورودی به قراراد (خط ممتد آبی) و دالر خروجی از قرارداد (خط منقطع قرمز)‪.‬‬

‫در نمودار طرح ‪ ،DynamicPyramid‬میبینیم که بیشترین جریان ورودی در ‪ 11‬مارس‬


‫اتفاق افتاده است که لک حجم سرمایهگذاری تنها در همان روز میزان تقریباً ‪ 60000‬دالر آمریکا‬
‫بوده است‪ .‬ما میبینیم که جریانهای آبی و قرمز در آن روز تقریباً همپوشانی دارند؛ یعنی با‬
‫‪ / 38‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫چنین موجودی عالی‪ ،‬قرارداد قادر به بازپرداخت بسیاری از کاربران بود‪ .‬بااینحال‪ ،‬پس از آن‬
‫روز عجیب و غریب‪ ،‬کاربران تقری ً‬
‫با ارسال اتر را متوقف کردند و قرارداد نیز همین کار را انجام‬
‫داد‪.‬‬
‫ً‬
‫نمودار ‪ Government‬بدلیل باگی که بر آن تأثیر گذاشته عجیب است (که قبال در بخش‬
‫‪ 4.3‬بحث شد)‪ .‬این قرارداد باید مرتباً آرایهای که لیست کاربران در آن ثبت میشود را پاک‬
‫کند‪ .‬بااینحال‪ ،‬از یک نقطه خاص انجام این عملیات به گس بیشتری از حداکثر مجاز برای‬
‫یک معامله نیاز دارد‪ .‬چندین تالش برای پاکسازی آرایه و بازخرید وجوه ذخیره شده در قرارداد‬
‫با خطای "‪ "Out-Of-Gas‬ناموفق بوده است‪ .‬دقیقاً در تاریخ اولین هاردفورک (در هفدهم ژوئن‬
‫‪ ،)2016‬که همچنین باعث افزایش محدودیت گس شد‪ ،‬ما معامالت داخلی به میزان ‪22699‬‬
‫دالر آمریکا را مشاهده میکنیم که برای برداشت وجوه و پاک کردن صحیح آرایه استفاده‬
‫میشوند‪.‬‬
‫ً‬
‫نمودار ‪ EthereumPyramid‬نشان میدهد که سرمایهگذاریها اساسا در نقطه زمانی‬
‫انجام شدهاند‪ :‬یکی در آخرین روزهای فوریه ‪ ،2016‬و دیگری در یک روز‪ ،‬اول آوریل‪ .‬تمام آن‬
‫سرمایهگذاریهای بعدی بهشلک عجیبی توسط مالک انجام شده است که تقریباً در یک روز‬
‫با با هم همپوشانی دارد‪ .‬طرح‬‫‪ 50‬بار اتفاق افتاده است‪ .‬میبینیم که ورودی و خروجی تقری ً‬
‫‪ EthereumPyramid‬از همه کاربران دقیقاً ‪ 1‬اتر میخواهد و سرمایهگذاری را ‪ 3‬برابر میکند‪.‬‬
‫با چنین عوارض ثابتی‪ ،‬از هر سه کاربر‪ ،‬یک کاربر بازپرداخت میشود و جریان خروجی نیز‬
‫روان است‪ .‬بااینحال‪ ،‬میبینیم که حدود ‪ 26‬ژوئن یک اوج در جریان خروجی وجود دارد و‬
‫در آن روز ما یک پرداخت ‪ 90‬اتری را مشاهده میکنیم‪ .‬پس از بازبینی کد و مجموعه معامالت‪،‬‬
‫میخواهیم بگوییم این مالک است که کارمزدهای خود را برداشت میکند‪.‬‬
‫از نمودار طرح ‪ ،Etheramid‬شاهد یک همپوشانی کامل از جریان ورودی و خروجی‬
‫هستیم‪ :‬در واقع‪ ،‬این طرح یک طرح درختی‪-‬شلک است‪ ،‬بنابراین هر آنچه وارد میشود‬
‫بالفاصله برای اجداد کاربران (رده باالییها) ارسال میشود؛ و همانند طرحهای زنجیرهای‪-‬‬
‫شلک (بهعنوان مثال‪ ،‬نمودار ‪ Doubler2‬را ببینید) نیازی به تأخیر در پرداختها و انتظار برای‬
‫جمع کردن مبلغ مورد نظر نیست‪.‬‬

‫بخش ‪ -8‬سنجش نابرابری پرداخت‬


‫آخرین تحلیل ما نابرابری در توزیع سرمایه گذاری و درآمد برای طرحهای موجود در نمونه ما‬
‫را اندازه گیری میکند‪ .‬برای این منظور از منحنیهای لورنز (شلک ‪ 21‬و ‪ )22‬و ضرایب جینی‬
‫(شلک ‪ ،)23‬دو نمایش گرافیکی استاندارد توزیع درآمد یا ثروت استفاده میکنیم‪.‬‬
‫منحنیهای لورنز نمایانگر کاربران در محور افقی (در درصد سن)‪ ،‬و درصد پرداخت ها به‬
‫داخل (شلک ‪ )21‬و خارج از (شلک ‪ )22‬طرحهای پانزی هستند‪ .‬یک خط مورب در ‪ 45‬درجه‬
‫از دو انتهای نمودار (از پایینترین سمت چپ تا راست از باالترین نقطه) نشاندهنده برابری‬
‫کامل است‪ :‬یعنی برای لک ]‪ %x ، x ϵ [0, 100‬از لک جمعیت کاربران سرمایهگذار میزان ‪ %x‬از‬
‫درآمد لک طرح را دریافت کردهاند‪ .‬درعوض‪ ،‬بینظمی کامل با عملکرد (ناپیوسته) نشان داده‬
‫بخش ‪ -8‬سنجش نابرابری پرداخت ‪39 /‬‬
‫میشود که مقدار ‪ 0‬برای لک ‪ x <100‬و مقدار ‪ 100‬برای ‪ x = 100‬دارد‪ :‬این بدان معناست که‬
‫فقط یک کاربر بتنهایی جمع کلی در طرح را سرمایهگذاری‪/‬دریافت کرده است‪.‬‬
‫ً‬
‫کامال به برابری کامل نزدیک است‪،‬‬ ‫میتوانیم در شلک ‪ 21‬مشاهده کنیم که ‪Etheramid1‬‬
‫درحالیکه نامتعادلترین طرحها در نمونه ما طرحهای ‪ Government‬و ‪ProtectTheCastle‬‬
‫هستند که در آنها ‪ ٪10‬قربانیان میزان بیش از ‪ ٪90‬پول را سرمایهگذاری کردهاند‪ .‬منحنیهای‬
‫ً‬
‫کامال به منحنی کلی طرحهای پانزی بیتکوین‪ 44‬در منبع شماره‬ ‫لورنز مربوط به این دو طرح‬
‫‪ 6‬نزدیک هستند‪.‬‬
‫بهطورکلی‪ ،‬هرچه منحنی به منحنی کامل نزدیکتر باشد‪ ،‬یک طرح پانزی از "ماهیهای‬
‫بزرگ" که سرمایههای زیادی را در آن طرح سرمایهگذاری میکنند‪ ،‬سود بیشتری میبرد‪ .‬و‬
‫بیشتر از آن‪ ،‬اگر منحنی به آن منحنی که برابری کامل را نشان میدهد نزدیک باشد‪ ،‬یعنی‬
‫این طرح از جمعیت زیادی از قربانیان که مقدار کمی پول سرمایهگذاری کردهاند‪ ،‬سود میبرد‪.‬‬
‫از شلک ‪ 22‬درمییابیم همچنانکه منحنیهای لورنز در مقایسه با آنچه در شلک ‪ 21‬نشان‬
‫داده شدهاند‪ ،‬به سمت راست فشرده میشوند‪ ،‬بهطورکلی توزیع بازپرداختها بیش از‬
‫بازپرداخت سرمایهگذاریها غیرعادالنه و نابکارانه است‪ .‬جالب تر اینکه‪ ،‬اگرچه ‪Etheramid1‬‬
‫ً‬
‫کامال نامتعادل است‪.‬‬ ‫برای سرمایهگذاری تقریباً متعادل است‪ ،‬اما توزیع بازپرداخت در آن‬

‫شلک ‪ -17‬منحنیهای لورنز یک نمونه از طرحهای پانزی (پرداختهای ورودی)‬

‫‪44‬‬
‫طرحهایی که فقط با پردازش بیتکوین کار میکنند‪.‬‬
‫‪ / 40‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬

‫شلک ‪ -18‬منحنیهای لورنز یک نمونه از طرحهای پانزی (پرداختهای خروجی)‬

‫ضرایب جینی در شلک ‪ ،23‬نابرابری سرمایهگذاری‪/‬بازپرداختها را به "موفقیت" این طرح‬


‫مربوط میسازد‪ ،‬که بهعنوان مقدار لک ارسالی‪/‬دریافتی توسط کاربران تعریف شده است‪ .‬محور‬
‫افقی نشان دهنده درجه نابرابری است (‪ 0‬یعنی برابری کامل‪ 100 ،‬یعنی نابرابری کامل) و محور‬
‫عمودی لک سرمایهگذاری‪/‬بازپرداخت را اندازهگیری میکند‪ .‬هر طرح با یک پیکان نشان داده‬
‫میشود‪ ،‬که انتهای آن نشاندهنده سرمایهگذاریها است‪ ،‬درحالیکه سر پیکان نشاندهنده‬
‫بازپرداختها میباشد‪ .‬میبینیم که شاخص نابرابری برای پردرآمدترین طرح یعنی‬
‫‪ DynamicPyramid‬مقدار باالیی است و از ‪ ٪80‬برای سرمایهگذاری و بازپرداخت باالتر رفته‬
‫است‪ .‬برای طرح ‪ ،ProtectTheCastle‬میبینیم که سر و دم پیکان تقریباً با هم تداخل دارند‬
‫یعنی توزیع نابرابری سرمایهگذاریها و بازپرداختها در این طرح بسیار نزدیک هستند‪ .‬برای‬
‫طرحهای دارای سود کمتر‪ ،‬به نظر میرسد هیچ ارتباطی بین موفقیت طرح و شاخص نابرابری‬
‫وجود ندارد‪.‬‬
‫بخش ‪ -9‬نتیجهگیری ‪41 /‬‬

‫شلک ‪ .23‬ضرایب جینی یک نمونه از طرحهای پانزی‬

‫بخش ‪ -9‬نتیجهگیری‬
‫بالکچینها و قراردادهای هوشمند ممکن است واقعاً فناوریهای درهمگسیختهی بعدی‬
‫باشند که اغلب توسط رسانهها گزارش میشوند‪ .‬با اینحال‪ ،‬آنها همچنین میتوانند‬
‫فرصتهای جدیدی فرار مالیاتی را برای مجرمان و کالهبرداران فراهم کنند که میتوانند از‬
‫گمنامی و غیرمتمرکز بودن آنها بهره ببرند‪ .‬در این مقاله ما طرحهای پانزی در شبکه اتریوم‬
‫بهعنوان گستردهترین بستر کنونی برای قراردادهای هوشمند را آنالیز کردیم‪ .‬بهطورکلی‪ ،‬دیدیم‬
‫که در ‪ 3‬سال اول عمر اتریوم‪ ،‬آزمایشهای زیادی برای اجرای طرحهای پانزی بهعنوان‬
‫ً‬
‫کامال محدود‬ ‫قراردادهای هوشمند انجام شده است‪ .‬اگرچه تأثیر اقتصادی این آزمایشات‬
‫بوده است‪ ،‬زیرا آنها فقط بخش کوچکی از معامالت و ارزش بالکچین اتریوم را شامل‬
‫میشوند‪ ،‬اما آنالیز ما این امکان را میدهد تا نتیجهگیری های مربوطه برای کاربران و مقامات‬
‫نظارتی که در زیر به صورت توصیه هایی خالصه شدهاند را انجام دهیم‪.‬‬
‫توصیه شماره ‪ :1‬تبلیغات را بررسی کنید‪ .‬در طول فعالیت جمع آوری‪ ،‬ما نحوه تبلیغ‬
‫طرحهای پانزی در وب را مطالعه کردهایم‪ .‬در بسیاری از موارد‪ ،‬طرحهای پانزی بهعنوان‬
‫برنامههای سرمایهگذاری "با بهره باال" ارائه میشوند که وعده بازدههای زیادی میدهند و از‬
‫اعالم هرگونه خطرات صرفنظر کنند‪ .‬در برخی موارد دیگر‪ ،‬آنها فقط بهعنوان "بازیهای‬
‫اجتماعی" تبلیغ میشوند‪ ،‬اما یک عامل ثابت این است که بازی کردن شامل انتقال پول از‬
‫کاربر به قرارداد و جذب برخی سودها است‪ .‬در بسیاری از موارد‪ ،‬ما اختالفاتی بین تبلیغات و‬
‫شانس واقعی دریافت بازپرداخت پیدا کردهایم‪ :‬مورد اخیر بهعنوان یک واقعیت ساده ارائه‬
‫شده است‪ ،‬در حالی که در بخش ‪ 4‬نشان دادهایم که مغالطه در مکانیسم توزیع پول یا اجرای‬
‫‪ / 42‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫آن ممکن است مانع از دریافت بازپرداختهای مورد انتظار توسط کاربران بشود‪ .‬بهعالوه‪،‬‬
‫ً‬
‫معموال تبلیغات اعالم نمیکنند که مالک قرارداد میتواند شرایط تبلیغ شده را اصالح کند؛‬
‫‪45‬‬
‫مثل افزایش کارمزدهای مالک یا از بین بردن‪.‬‬
‫بنابراین‪ ،‬اولین توصیه ما برای کاربران بالقوه مطالعه دقیق تبلیغات است‪ :‬اگر شرایط‬
‫ً‬
‫احتماال کالهبرداری است‪ .‬از وبسایتهایی مانند‬ ‫بیش از حد جذاب بهنظر برسد‪،‬‬
‫‪46‬‬
‫یا انجمن گفتگو مانند‬ ‫‪ ،BadBitcoin‬که شامل لیست سیاه کالهبرداری مبتنی بر رمزارز‬
‫‪47‬‬
‫بخش "قمار‪ :‬بازیهای مبتنی بر سرمایهگذاری" در ‪ Bitcointalk.org‬است‪ ،‬باید قبل از ارسال‬
‫پول به یک قرارداد‪ ،‬با آنها مشورت کنید‪ .‬برای مقامات نظارتی‪ ،‬توصیه ما نظارت بر وب برای‬
‫شناسایی تبلیغات مشکوک و ارائه لیستهای سیاه رسمی به جامعه است‪.‬‬
‫توصیه شماره ‪ :2‬کد قرارداد را آنالیز کنید‪ .‬علیرغم اینکه یکی از نکات اصلی فروش‬
‫طرحهای "هوشمند" پانزی این است که تغییرناپذیری و اجرای غیرمتمرکز آنها را "معتبر"‬
‫میکند‪ ،‬آنالیز ما در بخش ‪ 4‬چندین آسیبپذیری را نشان داده است که قابلیت اعتبار و‬
‫امانتداری آنها را از بین میبرد‪ .‬برخی از این آسیبپذیریها به دلیل مهارتهای ضعیف در‬
‫برنامه نویسی ایجاد میشوند‪ ،‬درحالیکه برخی دیگر به صورت عمدی بهنظر میرسند که باید‬
‫کاربران را برای پیوستن دلسرد کند‪ .‬بااینحال‪ ،‬برای انتقال احساس امنیت‪ ،‬صاحبان قرارداد‬
‫خود را در پشت این شعار که کد در دسترس عموم است پناه میدهند؛ با این فرض که همه‬
‫افراد میتوانند آن کد را خوانده و قابلیت اطمینان آن را ارزیابی کنند‪ .‬ازآنجاکه باگها اغلب‬
‫حتی توسط سازندگان خودشان نیز فراموش میشوند‪ ،‬تصور آن دشوار است که یک کاربر‬
‫کامال بفهمد که این قرارداد واقعاً چه کاری انجام میدهد‬
‫ً‬ ‫عادی بتواند یک قرارداد را بخواند و‬
‫و چه آسیبهایی میتواند در پشت آن پنهان بشوند‪ .‬متفاوت از آسیبپذیریهای مشهور که‬
‫‪ ]27[ DAO‬و کیف پول ‪ 28[ Parity‬و ‪ ]29‬را تحت تأثیر قرار داده و باعث خسارت پولی به‬
‫ارزش صدها میلیون دالر شدهاند‪ ،‬این آسیبپذیریهای بحث شده در اینجا شامل قراردادهای‬
‫کوچکتر است‪ :‬در واقع‪ ،‬اکثر قراردادهای مجموعه ما در کمتر از ‪ 100‬خط کد زبان سالیدیتی‬
‫هستند (برای مقایسه‪ ،‬کدهای ‪ DAO‬نزدیک به ‪ 1200‬خط بود)‪.‬‬
‫برای مقابله با این آسیبپذیریها‪ ،‬محققان شروع به توسعه ابزاری برای آنالیز خودکار‬
‫قراردادهای اتریوم کردهاند [‪ .]33–30 ، 23‬این ابزارها قادر به شناسایی چندین آسیبپذیری‬
‫مشترک هستند‪ ،‬حتی اگر بهطورکلی کامل بودن تورینگ ‪ EVM‬و زبان سالیدیتی احراز تأییدیه‬
‫را غیرقابل اجرا کند‪ .‬یک خط موازی از تحقیق‪ ،‬توسعه زبانهای ‪ domain-specific‬برای‬
‫ً‬
‫احتماال ‪ ،‬نه کامل تورینگ) هست که میتواند با کاهش فاصله بین‬ ‫قراردادهای هوشمند (‬
‫مشخصات قرارداد و اجرای آن‪ ،‬به بهبود دقت تکنیکهای آنالیز کمک کند‪ .‬چندین زبان‬
‫‪ domain-specific‬برای قراردادهای هوشمند ارائه شده است‪ ،‬که پلتفرم اتریوم را هدف قرار‬
‫دادهاند‪ .‬در میان آنها‪ ]34[ FSolidM ،‬قراردادها را به صورت ماشین محدود تعریف میکند‬

‫‪ 45‬بهعنوان مثال‪ ،‬تبلیغات ‪ EthStick‬فقط هشدار میدهد که " تنظیمات را میتوان تغییر داد تا با روندها سازگار‬
‫شد (اما فقط در محدودههای مشخص شده)"‪ .‬در واقع‪ ،‬از کد منبع آن میبینیم که فقط کارمزدها میتوانند‬
‫افزایش بیابند‪ ،‬درحالیکه فاکتور ضریب پرداخت فقط میتواند کاهش یابد‪ :‬این امر یعنی همه چیز به نفع مالک‬
‫است‪.‬‬
‫‪46‬‬
‫‪https://badbitcoin.org/thebadlist/.‬‬
‫‪47‬‬
‫‪https://bitcointalk.org/index.php?board=207.0‬‬
‫بخش ‪ -9‬نتیجهگیری ‪43 /‬‬
‫که میتواند به کد سالیدیتی ترجمه شود‪ .‬کارهای منابع شماره ‪ 35‬و ‪ 37‬برای تعیین‬
‫قراردادهای مالی به سبک پیتون جونز و همکاران‪ ،‬زبانهایی را توسعه میدهند‪.]38[ .‬‬
‫توصیه ما برای کاربران این است که حداقل از طریق این ابزار‪ ،‬قراردادی که میخواهند‬
‫به آن بپیوندند و از آسیبپذیری مانند مواردی که در بخش ‪ 4‬بحث شده برخوردار نیست‪،‬‬
‫استفاده بکنند‪ .‬گرچه این امر بهتنهایی ضامن عادالنه بودن طرح نیست‪ ،‬اما میتواند بهعنوان‬
‫مثال تضمین کند که مالک قرارداد بهطور پنهانی وجوه را نمیدزدد‪ .‬زبانهای ‪domain-‬‬
‫‪ specific‬ممکن است امکان آنالیز پیچیدهتری را فراهم کنند‪ ،‬که در حالت ایدهآل میتوانند‬
‫‪48‬‬
‫صحت توزیع وجوه بین کاربران را تأیید کنند‪.‬‬
‫توصیه شماره ‪ :3‬گزارش تراکنشها را آنالیز کنید‪ .‬آنالیز ما در بخشهای ‪ 8-6‬نشان داده‬
‫است که‪ ،‬علیرغم ویژگیهای فراوان‪ ،‬بهنظر میرسد گزارش تراکنشهای طرحهای پانزی دارای‬
‫برخی الگوهای کلی است‪ )1( :‬کاربرانی که هرگز وجهی را پس نگرفتند یا نسبت آنها بین ‪ 0‬و‬
‫‪ 1‬است‪ )2( .‬اکثر طرحهای پانزی عمر نسبتاً کوتاهی دارند که شامل اوج فعالیت شدید و به‬
‫دنبال آن یک دوره رکود است‪ )3( .‬ضرایب جینی پرداختهای طرحهای پانزی زیاد است‬
‫(بیش از ‪ ٪80‬در مجموعه ما) که به معنای نابرابری شدید در توزیع پول است‪ .‬حتی اگر هیچ‬
‫یک از این ویژگیها بهتنهایی برای جدا کردن طرحهای پانزی از سایر قراردادها کافی بهنظر‬
‫نرسد‪ ،‬این ویژگیها میتوانند برای آموزش طبقهبندیهایی که بهطور خودکار طرحهای پانزی‬
‫را تشخیص میدهند‪ ،‬مورد استفاده قرار بگیرند‪ .‬در این راستا‪ ،‬برای کسب تجربه با یادگیری‬
‫استراتژیهای طبقهبندی طرحهای پانزی اتریوم‪ ،‬از نسخه اولیه مجموعه داده ما در منابع ‪21‬‬
‫و ‪ 40‬استفاده شده است‪ .‬ابزار طبقهبندی در منابع ‪ 21‬و ‪ 40‬از ویژگیهای ساده ثبت معامالت‬
‫(بهعنوان مثال‪ ،‬تعداد پرداختها‪ ،‬موجودی قرارداد‪ ،‬نسبت سرمایهگذارانی که حداقل یک بار‬
‫پول دریافت کردهاند‪ ،‬و غیره) و همچنین از ویژگیهای قرارداد ‪( EVM‬مانند تعداد وقوع‬
‫‪opcode‬های خاص) استفاده میکند‪ .‬اندازهگیریهای انجام شده در منابع ‪ 21‬و ‪ 40‬نشان‬
‫میدهند که ویژگیهای کد از ویژگیهای معامله تبعیضآمیزتر هستند – بهنوعی ضدشهودی‪-‬‬
‫‪ ،‬زیرا بهنظر نمیرسد که ویژگیهای ‪ EVM‬دیدگاهی در مورد ماهیت قرارداد داشته باشند‪.‬‬
‫بااینحال‪ ،‬این اختالف ممکن است بهدلیل سادهسازی بیش از حد در انتخاب ویژگیهای‬
‫معامله باشد‪ :‬استفاده از ویژگیهای پیچیدهتر‪ ،‬الهام گرفته از مواردی که در بخشهای ‪ 6‬و‬
‫‪ 7‬بحث شده است‪ ،‬میتواند به بهبود دقت در انجام طبقهبندی کمک کند‪ .‬تکنیکهای آنالیز‬
‫طرحهای پانزی در بیت کوین [‪ 41‬و ‪ ]42‬نشان میدهد که طبقهبندی خودکار طرحهای پانزی‬
‫از تاریخ معامالت بهتنهایی با دقت باالیی امکانپذیر است‪.‬‬
‫فعالیتهای آتی‪ .‬طرحهای پانزی که در این مقاله ارائه دادهایم را میتوان اولین موج‬
‫کالهبرداری مبتنی بر اتریوم دانست‪ .‬در نسخه مقدماتی این مقاله که در تاریخ ‪ 10‬مارس‬
‫‪ 492017‬بهصورت آنالین قرار دادیم‪ ،‬ما موج دوم کالهبرداری را پیش بینی کرده بودیم‪:‬‬
‫«به احتمال زیاد در آینده تعدادی کمتر نسبت به موارد جمع آوری شده در این پژوهش‪،‬‬
‫قابل تشخیص خواهند بود‪ .‬بهعنوان مثال‪ ،‬آنها میتوانند بازاریابی چند سطحی‪ ،‬فروش‬

‫‪ 48‬بهعنوان مثال‪ BitML ،‬یک زبان انتزاعی برای قراردادهای بیتکوین است‪ ،‬که از تأیید انصاف برای بازیهای قمار‬
‫مانند قرعه کشیهای چند نفره پشتیبانی میکند [‪.]39‬‬
‫‪49‬‬
‫‪https://arxiv.org/abs/1703.03779v1‬‬
‫‪ / 44‬تشریح طرحهای پانزی در اتریوم‪ :‬شناسایی‪ ،‬آنالیز‪ ،‬تأثیر‬
‫توکنها و بازیها را برای تشخیص قراردادهای هوشمند پیچیده ترکیب کنند که طبقهبندی‬
‫صحیح آنها بهعنوان طرحهای پانزی یا سرمایهگذاریهای قانونی بسیار دشوار خواهد بود‪».‬‬
‫ما معتقدیم که این انتظار ممکن است با استفاده از عرضه اولیه سکه (‪ ،)ICO‬بهعنوان‬
‫ابزاری برای سرمایهگذاری گسترده مبتنی بر تجارت توکن رمزنگاری شده که از طریق آن بیش‬
‫از ‪ 3‬بیلیون دالر آمریکا در سال ‪ 2017‬جمع شده ‪ ،50‬و همچنین بازیهای جمعاوری رمزارز‬
‫مانند ‪ CryptoKitties‬و طرفداران آن محقق شده است‪ .‬فقدان مقررات خاص در اروپا و‬
‫ایاالت متحده و سختی کلی در نظارت و کنترل رمزارزهای غیرمتمرکز‪ ،‬این طرحها را برای‬
‫کالهبرداران نیز جذاب کرده است‪ :‬در واقع‪ ،‬چندین ‪ ICO‬توسط مقامات مالی بهعنوان طرحهای‬
‫پانزی افشا شدهاند و از بین رفته اند [‪ 43‬و ‪ .]44‬یک خط تحقیقاتی مرتبط برای فعالیتهای‬
‫آتی میتواند مطالعه این نوع طرحهای "شبه" پانزی باشد که اگرچه در برآوردهسازی الزاماتی‬
‫که در بخش ‪ 3‬مشخص کردهایم‪ ،‬ناتوان هستند اما شباهتهای بسیاری با پانزیها دارند‪.‬‬
‫برخی از ویژگیها مانند نسبت سود که در طرحهای "خالص" پانزی اعمال میشوند برای‬
‫توصیف این "شبه" پانزیها مناسب بهنظر میرسند‪.‬‬

‫ضمیمه ‪:A‬‬
‫مطالب تکمیلی مربوط به این مقاله را میتوانید به صورت آنالین در لینک زیر ببینید‪:‬‬

‫‪https://doi.org/10.1016/j.future.2019.08.014‬‬

‫منابع و مآخذ‬
‫‪[1] S. Nakamoto, Bitcoin: a Peer-To-Peer Electronic Cash System, 2008, https://bitcoin.org/bitcoin.pdf.‬‬
‫‪[2] J. Bonneau, A. Miller, J. Clark, A. Narayanan, J.A. Kroll, E.W. Felten, Sok: Research perspectives and‬‬
‫‪challenges for Bitcoin and cryptocurrencies, in: IEEE S & P, 2015, pp. 104–121,‬‬
‫‪http://dx.doi.org/10.1109/SP.2015.14 .‬‬
‫‪[3] T. Moore, The promise and perils of digital currencies, IJCIP 6 (3–4) (2013) 147–149,‬‬
‫‪http://dx.doi.org/10.1016/j.ijcip.2013.08.002 .‬‬
‫‪[4] M. Artzrouni, The mathematics of Ponzi schemes, Math. Social Sci. 58 (2) (2009) 190–201,‬‬
‫‪http://dx.doi.org/10.1016/j.mathsocsci.2009.05.003 .‬‬
‫‪[5] T. Moore, J. Han, R. Clayton, The postmodern Ponzi scheme: Empirical analysis of high-yield investment‬‬
‫‪programs, in: Financial Cryptography and Data Security, 2012, pp. 41–56, http://dx.doi.org/10.1007/978-3-642-‬‬
‫‪32946-3_4 .‬‬
‫‪[6] M. Vasek, T. Moore, There’s no free lunch, even using Bitcoin: Tracking the popularity and profits of virtual‬‬
‫‪currency scams, in: Financial Cryptography and Data Security, 2015, pp. 44–61, http://dx.doi.org/10.1007/978-3-‬‬
‫‪662-47854-7_4 .‬‬
‫)‪[7] N. Szabo, Formalizing and securing relationships on public networks, First Monday 2 (9) (1997‬‬
‫‪https://firstmonday.org/ojs/index.php/fm/article/view/548/‬‬

‫‪50‬‬
‫‪https://www.coinschedule.com/stats.html‬‬
45 / ‫منابع و مآخذ‬
[8] P.L. Seijas, S. Thompson, D. McAdams, Scripting smart contracts for distributed ledger technology,
Cryptology ePrint Archive, Report 2016/1156, http://eprint.iacr.org/2016/1156 (2016)
[9] E.V. Murphy, M.M. Murphy, M.V. Seitzinger, Bitcoin: Questions, Answers, and Analysis of Legal Issues, Tech.
Rep., Congressional Research Service, 2015.
[10] A. Juels, A.E. Kosba, E. Shi, The ring of gyges: Investigating the future of criminal smart contracts, in: ACM
CCS, 2016, pp. 283–295, http://dx.doiorg/10.1145/2976749.2978362 .
[11] V. Buterin, Ethereum: A Next Generation Smart Contract and Decentralized Application Platform, 2013,
https://github.com/ethereum/wiki/wiki/White-Paper .
[12] G. Wood, Ethereum: A Secure Decentralised Generalised Transaction Ledger, 2014,
https://gavwood.com/paper.pdf
[13] A. Gervais, G.O. Karame, K. Wüst, V. Glykantzis, H. Ritzdorf, S. Capkun, On the security and performance of
proof of work blockchains, in: ACM CCS, 2016, pp. 3–16, http://dx.doi.org/10.1145/2976749.2978341
[14] Solidity documentation, https://solidity.readthedocs.io/en/v0.5.4/ (2019).
[15] I. Kaminska, It’s not just a Ponzi, it’s a ‘‘smart’’ Ponzi, Financial Times Alphaville
https://ftalphaville.ft.com/2017/06/01/2189634/its-notjust-a-ponzi-its-a smart-ponzi/ (2017).
[16] M. William, ERC-20 Tokens, Explained, Cointelegraph, https://cointelegraph.com/explained/erc-20-tokens-
explained (2018)
[17] S. Holoweiko, What is an ICO? Defining a Security on the Blockchain. Available at SSRN:
https://ssrn.com/abstract=3303447 (2018).
[18] J. Young, CryptoKitties Sales Hit $12 Million, Could be Ethereum’s Killer App After All,
https://cointelegraph.com/news/cryptokitties-sales-hit-12-million-could-be-ethereums-killer-app-after-all (2017).
[19] M. Bartoletti, S. Lande, L. Pompianu, A. Bracciali, A general framework for blockchain analytics, in: Proc. 1st
Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers (SERIAL@Middleware), ACM, 2017,
pp. 7:1–7:6, http://dx.doi.org/10.1145/3152824.3152831
[20] L. Yujian, L. Bo, A normalized levenshtein distance metric, IEEE Trans. Pattern Anal. Mach. Intell. 29 (6)
(2007) 1091–1095, http://dx.doi.org/10.1109/TPAMI.2007.1078
[21] W. Chen, Z. Zheng, E.C. Ngai, P. Zheng, Y. Zhou, Exploiting blockchain data to detect smart Ponzi schemes
on Ethereum, IEEE Access 7 (2019) 37575–37586, http://dx.doi.org/10.1109/ACCESS.2019.2905769
[22] N. Atzei, M. Bartoletti, T. Cimoli, A survey of attacks on Ethereum smart contracts (SoK), in: Principles of
Security and Trust (POST), in: LNCS, vol. 10204, Springer, 2017, pp. 164–186, http://dx.doi.org/10.1007/978-3-
662-54455-6_8
[23] L. Luu, D.-H. Chu, H. Olickel, P. Saxena, A. Hobor, Making smart contracts smarter, in: ACM CCS, 2016,
http://eprint.iacr.org/2016/633
[24] M. Vasek, M. Thornton, T. Moore, Empirical analysis of denial-of-service attacks in the Bitcoin ecosystem, in:
Financial Cryptography and Data Security, 2014, pp. 57–71, http://dx.doi.org/10.1007/978-3-662-44774-1_5
[25] J. Brito, A. Castillo, Bitcoin: A Primer for Policymakers, Mercatus Center at George Mason University, 2013.
[26] T. Slattery, Taking a bit out of crime: Bitcoin and cross-border tax evasion, Brook. J. Int’l L. 39 (2014) 829.
[27] Understanding the DAO attack, http://www.coindesk.com/understandingdao-hack-journalists/
[28] Parity Wallet Security Alert, https://paritytech.io/blog/security-alert.html (July 2017).
[29] A Postmortem on the Parity Multi-Sig Library Self-Destruct, https://goo.gl/Kw3gXi (November 2017).
[30] I. Grishchenko, M. Maffei, C. Schneidewind, Foundations and tools for the static analysis of Ethereum smart
contracts, in: CAV, in: LNCS, vol. 10981, Springer, 2018, pp. 51–78, http://dx.doi.org/10.1007/978-3-319-96145-
3_4
[31] Mythril, https://github.com/ConsenSys/mythril (2018)
[32] S. Tikhomirov, E. Voskresenskaya, I. Ivanitskiy, R. Takhaviev, E. Marchenko, Y. Alexandrov, Smartcheck:
Static analysis of Ethereum smart contracts, in: IEEE/ACM International Workshop on Emerging Trends in
Software Engineering for Blockchain, 2018, pp. 9–16.
[33] P. Tsankov, A.M. Dan, D. Drachsler-Cohen, A. Gervais, F. Bünzli, M.T. Vechev, Securify: Practical security
analysis of smart contracts, in: ACM CCS, 2018, pp. 67–82, http://dx.doi.org/10.1145/3243734.3243780.
[34] A. Mavridou, A. Laszka, Designing secure ethereum smart contracts: A finite state machine-based approach,
in: Financial Cryptography and Data Security, 2018.
‫ تأثیر‬،‫ آنالیز‬،‫ شناسایی‬:‫ تشریح طرحهای پانزی در اتریوم‬/ 46
[35] A. Biryukov, D. Khovratovich, S. Tikhomirov, Findel: Secure derivative contracts for Ethereum, in: Financial
Cryptography Workshops, in: LNCS, vol. 10323, Springer, 2017, pp. 453–467, http://dx.doi.org/10.1007/978-3-
319-70278-0_28.
[36] B. Egelund-Müller, M. Elsman, F. Henglein, O. Ross, Automated execution of financial contracts on
blockchains, Bus. Inf. Syst. Eng. 59 (6) (2017) 457–467, http://dx.doi.org/10.1007/s12599-017-0507-z.
[37] P.L. Seijas, S.J. Thompson, Marlowe: Financial contracts on blockchain, in: ISoLA, in: LNCS, vol. 11247,
Springer, 2018, pp. 356–375, http://dx.doi.org/10.1007/978-3-030-03427-6_27.
[38] S.L.P. Jones, J. Eber, J. Seward, Composing contracts: an adventure in financial engineering, functional
pearl, in: International Conference on Functional Programming (ICFP), 2000, pp. 280–292,
http://dx.doi.org/10.1145/351240.351267.
[39] M. Bartoletti, R. Zunino, Verifying liquidity of Bitcoin contracts, in: Principles of Security and Trust, in: LNCS,
vol. 11426, Springer, 2019, pp.
222–247, http://dx.doi.org/10.1007/978-3-030-17138-4_10.
[40] W. Chen, Z. Zheng, J. Cui, E. Ngai, P. Zheng, Y. Zhou, Detecting Ponzi schemes on Ethereum: Towards
healthier blockchain technology, in: WWW, 2018, pp. 1409–1418, http://dx.doi.org/10.1145/3178876.3186046.
[41] M. Bartoletti, B. Pes, S. Serusi, Data mining for detecting Bitcoin Ponzi schemes, in: Crypto Valley
Conference on Blockchain Technology, IEEE,
2018, pp. 75–84, http://dx.doi.org/10.1109/CVCBT.2018.00014.
[42] K. Toyoda, T. Ohtsuki, P.T. Mathiopoulos, Identification of high yielding investment programs in bitcoin via
transactions pattern analysis, in: GLOBECOM, 2017, pp. 1–6, http://dx.doi.org/10.1109/GLOCOM.2017.8254420.
[43] L. Shin, $15 Million ICO Halted By SEC For Being Alleged Scam, 2017,
www.forbes.com/sites/laurashin/2017/12/04/15-million-ico-haltedby-sec-for-being-alleged-scam.
[44] D.A. Zetzsche, R.P. Buckley, D.W. Arner, L. Föhr, The ICO Gold Rush: It’s a scam, it’s a bubble, it’s a super
challenge for regulators, University of Luxembourg Law Working Paper No. 11/2017; UNSW Law Research Paper
No. 83; University of Hong Kong Faculty of Law Research Paper No. 2017/035. Available at SSRN:
https://ssrn.com/abstract=3072298 or http://dx.doi.org/10.2139/ssrn.3072298 (2017).

You might also like