مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۱)
ساناز موسوی | 1397.09.24

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۱)

این نوشته اولین مقاله از سری مقالات بررسی علم اقتصاد رمزنگاری به زبان ساده می باشد که شنبه هر هفته یک سری از آن برای علاقه مندان منتشر می شود. در نخستین گام به چیستی، کاربردها و دلایل نیاز جوامع به آن و اهداف علم اقتصاد رمزنگاری و مدل های امنیتی رایج می پردازیم.

آنچه باید درمورد «علم اقتصاد رمزنگاری» بدانیم

اغلب ما بیت کوین و دیگر رمز ارز ها را مانند غرب وحشی تصور می کنیم؛ بدون قاعده و هنجار اجتماعی، فقط حرص، آز، خودخواهی و استخراج. این فقدان درک قانون و نظم باعث می شود دنیای رمز ارز ها برای بسیاری از مردم ترسناک جلوه کند. در واقعیت، قوانینی برای مدیریت شبکه های همتا به همتای غیرمتمرکز همچون بیت کوین، وجود دارد. این قوانین کد های درون پروتکل ها و چارچوب نحوه مشارکت درونی شبکه هستند که به ما برای ایجاد یک سیستم امن، قابل اعتماد و باارزش کمک می کنند. «علم اقتصاد رمزنگاری» سعی دارد به این سوال جواب دهد که چطور می توانیم قوانین و انگیزه ها را طراحی کنیم، بطوریکه شبکه ها ایمن باشند و برای همه تولید ارزش کنند. «علم اقتصاد رمزنگاری» برای دستیابی به این مهم از ابزار های رمزنگاری، نظریه بازی ها و انگیزه های اقتصادی استفاده می کند.

«علم اقتصاد رمزنگاری» چه کاربرد هایی دارد و چرا به آن نیاز داریم؟

بطور کلی، «شبکه های همتا به همتای غیرمتمرکز» سیستم هایی هستند که انسان ها در آن به تعامل و مبادله ارزش با یکدیگر می پردازند. ارزش را می توان هر چیزی که انسان ها آن را ارزشمند می دانند توصیف کرد؛ مانند کالا یا خدمات. بیشتر مردم پول فیات (بدون پشتوانه) را ارزشمند می دانند، احتمالا به این دلیل که بطور گسترده مورد پذیرش است و ما به ثبات آنها در طول زمان اعتماد داریم. امروزه، رمز ارز هایی مانند بیت کوین (BTC) نیز تا حدودی چنین نقشی برعهده دارند. نگارش و اجرای قوانین این سیستم ها بیشتر شبیه به دولت های محلی طراحی شده است؛ حکمرانی و دموکراسی. از طرفی، بر خلاف دولت های محلی، شبکه های همتا به همتای غیرمتمرکز با نوشتن کد در پروتکل طراحی شده اند و در آن، ما به کد به جای دولت اعتماد می کنیم. طراحی پروتکل ها نشان می دهد که انسان ها در سیستم چگونه با هم تعامل می کنند و چطور می توانند ارزش تولید و منتقل کنند. بنابراین، «علم اقتصاد رمزنگاری» تعیین می کند که در شبکه های همتا به همتای غیرمتمرکز، هر چیزی چگونه اتفاق بیافتد.

هنگام طراحی این پروتکل ها، مفروضات و تئوری های خاصی درمورد استفاده و سوء استفاده از پروتکل ها ایجاد می کنیم و سعی می کنیم، این مفروضات ارزش مشارکت در سیستم را بیشینه کنند.

قرارداد های اجتماعی و رمزنگاری

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۱)

intro to cryptoeconomics 1

همانطور که می دانید، قتل و غارت بدون عواقب در زندگی عادی باعث هرج و مرج در جامعه می شود. Thomas Hobbes زندگی همراه با قوانین طبیعت را با واژه هایی مانند «تنهایی، فقر، خشونت، زندگی حیوانی و …» توصیف کرد و به نظریه پردازی درمورد قرارداد های اجتماعی پرداخت.

مشابه زندگی در دنیای واقعی، ما می خواهیم شبکه های دیجیتال نیز ارزش تولید کنند، امن باشند و ما را در رشد جمعی نیز یاری نمایند. بنابراین، اساسی ترین هدف یک شبکه ی همتا به همتای غیرمتمرکز تنها ایجاد ارزش نیست، بلکه امنیت و دیرپایی آن است.

در کشور های محلی، امنیت از طریق انحصار خشونت برای دولت از طرف پلیس و ارتش اعمال می شود. این خشونت که به منظور حفظ امنیت در جامعه اعمال می شود، حداقل در سطح نظرسنجی ها، برای جامعه ارزشمند است. برای مثال، دولت ها بر اساس قوانین شان می توانند با اعمال خشونت (برای مثال، دستبند زدن یا زندانی کردن) افراد را مجازات کنند. بنابراین، با اینکه شما عضوی از جامعه هستید، بخشی از قدرتتان را برای داشتن جامعه بهتر تسلیم می کنید و این کار را انجام می دهید چون اعتماد دارید که دولت و سیستم، امنیت بهتر و ارزش افزوده برای شما ایجاد می کنند. (پانوشت: بدیهیست که تمام این مطالب نظری است؛ چرا که ما فعالانه تصمیم نمی گیریم که در کدام کشور زندگی کنیم یا کجا متولد شویم. همچنین، همیشه صراحتا درمورد تسلیم حقوقمان به دولت رضایت نداریم و ممکن است دولت را برای حفاظت از خود و منافع مان مورد اعتماد ندانیم.)

در دنیای رمزنگاری، پروتکل های برنامه ریزی شده قوانینی را در شبکه های همتا به همتای غیرمتمرکز اجرا می کنند و بدین صورت ارزش و امنیت را تضمین می نمایند. مزیت شبکه های همتا به همتای غیرمتمرکز نسبت به دولت های محلی این است که:

  • هیچکس نمی تواند شما را مجبور به مشارکت کند.
  • هیچ قدرت مرکزی (مانند دولت) وجود نداردکه بتواند بخاطر انحصار خود از قدرت سوء استفاده کند (مانند نسل کشی، برده داری، تبعیض و …).
  • هیچ خشونت فیزیکی ای برای مشارکت در اجرای قوانین وجود ندارد.
  • شما به کد منبع باز اعتماد می کنید تا امنیت شما را تامین کند.

حال این سوال مطرح می شود که قواعد و انگیزه ها برای ایجاد و حفظ یک شبکه امن و ارزشمند، چیست؟ این دقیقا همان سوالی ست که «علم اقتصاد رمزنگاری» در پی پاسخ دادن به آن است.

اکنون که به اهمیت این علم اشراف پیدا کردیم، می توانیم وارد مسائل واقعی تری بشویم. ابتدا، اهدافی که سعی داریم با «علم اقتصاد رمز ارز ها» به آن برسیم را به طور جزئی تر بررسی می کنیم.

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۱)

intro to cryptoeconomics 1

اهداف

هدف یک شبکه دیجیتال همتا به همتای غیرمتمرکز در بالاترین سطح، امنیت و ایجاد ارزش است. به عبارت دقیق تر:

  • مشوق های ما عبارتند از:
    • اعتماد به اجرا: اینکه بتوانید اعتماد کنید که تراکنش های شما اجرا می شوند.
    • دسترسی باز: هر کسی بتواند به کد دسترسی داشته باشد و آن را بخواند، هیچ چیزی قفل و دیدن آن نیازمند امتیاز ویژه ای نباشد.
    • تندی عملیات: تراکنش ها سریع و برگشت ناپذیر اجرا شوند.
    • کنترل غیرمتمرکز: هیچ مرجع مرکزی برای کنترل پروتکل و شبکه وجود نداشته باشد.
    • ارزان بودن: تراکنش ها با کارمزد پایین انجام شوند تا برای تعداد تراکنش بالا یا مقدار تراکنش پایین قابل انجام و مشوق باشد.
  • چیزهایی که می خواهیم از آنها جلوگیری کنیم:
    • نقص ایمنی: کسی نتواند توکن هایتان را بدزدد.
    • سانسور: کسی نتواند مانع معامله ی گروهی از مردم شود.
    • کندی عملیات: برخلاف تندی عملیات.
    • کنترل مرکزی: برخلاف کنترل غیرمتمرکز.
    • گران بودن: برخلاف ارزان بودن.

در سطحی عمیق تر این اهداف را می توان بصورت زیر دسته بندی کرد:

  • همگرایی: یک بلوک پس از بلوک دیگر قرار گیرد و توالی صحیح بلاکچین حفظ شود.
  • دسترسی به داده ها: دسترسی آزاد و غیرمتمرکز.
  • اعتبار: هر معامله معتبر است و از دوبار خرج کردن (double-spending) جلوگیری می کند.
  • دسترسی عمومی: دسترسی به شبکه برای همه، که در مقابل سانسور قرار می گیرد.
  • زمان مشخص: برای تعیین توالی بلوک ها، صحت معاملات و … ضروریست.
  • عملکرد بالا: تحت انواع مدل های امنیتی اقتصاد رمزنگاری عملکرد بالایی داشته باشد.

مدل های امنیتی

یک مفهوم اساسی دیگر برای طراحی شبکه های همتا به همتای غیرمتمرکز، مدل های امنیتی اقتصاد رمزنگاری هستند. مدل های امنیتی، فرضیه هایی درمورد حالت شبکه و اعضای آن است. همچنین، این مدل ها چالش تکنیکی بیشتری در مواجه با طبیعت غیرمتمرکز شبکه دارند. مدل های امنیتی تخمینی از اینکه چند درصد اعضا صادق هستند یا منفرد عمل می کنند، کسانی که تبانی کرده اند یا کسانی که تطمیع شده اند، ارائه می دهند.

تحمل خطای بیزانس

یک شبکه غیرمتمرکز دارای تحمل خطای بیزانس است اگر بتواند با وجود دسته ای خاص از خطاها که به «مساله ی فرماندهان بیزانسی» مشهور است، همچنان درست کار کند. مثلا، سیستم با وجود درصدی از مشارکت کنندگان متقلب و تهدید کننده امنیت سیستم، همچنان به کار خود ادامه دهد.

یک مساله اساسی در محاسبات توزیع شده (غیرمتمرکز) و سیستم های چند عاملی این است که بایستی با وجود تعدادی فرایند معیوب، به کل سیستم اعتماد کرد. چنین فرایندی اغلب به توافق روی ارزش داده ها در طول محاسبات، نیاز دارد و به آن «اجماع» می گوییم.

همانطور که می دانیم، بلاک چین یک سیستم غیرمتمرکز است که مشارکت کنندگان آن، با توجه به انگیزه ها و اطلاعاتی که به آن دسترسی دارند، فعالیت می کنند. هرگاه یک تراکنش جدید روی شبکه منتشر می شود، گره ها می توانند این تراکنش را در دفتر کل خود کپی کنند یا آن را نادیده بگیرند. زمانی که اکثریت گره یک حالت را انتخاب کنند، اجماع به دست می آید.

