فناوری های بلاک چین سولانا

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

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

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

بررسی فناوری های نوآورانه شبکه سولانا

سیستم‌های مبتنی بر الگوریتم اجماع اثبات کار (Proof of Work) مثل بیت کوین و اتریوم در هر ثانیه به ترتیب 7 و 14 تراکنش را پردازش و تایید می‌کنند. در نقطه مقابل شبکه‌های متکی بر الگوریتم اثبات سهام (Proof of Stake) با تحمل خطای بیزانس عملی مثل تندرمینت (Tendermint) با فرض بر اینکه 100 تا 200 نود داشته باشند می‌توانند حدود 1,000 تراکنش بر ثانیه را پشتیبانی کنند.

با این حال شبکه سولانا به لطف تحمل خطای بیزانس تغییریافته خود که اسم مستعار برج یا تاور (Tower) را دارد، می‌تواند تنها با 200 نود افزون بر 50,000 تراکنش را در هر ثانیه پردازش کند که در حال حاضر بیشترین رقم TPS در دنیای کریپتوکارنسی محسوب می‌شود و سولانا را در جایگاه پرسرعت‌ترین و مقیاس پذیرترین بلاک چین غیر متمرکز دنیا قرار می‌دهد.

پروژه سولانا

تیم توسعه دهندگان سولانا که شامل متخصصان کمپانی‌های بزرگی همچون کوالکام (Qualcomm)، اینتل (Intel)، نتسکیپ (Netscape) و گوگل (Google) است از زمان شکل گیری این شبکه تاکنون روی ساخت تکنولوژی و نوآوری های مدرن برای بهبود عملکرد Solana و رسیدن به استانداردهای بالا تمرکز داشته‌اند.

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

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

در این مطلب هر یک از موارد بالا را معرفی و بررسی می‌کنیم.

اثبات تاریخچه

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

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

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

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

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

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

اولین و مهم‌ترین فناوری نوآورانه شبکه سولانا در حقیقت همان الگوریتم اثبات تاریخچه یا Proof of History است که یک مرجع زمانی پرمیشن‌لس و جهانی در کل شبکه است که قبل از مرحله اجماع قرار دارد. توجه داشته باشید که مکانیزم اثبات تاریخچه خود یک الگوریتم اجماع نیست و در حقیقت تنها نقش مرتب کردن تراکنش‌ها را از نظر زمانی بر عهده دارد.

اثبات تاریخچه

در بلاک چین‌های دیگر اعتبارسنج‌ها برای رسیدن به توافق باید با یکدیگر تعامل و مکالمه داشته باشند تا مطمئن شوند زمان به اندازه مشخص و کافی گذشته است، اما در سولانا هر اعتبارسنج ساعت داخلی مخصوص خودش را دارد که به کمک فناوری SHA-256 و تابع تاخیر قابل بررسی (Verifiable Delay Function)، مقدار زمان گذشته را رمزنگاری می‌کند. البته سولانا از VDF برای تصادفی نگه داشتن زمان تاخیر استفاده نمی‌کند و در عوض هر اعتبارسنج با استفاده از VDF ساعت داخلی خود را تنظیم نگه می‌دارد. از آنجا که هر اعتبارسنج ساعت اختصاصی خودش را دارد، انتخاب رهبر شبکه نیز پیش از موعد و برای یک ایپاک (Epoch) کامل انتخاب می‌شود.

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

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

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

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

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

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

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

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

توربین

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

در عمل اگر هر اتصال میان نودها 100ms باشد، در شبکه‌ای با 40,000 نود در عرض 400ms می‌توان تراکنش را بازسازی کرد و در 500ms به تایید نهایی رساند. مکانیزم توزیع یا پخش نودها باید در برابر خطای شبکه مقاومت بالایی داشته باشد. به همین خاطر اعتبارسنج‌ها داده‌های خود را با استفاده از کدهای بازسازی Reed-Solomon رمزنگاری می‌کنند تا آن‌ها را نسبتا در برابر خطا مقاوم کنند.

گلف استریم

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

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

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

گلف استریم سولانا

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

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

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

سی لول

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

راه حل این مشکل به میزان زیادی از یک راهکار استفاده از درایور در سیستم‌های عامل به نام روش پخش و جمع (Scatter-Gather) الهام گرفته شده است. تراکنش‌ها قبل از اجرا اعلام می‌کنند که قصد دارند چه داده‌هایی را از شبکه بخوانند و چه اطلاعاتی را در آن ذخیره کنند. سپس محیط اجرای تراکنش‌ها می‌تواند تمام توابع تغییر وضعیت در یک بلاک را که با همدیگر تداخلی ندارند، پیدا و به صورت موازی اجرا کند. به این فرآیند اجرای موازی تراکنش می‌گویند. در همین حین، تمام عملیات‌های خواندن و نوشتن داده‌های وضعیتی با استفاده از یک آرایه Raid 0 روی سخت افزار SSD برنامه ریزی و بهینه می‌شود.

