چالش‌‌های اساسی در بلاکچین‌‌‌‌های عمومی (بخش اول)

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

0 99

جذب بیش از چند میلیارد از طریق ICO ها و افزایش وحشتناک قیمت در سال 2017، به اندازه کافی جذاب بوده و نشان می‌دهند این حباب واقعی است!

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

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

برخی از این موانع فنی شامل موارد زیر می‌‌شوند:

1- مقیاس پذیری محدود

2- حریم خصوصی محدود

3- نبود تایید قرارداد رسمی

4- محدودیت‌‌های ذخیره‌‌سازی

5- مکانیسم‌‌های توافقی غیرقابل‌‌تحمل

6- نبود مدیریت و استانداردهای لازم

7- ابزار نامناسب

8- بحث رایانش کوانتوم

9- و چندین و چند مورد دیگر

در این مطلب می‌‌خواهیم این موانع فنی را بررسی کرده و چند مثال برای راه‌‌حل‌‌های غلبه بر آن‌‌ها به شما ارائه کنیم.

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

1- مقیاس پذیری محدود

در حال حاضر تمام پروتکل‌‌های توافقی عمومی بلاکچین‌‌، محدودیت چالش‌‌برانگیزی دارند: تمام گره‌‌های کاملا حاضر در شبکه باید تمامی تراکنش‌‌ها را پردازش کنند.

چرا؟ به یاد بیاورید که بلاکچین‌‌‌‌ها اساسا نامتمرکز هستند، یعنی هیچ نهاد متمرکزی مسئول ایمن کردن و نگهداری سیستم نیستند. در عوض، تمام گره‌‌های شبکه با پردازش تمام تراکنش‌‌ها و نگهداری نسخه‌‌ای از کل وضعیت، مسئول ایمن کردن سیستم هستند.

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

دو مفهوم کاربردی این قسمت چنین هستند:

1- خروجی پایین: بلاکچین‌‌‌‌ها فقط می‌‌توانند تعداد محدودی تراکنش را پردازش کنند.

2- زمان کند تراکنش: زمان مورد نیاز برای پردازش یک بلاک تراکنش، بسیار پایین است. به عنوان مثال، زمان بلاک بیت کوین 10 دقیقه است، اما زمان بلاک اتریوم حدود 14 ثانیه می‌‌باشد. این زمان‌‌ها در اوقات شلوغی حتی بیشتر هم می‌‌شوند. در مقایسه با تاییدهای تقریبا لحظه‌‌ای خدماتی مثل Square یا ویزا، این ارقام شدیدا بالا هستند.

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

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

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

راه‌‌حل‌‌های مقیاس پذیری

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

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

کانال‌‌های پرداخت خارج از زنجیره

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

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

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

شاردینگ

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

رایانش‌‌های خارج از زنجیره

این مسئله شباهت زیادی به کانال‌‌های حالت دارد فقط از نظر محدوده بزرگتر است. هدف در اینجا انجام رایانش‌‌ها (و نه فقط انتقالات توکنی) خارج‌‌زنجیره است که انجام ایمن و قابل‌‌تایید آن بر روی زنجیره شدیدا گران است. انتقال رایانش‌‌ها و فرایند تایید خارج از زنیجره به درون یک پروتکل مجزا می‌‌تواند خروجی بالای تراکنش را محقق کند. مثالی از این موضوع در بحث اتریوم، TrueBit است.

DAGها

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

DAG

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

یک روش مبتنی بر DAG دیگر، مثلا پروتکل SPECTRE از گراف جهت‌دار غیرمدور (DAG) بلاک‌‌ها استفاده کرده و بلاک‌‌های DAG را به صورت موازی استخراج می‌‌کند تا خروجی بیشتر و زمان تراکنش بالاتری را فراهم سازد.

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

2- حریم خصوصی محدود

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

هرچند مسئله به این سادگی‌‌ها هم نیست.

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

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

این مسئله چگونه رخ داد؟

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

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

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

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

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

راه‌‌حل‌‌های حریم خصوصی

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