اما، چه اتفاقی می افتد اگر یکی از بازیگران تصمیم بگیرد که مطابق قوانین عمل نکند و دفتر کل خود را دستکاری کند؟

چه اتفاقی می افتد اگر بخش بزرگی از شبکه اما نه اکثریت آن، در دست یک بازیگر متقلب باشد؟

ابتدا، بطور مختصر درمورد مساله غیر قابل حل دو ژنرال صحبت می کنیم. سپس، آن را به مساله ی ژنرال های بیزانس گسترش خواهیم داد و درمورد خطای قابل تحمل بیزانس در شبکه های غیرمتمرکز بحث می کنیم.

مساله ی دو ژنرال

فرض کنید دو ژنرال قصد حمله به یک شهر را دارند و با دو مسئله مجزا روبرو هستند:

  • ژنرال ها و سپاهشان فاصله ی زیادی از هم دارند و بنابراین متمرکز کردن قدرت غیرممکن است که باعث می شود مختصات حمله محدود باشد.
  • شهر سپاه عظیمی دارد و ژنرال ها تنها در صورتی پیروز می شوند که هر دو به یکباره حمله کنند.

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

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۱)

intro to cryptoeconomics 1

مساله ی ژنرال های بیزانس

این مساله نسخه تعمیم یافته ی مساله دو ژنرال است. فرض کنید گروهی از فرماندهان بیزانس یک شهر را محاصره کرده‌اند و هر کدام بخشی از ارتش بیزانس را رهبری می‌کنند. فرماندهان قصد دارند در مورد حمله به شهر یا عقب‌نشینی تصمیم گیری کنند. گروهی ممکن است میل به حمله و گروهی ممکن است میل به عقب‌نشینی داشته باشند. آنچه مهم است این است که همه فرماندهای یک تصمیم واحد بگیرند چون در صورت حمله بخشی از فرماندهان، گروه حمله کنندگان شکست خواهند خورد و از بین خواهند رفت و خطر ایجاد شده برای ارتش از یک حمله مشترک یا یک عقب‌ نشینی سازمان یافته بیشتر خواهد بود.

مشکل اول، وجود یک یا چند فرمانده خائن است که قصدشان برهم زدن این هماهنگی ست. آن‌ها ممکن است به گروهی از فرماندهای بگویند بیایید حمله کنیم و به گروهی بگویند که عقب نشینی بهترین کار است و با این روش هماهنگی را از بین برده و توهم هماهنگی بین فرماندهان ایجاد کنند. مشکل دوم، دوری فرماندهان از یکدیگر و قابل اعتماد نبودن پیک ها است به گونه‌ای که هر کدام از پیک ها ممکن است نتوانند پیام را به مقصد برسانند.

در این حالت الگوریتم زمانی به اجماع می رسد که اکثریت اعضا روی یک حالت توافق کنند. مثلا در حالتی که سه ژنرال وجود دارد، الگوریتم زمانی به اجماع می رسد که دو سوم ژنرال ها صادق باشند. اگر بیش از یک سوم ژنرال ها خائن باشند اجماعی صورت نمی گیرد و حمله ملغی می شود.

تحمل خطای بیزانسی

تحمل خطای بیزانسی مشخصه ای است که تحمل سیستم در مقابل مساله ی ژنرال های بیزانسی را تعریف می کند. خطای بیزانسی سخت ترین نوع حالت های شکست است و به سختی می توان با آن مقابله کرد. چرا که هیچ محدودیتی وضع نمی کند و هیچ فرضیه ی از پیش تعیین شده ای در مورد رفتار یک گره ندارد (مثلا، یک گره می تواند هر نوع اطلاعاتی را در نقش یک بازیگر صادق، تولید کند).

البته روش هایی برای ساده تر کردن مساله و حل آن وجود دارد؛ از جمله، استفاده از امضای دیجیتال.

مدل انتخاب ناهماهنگ

این مدل فرض می کند که مشارکت کنندگان مستقل تصمیم می گیرند و از مقدار مشخصی کوچکتر هستند. این مدل را می توانیم مدل اکثریت صادق نیز در نظر بگیریم که در آن هیچ مشارکت کننده ای بیش از ۵۰٪ قدرت هش را در اختیار ندارد. امنیت زمانی به خطر می افتد که یک نفر (یا یک گروه) بیش از ۵۰٪ قدرت هش را در اختیار داشته باشد. در این شرایط آنها می توانند بلاک چین را منشعب کنند و تراکنش های متقلبانه بسازند (در دنیای واقعی، بیش از ۵۰٪ قدرت هش مورد نیاز است). مدل اکثریت صادق بسیار خوشبینانه است و نمی تواند در مقابل مشکلات دنیای واقعی چندان انعطاف پذیر باشد. بطور کلی، این فرض بسیار غیر واقع بینانه است که تصور کنیم هیچ تبانی ای صورت نمی گیرد یا در صورت انجام تبانی، امنیت شبکه همچنان حفظ خواهد شد.

مدل انتخاب هماهنگ

بر خلاف مدل انتخاب ناهماهنگ است و فرض می کندکه همه یا اکثر بازیگران در حال تبانی هستند.

مدل مهاجم پرطمع

فرض می کند هیچ هماهنگی ای میان اعضای شبکه وجود ندارد. آنها بطور شخصی تصمیم می گیرند و حرص آنها امنیت شبکه را به خطر می اندازد.

همانطور که مشاهده می کنید، این مدل ها مفروضات اساسی ما در طراحی شبکه است. اگر مفروضات مدل های اکثریت صادق، انتخاب هماهنگ یا مهاجم پرطمع را بپذیرید، نیازی ندارید عوامل و احتمالات متعدد را در نظر بگیرید.

ستون های «علم اقتصاد رمزنگاری»

فناوری بلاک چین بر اصول علم اقتصاد رمزنگاری بنا شده است. علم اقتصاد رمزنگاری از دو واژه ی «رمزنگاری و اقتصاد» ساخته شده است. اما معمولا مردم، بخشی که به قابلیت های منحصر به فرد بلاک چین مربوط می شود، یعنی بخش «اقتصادی» این معادله را فراموش می کنند. بلاک چین، اولین استفاده از سیستم همتا به همتای (P2P) غیرمتمرکز نیست؛ سایت های شبکه تور مدت هاست که با این روش فایل های خود را به اشتراک می گذارند. هر چند، از هر زاویه ای که بنگریم، تور شکست خورده است.

چرا اشتراک همتا به همتای فایل شکست خورده است؟

در سیستم شبکه تور، هر کسی می تواند فایل هایش را در یک شبکه غیر متمرکز به اشتراک بگذارد. ایده این بوده که مردم بتوانند فایل ها را دانلود کنند و فایل هایی را هم روی شبکه به اشتراک بگذارند تا این چرخه ادامه پیدا کند. مشکل اینجاست که این کار روی یک سیستم «نجیب» انجام می شود. اگر شما یک فایل دانلود کنید از شما انتظار می رود آن را به خوبی حفظ نمایید. مساله این است که انسان ها شایسته ترین موجودات نیستند و بدون مشوق اقتصادی، مردم احساس مسئولیت کافی برای نگهداری فایل ها در فضای اضافی کامپیوتر هایشان نخواهند کرد.

ساتوشی ناکاماتو و تکنولوژی بلاک چین

در اکتبر 2008، یک شخص یا گروه ناشناس که خودشان را ساتوشی ناکاماتو می نامیدند، مقاله ای غیر فنی در مورد پایه ی بیت کوین منتشر کردند. این مقاله جامعه آنلاین را تکان داد و برای اولین بار شاهد کار بر روی مدلی برای علم اقتصاد رمزنگاری بودیم؛ روشی متفاوت با سیستم غیرمتمرکز همتا به همتای قبلی که واقعا برای مردم مشوق اقتصادی برای «انجام کارهای شان» ایجاد کرده بود. اما، نابغه ی تکنولوژی بلاک چین درمورد چگونگی جلوگیری از مشکل ژنرال های بیزانس (Byzantine General)، برای ایجاد یک سیستم اجماع کامل، دروغ گفت.

بخش های علم اقتصاد رمزنگاری بیت کوین

رمز ارز هایی شبیه بیت کوین چه ویژگی هایی دارند که علم اقتصاد رمزنگاری را موجب می شوند؟ در ادامه به این ویژگی ها نگاهی می اندازیم:

  • بر اساس تکنولوژی بلاک چین، هر بلاک شامل هش بلاک قبلی نیز هست و یک زنجیره دنباله دار را تشکیل می دهد.
  • هر بلاک شامل اطلاعات مجموعه ای از تراکنش ها است.
  • بخاطر انجام تراکنش ها، هر بلاک وضعیت خاصی دارد. برای مثال، فرض کنید شخص A، ۵۰ بیت کوین داشته و ۲۰ بیت کوین را برای شخص B فرستاده است، در این صورت در بلوک بعدی شخص A، ۳۰ و شخص B، ۲۰ بیت کوین دارد.
  • بلاک چین تغییر ناپذیر است، به این معنی که امکان اضافه شدن بلاک جدید وجود دارد ولی بلاک های قبلی تغییر نمی کنند.
  • فقط تراکنش های تایید شده درون بلاک چین خواهد بود.
  • بلاک چین برای هر کسی در هر جایی قابل دانلود و ارزیابی است و می توان تراکنش ها را بطور خاص بررسی نمود.
  • اگر کارمزدِ به قدر کافی بالایی پرداخت شود، تراکنش ها به سرعت وارد بلاک چین می شوند.

همانطور که گفتیم، دو ستون علم اقتصاد رمزنگاری، رمزنگاری و اقتصاد است. در ادامه توضیح می دهیم که چطور رمزنگاری و اقتصاد ویژگی های منحصر به فردِ بلاک چین را مورد استفاده قرار می دهند.

رمزنگاری

تکنولوژی بلاک چین از توابع رمزنگاری استفاده می کند. برخی از اصلی ترین توابع اینها هستند:

  • هش
  • امضا
  • اثبات کار
  • اثبات دانش صفر
هش

به زبان ساده، هش یعنی وارد کردن یک رشته با هر طولی و گرفتن یک رشته با طول ثابت. بیت کوین از SHA-256 استفاده می کند تا هر رشته ی ورودی با هر طولی را به یک رشته ۲۵۶ بیتی تبدیل کند. خب، کاربرد هش در رمز ارز ها چیست؟ برای پاسخ به این سوال باید سه ویژگی زیر را بررسی کنیم:

  • توابع هش رمزنگاری
  • ساختار داده
  • استخراج

توابع هش رمزنگاری

