آیا ما باید سخت افزار را از بلاک چین بیرون کنیم؟

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

محرمانگی بلاک چین مبتنی بر TEE

شبکه فالا یک قرارداد هوشمند محرمانه را اجرا می کند. این قرارداد با قراردادهای سنتی متفاوت است زیرا قراردادها در یک محوطه سخت افزاری خاص در CPU اجرا می شوند، یعنی محیط اجرای مورد اعتماد. برنامه ای که در داخل TEE(محیط اجرای قابل اطمینان) اجرا می شود به شدت از بقیه جهان جدا است. یک حمله مخرب نه می تواند داده های موجوددر حافظه را بدون مجوز بخواند و نه می تواند برنامه را برای ایجاد رفتار ناخواسته دستکاری کند.

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

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

تأیید از راه دور

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

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

تأمین مخفی

تأیید از راه دور یک رکن اساسی برای قراردادهای هوشمند محرمانه است. اما اگر نتوانیم یک کانال ارتباطی end-to-end مناسب بین طرفین در TEE برقرار کنیم خیلی کارآمد نخواهد بود. TEE در حال حاضر تنها توسط فالا پشتیبانی می شود. Intel SGX، همچنین یک پروتکل مخفی ارائه می دهد تا مشکل را به زیبایی حل کند.

توسط پروتکل تامین مخفی، می توان زنجیره اعتماد از کاربر به pRuntime را ایجاد کرد:

  1. بلاک چین دارای هش از کد متعارف pRuntime است
  2. پروتکل pRuntime تأیید از راه دور را اجرا می کند، گزارشی را با داده ها دریافت می کند: هش کد تایید شده (خود pRuntime)؛ و کلید عمومی یک جفت کلید هویتی زودگذر
  3. گزارش RA برای بلاکچین ثبت می شود و بر روی زنجیره تأیید می شود
  4. بلاک چین هش را از گزارش RA می‌سنجد (به این معنی که: شرکت کننده یک تابع pRuntime در TEE است)
  5. کلید عمومی هویت در بلاکچین ثبت شده است (به این معنی که: فقط pRuntime فعلی کنترل این کلید هویت را دارد)

در نتیجه، تا زمانی که یک پیام توسط کلید هویت امضا شود، حتماباید توسط pRuntime ثبت شده تولید شود. کاربران می توانند با کلید عمومی ثبت شده یک اتصال مشابه TLS به یک pRuntime ایجاد کنند.

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

تمام مراحل ذکر شده در بالا بصورت پی در پی و خودکار توسط فالا بصورت "پنهان" انجام می شود.

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

بنابراین یک تایید از راه دور می تواند از تمام ارتباطات آینده با pRuntime محافظت می کند، با فرض عدم نقض در سخت افزار TEE (که بعداً مورد بحث قرار می گیرد).

در مورد بروزرسانی چطور؟

بروزرسانی در زنجیره یک الزام مهم است زیرا خطرات امنیتی را که در اثر ارتقاء هارد فورک وجود دارد را تا حد زیادی کاهش می دهد. Substrate از ارتقاء runtime در زنجیره پشتیبانی می کند. این کار توسط پالت مدیریت زنجیره ای انجام می شود. در سمتTEE، همچنین runtime نیز قابل ارتقا است.

هنگام ارتقاء pRuntime، باید هش نسخه جدید pRuntime را به بلاک چین ارسال کنیم. سپس جامعه می تواند کد را مورد بررسی، بحث و رای گیری قرار دهد و با یک فرایند حکمرانی زنجیره ای مشابه Substrate به ارتقاء رای دهد.

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

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

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

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

حمله و دفاع

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

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

معمولاً تصور می شود که آسیب پذیری های نرم افزاری قابل وصله هستند در حالی که آسیب پذیری های سخت افزاری اینطور نیستند. یا همیشه اینطور نیست. CPU را می توان با به روز رسانی میکرو کد وصله کرد. با توجه به طراحی خاص معماری SGX TEE اینتل، اکثر آسیب پذیری ها قابل رفع هستند. اخیراً حمله ای به نام SGAxe وجود داشت که با ارتقاء میکرو کد و به دنبال آن تعویض کلید گروهی برطرف شد. پس از تعویض و لغو کلید، همه دستگاه های قدیمی با تایید از راه دور رد می شوند و عملاً دستگاه های آسیب پذیر را خراب می دانند. توجه به این نکته ضروری است که میکروپچ بسیار سریع وارد بازار شد و ما از هیچ گونه نقض مربوط به SGAxe در دنیای واقعی آگاه نیستیم.

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

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

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

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

سرانجام، ما در حال برنامه ریزی برای پشتیبانی از سایر سخت افزارهای TEE مانند AMD SEV و Arm TrustZone هستیم. اگر سایر تولیدکنندگان تراشه برای از بین بردن هژمونی اینتل در این فضای سخت افزاری تازه وارد به مسابقه بپردازند، ما برای اطمینان از قابلیت اطمینان فالا و مقاومت در برابر هرگونه سو استفاده سریعاً آنها را اتخاذ خواهیم کرد.

خلاصه

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

درباره فالا

شبکه فالا مسئله اعتماد به ابر محاسبات را برطرف می کند.

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

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

خدمات زنجیره ای که در حال حاضر در فالا نتورک در حال توسعه هستند ، شامل Web3 Analytics: قراردادهای هوشمند با عملکرد بالا از فالا برای امکان تجزیه و تحلیل داده های انبوه بسیار زیاد به صورت همزمان با حفظ حریم خصوصی، راه را برای جایگزینی با Google Analytics فراهم میکند زیرا که ذاتاً به رازداری شخصی احترام می گذارد.

? — با ما همراه باشید | وبسایت | توییتر | گیت هاب
? — دیسکورد | انجمن | تلگرام | تلگرام فارسی