Elliptic Curve Diffie-Hellman-Merkle (ECDHM می‌‌گوید:

برای فهم آدرس‌‌های ECDHM باید صرافی Diffie-Hellman Key را درک کنید. هدف پشت این صرافی این است که یک رمز اشتراکی بین دو فرد برقرار کند. سپس می‌‌توان از این موضوع برای پیام‌‌های بین صرافی خصوصی در یک شبکه عمومی استفاده کرد.

چگونه؟

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

راه‌‌حل‌‌های حریم خصوصی

نمودار مفهومی که هدف کلی صرافی کلیدی را با استفاده از رنگ و بدون اعداد بزرگ، نشان می‌‌دهد.

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

میکسرها

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

میکسرها

متاسفانه میکسرها به یک راه‌‌حل قابل اعتماد تبدیل نشده‌‌اند. به عنوان مثال، محققین می‌‌توانستند به سادگی تراکنش‌‌های کوین‌‌جوین را شناسایی کنند و مشخص شد با صرف کردن فقط 32 هزار دلار، مهاجم می‌‌تواند تراکنش‌‌ها را با موفقیت 90 درصدی، از حالت بی‌‌نام خارج کند. به علاوه، محققین نشان دادند که میکسرها، محافظت کمی در مقابل حملات Sybil و حملات انکار خدمات ارائه می‌‌کنند.

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

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

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

مونرو

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

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

اثبات‌‌های دانایی صفر

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

مثال 1: بازی‌‌های چالش/ پاسخ

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

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

بازی‌‌های چالش

بازی‌‌های چالش/ پاسخ در حال حاضر در بلاکچین‌‌‌‌هایی مثل اتریوم مورد استفاده قرار می‌‌گیرند. هرچند ما به کتابخانه‌‌ها و ابزارهایی نیاز داریم تا بتوانیم استفاده از این نوع طرح‌‌های تایید هویت را بسیار ساده‌‌تر کنیم.

مثال 2: zkSNARK ها

zkSNARK ها دقیقا چه هستند؟ بیایید کمی درباره معنی آن صحبت کنیم:

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

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

1- اسنارک‌‌ها نیازمند منبع هستند.

2- اسنارک‌‌ها به کاربران اجازه می‌‌دهند تا دسترسی خود به یک رمز را اثبات کنند، اما کاربر موظف به حفظ رمز و نگه داشتن آن در هنگام نیاز می‌‌باشد.

3- اسنارک‌‌ها یک فاز نصب دارند که در آن گردش، یا رایانشی که می‌‌خواهید اثبات کنید، ثابت می‌‌شود. این فاز نیازمند انجام گرفتن زودهنگام در بین افراد معتبر هستند. این مسئله هم به اعتماد افراد آماده‌‌کننده نصب نیاز دارد و هم به این معنا است که اسنارک‌‌ها برای اجرای رایانش‌‌ها مناسب نیستند زیرا همیشه به یک فاز آمادگی نیاز می‌‌باشد.

مثال 3: zkSNARK ها + زی‌‌کش

زی‌‌کش یک ارز رمزنگاری‌‌شده دارای حریم خصوصی مبتنی بر zk-SNARK ها است. زی‌‌کش چیزی با عنوان تراکنش‌‌های محافظت‌‌شده دارد که در آن یک تنظیم بی‌‌نام، تمام سکه‌‌های مورد استفاده را محدود می‌‌کند. تراکنش‌‌های محافظت‌‌شده از آدرس‌‌های محافظت‌‌شده استفاده می‌‌کنند که نیازمند ساخت اثبات بدون دانایی از سوی پذیرنده یا فرستنده است تا به دیگران امکان تایید داده‌‌های رمزنگاری‌‌شده تراکنش، بدون آشکار کردن آن را بدهد.

 zkSNARK

نمودار تراکنش زی‌‌کش

زی‌‌کش قطعا یک پروژه جذاب بوده و ارزش دنبال کردن را دارد.

مثال 4: zkSNARK + اتریوم

در به‌‌روزرسانی پروتکل جدید اتریوم با نام متروپولیس، توسعه‌‌دهندگان قابلیت تایید اثربخش zk-SNARK های روی زنجیره را خواهند داشت.

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

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

مثال 5: zkSTARK ها

zkSTARK ها یک دوست جدیدتر و جذابتر دارند: ZK-STARK ها که در آن حرف T به معنای شفاف می‌‌باشد. ZK-STARK ها یکی از نقاط ضعف اصلی Zk-SNARK ها را حل می‌‌کنند: تکیه آن به تنظیم و نصب معتبر. آن‌‌ها همچنین ساده‌‌تر هستند زیرا فقط به هش‌‌ها و فرضیات اطلاعاتی بستگی دارند و ضمنا در مقابل رایانه‌‌های کوانتومی مقاوم هستند، زیرا از منحنی‌‌های بیضی یا نمای فرضیات نمایی استفاده نمی‌‌کنند.

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

ابهام کد

یک مکانیسم دیگر حریم خصوصی، ابهام کد است. هدف این قسمت، پیدا کردن روشی برای مبهم کردن برنامه‌‌ای مثل P به گونه‌‌ای است که مبهم‌‌کننده بتواند برنامه دوم O(P) = Q را تولید کند و P و Q سبب خروجی مشابه با ورودی یکسان شوند اما Q هیچ اطلاعاتی درباره ورودی‌‌های P نداشته باشد. این مسئله به ما امکان مخفی‌‌کردن اطلاعات خصوصی درون Q مثل رمزهای عبور، اعداد امنیت اجتماعی (بیمه) و غیره را می‌‌دهد اما استفاده آن درون برنامه‌‌ها را ممکن می‌‌کند.

با این که محققین ادعا می‌‌کنند ابهام کامل بلک‌‌باکس (جعبه‌‌سیاه) غیرممکن است، احتمال کمی مبنی بر ابهام با عنوان ابهام دقیقا یکسان وجود دارد که محققین آن را ممکن می‌‌دانند. تعریف مبهم‌‌ساز دقیقا مشابه O این است که اگر دو برنامه مساوی A و B را بگیرید (ورودی‌‌های یکسان برای A یا B، خروجی یکسان ایجاد کند) و O(A) = P and O(B) = Q را محاسبه کنید، سپس هیچ روش محاسباتی عملی برای فردی که به A یا B دسترسی ندارد و نمی‌‌تواند بگوید P از A یا B آمده، وجود نخواهد داشت.

ابهام کد

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

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

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

برای مطالعه بخش بعدی اینجا کلیک کنید.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.