یک تابع هش رمزنگاری ویژگی های زیر را دارد:

  • قطعیت: ورودی A همواره خروجی ثابت h(A) را در یک تابع هش تکراری به همراه می آورد.
  • محاسبه سریع: یک تابع باید هش ورودی را تا حد امکان سریع محاسبه کند.
  • یک به یک بودن (Pre-Image resistance): برای هر h(A) در خروجیِ تابع هش، تنها یک A تغییر ناپذیر مشخص در ورودی وجود دارد.
  • هیچ A و B ای وجود ندارند که h(A)=h(B).
  • تغییرات کوچک: تغییرات جزئی روی ورودی، اثر بزرگی روی خروجی تابع هش می گذارد.
  • معماگونگی: برای x در ورودی و Y در خروجی تابع هش، هیچ k ای وجود ندارد که h(k|x)=Y (علامت | به معنی ادغام (concatenate) دو عبارت است).

همانطور که مشاهده می کنید، تابع هش رمزنگاری کمک بسیار زیادی به امنیت و استخراج روی بلاک چین می کند.

ساختار داده

دو ساختار داده که برای درک بلاک چین مهم هستند، Linked Lists و Hash Pointers می باشند.

  • Linked Lists: بلاک هایی از داده که یکی پس از دیگری به هم متصل می شوند. هر بلاک با یک اشاره گر (pointer) به دیگر بلاک ها متصل می شود.
مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

  • اشاره گر (Pointer): متغیریست که آدرس دیگر متغیر ها را شامل می شود.
  • اشاره گر های هش (Hash Pointers): اشاره گر هایی هستند که نه تنها آدرس دیگر متغیر ها، بلکه هشِ داده در دیگر متغیر ها را نیز دارند.
مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

خب، این ها چطور به فهم بلاک چین کمک می کنند؟ در واقع، بلاک چین یک Linked List است که هر بلاک جدید شامل اشاره گر هش و هش تمام داده های بلاک قبلی است. این ویژگی، بلاک چین را صاحبِ خاصیت عالیِ «تغییر ناپذیری» می کند.

بلاک چین چطور تغییر ناپذیر می شود؟

شکل بالا را در نظر بگیرید. فرض کنید شخصی قصد دارد داده های بلاک 1 را دستکاری کند. بخاطر دارید که یکی از مشخصه های توابع هش رمزنگاری این است که کوچکترین تغییر در داده های ورودی، تاثیر بزرگی روی خروجی هش می گذارد.

بنابراین، حتی اگر کسی سعی کند که داده های بلوک ۱ را کمی دستکاری کند، هش به دست آمده با هش ذخیره شده در بلاک ۲ بسیار متفاوت خواهد بود. در نتیجه، هش بلوک ۳ هم متفاوت خواهد شد و این کار تا پایان بلاک چین ادامه خواهد یافت. با توجه به غیرممکن بودن چنین عملی، می توان گفت که زنجیره، ضد جعل است.

اگر تراکنش ها بصورت خطی مرتب شده بودند، خیلی سخت می شد که در میان تراکنش ها فقط یک تراکنش  خاص (برای مثال، تراکنش معیوب) را پیدا کنیم. خوشبختانه، هر بلاک درخت مرکل (Merkle) خود را دارد و همانطور که می دانید، هر بلاک تراکنش های زیادی را شامل می شود.

چرا از درخت مرکل استفاده می کنیم؟

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

در یک درخت مرکل، با هش کردن، تمام تراکنش ها از ریشه به سمت پایین قرار می گیرند. بنابراین، اگر کسی قصد ارزیابی یک داده خاص در یک بلاک را داشته باشد، بر خلاف روش خطی، می تواند با استفاده از هش گذرگاه ها در درخت مرکل، داده را پیدا کند.

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

استخراج

معمای رمزنگاری برای نظم دادن به استخراج بلاک های جدید و اطمینان از حساسیت کافی هش استفاده می شود. بنابراین، یک مجموعه از سطح سختی (difficulty level) برای کار کردن آن لازم است. سپس، یک رشته تصادفی که «nonce» نامیده می شود، به هش بلوک جدید اضافه شده و هش دوباره انجام می شود. سپس، چک می گردد که آیا هش بدست آمده از سطح سختی کمتر است یا خیر. اگر کمتر بود، بلاک جدید به زنجیره اضافه می شود و جایزه ای به استخراج کننده (استخراج کنندگان) آن داده می شود. اگر هش بدست آمده از سطح سختی کمتر نباشد، استخراج کننده باید «nonce» را تغییر دهد و منتظر مقداری بماند که از سطح سختی کمتر باشد.

همانطور که مشاهده می کنید، هش، بخش حساس بلاک چین و اقتصاد رمزنگاری است.

برای اطلاعات فنی تر درمورد تابع هش می توانید مقاله ی «هش (Hash) به زبان ساده» را مطالعه کنید. مطالعه مقاله ی «تابع هش و ارتباط آن با بیتکوین» نیز مفید خواهد بود.

امضا

یکی از مهمترین ابزار های رمزنگاری که در رمز ارز ها استفاده شده است، مفهوم امضاست. امضا در دنیای واقعی چه مفهوم و مشخصاتی دارد؟ فرض کنید سندی را امضا کرده اید، چه امضایی یک امضای خوب تلقی می شود؟

  • امضا باید به عنوان تائیدیه عمل کند و نشان دهد که شما واقعا سند را امضا کرده اید.
  • امضا باید غیر قابل جعل باشد؛ هیچ کس دیگری نباید بتواند امضای شما را جعل یا کپی کند.
  • امضا باید الزام آور باشد؛ اگر شما چیزی را با امضای خودتان امضا کردید، نباید بتوانید از تعهد در قبال آن شانه خالی یا ادعا کنید که شخص دیگری بجای شما سند را امضا کرده است.

هرچند، در دنیای واقعی امضا این قدر پیچیده نیست. احتمال جعل امضا وجود دارد و شما نمی توانید با دیدن، امضای خود را تایید کنید. این ویژگی ها باعث بی تاثیر و غیر قابل اعتماد بودن امضا می شود.

رمز نگاری، راه حل این مشکل را با مفاهیمی به نام «کلید عمومی» و «کلید خصوصی» به ما می دهد. در ادامه سعی می کنیم توضیح دهیم این دو کلید چگونه کار می کنند و چطور موجب تقویت سیستم رمز ارز ها می شوند. دو شخص به نام های Alan و Tyrone را در نظر بگیرید. Alan می خواهد داده های مهمی را ارسال کند و Tyrone می خواهد مطمئن باشد که این داده ها از طرف Alan است. با استفاده از کلید های خصوصی و عمومیِ Alan چگونه این کار را انجام دهیم؟

لازم به ذکر است که کلید عمومی همانطور که از نامش پیداست، عمومی است و هر کسی می تواند این کلید را داشته باشد. در مقابل، کلید خصوصی چیزیست که فقط باید در دست شما باشد و نباید آن را به کسی بدهید.

خب، به داستان Alan و  Tyrone برمی گردیم. چه می شود اگر آنها پیام شان را با کلید ها تغییر دهند؟

فرض کنید Alan می خواهد پیام m را ارسال کند. Alan یک کلید خصوصی Ka- و یک کلید عمومی Ka+ دارد. وقتی Alan می خواهد پیامش را بفرستد، آن را با کلید خصوصی خودش رمزگذاری می کند و پیام به شکل Ka-(m) در می آید. زمانی که Tyrone پیام Alan را دریافت می کند، می تواند آن را با استفاده از کلید عمومیِ Alan رمزگشایی کند؛ یعنی Ka+(Ka-(m))=m.

برای درک بهتر تصویر زیر را ببینید.

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

  • تائیدیه: اگر پیام رمزنگاری شده با استفاده از کلید عمومی Alan رمزگشایی شود، می توان ۱۰۰٪ مطمئن بود که پیام توسط Alan ارسال شده است.
  • غیر قابل جعل: اگر شخص سومی همچون Bob ارتباط را قطع کند و پیام ایجاد شده با کلید خصوصیِ خودش را برای Tyrone بفرستد، کلید عمومی Alan نمی تواند آن را رمزگشایی کند.
  • الزام آور: اگر Alan ادعا کند که او پیام را ارسال نکرده و Bob این کار را کرده است، ولی Tyrone بتواند پیام را با کلید عمومی Alan رمزگشایی کند، مشخص می شود که Alan دروغ می گوید. با این روش Alan نمی تواند بگوید فرستنده پیام نبوده است یا مسئولیت کارش را به شخص دیگری واگذار کند.

کاربرد امضا در رمز ارز ها

فرض کنید Alan تراکنش «m» را برای Tyrone می فرستد. او ابتدا هش را با استفاده از تابع هش ایجاد می کند و سپس با استفاده از کلید خصوصی اش تراکنش را رمزنگاری می کند. Tyrone می داند که تراکنش «m» را دریافت کرده است. بنابراین با استفاده از کلید عمومی Alan آن را رمزگشایی می کند و هش بدست آمده از رمزگشایی را با هش تراکنش «m» مقایسه می کند. از آنجایی که تابع هش قطعیست و همیشه به ازای ورودی یکسان خروجی یکسانی تولید می کند، Tyrone می تواند اطمینان پیدا کند که Alan این تراکنش را ارسال کرده و عملیات خرابکارانه ای انجام نشده است.

به زبان ساده تر:

  • Alan می خواهد تراکنش «m» را برای Tyrone ارسال کند و Tyrone می داند که دریافت کننده «m» خواهد بود.
  • Alan با استفاده از هش، m را به h(m) تبدیل می کند.
  • Alan با استفاده از کلید خصوصی خودش هش را رمزنگاری می کند و h(m) به Ka-(h(m)) تبدیل می شود.
  • Alan پیام حاوی اطلاعات رمزنگاری شده را برای Tyrone می فرستد.
  • Tyrone از کلید عمومی Alan برای رمزگشایی استفاده می کند و Ka+(Ka-(h(m))) به h(m) تبدیل می شود.
  • Tyrone می تواند m را از روی h(m) ببیند.
  • اگر h(m)=h(m) شود می توان نتیجه گرفت که تراکنش سالم و بدون خرابکاری انجام شده است.

برای اطلاعات بیشتر مقاله ی «دانش رمزنگاری در شبکه رمزارز بیت کوین و چگونگی تولید آدرس ها» را ببینید.

اثبات کار

وقتی استخراج کنندگان برای ایجاد بلاک های جدید، استخراج انجام می دهند، سیستم اجماعی که بلاک ها در آن تایید و اضافه می شوند (سیستمی که به تراکنش های بلاک اعتبار می دهد)، «اثبات کار» نام دارد. استخراج کنندگان، از توان محاسباتی زیادی برای حل معمای رمزنگاری با برآورده کردن سطح دشواری استفاده می کنند. سیستم های ارز دیجیتالِ همتا به همتای غیر متمرکز قبلی بخاطر «مساله ی ژنرال های بیزانس» شکست خوردند. سرانجام، سیستمِ اجماعِ اثباتِ کار این مساله را حل کرد.

ارتباط مساله ژنرال های بیزانس با بلاک چین چیست؟

زنجیره ی بلاک چین، شبکه ی عظیمی است؛ چطور می توانیم به همه اعتماد کنیم؟ اگر شما برای کسی ۴ اتر از کیف پولتان بفرستید، چطور مطمئن خواهید شد که هیچکس در شبکه قصد ندارد در تراکنش شما جای ۴ و ۴۰ را عوض کند؟

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

