جبرگرایی و قطعیت در بلاک چین؛ مروری بر فلسفه امنیت در شبکههای بلاک چین
بلاک چین بدون شک یکی از مهمترین نوآوریهای قرن اخیر است که با ویژگیهای منحصربهفرد خود، متخصصان حوزه فناوری را شگفتزده کرده و راه خود را به زندگی عموم مردم هم باز کرده است. وجود قابلیتهایی مانند غیرمتمرکزبودن، مقاومت در برابر سانسور و امنیت در بلاک چین بهشدت موردتوجه قرار گرفته؛ اما این فناوری یک ویژگی دیگر هم دارد که اهمیت آن کمتر از ویژگیهای دیگر نیست و آن «جبرگرایی و قطعیت» است.
منظور از جبرگرایی این است که اگر ما مراحل عملیاتی یکسانی را با یک ترتیب خاص اجرا کنیم، دقیقاً به همان نتیجهای میرسیم که اگر هرکس دیگری آن فرایند را دنبال کند به همان نتیجه خواهد رسید. این ویژگی در عین سادگی خود از اهمیت بالایی برخوردار است؛ اما شاید بهدلیل همین سادگی است که کمتر به آن توجه میشود یا درباره آن صحبت میشود.
ما در این مقاله که بهکمک مطلبی از وبسایت سورین نوشته شده است، اصل جبرگرایی را در بلاک چین بررسی میکنیم. این ویژگی یکی از اصولی است که همه شبکههای بلاک چین از آن پیروی میکنند و باعث قدرت بلاک چینهاست. با ما همراه باشید.
مقدمه
در اغلب مقالاتی که درباره فناوری بلاک چین منتشر میشوند، از مزایایی همچون تمرکززدایی و شفافیت صحبت میشود؛ اما کمتر پیش میآید که در مورد جبرگرایی مطلبی مطالعه کنیم. این در حالی است که جبرگرایی یک مکانیسم کلیدی است که سرمنشأ همه ویژگیهای دیگر بلاک چینهاست.
شاید دلیل این امر این است که برخی از افراد جبرگرایی در بلاک چین را خیلی بدیهی میدانند و دلیلی نمیبینند که درباره آن صحبت کنند؛ در حالی که برخی دیگر هیچ آگاهی و دانشی نسبت به آن ندارند و از وجود آن آگاه نیستند.
سعی ما در این مقاله این است که نحوه کارکرد و اهمیت جبرگرایی در بلاک چین را روشن کنیم؛ بنابراین بیایید با اصول اولیه شروع کنیم:
یک مثال غیرمرتبط: بازی شطرنج دو حکیم در هند باستان
جبرگرایی بر این اعتقاد فلسفی استوار است که همه رویدادهای جهان هستی یک پیشزمینه مشخص دارند و با توجه به دلایل قبلی تعیین میشوند. بهبیان دیگر:
رویدادهای جهان وابسته به یک رابطه علت و معلولی هستند و هر حالتی که برای یک موجود یا یک شیء رخ میدهد، طبق یک الگوی معین قابلتوضیح است.
دو تن از خردمندان هند باستان تصمیم گرفتند قدرت خود را در بازی شطرنج محک بزنند. کل امپراطوری مشغول پیشبینی نتیجه بازی بود و مردم تمایل داشتند از مهارت این حکیمان درس بگیرند. در همین راستا، گزارش مفصلی از همه حرکات انجامشده در طول مسابقه تهیه شد؛ اما متأسفانه بازی بهدلیل حملهای که به سرزمین مجاور انجام شد به پایان نرسید.
حال تصور کنید که یک صفحه شطرنج مشابه آنچه در داستان ما ذکر شده هنوز در موزه قرار دارد و گزارش بازی هم همچنان در دسترس است. ازآنجاکه بازی شطرنج یک حالت اولیه ثابت و یک سری حرکات قطعی دارد، با توجه به گزارشی که از بازی موجود است میتوان دوباره مهرهها را چید و همان بازی را تداعی کرد؛ حتی اگر قرنها گذشته باشد و قرار باشد از مهرهها و صفحه جدید استفاده کنیم.
بهلطف همین ویژگی بازی شطرنج است که ما میتوانیم تکنیکهای هر دو بازیکن را بررسی کنیم، بازی را به هر نقطهای قبل از توقف آن برگردانیم و حتی بهجای آنها به بازی ادامه دهیم.
بهدلیل وجود قطعیت، مکان، صفحه بازی یا زمان بازی اهمیتی ندارد و قوانین همواره یکسان میمانند.
یک مثال مرتبط
اصطلاح جبرگرایی یا قطعیگرایی (Determinism) در علوم کامپیوتر به سیستمی اطلاق میشود که در آن، حالت گذشته سیستم تعیینکننده وضعیت فعلی آن و حالت فعلی سیستم تعیینکننده وضعیت آینده آن است.
جبرگرایی بدان معناست که اگر مراحل عملیاتی یکسانی را به یک ترتیب خاص انجام دهیم، دقیقاً به همان وضعیتی دست مییابیم که دیگران پس از انجام مراحل مشابه به آن میرسند. این ویژگی باعث میشود بلاک چین همان چیزی باشد که اکنون هست.
اساساً تمرکززدایی و مقاومت در برابر سانسور در بلاک چین امکانپذیر است؛ چون هر نود در شبکه هر تراکنش را بهشیوهای قطعی تأیید میکند و همه درباره وضعیت فعلی سیستم توافق دارند.
برای مثال، هنگامی که کاربران جدید بلاک چین یک کیف پول مبتنی بر بلاک چین ایجاد میکنند، باید منتظر بمانند تا نرمافزار کیف پول با وضعیت فعلی بلاک چین همگامسازی شود. این همگامسازی یک مرحله ضروری است تا کاربران کیف پول بتوانند با بلاک چین تعامل داشته باشند.
داشتن کیف پولی که کاملاً همگامسازی شده است، به آنها این اطمینان را میدهد که همه وجوه طبق قوانین شبکه دریافت و ارسال میشوند و همه تراکنشهای آنها معتبر هستند. سپس سابقه این تراکنشها در بلاک چین ذخیره میشود تا همه فولنودها بتوانند آن را تأیید کنند. همچنین کنترل کامل وجوه کاربران نیز به آنها داده میشود و هیچ شخص ثالثی نمیتواند آنها را مسدود یا جابهجا کند.
کنترل کاربران بر وجوه خود با استفاده از رمزنگاری کلید عمومی و خصوصی تضمین میشود. وجود کلید عمومی و خصوصی به این معنی است که هیچ شخص دیگری غیر از مالک اصلی نمیتواند تراکنشی را ثبت کند.
همین فرایند رسیدن همه نودها به یک حالت برابر است که از حمله دوبار خرجکردن (Double-spending) جلوگیری میکند؛ بنابراین میتوان گفت که کل قدرت بلاک چین و توانایی آن در مقابله با حمله دوبار خرجکردن، از ویژگی قطعیگرایی در بلاک چین سرچشمه میگیرد.
جبرگرایی در حوزه بلاک چین به این واقعیت اشاره دارد که همه نودها در شبکه دستور تراکنش یکسانی را تولید میکنند. هرگونه تفاوت بین نودها در عملیات مشابه به شکست اجماع بین آنها منجر میشود. در این حالت، ذخیره این دادهها در دفترکل توزیعشده هم به ایجاد تناقض در دفترکل میانجامد.
همه فولنودهای جدیدی که به شبکه بلاک چین میپیوندند، باید تمام عملیات گذشته را مجدداً مرور کنند تا در نهایت به وضعیت یکسانی با فولنودهای موجود در دفتر کل برسند. بهعنوان مثال، اگر تصمیم دارید به یک فولنود در بلاک چین RSK تبدیل شوید، باید قبل از اینکه بهعنوان یک نود شروع به اعتبارسنجی و پردازش بلوکهای جدید کنید، همه بلوکهای موجود در سابقه RSK را همگامسازی کرده و کلیه قراردادهای هوشمند این زنجیره را نیز بررسی کنید.
برای فهم بهتر این موضوع، به این نکته توجه کنید که بهدلیل وجود ویژگی جبرگرایی، بلاک چین RSK اجازه فراخوانی APIهای شخص ثالث را نمیدهد. غیرقانونیبودن APIهای شخص ثالث باید بهطور مستقیم در لایه اجماع ثبت و پیادهسازی شود؛ چون یک نود هرگز نمیتواند مطمئن شود که API همیشه قابلدسترسی است یا بهدرستی اجرا میشود.
حال اگر یک یا چند کشور بهدلیل اعمال سیاستهای فیلترینگ اینترنت محلی، این API را لغو کنند چه میشود؟ وقتی این API که قبلاً در برخی تراکنشها استفاده شده بود، برای برخی از افراد در شبکه کار نکند، چگونه میتوانید یک نود RSK را اجرا کنید؟
API میتواند گزارش دهد که مثلاً در ۳۰ اوت ۲۰۱۹، دو کشور یک قرارداد تجاری منعقد کردهاند. این گزارش بعداً بخشی از زنجیره اعتبارسنجی خواهد شد. در عین حال، اگر API در کشوری دیگر متوقف شود و نودهای واقع در آن کشور دیگر توافقنامه تجاری را گزارش ندهند، اعتبارسنجی بلاک چین دیگر برای آنها امکانپذیر نخواهد بود.
البته در حالتی نیز ممکن است با اتصال یک اوراکل بهعنوان منبع داده خارج از زنجیره، از یک API شخص ثالث در یک قرارداد هوشمند استفاده کنید. این به این معنی است که بدون اجراکردن APIهای شخص ثالث در لایه اجماع بلاک چین، دادههای خارج از بلاک چین را به قرارداد هوشمند درون بلاک چین منتقل کنید.
بلاک چینها روی هیچیک از عواملی که برای کاربر نهایی منحصربهفرد است اجماع نمیکنند. بهعنوان مثال، یک قانون اجماع برمبنای اعداد تصادفی که بهصورت محلی در دستگاه یک فولنود ایجاد میشود عملاً کار نمیکند؛ چون نتیجه در رایانه هر کاربر متفاوت است و باعث جداشدن همه کاربران از شبکه میشود.
برای دستیابی به اجماع در شبکه بلاک چین، همه کاربران باید دادههای یکسانی را به اشتراک بگذارند و بتوانند از دادهها برای محاسبه نتایج یکسان از طریق پروتکلهای یکسان و با قوانین اجماع یکسان استفاده کنند. این یعنی جبرگرایی در حوزه بلاک چین.
جمعبندی
جبرگرایی یکی از عناصر ضروری برای تقویت دو ویژگی اساسی بلاک چینها، یعنی تمرکززدایی و مقاومت در برابر سانسور است.
اگر تراکنشهای گذشته نیز در هر باری که اجرا میشوند، نتوانند نتیجه یکسانی را ایجاد کنند، صرفنظر از اینکه تراکنش در کجا یا از سوی چه کسی انجام میشود، دستیابی به اجماع غیرممکن میشود. بهبیان دیگر، بلاک چینها مقاومت یکپارچه دادههای خود را در برابر دستکاری از دست میدهند.
جبرگرایی و فرایند اجماع که در همه بلاک چینها رخ میدهد، امنیت داراییهای دیجیتال کاربران را تضمین میکنند و این شبکهها را از اعتماد به اشخاص ثالث برای تأمین امنیت بینیاز میکنند.