با این سی لول خود یک ماشین مجازی یا Virtual Machine برای مرتب کردن و نظم‌دهی به تراکنش‌ها است، خودش به صورت عملی تراکنش‌ها را در ماشین مجازی اجرا نمی‌کند. در عوض سی لول تراکنش‌ها را با کمک یک بایت‌کد صنعتی و معتبر به نام فیلتر پکت برکلی (Berkeley Packet Filter) یا BPF برای اجرا به سخت افزار می‌دهد. بایت‌کد برکلی در اوایل دهه 1990 برای پردازش فیلترهای با نرخ ورودی بالا طراحی و از آن زمان تاکنون بهبود داده شده است. در حال حاضر این بایت‌کند در میلیون‌ها سوییچ سرتاسر دنیا استفاده می‌شود که هر سوییچ شبکه‌ای 40 گیگابایتی را مدیریت می‌کند و در حقیقت هر ثانیه 60 میلیون پکت داده توسط بایت‌کد برکلی پردازش می‌شود.

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

یکی دیگر از فناوری های به کار رفته در شبکه سولانا کامپایلر LLVM است که در عمل برای کار کردن با WASM ساخته شده و به کمک آن توسعه دهندگان می‌توانند قراردادهای هوشمند با عملکرد بالای خود را به زبان‌های برنامه نویسی سی (C)، سی پلاس پلاس (++C) و راست (Rust) بنویسند و در پردازنده‌های گرافیکی سخت افزار اجرا کنند.

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

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

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

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

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

پایپ لاینینگ

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

در شبکه سولانا مکانیزم پایپ لاین یا واحد پردازش تراکنش فرآیند داده‌یابی (Data Fetching) را در سطح کرنل، فرآیند تایید امضا را در سطح پردازنده گرافیک، فرآیند تجمیع پردازش را در پردازنده مرکزی یا CPU و فرآیند نوشتن اطلاعات جدید را در فضای کرنل انجام می‌دهد. تا زمانی که TPU شروع به ارسال بلاک‌ها برای اعتبارسنج‌ها کند، دسته بعدی پکت‌های داده برای پردازش داده‌یابی شده‌اند، امضاهایشان بررسی و تایید شده و حتی فرآیند اعتباربخشی توکن‌ها نیز آغاز شده است.

فناوری پایپ لاینینگ شبکه سولانا

با استفاده از نوآوری موازی‌سازی پردازش در پردازنده گرافیکی به عنوان یکی از مراحل پایپ لاینینگ 4 مرحله‌ای، در هر لحظه شبکه سولانا مثی‌تواند همزمان افزون بر 50,000 تراکنش را پردازش کند. در نظر بگیرید که برای پردازش این حجم از داده به یک دستگاه کامپیوتر نسبتا قدرتمند با قیمت حدود 5,000 دلار نیاز دارید. در بازه‌های زمانی که پردازنده گرافیک حجم اضافه تراکنش‌هایش را به واحد پردازش تراکنش بلاک چین سولانا منتقل می‌کند، وضعیت شبکه می‌تواند روی عملکرد نودها نیز تاثیرگذار باشد.

کلاودبریک

برای بهینه سازی سرعت و عملکرد یک بلاک چین، تنها مقیاس پذیر کردن قدرت پردازش شبکه کافی نیست. حافظه یا مموری شبکه نیز برای ذخیره اطلاعات مرتبط با حساب‌های کاربری در بلاک چین استفاده می‌شود و اگر حجم و سرعت شبکه در پردازش داده‌ها بالا باشد، خیلی زود حافظه می‌تواند به گلوگاه محدودکننده قدرت بلاک چین تبدیل شود. به عنوان مثال، بسیاری از توسعه دهندگان می‌دانند که موتور پایگاه داده محلی موجود در بیشتر زنجیره‌های بلاک چینی امروزه که LevelDB نام دارد، نمی‌تواند بیشتر از 5,000 تراکنش را در هر ثانیه پشتیبانی کند.

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

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

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

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

آرشیو دفتر کل

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

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

شبکه سولانا بر اساس طراحی خاص خود هر از گاهی از آرشیوگرها می‌خواهد که اثبات کنند داده‌های مدنظر را در خود ذخیره دارند و آن را پاک نکرده‌اند. گفتنی است سولانا به این منظور از الگوریتم اثبات تکثیر (Proof of Replication) استفاده می‌کند که بسیار از فناوری به کار رفته در فایل کوین الهام گرفته است.

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

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

سخن پایانی

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

ساختار نرم افزار سولانا به گونه‌ای است که از سر راه کنار می‌رود و به سخت افزار اجازه دهد با تمام قدرت خود کار کند. به همین خاطر سولانا به طور طبیعی با افزایش پهنای باند، فضای ذخیره SSD و هسته‌های به کار رفته در GPU مقیاس پذیری بیشتری به دست می‌آورد و در نتیجه نرخ پردازش و تایید تراکنشی افزون بر 50,000 TPS را (با فرض بر اینکه 200 نود در شبکه موجود باشند) به کاربران ارائه می‌دهد.

تهیه شده در بیت 24