ساتوشی ناکاماتو با اختراع پروتکل اثبات کار توانست از مساله ژنرال های بیزانس عبور کند. در ادامه، نحوه کار پروتکل اثبات کار را در قالب مساله ی ژنرال های بیزانس توضیح می دهیم. فرض کنید سپاه سمت چپ می خواهد پیام «حمله روز دوشنبه است» را به سپاه سمت راست برساند، کافیست طبق گام های زیر عمل کنند:

  • ابتدا، کلمه «nonce» را به متن اصلی اضافه کنند. به جای nonce می توان هر مقدار هگزادسیمال تصادفی دیگری نیز قرار داد.
  • سپس، هش متن جدید را بدست آورند. مثلا ارتش ها تصمیم می گیرند تا فقط پیام هایی را به اشتراک بگذارند که با ۵ تا صفر شروع می شود.
  • اگر شرایط هش راضی کننده بود، آنها پیک را با هش پیام می فرستند. اگر نه، مقدار تصادفی nonce را آنقدر تغییر می دهند تا نتیجه مطلوب بدست آید. این عمل بسیار خسته کننده و زمانبر است و قدرت محاسباتی زیادی می طلبد.
  • اگر پیک گرفتار مامورین شهر شود و پیام دستکاری شده را همراهش داشته باشد، بخاطر ویژگی های تابع هش، هش به صورت قابل توجهی تغییر خواهد کرد. اگر ژنرال های سمت راست ببینند که پیام هش شده با تعداد کافی صفر شروع نمی شود، دستور عقب نشینی می دهند.

البته، راه هایی هر چند اندک برای تقلب وجود دارد؛ هیچ تابع هشی ۱۰۰٪ بدون ایراد نیست. اگر مردم شهر پیام را دریافت کنند و آنرا مطابق با nonce تغییر دهند، به نتیجه مطلوبشان که تعداد صفرهای مورد نیاز است می رسند. این کار بسیار زمانبر ولی ممکن است. برای جلوگیری از این موقعیت، ژنرال ها باید از اعداد قوی تری استفاده کنند.

فرض کنید به جای دو ژنرال، که یکی در سپاه چپ و یکی در سپاه راست بود، سه ژنرال در سمت چپ برای یک ژنرال در سمت راست پیغام می فرستند. بدین منظور آنها می توانند پیغام هایشان را تجمیع، هش آنرا تولید، nonce را به نتیجه هش اضافه کرده و هش جدیدی تولید کنند. این بار آنها با شش صفر شروع خواهند کرد.

به وضوح، این کار بسیار زمانبر خواهد بود اما، این بار اگر پیک توسط مردم شهر دستگیر شود، زمانی که آنها برای دستکاری پیام تجمیعی و یافتن هش متناظر با آن نیاز دارند بسیار بسیار بیشتر می شود و ممکن است سال ها به طول بینجامد. بنابراین، برای مثال، اگر بجای یک پیک، ژنرال ها چندین پیک اعزام کنند، در کمتر از نیمی از زمانی که شهر مشغول فرایند محاسبات است، ارتش ها به شهر حمله و آنرا تخریب می کنند.

کار ژنرال های سمت راست بسیار ساده است. آنها nonce صحیح را که از قبل به آنها داده شده به پیام اضافه کرده، هش می کنند و سپس بررسی می کنند که آیا هش ها جور هستند یا نه. این عملیات ماهیت فرایند اثبات کار بود.

  • فرایند یافتن nonce برای تارگت هش مناسب باید به قدر کافی سخت و زمانبر باشد.
  • فرایند بررسیِ «بدون خرابکاری بودن نتایج» باید خیلی خیلی ساده باشد.
اثبات دانایی صفر

اثبات دانایی صفر یا Zero Knowledge Proof (zkp) چیست؟ zkp به این معنی است که شخص A می تواند برای شخص B اثبات کند که بیانیه ارائه ‌شده صحیح است. این روش فقط صحت بیانیه را تصدیق می‌کند و هیچ اطلاعات اضافه‌ای را بجز این حقیقت که بیانیه واقعا صحت دارد، ارسال نمی‌کند. به شخص A اثبات کننده و به شخص B تصدیق کننده می گویند. این روش در رمزنگاری مفید است چرا که یک لایه حریم خصوصیِ دیگر برای اثبات کننده ایجاد می کند.

برای اینکه اثبات دانایی صفر کار کند به پارامتر های زیر احتیاج داریم:

  • تمامیت: اگر بیانیه درست باشد، تصدیق کننده متقاعد می شود که اثبات کننده حقیقت را می گوید.
  • درستی: اگر اثبات کننده صادق نباشد، نمی تواند تصدیق کننده را متقاعد کند.
  • دانایی صفر: اگر بیانیه درست باشد، تصدیق کننده هیچ ایده ای درمورد اینکه بیانیه واقعا شامل چیست ندارد.

یک مثال از اثبات دانایی صفر، غار علی بابا است که در ادامه روش کار آن را تشریح می کنیم. در این مثال اثبات کننده (P) به تصدیق کننده (V) می گوید که پسورد دَرِ مخفیِ پشتِ غار را می داند و می خواهد بدون اینکه پسورد را به تصدیق کننده بگوید به او اثبات کند که رمز را می داند. شکل زیر را ببینید:

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۲)

intro to cryptoeconomics 2

اثبات کننده (P) می تواند از مسیر های A یا B برود. فرض کنید در ابتدا تصمیم می گیرد از مسیر A رفته و به در پشتی رمز دار برسد. تصدیق کننده (V) در ورودی منتظر می ماند بدون آنکه بداند اثبات کننده (P) واقعا از کدام مسیر رفته است و اعلام می کند که منتظر دیدن او از مسیر B هستم.

همانطور که در شکل می بینید، اثبات کننده (P) باید در مسیر B دیده شود اما، اگر فقط شانس آورده باشد چه؟ اگر اثبات کننده (P) واقعا رمز را نداند و از مسیر B رفته باشد و پس از رسیدن به در، از همان مسیر برگردد، تصدیق کننده (V) خواهد گفت که او را در مسیر B دیده است.

بنابراین برای تست اعتبار، آزمایش باید چندین بار تکرار شود. اگر اثبات کننده هر بار در مسیر درست باشد، به تصدیق کننده (V) اثبات می شود که اثبات کننده (P) واقعا رمز را می داند.

کاربرد اثبات دانایی صفر در بلاک چین چیست؟

بسیاری از بلاک چین ها بر پایه ی تکنولوژی Zk-Snarks هستند. در حقیقت، حتی اتریوم در فاز متروپولیس روی Zk-Snarks طراحی و به کد اصلی اضافه شد. Zk-Snarks در مقابل « Zero-Knowledge Succinct Non-Interactive Argument of Knowledge » می ایستد و محاسبات حقیقی مربوط به داده را بدون آشکار کردن خود داده ها اثبات می کنند.

از آنها می توان برای تولید اثبات بیانیه برای تایید هر یا همه ی تراکنش ها تنها با یک تصویر لحظه ای از هر تراکنش برای اثبات دریافت وجه و انجام تراکنش بدون آشکار کردن اصل آن استفاده کرد.

بدین ترتیب، دو کار انجام می شود:

  • تمامیت و حریم خصوصی تراکنش ها حفظ می شود.
  • سیستم کارهای انجام شده درون تراکنش را آشکار نمی کند و باعث می شود استفاده از آن بی نهایت آسان باشد.

اقتصاد

همانطور که در ابتدا اشاره کردیم، چیزی که بلاک چین را از سایر سیستم های همتا به همتای غیر متمرکز متمایز می کند، انگیزه های مالی و اقتصادی برای انجام کارهاست. مشابه هر سیستم اقتصادی مستحکم دیگری، برای اینکه مردم کارشان را به خوبی انجام دهند باید انگیزه ها و جوایزی برای آنها در نظر گرفته شود. همچنین، سیستم مجازات برای استخراج کنندگان برای جلوگیری از انجام کار های غیر اخلاقی باید در نظر گرفته شود. در ادامه، به بررسی این نکات پایه ای در بلاک چین می پردازیم.

دو مجموعه انگیزه در بلاک چین وجود دارد:

مجموعه انگیزه ۱:

  • توکن ها: بازیگرانی که فعالانه در بلاک چین مشارکت و کمک می کنند و رمز ارز ها حاصل تلاش آنهاست.
  • امتیازات: بازیگرانی که تصمیم سازی می کنند و در برابر آن حق دریافت جایزه دارند. برای مثال، استخراج کنندگانی که یک بلاک جدید استخراج می کنند و بلاک های موقت را می نویسند و تصمیم می گیرند که کدام تراکنش ها ثبت شوند. آنها کارمزد تراکنش هایی را صاحب می شوند که در بلاک خود ثبت کرده اند.

مجموعه انگیزه ۲:

  • جوایز: مشارکت کنندگان خوب، جوایز مادی یا مسئولیت تصمیم سازی در قبال انجام مناسب کارها دریافت می کنند.
  • مجازات ها: مشارکت کنندگان بد باید جریمه نقدی پرداخت کنند یا به خاطر رفتار بدشان اختیارات را واگذار کنند.

رمز ارز ها چطور ارزش گذاری می شوند؟

رمز ارز ها ارزشمندند به همان دلیل که پول (در معنای عام) ارزشمند است. وقتی مردم به کالایی اعتماد کرده و برای آن ارزش قائل می شوند، آن کالا حکم پول را پیدا می کند. وقتی کالایی ارزش پیدا می کند، نوسان ارزش آن از الگوی قدیمیِ عرضه و تقاضا در اقتصاد پیروی می کند.

عرضه و تقاضا چیست؟

تصویر بالا نمودار عرضه و تقاضا را که یکی از رایج ترین مفاهیم اقتصاد است، نشان می دهد. همانطور که می بینید، تقاضا و عرضه ی کالا ها معمولا رابطه ی عکس دارند. نقطه برخورد نمودار عرضه و تقاضا نقطه ی تعادل نامیده می شود و نقطه ی بهینه عرضه و تقاضا را برای عرضه کنندگان و مصرف کنندگان بصورت همزمان نشان می دهد. اجازه دهید از این منطق برای رمز ارز ها استفاده کنیم. اینجا تنها روی بیت کوین بحث می شود.

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3

همانطور که می دانید بیت کوین ۲۱ میلیون کوین عرضه خواهد کرد و این تمام سرمایه بازار بیت کوین است. از آنجایی که عرضه ی کل ثابت است، قوانین باید طوری تنظیم شوند که مطمئن باشیم استخراج به تدریج سخت تر خواهد شد. در غیر اینصورت، ماینر ها به سرعت بیت کوین های باقیمانده را استخراج و به بازار عرضه خواهند کرد که با توجه به نمودار عرضه و تقاضا قیمت آن کاهش خواهد یافت.

پس با دنبال کردن گزینه های زیر می توانیم مطمئن شویم که استخراج کنندگان نمی توانند تمام بیت کوین ها را یکباره به بازار عرضه کنند:

  • بلاک جدید تنها در بازه ی ده دقیقه ای به زنجیره اضافه شود و استخراج آن 25 بیت کوین جایزه داشته باشد. زمان ده دقیقه ای بدون تغییر می ماند تا مطمئن شویم که استخراج کنندگان بدون رعایت مقررات، به زنجیره بلاک اضافه نکنند.
  • سطح سختی در پروتکل بیت کوین مستمرا افزایش می یابد. یعنی، در طول پروسه ی استخراج، هش بلوک بعد از اضافه شدن nonce باید از یک عدد خاص کمتر بشود. این عدد را «سطح سختی» گویند و معمولا با چندین صفر شروع می شود. همچنان که سطح سختی شبکه افزایش می یابد، به تعداد صفر ها نیز افزوده می شود.

با این دو فاکتور و این حقیقت که استخراج فرایندی بسیار خاص است، کل سرمایه گذاران می توانند اطمینان حاصل کنند که میزان عرضه بیت کوین به بازار تحت کنترل می ماند. تمام رمز ارز هایی که از اثبات کار استفاده می کنند نیز، چنین هستند.

تقاضای رمز ارز ها به عوامل بسیاری وابسته است، از جمله:

  • گذشته رمز ارز چیست؟
  • اخیرا هک شده است؟
  • چه نتایجی به دست آورده است؟
  • چه تیمی آن را توسعه می دهند؟
  • پتانسیل رشد دارد؟
  • چقدر طرفدار متعصب دارد؟
  • و…

تمام این فاکتور ها می توانند یک کوین را داغ کنند و تقاضا و به تبع آن قیمت را برای یک کوین بالا ببرند.

ساختار بازار

 

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3/ Source

سازمان دهی و ویژگی های اساسی بازار را ساختار بازار می نامند. نوع ساختار بازار به عوامل بسیاری همچون تعداد تولید کننده ها، نحوه کنترل قیمت و موانع ورود به بازار، بستگی دارد. بطور کلی بازار ها به چهار ساختار کلی تقسیم بندی می شوند:

  • رقابت کامل (Perfect Competition): بازاریست که ورود برای هرکسی آسان است و فروشنده ها قدرت قیمت گذاری روی محصولات را ندارند.
  • رقابت انحصاری (Monopolistic Competition): بازاری که تعداد زیادی فروشنده ی یک نوع محصول خاص و تعداد زیادی خریدار وجود دارند و فروشندگان از طریق ایجاد تمایز در محصولات خود، مانند تغییر بسته بندی، ارتقای کیفیت و … به رقابت می‌پردازند.
  • انحصار چند جانبه (Oligopoly): در این حالت، تعداد کمی فروشنده و تعداد زیادی خریدار وجود دارد.
  • انحصار کامل (Monopoly): بازاریست که فقط یک فروشنده و تعداد زیادی خریدار در بازار وجود داشته باشد.

زمانی که به عنوان تولید کننده، اختیار تغییر قیمت را نداریم چگونه می توانیم رقابت کنیم؟ این کار با «رقابت بدون قیمت» انجام می شود؛ بدین صورت که با تغییر ظاهر و سبک محصولات و ارائه تجربه یکتا، محصول را متمایز می کنند. تبلیغات قابل تشخیص ترین شکل رقابت بدون قیمت است.

تبلیغات یکی از موثر ترین روش ها برای نشان دادن کیفیت منحصر به فرد محصولات شماست. اما، باز هم مشکلی وجود دارد؛ چه تعداد از تبلیغاتی که می بینید واقعا متقاعد کننده است؟ همه ی ما در طول روز با تبلیغات بسیاری بمباران می شویم اما واقعا چندتای آنان را بخاطر داریم؟ اگر تولید کننده ای در بازارِ انحصار چندجانبه باشید و کورکورانه تبلیغات کنید، پول زیادی را باید خرج کنید.

بنابراین، برای جبران این هزینه ها باید مدام قیمت محصولاتتان را افزایش دهید و اگر چنین کنید، با توجه به نمودار عرضه و تقاضا، مشتریان شما به سمت رقبایتان که قیمت پایین تری دارند جذب می شوند. پس چه کاری باید انجام داد؟ چطور می توان محصولات را تبلیغ کرد بدون اینکه مشتریان را از دست بدهید؟ در واقع، شما باید بر مبنای تصمیماتِ رقبایتان تصمیم بگیرید. برای این کار از نظریه بازی ها استفاده می شود.

نظریه بازی ها چیست؟

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3

اصولا، نظریه بازی ها روی چگونگی انجام تصمیم های استراتژیک مطالعه می کند؛ تصمیمی که با توجه به تصمیم رقبا برای شما مناسب تر است. این نظریه به مطالعه رشد شرکت ها در بازار انحصار چند جانبه می پردازد.

نظریه بازی ها سه جزء دارد:

  • بازیکن ها: تصمیم گیرندگان هستند. برای مثال، مدیران شرکت ها.
  • استراتژی ها: تصمیماتی که می خواهند برای آینده ی شرکت شان بگیرند.
  • بازده: نتیجه ی استراتژی ها.

در نظریه بازی، دو نوع بازی وجود دارد:

  • بازی جمع صفر: بازی ای که سود یک بازیکن موجب ضرر بازیکن دیگر می شود.
  • بازی جمع غیر صفر: بازی ای که برد یک بازیکن موجب ضرر بازیکن دیگر نمی شود.

خب، نظریه ی بازی ها چطور کار می کند؟ اجازه بدهید به این بحث برگردیم که آیا یک شرکت باید جنبه ی خاصی از محصولش را تبلیغ کند یا نه. فرض کنید دو شرکت A و B داریم.

شرکت

B ماتریس بازدهی

تبلیغ نکند

تبلیغ کند

(5.1)

(4.3)

تبلیغ کند

شرکت A

(3.2)

(2.5)

تبلیغ نکند

 

جدولی که مشاهده می کنید «ماتریس بازدهی» نامیده می شود و بدین صورت خوانده می شود:

  • اگر شرکت A و B هر دو تبلیغ کنند، بازدهی هر یک به ترتیب 4 و 3 خواهد بود.
  • اگر شرکت A تبلیغ نکند و شرکت B تبلغ کند، بازدهی به ترتیب ۲ و ۵ خواهد بود.
  • اگر شرکت A تبلیغ کند و شرکت B تبلیغ نکند، بازدهی به ترتیب ۵ و ۱ خواهد بود.
  • اگر هیچ کدام تبلیغ نکنند، بازدهی A عدد ۳ و بازدهی شرکت B عدد ۲ خواهد بود.

بدین ترتیب شرکت های A و B باید چه تصمیمی بگیرند که بیشترین سود را کسب کنند؟ برای حل این مساله باید نگاهی به سناریو های این شرکت ها بیندازیم. ابتدا با شرکت B شروع می کنیم.

  • حالت اول: اگر شرکت A تبلیغ کند، شرکت B در صورت تبلیغ، بازده 3 و در صورت عدم تبلیغ، بازده 1 را کسب خواهد کرد. پس در این حالت بهترین تصمیم، تبلیغ کردن است.
  • حالت دوم: اگر شرکت A تبلیغ نکند، شرکت B در صورت تبلیغ، بازده ۵ و در صورت عدم تبلیغ، بازده ۲ را کسب خواهد کرد. پس در این حالت بهترین تصمیم، تبلیغ کردن است.
  • نتیجه: بدون توجه به تصمیم شرکت A، شرکت B باید تبلیغ کند.

حال موقعیت شرکت A را بررسی می کنیم.

  • حالت اول: اگر شرکت B تبلیغ کند، شرکت A در صورت تبلیغ، بازده ۴ و در صورت عدم تبلیغ، بازده ۲ را کسب خواهد کرد. پس در این حالت بهترین تصمیم، تبلیغ کردن است.
  • حالت دوم: اگر شرکت B تبلیغ نکند، شرکت A در صورت تبلیغ، بازده ۵ و در صورت عدم تبلیغ، بازده ۳ را کسب خواهد کرد. پس در این حالت نیز بهترین تصمیم، تبلیغ کردن است.
  • نتیجه گیری: بدون توجه به تصمیم شرکت B، بهترین استراتژی برای شرکت A تبلیغ کردن است.

پس، در این مثال، برای هر دو شرکت بهتر خواهد بود که تبلیغ کنند. یعنی، استراتژی غالب هر دو شرکت، تبلیغ کردن است. استراتژی غالب، بهترین روش عملکرد برای یک بازیکن بدون توجه به بازیکن حریف است. در این مثال تعادل نش (4.3) بود.

تعادل نش چیست؟

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3/ Source

تعادل نش راه حلی از بازیست که هر بازیکن استراتژی بهینه ی خود را با توجه به استراتژی دیگر بازیکنان طوری انتخاب کند که امکان سود بیشتر برای هیچ بازیکنی با تغییر استراتژی وجود نداشته باشد. تعادل نش در همگن سازی سیستم های کامپیوتری غیر متمرکز مشابه بلاک چین کاربرد دارد. در حقیقت، بلاک چین «غیر قابل تقلب» است چرا که پروتکل بر مبنای تعادل نش ساخته شده است. در این مورد بعدا بیشتر بحث خواهیم کرد، اکنون نگاهی مفهومی به تعادل نش در یکی از مشهور ترین بازی ها می اندازیم.

معمای زندانی

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3

فرض کنید Rob و Ben بخاطر سرقت از بانک دستگیر شده اند. پلیس از آنها بازجویی می کند و گزاره های زیر را به آنها پیشنهاد می دهد:

  • گزاره ۱: اگر هیچکدام اعتراف نکنید، هر دو چهار سال زندانی خواهید شد.
  • گزاره ۲: اگر یکی از شما اعتراف کند و دیگری اعتراف نکند، فردی که اعتراف کرده آزاد می شود و فرد دیگر ۷ سال به زندان می افتد.
  • گزاره ۳: اگر هر دوی شما اعتراف کنید، هر کدام ۲ سال به زندان می افتید.

بنابراین، ماتریس بازدهی آن بصورت زیر خواهد بود:

Rob اعتراف نکند

Rob اعتراف کند

(0.7)

(4.4)

Ben اعتراف کند

(2.2)

(7.0)

Ben اعتراف نکند

 

خب حال به تحلیل اوضاع می پردازیم. بدیهی است که Rob و Ben تحت محافظت هستند و یکدیگر را نمی بینند. اگر هر دو اعتراف کنند هر دو ۴ سال زندانی می شوند. این وضعیت بسیار بسیار ناپایدار است زیرا برای هر دوی آنها موقعیت های بهتری وجود دارد و اگر هر یک دیگری را لو دهد می تواند آزاد شود. بنابراین، برخلاف آنچه تصور می کنیم، تعادل نش جایی اتفاق می افتد که هیچکدام اعتراف نکنند. این جاییست که Rob و Ben برای رسیدن به جواب بهینه باید استراتژی طرف مقابل را نیز در ذهن داشته باشند.

اما، مشکلی وجود دارد. اگر جواب بهینه سناریویی باشد که پیامد منفی برای جامعه به بار آورد چه؟ سناریویی را فرض کنید که Rob و Ben در حال برنامه ریزی برای سرقت از بانک هستند.فرض کنید ماتریس بازدهی بصورت زیر باشد:

Rob دزدی کند

Rob دزدی نکند

(0.6)

(3.3)

Ben دزدی نکند

(7.7)

(6.0)

Ben دزدی کند

 

همانطورکه مشاهده می کنید، بهترین سناریو دزدی هر دو نفر است. ممکن است این سناریو برای این دو نفر بهینه باشد اما برای جامعه مطلوب نیست. اینجاست که ایده مجازات به میان می آید.

مجازات چیست؟

جهان لزوما جای خوب و عادلانه ای نیست. اگر مردم بطور کلی کنترل نشوند احتمالا بسیار فاسد خواهند شد. در جهان واقعی، مردم بطور کلی فرصت های زیادی برای ایجاد فساد بدون در نظر گرفتن جامعه دارند. بنابراین، چاره ی کار استفاده از استراتژی مجازات است.

در مثال بالا، فرض کنید استراتژی مجازات بصورت زیر باشد:

هر -0.5 عبور از هنجار های اجتماعی، -7 مجازات در پی خواهد داشت.

به عبارت دیگر، ناهنجاری اجتماعی که به اندازه ی نیم واحد روی جامعه اثر منفی می گذارد، هفت واحد جریمه برای فرد در بر خواهد داشت. ممکن است فکر کنید چرا جامعه چنین کاری انجام می دهد؟ جامعه، پول و زمان از دست می دهد و از طرف دیگر مجرم مجازات وحشتناکی دریافت می کند. واقعیت این است که ما به عنوان جامعه، روزانه با چنین مسایلی دست و پنجه نرم می کنیم. فاکتور مجازات، فعالیت های بد را کاهش می دهد و ماتریس بازدهی را بصورت زیر تغییر می دهد:

Rob دزدی کند

Rob دزدی نکند

(1-.0)

(3.3)

Ben دزدی نکند

(0.0)

(1.0-)

Ben دزدی کند

 

می بینیم که بازده فعالیت بد چطور ۷ واحد کاهش یافت. همانطور که مشاهده می کنید، اضافه کردن یک فاکتور مجازات به تعادل نش می تواند سناریو های بد برای جامعه را به سناریو های خوب تبدیل کند. پس از این تغییر، Ben و Rob بخاطر مجازات و عواقب دزدی از بانک، اینکار را انجام نمی دهند.

خب، به سوال قبل بر می گردیم؛ چه چیزی به جامعه انگیزه ی مجازات می دهد؟ چرا جامعه آگاهانه منابعش را از بین می برد؟ به این سوال اینطور پاسخ داده می شود که بدون مجازات جامعه دچار هرج و مرج می شود.

در جامعه مدنی چطور چنین چیزی کاربرد دارد؟ به پلیسی فکر کنید که از مالیات مردم حقوق می گیرد. در این حالت، ما نیرویی ویژه برای اعمال مجازات در جامعه داریم که از طریق مالیات تامین مالی می شود. اگر مالیات پرداخت نکنید، شما هم مجازات می شوید.

یکی دیگر از مثال های جالبِ «مجازات کردن بدون مجازات»، تبعید اجتماعی است. جامعه ای را تصور کنید که شخصی به نام Max جرمی مرتکب می گردد. وی به سرعت از جامعه طرد می شود. در این سناریو هر فرد جامعه یک مجازات کننده است. حال فرض کنید عده ی دیگری با Max دست به یکی می کنند و یک انجمن بد می سازند و به نوبه خود، متقابلا جامعه را طرد می کنند. نمی خواهیم نتیجه بگیریم که این مفاهیم علت زنده بودن ما در حال حاضر است.

مفاهیم تعادل نش و مجازات، کاربرد بسیاری در بلاک چین و صادق نگه داشتن استخراج کنندگان ایفا می کند که کمی بعد تر به توضیح آن خواهیم پرداخت. پیش از آن به بررسی بیشتر برخی مدل های پایه ای در نظریه بازی ها می پردازیم.

نقطه ی Schelling (کانونی)

اقتصاددان برجسته Thomas Schelling، به همراه گروهی از دانشجویان یک آزمایش انجام دادند و یک سوال ساده پرسیدند: «فردا با یک غریبه در نیویورک دیدار می کنید. کی و کجا این ملاقات انجام می شود؟» بیشترین پاسخ ها چنین بود: «ظهر در Grand Central Terminus». این انتخاب به این دلیل بود که Grand Central Terminus یک نقطه ی کانونی یا Schelling برای ساکنین نیویورک است.

بنابراین، نقطه ی Schelling اینگونه تعریف می شود: راه حلی که مردم تمایل دارند در زمان عدم تماس بکار گیرند چرا که فکر می کنند خاص، طبیعی یا مربوط است.

اجازه دهید این مفهوم را با یک بازی روشن کنیم. فرض کنید دو زندانی در دو اتاق مختلف نگه داری می شوند و به آنها یک سری تصادفی از اعداد داده شده است. سپس از آنها خواسته می شود اعداد زندانیان دیگر را حدس بزنند. اگر حدس آنها اشتباه باشد کشته خواهند شد. اعداد داده شده بصورت زیر است:

  • 7816239، 676716313، 100000000 و 871823719.
  • فکر می کنید آنها کدام عدد را انتخاب می کنند؟
  • 100000000

چرا؟ چون نسبت به سایر اعداد متفاوت و خاص است و بنابراین یک نقطه ی Schelling محسوب می شود. در طول تاریخ، انسان ها بطور ناخودآگاه و نیمه آگاهانه در مکان های مختلفی مانند کلیسا ها و دیگر مکان های اجتماعی جمع می شوند؛ این مکان ها نقاط Schelling جوامع هستند.

یک مثال بسیار معروف از نقطه ی Schelling، «بازی جوجه ها» است. بدین صورت که دو نفر سوار بر ماشین به سمت هم رانندگی می کنند. اگر بهم برخورد کنند کشته خواهند شد. با این حال، هر فردی که زودتر از مسیر منحرف شود برنده می شود و «مرغ» خواهد بود. پس در این بازی دو سناریو وجود دارد:

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3

  • حالت اول: هر دو به سمت یکدیگر رانندگی می کنند.
  • حالت دوم: یک نفر به سمت چپ و دیگری به سمت راست حرکت خواهد کرد.
مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3/ Source

توماس شیلینگ، با استفاده از نقطه ی Schelling راه حلی برای این بازی ارائه داد. او گفت، بهترین راه حل این بازی این است که بازیکنان به چشم های یکدیگر خیره نشوند (با هم قطع ارتباط کنند) و روی غریزه ی خود متمرکز شوند. از آنجا که مردم ایالات متحده از سمت راست رانندگی می کنند، اگر اجازه دهیم غرایزمان کنترل را به دست گیرد، بطور خودکار به سمت راست متمایل می شویم، چرا که نقطه ی Schelling برای ماست.

تعادل Grim Trigger

برای درک اینکه تعادل Grim Trigger چطور کار می کند این سناریو را در نظر بگیرید؛ یک موقعیت اجتماعی را تصور کنید که هنوز نظام پادشاهی در آن حاکم باشد و اعتقاد بر این باشد که پادشاهان، جانشینان بر حق خدا روی زمین هستند. در چنین جامعه ای، اگر پادشاه بمیرد، قوانین الهی بطور خودکار از بین می روند چرا که برای همه روشن می شود که پادشاه فانی یک موجود الهی نبوده است.

وقتی برای مردم روشن شود که پادشاه فانی بوده، چنان چرخه ای از انقلاب های خونین به راه می افتد که نمی توان جلوی کشته شدن پادشاهان آینده را گرفت. تنها راه حل جلوگیری از چنین چرخه ای، نمردن پادشاه اول و حفظ مفهوم «جانشینی خدا» است. این را تعادل Grim Trigger می نامند. به محلی که در آن هستید فکر کنید؛ حتی کمی انحراف می تواند موج بی پایان مجازات های بازگشتی را ایجاد کند.

مساله هماهنگی

ماتریس زیر را در نظر بگیرید:

B

A

(0.0)

(2.2)

A

(4.4)

(0.0)

B

 

با نگاهی به این ماتریس می بینیم که دو تعادل نش (A,A) و (B,B) داریم که انحراف از آن به نفع هیچ یک از طرفین نیست. سوال این است که چطور مردم را متقاعد کنیم که از (A,A) به (B,B) بروند؟ اگر تعدا افراد اندک باشند می توان با تلفن یا ایمیل هماهنگی را انجام داد. اما، زمانی که با گروه عظیمی از مردم سروکار داریم چطور تغییر را اعمال کنیم؟

تفاوت اساسی میان معمای زندانی و مساله ی هماهنگی این است که در مساله زندانی، هر دو بازیکن مجبور بودند (B,B) را انتخاب کنند چون بیشترین بازده را داشت با اینکه (A,A) اخلاقا راه حل بهتری بود. در مساله ی هماهنگی، اخلاق و بازده مساله نیست، بلکه انگیزه ی یک فرد برای رفتن از یک حالت به حالت دیگر مطرح است. چرا باید گروه بزرگی از مردم چنین تغییری را اعمال کنند؟

بازی هماهنگی زمانی که تنها یک گروه کوچک استراتژی خود را تغییر دهند با شکست مواجه می شود و برعکس، زمانی موفق می شود که یک گروه بزرگ استراتژی خود را بهبود دهند. در ادامه این مفهوم را با یک مثال روشن می کنیم.

فرض کنید می خواهیم زبان را به یک زبان نمادین تغییر دهیم. برای مثال:

جمله ی اصلی: شماره ات را به من بده؟

جمله ی جدید: #؟

اگر فقط شما به این زبان صحبت کنید بقیه مردم متوجه منظور شما نمی شوند، شما از گفتگو کناره می گیرید، بازدهی تان کم می شود، انگیزه ای برای تغییر آن ندارید و بنابراین شکست می خورید. ولی اگر اکثریت جامعه این تغییر را بپذیرند و تنها از زبان جدید استفاده کنند، شما هم تشویق می شوید تا زبانتان را تغییر دهید. در این حالت انگیزه ی شما در سطح بالایی خواهد بود.

مفهوم عقلانیت محدود

این سناریو را در نظر بگیرید که سارا هر روز به فروشگاه می رود و یک سیب می خرد. او هر روز با یک موقعیت روبرو می شود؛ زمانی که در فروشگاه است، صاحب فروشگاه آنجا را ترک می کند و هیچ دوربین امنیتی نیز در فروشگاه قرار ندارد. او می تواند بدون اینکه کسی متوجه شود یک سیب بردارد ولی هرگز این کار را نمی کند. کاری که سارا انجام می دهد را «عقلانیت محدود» می گویند. اساسا، عقلانیت محدود بدین معنیست که زمانی که انتخاب دیگری به مردم داده می شود، آنها مسیری را که ساده تر است و قبلا بیشتر از آن استفاده کرده اند را انتخاب می کنند. این مسیر ممکن است بهترین انتخاب برای آنها نباشد و بالاترین بازده را به آنها ندهد اما، مردم همچنان ساده ترین مسیر را بر می گزینند.

مقدمه ای بر علم اقتصاد رمزنگاری یا Cryptoeconomics برای همه (۳)

intro to cryptoeconomics 3/ Source

علت اینکه سارا بجای دزدی، از روش ساده ی خود برای خرید استفاده می کند این است که سناریوی دوم نسبت به روال روزمره او پیچیده تر است.

. حال با ذکر مثال به بررسی کاربردهای مفاهیم اقتصادی تعریف شده در مقالات قبل در بلاک چین می پردازیم و نحوه کارکرد آنها را شرح می دهیم.

نظریه ی بازی بلاک چین و رمز ارز ها

بلاک چین مجموعه ای از بلاک هاست و هر بلاک شامل تعدادی تراکنش می شود. هر بلاک شامل هشِ بلاک قبلی نیز هست که موجب پیوند بازگشتی و ایجاد زنجیره ای از بلاک ها می شود.

intro to cryptoeconomics 4

برخی اصطلاحات:

  • بلاک آغازین: اولین بلاک بلاک چین.
  • اثبات کار (PoW): مقدار کار محاسباتی مورد نیاز برای ایجاد بلاک.
  • بلاک والد: بلاک قبلی هر بلاک، والد آن است. برای مثال، در شکل بالا بلاک ۵۰ والد بلاک ۵۱ است.

هر بلاک در بلاک چین، یک تابع رتبه بندی دارد.

  • رتبه (بلاک آغازین) = 0
  • رتبه (بلاک) = رتبه (بلاک والد) + PoW

در هر زمان، رتبه ی بلاک چین معادل بالاترین رتبه اش است.

در سیستم مبتنی بر بلاک چینِ بیت کوین، دو بازیکن داریم:

  • کاربران
  • استخراج کنندگان

در بیت کوین، کاربران فقط دو کار می توانند انجام دهند:

  • ارسال کوین
  • دریافت کوین

برای انجام این دو کار به دو کلید عمومی و خصوصی نیاز است. کاری که استخراج کنندگان انجام می دهند تایید معاملات و انجام پروسه ی استخراج است. استخراج کردن یعنی حل بلاک و اضافه کردن آن به بلاک چین.

استخراج بلاک

استخراج کنندگان، بلاک ها را از طریق یک سری محاسبات پیدا می کنند و آن بلاک را به بلاک چین اضافه کرده و مقداری رمز ارز می گیرند. استخراج کنندگان قدرت زیادی در سیستم بلاک چین دارند و اگر تقلب کنند سیستم تخریب می شود.

برای پیشگیری از چنین اتفاقی، بلاک چین از مکانیزم نظریه ی بازی ها استفاده می کند. برای درک اینکه چگونه نظریه بازی ها موجب صادق ماندن استخراج کنندگان می شود، به سیستم همتا به همتای دیگری که به کاربران اجازه ی تقلب می دهد و با آن کنار آمده است، نگاهی می اندازیم.

شبکه ی تور یکی از شناخته شده ترین سیستم های همتا به همتای جهان است. کاربران شبکه ی تور دو نقش را ایفا می کنند: دانلودکننده و seeding. بعد از دانلود یک فایل، آن را با روشی به نام Seeding در شبکه به اشتراک می گذارند. کاربران در قبال اینکار پاداشی دریافت نمی کنند و بنابراین اغلب از انجام چنین کاری سر باز می زنند. بیشتر کاربران شبکه ی تور «متقلب» هستند چون فایل هایشان را seed نمی کنند. آنها متقلب می مانند چون سیستم «مدل مجازات» ندارد، ولی بلاک چین دارد.

استخراج کننده ها چطور تقلب می کنند؟ نظریه ی بازی رمز ارز ها

  • می توانند تراکنش های نامعتبر را تایید کنند و کوین های اضافه دریافت کنند.
  • می توانند بدون نگرانی درمورد اثبات کار (PoW) بلاک ها را به طور تصادفی به شبکه اضافه کنند.
  • می توانند بلاک های نامعتبر را برای به دست آوردن کوین بیشتر استخراج کنند.
  • می توانند بلاک هایی که به حد نصاب امتیاز لازم نرسیده اند را استخراج کنند.

اجازه بدهید مثالی بزنیم. بلوک زیر را در نظر بگیرید:

intro to cryptoeconomics 4

بلوک های آبی، زنجیره ی اصلی هستند. فرض کنید استخراج کننده ای در بلوک ۵۱، بیست بیت کوین می پردازد تا ۵۰۰ لایت کوین بگیرد و قصد دارد یک زنجیره ی موازی با بلاک جدید ۵۱ (رنگ قرمز) بسازد که معامله اش هرگز در آن ثبت نشود. برای سادگی، کار هایی که او انجام می دهد را در گام های زیر نشان می دهیم:

  • در بلاک آبی شماره ۵۱، بیست بیت کوین پرداخت و ۵۰۰ لایت کوین دریافت کرده است.
  • یک بلاک جدید (انشعاب) از بلاک ۵۰ ساخته و در بلاک ۵۱ معامله ی لایت کوین را ثبت نمی کند.
  • در نهایت او ۲۰ بیت کوین و ۵۰۰ لایت کوین دارد.

چیزی که در اینجا اتفاق افتاد «دوبار خرج کردن» نام دارد. از لحاظ تئوری، استخراج کنندگان اکنون می توانند به استخراج زنجیره ی قرمز ادامه دهند و با به رسمیت شناختن دوبار خرج کردن، بیت کوین های بیشتری استخراج کنند. همانطور که ملاحظه می کنید، این کار می تواند سیستم بیت کوین را نابود کند.

خب، چرا استخراج کنندگان چنین کاری انجام نمی دهند؟ آیا چون آدم های بسیار خوب و شریفی هستند دست به چنین اقداماتی نمی زنند؟ نمی توان سیستمی را بر پایه ی اخلاق اشخاص ساخت چون اخلاقیات قابل اندازه گیری نیست. اینجا جاییست که نبوغ اصلی بلاک چین نمایان می شود. بلاک چین طوری طراحی شده که تعادل نش را اجرایی کند؛ بدین صورت که استخراج کردن شامل یک سیستم مجازات بازگشتی می شود.

تعادل نش در استخراج و سیستم مجازات

  • اگر استخراج کننده ای یک بلوک نامعتبر ایجاد کند، بقیه استخراج کنندگان بخاطر وجود قاعده ای که در مکانیزم بلاک چین تعریف شده، آن بلاک را به رسمیت نخواهند شناخت. همچنین، هر بلاکی که بعد از بلاک نامعتبر استخراج شود نیز نامعتبر خواهد بود. با استفاده از این قاعده، استخراج کنندگان به سادگی بلاک های نامعتبر را نادیده خواهند گرفت و به استخراج روی زنجیره اصلی (زنجیره آبی در تصویر) ادامه خواهند داد.
  • همین منطق برای بلاک های به حد نصاب نرسیده هم صادق است. دوباره به تصویر نگاه کنید. هیچ استخراج کننده ای بلاک ۵۲ قرمز را استخراج نخواهد کرد زیرا بلاک ۵۳ آبی امتیاز بالاتری از بلوک قرمز دارد.

هر دوی این سناریو ها باعث می شوند استخراج کنندگان به عنوان یک گروه، پایدار ترین حالت ممکن را با استفاده از تعادل نش انتخاب کنند. واضح است که زنجیره قرمز هم می تواند ادامه پیدا کند و بلاک چین جدید بسازد اما، تعداد استخراج کنندگان به قدری زیاد است که چنین رویدادی به سادگی امکان پذیر نیست (بعدا بیشتر به این موضوع خواهیم پرداخت). همانطور که در بازی هماهنگی بیان شد، اگر اکثریت اعضای گروه وضعیت خود را تغییر ندهند، اقلیت این گروه انگیزه ای برای ماندن در حالت جدید نخواهند داشت. بدین ترتیب، چرا یک استخراج کننده تمام قدرت محاسباتی اش را مصرف کند و ریسک هدر رفت آن را بپذیرد؟

چرا کاربران از زنجیره ی اصلی استفاده می کنند و از دیگر زنجیره ها نه؟

تاکنون دلیل اینکه چرا استخراج کنندگان زنجیره ی آبی را انتخاب می کنند دیدیم. کاربران چه؟ در بازی بلاک چین دو نوع بازیکن استخراج کننده و کاربر داریم. چرا کاربران، زنجیره ی آبی را به زنجیره ی قرمز ترجیح می دهند؟ پاسخ در یکی دیگر از مکانیزم های نظریه بازی نهفته است.

اولین چیزی که باید در نظر داشته باشید این است که رمز ارز ها دارای ارزش هستند زیرا مردم به آنها ارزش می دهند. خب، چرا یک کاربر عادی برای کوینی در زنجیره ی آبی ارزش قائل می شود و برای کوین های زنجیره قرمز ارزشی قائل نیست؟ پاسخ ساده است. از دیدگاه کاربران زنجیره اصلی یک نقطه ی کانونی (Schelling) است. آنها به زنجیره ی اصلی ارزش می دهند چون به نظرشان طبیعی و ویژه است.

عقلانیت محدود: دلیل دیگری که کاربران برای زنجیره ی اصلی ارزش قائل هستند این است که استفاده از آن برایشان ساده است. طبق قاعده ی عقلانیت محدود، مردم در هر زمان ساده ترین گزینه و راه حل را انتخاب می کنند. جا به جایی غیر ضروری به زنجیره ی جدید تر مسائل را پیچیده می کند.

مشکل تملیک در اثبات کار (PoW) چیست؟

پیش از توضیح این مساله اجازه دهید یکبار دیگر به تصویر قبلی بازگردیم:

intro to cryptoeconomics 4

ویتالیک بوترین با یک مثال عالی این مشکل را توضیح می دهد. فرض کنید شخصی یک قرارداد هوشمند فرضی برای یک فعالیت ایجاد کند. شرایط قرارداد بدین شکل خواهد بود:

  • هر استخراج کننده با سپرده گذاری مبلغ زیادی در قرارداد می تواند به این فعالیت بپیوندد.
  • استخراج کنندگان باید سهام شان در بلوک های نیمه کامل که در حال استخراج آن بوده اند را به قرارداد بفرستند و قرارداد باید سهام و اینکه شما استخراج کننده ای با قدرت هش کافی هستید را تایید کند.
  • پیش از اینکه ۶۰٪ از استخراج کنندگان به این قرارداد بپیوندند، شما می توانید هر زمان که خواستید از قرارداد خارج شوید.
  • بعد از اینکه ۶۰٪ استخراج کنندگان به قرارداد پیوستند، شما باید تا زمانی که ۲۰ بلوک به انشعاب سخت که با زنجیره قرمز مشخص شده است، اضافه می کنید در قرارداد بمانید.

با اینکار نه فقط زنجیره ی قرمز بزرگ تر و طولانی تر می شود چون ۶۰٪ تمام استخراج کنندگان را در اختیار دارد، بلکه به زودی به زنجیره ی اصلی تبدیل می شود و زنجیره ی آبی را از دور خارج می کند. در این سناریو دو بار پرداخت کردن برای همه رسمیت می یابد و ارزش رمز ارز جدید به سرعت رشد خواهد کرد.

ممکن است بپرسید چرا استخراج کنندگان به چنین تملیکی تن می دهند؟

اجازه دهید انگیزه آنها برای پیوستن به قرارداد را بررسی کنیم:

  • پاداش احتمالی در پایان.
  • هیچ خطری برای ملحق شدن آنها به قرارداد وجود ندارد.

انگیزه ی آنها برای پیروی از قرارداد چیست؟

  • مقدار زیادی سپرده گذاری اولیه داشته اند.
  • احتمال پاداش بزرگ.

از لحاظ تئوری، تملیکی این چنینی به خاطر مکانیزم نظریه ی بازی می تواند پایان هر رمز ارزی را رقم بزند.

برهان Grim Trigger برای رهایی!

در قسمت قبل در بحث Grim Trigger گفتیم که اگر پادشاه کشته شود یا بمیرد یک چرخه خونین بی پایان شکل خواهد گرفت و نتیجه گرفتیم برای جلوگیری از چنین اتفاقی نباید پادشاه اول بمیرد.

از همین منطق برای بلاک چین هم می توان استفاده کرد. اگر بلاک چین تملیک و نابود شود و استخراج کنندگان به یک زنجیره ی جدید هدایت شوند، چه چیزی مانع تملیک زنجیره ی جدید توسط اکثریت خواهد شد؟ برای متوقف کردن انشعاب های سخت بی پایان (که به رنگ قرمر در شکل نشان داده شده اند)، مهم است که در مرحله ی اول تملیک را نپذیریم.

هرچند، استدلال Grim Trigger گاهی شکست می خورد، اما گاهی اوقات اثر بسیار چشمگیری دارد:

  • این استدلال زمانی که استخراج کنندگان محدودیتی برای کار روی رمز ارز ها ندارند، شکست می خورد. اگر استخراج کنندگان روی چندین رمز ارز کار کنند، به سادگی می توانند گروهی برای تملیک رمز ارز کم حجم تشکیل دهند.
  • این استدلال در صورت وجود تنها یک رمز ارز یا وفاداری تنها به یک رمز ارز صحیح است زیرا، همه می خواهند که ارزش و مشروعیت رمز ارز حفظ شود.
  • اگر رمز ارز نیاز به ASIC های خاص داشته باشد که غیر از استخراج رمز ارز خاص استفاده ای ندارند و به اندازه کافی گران هستند، استدلال Grim Trigger برقرار است. همچنین، اگر رمز ارز فقط با یک نرم افزار خاص استخراج شود، استخراج کنندگان می توانند مطمئن باشند که هیچ اتفاقی که ارزش رمز ارز را کاهش دهد، نمی افتد.
  • استدلال برقرار نیست اگر با استفاده از CPU بتوان استخراج کرد. CPU ها گران نیستند و برای استخراج دیگر رمز ارز ها نیز قابل استفاده اند.
  • با این حال، اگر استخراج کنندگان با CPU در آن رمز ارز سهام داشته باشند، استدلال برقرار خواهد بود زیرا آنها نمی خواهند سهام شان را از دست بدهند. این نوعی از اثبات سهام (PoS) است.

برای ایجاد یک سیستم منصفانه و اطمینان از اینکه استخراج کنندگان بلوک های جدید، تکراری نبوده و تصادفی هستند و نیز برای جمع آوری پاداش در زمان مشخص، سطح سختی استخراج به صورت دوره ای تنظیم می شود. در بلند مدت، استخراج کردن یک بازی جمع صفر است، بدین معنا که سود ناشی از استخراج بلوک های جدید با هزینه استخراج تنظیم می شود.

حمله ی P+Epsilon

یک سیستم اثبات کار (PoW) نسبت به حمله ی P+Epsilon آسیب پذیر است. برای درک نحوه ی کارکرد این حمله نیاز داریم برخی مفاهیم را تعریف کنیم.

مدل انتخاب ناهماهنگ: مدلیست که تمام شرکت کنندگان انگیزه ی کار با یکدیگر را ندارند. شرکت کنندگان می توانند گروه هایی تشکیل دهند اما هیچوقت گروهی آنقدر بزرگ نمی شود که در اکثریت قرار گیرد.

مدل انتخاب هماهنگ: مدلیست که همه ی مشارکت کنندگان انگیزه ی هماهنگ شدن را دارند.

به طور کلی فرض می شود که بلاک چین یک مدل انتخاب غیر هماهنگ است اما اگر انگیزه ای برای استخراج کنندگان برای اقدام علیه یکپارچگی بلاک چین ایجاد شود چه؟ اگر به استخراج کنندگان برای انجام فعالیتی خاص رشوه پیشنهاد شود چه؟ این مدل را «مدل مهاجم رشوه ده» گویند.

مدل مهاجم رشوه ده چیست؟

یک مدل انتخاب ناهماهنگ را تصور کنید. حال اگر یک مهاجم وارد سیستم شود و استخراج کنندگان را با پیشنهاد رشوه با هم هماهنگ کند چه؟ برای موفقیت در سیستم رشوه دهی، مهاجم به دو منبع نیاز دارد:

  • بودجه: پولی که مهاجم برای راضی کردن ماینر ها برای همکاری نیاز دارد.
  • هزینه: پولی که در نهایت به استخراج کننده می پردازد.

با این حال اگر مهاجم تصمیم حمله به بلاک چین را داشته باشد، به یک مساله جالب بر می خوریم و این همان حمله «P+Epsilon» است. جدول زیر را در نظر بگیرید و یک بازی ساده ی انتخاب را تصور کنید.

intro to cryptoeconomics 4

اگر شما به مورد خاصی رای دهید و بقیه هم به همان مورد رای دهند، بازده P خواهید داشت و اگر رای شما با رای دیگران متفاوت باشد بازدهی نخواهید داشت. حال فرض کنید مهاجم وارد سیستم می شود و شرایط رای گیری را به نفع یک مورد تغییر می دهد. اگر شما رای دهید و دیگران رای ندهند، بازده شما P+Epsilon خواهد بود؛ یعنی بازده معمول به علاوه ی رشوه ای که مهاجم می پردازد. پس ماتریس بازده به شکل زیر تغییر می کند:

intro to cryptoeconomics 4

حال این سناریو را در نظر بگیرید: تمام بازیکنان می دانند که اگر در رای گیری شرکت کنند، بازده دریافت خواهند کرد اما اگر شرکت نکنند شانس دریافت بازده برای آنها ۵۰-۵۰ خواهد بود.

فکر می کنید بازیکنان چه می کنند؟ مطمئنا آنها در رای گیری شرکت می کنند تا سود خود را تضمین کنند. قسمت جالب ماجرا اینجاست. همانطور که در ماتریس بازده می بینید، مهاجم تنها زمانی رشوه ی Epsilon را پرداخت می کند که شما رای بدهید و دیگران رای ندهند. در این موقعیت چون همه رای می دهند، تعادل نش تغییر می کند:

intro to cryptoeconomics 4

مهاجم نیازی به پرداخت رشوه ندارد!

خب، اجازه دهید مساله را از دیدگاه مهاجم ببینیم:

  • گروه را برای رای دادن متقاعد کن.
  • حتی بدون پرداخت رشوه به هدفت می رسی.

این یک سناریوی برنده برنده برای مهاجم است و پیامد های سنگینی روی بلاک چین مخصوصا در سیستم اثبات کار دارد. بیایید یکبار دیگر بلاک چین فرضی را مرور کنیم:

فرض کنید مهاجم می خواهد زنجیره منشعب شود و اعلام می کند که گروهی از استخراج کنندگان که به عضویت زنجیره ی جدید در بیایند، مقدار Epsilon را دریافت می کنند. این به جامعه استخراج کنندگان انگیزه می دهد که به زنجیره ی جدید بپیوندند. بدیهیست که مهاجم باید برای هر اتفاقی آماده باشد، اما همانطور که در مدل حمله ی مهاجم بالا دیدیم، مهاجم نیازی به پرداخت این مبلغ ندارد. به گفته ی ویتالیک بوترین، یکی از بزرگ ترین مشکلات سیستم اثبات کار (PoW) آسیب پذیری در مقابل حمله ی P+Epsilon است.

اثبات سهام (PoS)

راه حل مشکل حمله مبتنی بر انگیزه در اثبات سهام (PoS) نهفته است. در این سیستم، استخراج کنندگان باید بخشی از ثروتشان را روی بلوک های آینده سرمایه گذاری کنند. به عنوان یک سیستم اقتصادی، این مدل بسیار بهتر است زیرا مجازات در آن بسیار سخت گیرانه تر خواهد بود. در سیستم اثبات سهام (PoS) استخراج کنندگان با احتمال واقعی از دست دادن سهام و ثروت خود روبرو هستند.

خب، اثبات سهام (PoS) چطور جلوی حملات P+Epsilon را می گیرد؟

خودتان را به جای استخراج کنندگان قرار دهید. شما بخشی از ثروت خود را داخل یک بلوک که به زنجیره ی اصلی متصل است قرار داده اید. حال یک مهاجم به شما می گوید که اگر شما از زنجیره اصلی جدا شوید و به شاخه ی انشعاب شده بپیوندید، بازده اضافی به شما پرداخت می کند. اما، اگر زنجیره ی جدید موفق نشود شما با ریسک بسیار بالای از دست دادن ثروت تان که روی بلاک ها سرمایه گذاری کرده اید، روبرو می شوید.

به علاوه، همانطور که دیدیم، در حمله P+Epsilon واقعا بازده اضافه ای پرداخت نخواهد شد. برای یک استخراج کننده ی سهامدار، ادامه دادن زنجیره ی اصلی مهم است و در فعالیت های مخرب شرکت نخواهد کرد.

نتیجه گیری

همانطور که دیدید، نظریه بازی آن چیزیست که بلاک چین را فوق العاده خاص کرده است. فناوری یا مکانیزم جدیدی وجود ندارد بلکه ادغام دو مفهوم شگفت انگیز رمزنگاری و اقتصاد است که رمز ارز ها را در برابر فساد داخلی ایمن کرده است. رشدی که این حوزه در چند سال اخیر تجربه کرده بی نظیر است و این فناوری هر روز بهتر و گسترده تر خواهد شد.

توجه!
مطالب صرفا برای اهداف آموزشی ارائه می شوند و نباید به عنوان مشاوره ی تجاری از طرف کوین ایران و نویسندگانش مورد استفاده قرار گیرند.