پرش به محتوا

شبکه Sui چیست؟ معرفی شبکه لایه ۱ سویی و کوین SUI

در همان حینی که پروژه اپتوس (Aptos) توانست توجهات زیادی را به خود جلب کند، یک پروژه لایه ۱ دیگر نیز سر و صدای زیادی کرد. این شبکه نیز از همان زبان برنامه‌نویسی آپتوس استفاده می‌کند و حتی تیمی که هر دو پروژه از آن مشتق شده‌اند نیز یکسان است. نام این پروژه Sui است و از زبان برنامه‌نویسی Move استفاده می‌کند و این شبکه هم درست مثل اپتوس توانسته جذب سرمایه سنگینی داشته باشد و تبدیل به اصلی‌ترین رقیب آپتوس در رده خودشان شود. در این مقاله به پاسخ این سوال می‌پردازیم که شبکه Sui چیست و چگونه کار می‌کند. سپس به سرویس‌های سویی، کوین SUI، نقشه‌راه، همکاری‌ها، تیم توسعه‌دهنده، نحوه خرید و فروش و نگهداری ارز SUI می‌پردازیم. با ایده خبر همراه باشید. 

شبکه Sui چیست؟
منبع: sui.io
Sui یک بلاکچین لایه ۱ بدون نیاز به اجازه است که برای سازندگان و توسعه‌دهندگانی طراحی شده که می‌خواهند تجربیات جدیدی در فضای وب ۳ به‌دست آورند. این بلاکچین مقیاس‌پذیری افقی (Horizontally) دارد و از توسعه طیف وسیعی از اپلیکیشن‌ها پشتیبانی می‌کند. همچنین تراکنش‌ها به‌صورت موازی با یکدیگر پردازش می‌شوند. مقیاس‌پذیری افقی بدین معناست که هر تراکنش به چند بخش تقسیم می‌شود و هر بخش توسط یک نود پردازش می‌شود و نودها دیتاهای کامل تراکنش را در اختیار ندارند.

سویی یک پلتفرم قرارداد هوشمند است که امنیت آن توسط مجموعه‌ای از ولیدیتورهای بدون نیاز به اجازه تامین می‌شود. نقش اعتبارسنج‌ها (Validatorها) درست شبیه به ماینرهای شبکه‌های گواه اثبات کار (PoW) است. 
این شبکه از اجماع برای تراکنش‌های ساده (ارسال دارایی‌ها) چشم‌پوشی می‌کند و از اصول ساده‌تر و با تاخیر کمتر برای تراکنش‌های پرداختی و انتقال دارایی‌ها استفاده می‌کند. عدم استفاده از اجماع در دنیای بلاکچین بی‌سابقه است. این موضوع می‌تواند تعدادی از برنامه‌های کاربردی جدید حساس به تاخیر، از بازی گرفته تا پرداخت خرده‌فروشی در نقاط فیزیکی فروش را امکان‌پذیر کند؛ زیرا رسیدن به اجماع در نودها مقداری زمان‌بر است و عدم استفاده از این سیستم، می‌تواند سرعت فرآیندها را افزایش دهد. 
Sui با زبان برنامه‌نویسی Rust (زبان سولانا) نوشته شده و اسمارت کانترکت‌های آن نیز با زبان Move نوشته می‌شوند. برنامه‌های نوشته شده با Move، عملیات مختلف مربوط به دارایی‌ها را تعریف می‌کنند؛ عملیاتی مانند قوانین شخصی‌سازی شده برای ساخت دارایی‌ها، انتقال دارایی‌ها بین مالکان جدید و عملیاتی که دارایی‌ها را تغییر می‌دهد. 
بلاکچین Sui چگونه کار می‌کند؟ 
همانطور که اشاره کردیم، این شبکه برای تراکنش‌های ساده سیستم اجماع ندارد و تاییدیه‌ها را بسیار ساده‌تر انجام می‌دهد. سویی از یک سیستم برد-برد بین فرستنده و ولیدیتورها استفاده می‌کند که در ادامه بیشتر توضیح می‌دهیم. تراکنش‌های ساده در این شبکه با سرعتی بسیار زیاد (تقریبا بلافاصله) تایید می‌شوند و این موضوع برای بازی‌ها و دیگر برنامه‌ها بسیار کارآمد است. 
شبکه Sui‌ سه مولفه کلیدی دارد:‌
اشیا یا آبجکت‌ها: سویی Objectهایی دارد که توسط پکیج‌های زبان Move ساخته و مدیریت می‌شوند. البته همین پکیج‌ها نیز خود شامل آبجکت‌ها هستند. این اشیا می‌توانند به دو دسته تقسیم شوند: داده‌های قابل تغییر و بسته‌های تغییرناپذیر. واحد یا یونیت اصلی در سویی، آبجکت است. برخلاف دیگر بلاک‌چین‌ها که فضای ذخیره‌سازی آنها متمرکز بر حساب‌ها یا اکانت‌هاست، سویی روی آبجکت‌ها متمرکز است. هر اسمارت کانترکت، یک Object است (که با نام پکیج آبجکت شناخته می‌شود) و این قراردادهای هوشمند اشیای Move‌ را مدیریت می‌کنند: Move Package: مجموعه‌ای از ماژول‌های بایت کد Move است. هر ماژول دارای نامی منحصربه‌فرد در داخل پکیج است. ترکیب ID و نام یک ماژول، هویت آن را معرفی می‌کند. زمانی که یک اسمارت کانترکت در شبکه Sui منتشر می‌شود، یک پکیج از یونیت‌ها نیز منتشر می‌شود. زمانی که پکیج آبجکت منتشر می‌شود، غیرقابل تغییر است و نمی‌توان آن را تغییر داد یا حذف کرد. این پکیج آبجکت می‌تواند به پکیج دیگری که قبلا در دفتر کل Sui منتشر شده است، وابسته باشد. Move Object: مدیریت دیتاهای دسته‌بندی‌شده، توسط یک ماژول خاص Move از داخل یک پکیج Move انجام می‌شود. هر مقدار آبجکت، یک ساختار با فیلدهایی است که می‌توانند حاوی انواع اولیه باشند (آدرس‌ها،‌ اعداد صحیح و غیره)، دیگر آبجکت‌ها و ساختارهای غیرآبجکت باشند. مقدار آبجکت قابل تغییر است و در زمان ایجاد آن، متعلق به یک آدرس است؛ اما می‌تواند فریز شود و به‌طور دائمی غیرقابل تغییر شود و یا تبدیل به یک آبجکت اشتراکی شود و برای دیگر آدرس‌ها نیز قابل دسترس شود. تراکنش‌ها: تمام تغییرات روی دفتر کل سویی، از طریق تراکنش‌ها انجام می‌شود. هر تراکنشی که در شبکه انجام می‌شود، حالت دفتر کل را تغییر می‌دهد. تراکنش‌ها می‌توانند آبجکت‌ها را بسازند، از بین ببرند، بنویسند و آنها را به آدرس‌های دیگر ارسال کنند.ولیدیتورها: این شبکه توسط مجموعه‌ای از اعتبارسنج‌های مستقل مدیریت می‌شود که هر کدام از آنها نرم‌افزار شخصی خود را روی یک ماشین جداگانه دارد (و یا گروهی از ماشین‌هایی که توسط یک ولیدیتور مدیریت می‌شود). 
معماری سویی
شبکه Sui یک دفتر کل توزیع شده است، که مجموعه‌ای از آبجکت‌های قابل برنامه‌ریزی را ذخیره می‌کند. هر Object با یک آی‌دی منحصربه‌فرد شناسایی می‌شود. هر شی متعلق به یک آدرس واحد است و هر آدرس می‌تواند متعلق به تعدادی از آبجکت‌ها باشد. 
از نظر ساختاری، یک تراکنش شامل منابع مجموعه‌ای از آبجکت‌های ورودی و یک اشاره‌گر (Pointer) به یک آبجکت کد Move است، که از قبل در دفتر کل ثبت شده است. اجرای یک تراکنش، آپدیت‌هایی را روی آبجکت‌های ورودی ایجاد می‌کند. تراکنشی که از آدرس A ارسال می‌شود، می‌تواند آبجکت تعلقی (تراکنش‌های ساده) یا آبجکت‌های اشتراکی (تراکنش‌های پیچیده) باشد. 
ولیدیتورهای سویی تراکنش‌ها را تایید می‌کنند و آنها را به‌صورت موازی و از طریق انتشار مداوم بیزانس (Byzantine Consistent Broadcast) اجرا می‌کنند. انتشار مدام بیزانس نام دیگر تحمل خطای بیزانس (BFT) است.
منبع: docs.sui.io
بررسی اجمالی سیستم Sui
Sui فرض می‌کند که تراکنش‌های معمولی بلاک چین، یک انتقال کاربر به کاربر یا دستکاری دارایی است و برای این دیدگاه، سناریو را بهینه‌سازی می‌کند. در نتیجه، سویی این دو نوع دارایی را از هم متمایز می‌کند:
آبجکت‌های تعلقی که می‌توانند تنها توسط مالک خود اصلاح شوند.آبجکت‌های اشتراکی که متعلق به شخص خاصی نیستند و می‌توانند توسط بیش از یک کاربر اصلاح شوند. 
این تمایز این امکان را فراهم می‌کند که با کنار گذاشتن اجماع برای تراکنش‌های ساده (که فقط شامل Objectهای تعلقی هستند)، به تاخیر یا لتنسی بسیار پایینی دست یابند. 
سویی مانع اصلی رشد بلاکچین را از بین می‌برد؛ ساخت بلاک به‌صورت سرخط (Head of Line Blocking) یا به اختصار HOL Blocking. بلاک سرخط زمانی رخ می‌دهد که یک بسته یا مجموعه واحد از دیتاها منتظر انتقال هستند و یک بسته دیگر دیتا نیز سرخط این صف قرار دارد؛ بنابراین این مجموعه نمی‌تواند به جلو حرکت کند. این موضوع در بلاکچین‌هایی مانند اتریوم دیده می‌شود؛ زمانی که یک تراکنش ارسال می‌کنید، تا زمانی که تراکنش جلوتر از شما پردازش نشود، تراکنش شما انجام نمی‌شود. 
نودهای بلاک چین یک انباشت‌کننده را نگه می‌دارند، که نشان‌دهنده حالت کل بلاکچین (از جمله آخرین تراکنش‌های تایید شده) است. این گره‌ها در یک پروتکل اجماع مشارکت می‌کنند تا آپدیت جدید حالت را به شبکه اضافه کنند. در صورتی که نودها به اجماع برسند، این حالت ثبت و آپدیت می‌شود. به صورت دوره‌ای، این ثبت حالت‌ها در آکومولاتور یا انباشت‌کننده جمع‌آوری می‌شوند.
در Sui این پروتکل اجماع تنها زمانی مورد نیاز است که تراکنش شامل آبجکت‌های اشتراکی باشد (همانطور که گفتیم، تراکنش‌های ساده مثل ارسال، از نوع آبجکت تعلقی هستند و نیازی به اجماع ندارند). برای تراکنش‌های پیچیده مثل کانترکت‌ها، سویی از سیستم اجماع DAG BFT مخصوصی با نام Bullshark در ترکیب با یک ممپول مبتنی بر DAG به نام Narwhal استفاده می‌کند. DAG مخفف Directed Acyclic Graph به معنی گراف غیر‌مدور هدایت شده و BFT هم مخفف تحمل خطای بیزانس است. در ادامه توضیح می‌دهیم.

زمانی که آبجکت‌های اشتراکی درگیر می‌شوند، ولیدیتورهای سویی به‌عنوان بازیگران اصلی وارد می‌شوند، تا این نوع تراکنش‌ها را پردازش کنند. از آنجایی که Sui‌ روی مدیریت آبجکت‌های خاص (به جای تجمیع حالت) تمرکز دارد، می‌تواند تراکنش‌ها را به روشی ویژه گزارش کند: 
هر آبجکت در سویی، یک شماره نسخه منحصربه‌فرد دارد. هر نسخه جدید، از یک تراکنش ایجاد می‌شود که ممکن است شامل چندین وابستگی باشد، که خود آبجکت‌های نسخه شده هستند.
در نتیجه، یک ولیدیتور سویی (یا هر کسی که یک نسخه از حالت را داشته باشد) می‌تواند تاریخچه یک آبجکت را ارائه دهد و تاریخچه آن را از جنسیس بلاک تا الان نمایش دهد. در تراکنش‌های اشتراکی، اطلاعات آبجکت‌های تراکنش‌ها در بیشتر مواقع با یکدیگر ارتباطی ندارند؛ اما در برخی موارد که ارتباط دارند، سویی ارتباط بین این تراکنش‌ها را برقرار می‌کند. همانطور که اشاره کردیم، آبجکت‌های داخل تراکنش‌های مشترک، ممکن است از یک جنس باشند یا به یکدیگر ارتباط داشته باشند.
Sui پردازش تراکنش‌ها را با تبعیت از مدل توافق نهایی (Eventual Consistency) تضمین می‌کند. «توافق نهایی» مدلی است که در محاسبات توزیع شده به‌کار می‌رود، تا به High Availability که به طور غیررسمی آن را تضمین می‌کند، دست پیدا کند. High Availability سیستمی است که هدف آن تضمین یک سطح توافق شده از عملکرد (معمولا Uptime یا زمانی که سیستم به‌درستی کار می‌کند و قطع نمی‌شود) برای یک مدت‌زمان طولانی‌تر از حد معمول است. اگر آپدیت جدیدی روی داده مورد نظر انجام نشود، در نهایت تمام دسترسی‌ها به آن دیتا به حالت قبل بازمی‌گردد. 
تا اینجا متوجه شدیم که تبعیت از سیستم توافق نهایی توسط سویی، به دلیل بالا نگه داشتن سطح دسترسی به دیتاهای تراکنش‌ها انجام می‌شود. این سیستم به دو بخش تقسیم می‌شود: 
 تحویل نهایی (Eventual Delivery): اگر یک ولیدیتور صادق یک تراکنش را پردازش کند، تمام ولیدیتورهای صادق دیگر نیز در نهایت همین کار را تکرار می‌کنند.همگرایی (Convergence): دو ولیدیتوری که مجموعه تراکنش‌های یکسانی را مشاهده می‌کنند، دیدگاه یکسانی از سیستم دارند (به یک حالت می‌رسند). بر خلاف بلاکچین‌های دیگر، سویی جریان تراکنش‌ها را به دلیل دیده شدن همگرایی، متوقف نمی‌کند یا به عبارتی دیگر، منتظر شاهدان یا Witnessها برای تایید حالت، نمی‌ماند. 
تراکنش‌های ساده
بسیاری از تراکنش‌ها وابستگی‌های پیچیده‌ای به دیگر بخش‌های حالت بلاکچین ندارند. بیشتر کاربران تنها می‌خواهند تراکنش‌ها را به یک گیرنده ارسال کنند و تنها دیتاهای مورد نیاز برای این کار، نمای جدید از آدرس فرستنده است. این دیدگاه به سویی اجازه می‌دهد که از اجماع برای این تراکنش‌ها چشم‌پوشی کند و از الگوریتم‌های ساده‌تری که مبتنی بر تحمل خطای بیزانس هستند، استفاده کند. 
این الگوریتم‌ها مبتنی بر طراحی Fastpay هستند، که با ضمانت‌های امنیتی بازبینی شده همراه است. فست‌پی یک توافق با کارایی بالا، بر اساس تحمل خطای بیزانس است. به‌طور خلاصه، Sui به جای پردازش تراکنش‌ها از طریق بررسی آن در کل بلاکچین، تراکنش‌های ساده را از طریق دیتاهای مرتبط با همان تراکنش پردازش می‌کند. در این حالت، تنها چیزی که مورد نیاز است، آدرس فرستنده است که می‌تواند در هر زمان، تنها یک تراکنش را ارسال کند. Sui این رویکرد را بعدا با استفاده از مدل آبجکت Move، به تراکنش‌های درگیر بیشتری، که ممکن است مستقیما به چندین عنصر تحت کنترل فرستنده خود بستگی داشته باشند، گسترش می‌دهد. با الزام به صریح بودن وابستگی‌ها، سویی از یک رویکرد چندخطه یا شاردینگ (Sharding) برای تایید تراکنش‌ها استفاده می‌کند. 

سویی به جای تجمیع تراکنش‌ها در بلاک‌ها، آنها را به‌طور مستقل از یکدیگر پردازش می‌کند. مزیت اصلی این موضوع، تاخیر کم است. هر تراکنش موفق سریعا مجوز نهایی شدن را دریافت می‌کند.
تفاوت ارسال تراکنش‌ها در سویی و دیگر بلاکچین‌ها این است که، در Sui هر بار فقط می‌توان یک تراکنش را ارسال کرد و زمانی که تکلیف آن مشخص شده (تایید یا رد) می‌توان تراکنش بعدی را فرستاد؛ اما در شبکه‌هایی مانند اتریوم، شما می‌توانید چندین تراکنش را همزمان ارسال کنید و منتظر بمانید تا آنها یک به یک تایید شوند. برای ارسال تراکنش در شبکه سویی، این مراحل طی می‌شود: 
فرستنده تراکنش را برای تمام ولیدیتورهای سویی منتشر می‌کند. هر اعتبارسنج رای شخصی خود را به تراکنش می‌دهد. هر رای شامل وزن مشخصی (نسبت به میزان کوین استیک کرده ولیدیتور) دارد. فرستنده این رای‌ها را جمع می‌کند و آنها را در یک Certificate (یا سند) قرار می‌دهد و آن را دوباره به تمام ولیدیتورها بازمی‌گرداند و بدین صورت، تراکنش ثبت و نهایی می‌شود.
کانترکت‌های پیچیده یا کامپلکس
قراردادهای هوشمند پیچیده ممکن است از آبجکت‌های اشتراکی باشند، که بیش از یک کاربر می‌تواند آنها را تغییر دهد (بر اساس قوانین اسمارت کانترکت). در این حالت، سویی تمام این تراکنش‌ها (که شامل آبجکت‌های مشترک هستند) را به یک پروتکل اجماع ارسال می‌کند. همانطور که اشاره کردیم، سویی از مکانیزم Narwhal and Bullshark برای اجماع استفاده می‌کند. ممپول ناروال یک موتور دسترسی به دیتای با توان عملیاتی بالا و معماری مقیاس‌پذیر ارائه می‌دهد. بول‌شارک نیز یک الگوریتم اجماع سربار پیام صفر (Zero-Message Overhead) را ارائه می‌دهد که از پیمایش گراف (Graph Traversals) استفاده می‌کند (در بخش DAG توضیح می‌دهیم). Zero-Message Overhead تقریبا شبیه به اثبات با دانش صفر (ZKP) است و بدین معنی است که نودها بدون این که اطلاعات چندانی از تراکنش‌ها داشته باشند، آنها را تایید می‌کنند و در واقع، اثبات‌کننده باید بدون آن که اطلاعات زیادی به تاییدکننده ارائه دهد، صحت آنها را اثبات کند.
تراکنش‌هایی که شامل آبجکت‌های اشتراکی هستند، حداقل یک آبجکت تعلقی نیز دارند، که برای پرداخت کارمزد گس استفاده می‌شود؛ بنابراین ضروری است که پروتکلی که آبجکت‌های تعلقی با آن سروکار دارد، با پروتکلی که تراکنش را ترتیب می‌دهد به دقت تنظیم شود، تا ویژگی‌های امنیتی Sui تضمین شود.
زمانی که آبجکت‌های اشتراکی درگیر هستند، ثبت تراکنش‌ها این مراحل را طی می‌کند: 
فرستنده تراکنش را به تمام ولیدیتورهای سویی منتشر می‌کند. هر ولیدیتور رای خود را برای این تراکنش صادر می‌کند. این رای‌ها وزن مخصوصی دارند، که نسبت به میزان استیکینگ ولیدیتور آن تعیین می‌شود. فرستنده اکثریت این آرا را در یک سند جمع‌آوری می‌کند و دوباره به ولیدیتورها منتشر می‌کند. این بار بر خلاف تراکنش‌های ساده، این سند توسط توافق بیزانس (BFT) ترتیب‌بندی می‌شود. زمانی که تراکنش در ترتیب قرار گرفت، کاربر سند را به ولیدیتورهایی که تراکنش‌ها را اجرا می‌کنند، منتشر می‌کند.
در ادامه، درباره سیستم DAG ،Narwhal و Bullshark توضیحی اجمالی ارائه می‌دهیم تا درک نحوه کارکرد سویی برای شما راحت‌تر باشد.

DAG چیست؟

اشاره کردیم که دگ مخفف Directed Acyclic Graph به معنی گراف غیر‌مدور هدایت شده است. بسیار خلاصه، گراف به معنی مجموعه محدودی از نقطه‌هاست که توسط خطوطی به یکدیگر متصل می‌شوند. در DAG، هر کدام از این نقطه‌ها نشان‌دهنده یک وظیفه خاص از پردازش دیتا هستند. 
در گراف بالا، هر یک از خطوط دارای جهت خاصی هستند و این نقاط (نود‌ها) را به یکدیگر وصل می‌کنند. دیتاها فقط می‌توانند در جهت این خطوط حرکت کنند. این درست مانند حرکت آب و جریان لوله‌کشی است. به همین دلیل نام این سیستم را لوله‌کشی داده یا Data Pipeline گذاشته‌اند. داده‌ها می‌توانند از نقطه یا نود A به B بروند (این همان پیمایش گراف یا Graph Traversals که قبلا اشاره کردیم) و برگشت آنها در جهت عکس امکان‌پذیر نیست؛ این موضوع همان غیرمدور بودن است. یعنی  داده‌ها به خودشان ارجاع داده نمی‌شوند، زیرا یک حلقه نامحدود (Loop) ایجاد می‌شود. هدایت شده به این معنی است که وظایف متعددی وجود دارد و هر یک از این وظایف، حداقل باید وظیفه قبلی یا بعدی یا هر دو را داشته باشند. پس متوجه شدیم که سیستم کارکرد Sui بر مبنای دگ است؛ هر نود وظیفه خاصی دارد، که تراکنش‌ها را در جهت مشخصی حرکت می‌دهد و این تراکنش‌ها برگشت‌پذیر نیستند. پس می‌توان گفت که DAGهای عادی، سیستم خطای بیزانس را تا حدی اجرا می‌کنند؛ اما باگ‌هایی دارند که سیستم بولشارک آنها را برطرف کرده است. در بخش بول‌شارک به این باگ‌ها نیز اشاره‌ای خواهیم کرد.
ممپول Narwhal چیست؟
ناروال یک پروتکل ممپول مبتنی بر DAG است و یک ساختار لایه به لایه دارد، که هر لایه حداکثر ۱ پیام برای هر فرستنده دارند، که به پیام‌های 2F+1 در لایه قبلی خود اشاره دارد. 
ایده ناروال این است که انتشار و سفارش‌گذاری تراکنش‌ها در بلاکچین را از یکدیگر جدا کند، تا آنها را به بالاترین کارایی برساند. این پروتکل قابلیت اطمینان انتشار تراکنش‌ها و ذخیره‌سازی برای تاریخچه تراکنش ها ‌را فراهم می‌کند. 
ممپول Narwhal کامل و بی‌نقص بودن (نودهای صادق، همان کاری که برای آنها تعریف شده را انجام می‌دهند) و قابلیت دسترسی به بلاک را ارائه می‌دهد. این دو مولفه باعث تفکیک انتشار بلاک‌ها و اجماع می‌شوند. این موضوع باعث افزایش توان عملیاتی می‌شود؛ زیرا یک رابطه «Happen-Before یا از قبل رخ داده» دارند و هر تراکنشی که به ممپول وارد می‌شود، اعتبار آن قبلا بررسی شده است؛‌ بنابراین از آنجایی که این اثبات قبلا انجام شده، تراکنش در ممپول ناروال معطل نمی‌شود و سریعا تایید یا رد می‌شود. 
در اینجا متوجه شدیم که سویی از این نوع ممپول، برای افزایش توان عملیاتی شبکه خود و جداسازی انتشار بلاک‌ها و اجماع استفاده می‌کند. برای مطالعه کامل‌‌تر درباره پروتکل ناروال به این لینک مراجعه کنید.
 پروتکل Bullshark چیست؟
منبع: medium.com
بولشارک یک پروتکل BFT مبتنی بر DAG است، که نیاز به تعاملات اضافی برای رسیدن به اجماع ندارد؛ طرفین می‌توانند راس‌های (Vertices) دگ را با تفسیر کردن دیدگاه بومی خود از لبه‌های (Edgeها) دگ، سفارش دهند. راس (Vertex یا Vertices یا همان نودها که وظایف مختلفی دارند) به همراه لبه (Edge یا Arc یا مرتب‌کنندگان وظایف نودها) در سیستم DAG، به این معنا هستند: 
هر لبه از یک راس یا نود به سمت دیگری جهت‌دار می‌شود (به طوری که پیروی از آن دستورالعمل‌ها هرگز یک حلقه بسته یا لوپ تشکیل نمی‌دهد) تا آنها را ترتیب‌بندی کند. یک گراف جهت‌دار تنها می‌تواند به‌صورت توپولوژیکی ترتیب‌بندی شود. برای درک بهتر این موضوع مثالی می‌زنیم.
فرض کنید راس‌های گراف تسک‌ها یا وظایفی برای انجام دادن دارند و لبه‌ها نیز اجبار می‌کنند که این تسک‌ها باید یک به یک و به ترتیب اجرا شوند و این وظایف را ترتیب‌بندی می‌کنند. در این حالت، ترتیب توپولوژیکی فقط یک توالی معتبر برای وظایف است؛ بنابراین پیمایش گراف (Graph Traversal) تنها زمانی اجرا می‌شود که وابستگی‌ها یا پیش‌نیازهای هر نود، انجام شود. هر دگ حداقل باید یک ترتیب‌بندی توپولوژیکی داشته باشد و الگوریتم‌ها نیز آنها را به‌صورت زمان خطی (Linear Time) اجرا می‌کنند. زمان خطی بدین معناست که هرچه سایز ورودی بیشتر باشد، زمان اجرا نیز طولانی‌تر خواهد شد. به بیانی دیگر، زمانی که ورودی‌ها زیاد می‌شوند، زمانی که برای اجرای آنها در نظر گرفته می‌شود، به‌صورت خطی افزایش می‌یابد. 
تا اینجا با مفاهیم راس، لبه و ترتیب‌بندی توپولوژیکی در دگ‌ها کمی آشنا شدیم و متوجه شدیم که بولشارک، از این سیستم‌ها استفاده می‌کند (درست مثل دگ‌های قبل‌تر از خود)؛ هر نود وظیفه خاصی دارد، این وظایف ترتیب‌بندی می‌شوند و سپس با فراهم شدن پیش‌نیازها یا وابستگی‌های هر نود، الگوریتم‌ها این وظایف را به‌طور زمان خطی اجرا می‌کنند.
اما بر خلاف دیگر پروتکل‌های مبتنی بر دگ مبتنی بر ناهمزمانی (Asynchronous)، بولشارک یک روش کاربردی با تاخیر پایین را ارائه می‌دهد که دوره‌های همزمانی (Synchronous Periods) را از بین می‌برد و نیاز به سیستم پیچیده تغییر دیدگاه نودها و مکانیزم‌های همگام‌سازی دیدگاه را حذف می‌کند. بولشارک این موارد را ارائه می‌دهد، در حالی که تمام ویژگی‌های سیستم دگ قبل از خود (Dag-Rider) را نیز حفظ می‌کند. کمی توضیح می‌دهیم.
در دوره‌های ناهمزمان، تشخیص ولیدیتورهای صادق و اعتبارسنج‌های کند غیرممکن است. در نتیجه، ولیدیتورهای کند همیشه تاخیر دارند و نمی‌توانند راس (Vertex) را در DAG اضافه کنند و ولیدیتورهای سریع نیز قبل از دریافت راس، به راند یا دوره وارد می‌شوند؛ بنابراین همزمانی در اینجا از بین می‌رود. برای حل این مشکل، DAG-Rider (نسل بعدی دگ‌ها) حذف لبه‌های ضعیف را معرفی می‌کند؛ این لبه‌ها در مکانیزم اجماع در نظر گرفته نمی‌شوند (به عنوان رای محاسبه نمی‌شوند). هدف اصلی از ایجاد همزمانی دوره، اضافه کردن تمام رئوس به DAG توسط تمام ولیدیتورهای صادق است؛ اما مشکل این روش این است که باعث جمع‌آوری زباله (Garbage) می‌شود. روش DAG-Rider تنها ولیدیتورهای کند و رای آنها را حذف می‌کند، اما زباله‌ها را جمع‌آوری نمی‌کند. از طرف دیگر، بول‌شارک (یکی از جدیدترین مدل‌های دگ) کاملا زباله‌ها را در هر دوره حذف می‌کند و همزمانی را نیز ایجاد می‌کند تا تاخیر را کاهش دهد. 
موضوع بولشارک بسیار پیچیده است و توضیحات آن در این مقاله نمی‌گنجد؛ تنها در همین حد که بدانید سرعت تاخیر در اجماع را کاهش می‌دهد، کفایت می‌کند. علاقمندان به این مفهوم پیچیده، می‌توانند وایت پیپر Bullshark را مطالعه کنند. 
زبان برنامه‌نویسی Sui Move
منبع: research.thetie.io
Move زبان برنامه نویسی قراردادهای هوشمند سویی است. این زبان بر پایه Rust (زبان سولانا) است. البته سویی Move را نسبت به Move اصلی مقداری تغییر داده و آن را شخصی‌سازی کرده است. یعنی زبانی که در پروژه آپتوس استفاده می‌شود، مقداری متفاوت با زبان Sui است. می‌توانید تفاوت‌های این زبان با Move اصلی را در اینجا مطالعه کنید.
این زبان در سال ۲۰۱۸ و در روزهای اولیه پروژه لیبرا (Libra) متولد شد. دو بنیان‌گذار میستن لبز (Mysten Labs) (سازنده شبکه سویی) نیز در تیم بنیانگذار لیبرا حضور داشتند. این تیم در همان حین روی اسمارت کانترکت‌ها و زبان برنامه نویسی آنها تحقیق می‌کردند، تا بفهمند که توسعه‌دهندگان به‌دنبال چه چیزی هستند و این زبان‌ها چه محدودیت‌هایی دارند. مشکلی که پیدا شد، مربوط به این بود که قراردادهای هوشمند کاملا مرتبط با دارایی‌ها و کنترل دسترسی هستند. فرضیه اولیه Move این بود که برای این مفاهیم کلیدی، تفکیک ایجاد کند. میستن لبز این زبان تغییریافته را ایجاد کرده و سورس‌هایی را برای یادگیری آن ارائه داده که می‌توانید در ادامه آنها را ببینید: 

درباره زبان Move اصلی، می‌توانید این مقاله را مطالعه کنید.
امنیت شبکه Sui
این شبکه برای تضمین امنیت مالکان دارایی‌ها در شبکه، این امکانات امنیتی را فراهم می‌کند: 
یک دارایی تعلقی، تنها می‌تواند توسط مالک خود استفاده شود. این کار از طریق یک امضای خصوصی که نزد مالک است، انجام می‌شود.دارایی‌های اشتراکی می‌توانند توسط چند نفر مدیریت شوند. تراکنش‌های این نوع دارایی‌ها توسط اجماع تایید می‌شوند و حتی می‌توان از قراردادهای هوشمند، دسترسی به آنها را مدیریت کرد.تراکنش‌ها تنها می‌توانند بر اساس قوانین از پیش تعیین شده توسط سازنده قرارداد هوشمند انجام شوند.پس از نهایی شدن تراکنش، تغییرات در دارایی‌ها یا دارایی‌های جدید ایجاد شده ادامه خواهد داشت و برای پردازش بیشتر در دسترس خواهد بود.از آنجایی که شبکه سویی از طریق یک پروتکل بین مجموعه‌ای از ولیدیتورهای مستقل عمل می‌کند، تمام ویژگی‌های امنیتی حفظ می‌شوند،‌ حتی اگر تعدادی از ولیدیتورها از پروتکل تبعیت نکنند. تمام عملیات روی بلاکچین سویی شفاف و قابل بازبینی هستند.ولیدیتورها توسط کاربران و از طریق دلیگیت کردن (Delegating) کوین‌های SUI تعیین می‌شوند.
سرویس‌ها و خدمات شبکه Sui
منبع: medium.com
Sui Gateway Service: اگر یک توسعه‌دهنده اپ (مثل توسعه‌دهنده بازی‌ها) کاربران زیادی داشته باشد، توسعه‌دهنده می‌تواند جمع‌آوری آرا را مدیریت کند و به نمایندگی از کاربران خود، سند تراکنش‌ها را به شبکه ارسال کند. این توسعه‌دهنده می‌تواند از سرورهای خود نیز استفاده کند (سرورهایی که حالت بازی در آنجا ذخیره می‌شود) تا یک Sui Gateway Service اجرا کند. به جای آن که کاربران اپ تراکنش‌های خود را به چندین ولیدیتور ارسال کنند (که ممکن است کیفیت تجربه کاربری را کاهش دهد)،‌ می‌توانند تراکنش‌ها را در داخل اپ مورد نظر خود ثبت کنند که در ادامه به سرویس درگاه سویی منتقل می‌شود که توسط توسعه‌دهنده اپ اجرا شده است. این درگاه تمام تراکنش‌ها را اجرا می‌کند و نتیجه را به کاربران اعلام می‌کند. امنیت در اینجا حفظ می‌شود؛ زیرا توسعه‌دهنده کلیدهای خصوصی کاربران را ندارد و صرفا پهنای باند را فراهم می‌کند. اکسپلورر سویی: این مرورگر در آگوست ۲۰۲۲ (مرداد ۱۴۰۱) راه‌اندازی شده و ابزاری شفاف برای مشاهده دیتاهای آنچین سویی، فعالیت‌های درون بلاکچین، آدیت کردن و برطرف کردن مشکلات زنجیره، تایید و دنبال کردن کانترکت‌هاست. این اکسپلورر همچنین ابزارهای توسعه اسمارت کانترکت‌ها و امکانات منحصربه‌فرد Sui Move را نیز ارائه می‌دهد. این مرورگر فعلا برای شبکه توسعه یا Devnet موجود است؛ زیرا بلاکچین سویی هنوز در همین فاز قرار دارد.Sui Wallet: این کیف پول یک اکستنشن یا افزونه مرورگر است که امکاناتی چون ساخت NFTها، انتقال کوین‌ها، مشاهده توکن‌های بی‌همتا و قابل معاوضه تعلقی، نمایش آخرین تراکنش‌ها، جداسازی/ادغام کوین‌ها به‌صورت خودکار، در آدرس‌هایی که آبجکت کوین با مقدار انتقالی مورد نظر را ندارند، ارائه می‌دهد و برای اتصال به برنامه‌های غیرمتمرکز (dApp) شبکه سویی نیز استفاده می‌شود. این کیف پول فعلا فقط شبکه Devnet را پشتیبانی می‌کند.
کوین SUI چیست؟
کوین این شبکه SUI نام دارد و کل عرضه آن ۱۰ میلیارد در نظر گرفته شده است. بخشی از این مقدار، در زمان عرضه شبکه اصلی یا مین نت سویی آزاد می‌شود. مابقی کوین‌ها به‌صورت وستینگ چندساله آزاد می‌شوند و بخشی دیگر نیز به‌عنوان مشوق‌های استیکینگ آزاد می‌شوند. هنوز این درصدها و نحوه آزادسازی آنها اعلام نشده است.
ارز SUI چهار کاربرد اصلی دارد: 
استیکینگ برای مشارکت در اجماع شبکه.پرداخت کارمزد تراکنش‌ها.وسیله مبادله و ذخیره ارزش.برای رای‌دهی در سیستم حاکمیتی شبکه.

بررسی اکوسیستم Sui
منبع: suiecosystem.cc
این پروژه نیز همانند آپتوس، با وجودی که شبکه اصلی آن هنوز راه‌اندازی نشده، چندین پروژه و Dapp روی آن ساخته شده‌اند، که البته همه آنها در فازهای آزمایشی یا توسعه قرار دارند. برخی از پلتفرم‌های تست نت روی شبکه سویی را در ادامه معرفی می‌کنیم:
شینامی (Shinami): شینامی یک سرویس نود و API برای شبکه سویی است. API این پروتکل به dAppها اجازه می‌دهد که به شیوه‌ای کارآمد و پویا، با شبکه Sui تعامل داشته باشند. توسعه‌دهندگان علاقه‌مند به زبان Move و پروژه شینامی، می‌توانند برای دسترسی VIP‌ به این پروژه، وارد این لینک شوند. اتوس (Ethos): اتوس یک کیف پول وب ۳ است، که برای اتصال به دپ‌های اکوسیستم سویی استفاده می‌شود. در این ولت می‌توانید توکن‌ها و NFTهای خود را نگهداری کنید.سویی گالری (Sui Gallery): سویی گالری یک بازار NFT برای شبکه Sui است.سرویس نام سویی (Sui Name Service): می‌توانید یک نام برای آدرس خود انتخاب کنید و آدرس خود را شخصی‌سازی کنید.کامینگ چت (Coming Chat): این یک پلتفرم ارائه هویت دیجیتالی غیرمتمرکز (CID) است که هم روی شبکه اپتوس و هم روی Sui پیاده‌سازی شده است. مووکس (Movex): اولین صرافی غیرمتمرکز (Dex) روی شبکه سویی است، که هم به‌صورت بازارساز خودکار (AMM) و هم به‌صورت دفتر سفارشات یا اوردر بوک کار می‌کند. این دکس قصد دارد سیستم عرضه اولیه نقدینگی (Initial Liquidity Offering یا ILO) را پیاده‌سازی کند. بلوموو (BlueMove): این پروژه یک بازار NFT است که ابتدا روی شبکه اپتوس راه‌اندازی شده، اما قصد دارد بازار خود را به شبکه سویی نیز گسترش دهد. از امکانات جالب این پروژه، می‌توان به لانچ پد NFTها اشاره کرد. OmniBTC: این یک پلتفرم چندزنجیره‌ای برای وب ۳ است، که امکاناتی چون OmniSwap، OmniLending و OmniBridge را ارائه می‌دهد. اومنی BTC روی شبکه LayerZero بنا شده و امکان تبدیل بیت کوین‌‌های بسیاری از شبکه‌ها از جمله سویی و اپتوس را فراهم می‌کند. در واقع این پلتفرم بیت کوین را به شبکه‌های مختلف توکنیزه می‌کند.
معایب بلاک چین سویی
مهم‌ترین مشکلات شبکه Sui (درست مانند آپتوس) سازگار نبودن با ماشین مجازی اتریوم است؛ زیرا باعث دشوار شدن مسیر برای کاربران دیفای و توسعه‌دهندگان EVM می‌شود؛ کاربرانی که از پلتفرم‌های دیفای شبکه‌های مبتنی بر ماشین مجازی اتریوم (مانند بایننس اسمارت چین، پالیگان، آوالانچ، فانتوم و غیره) استفاده می‌کنند، به‌راحتی قادر نیستند در اکوسیستم سویی فعالیت کنند. توسعه‌دهندگان EVM نیز باید با ابزارها و زبان Move آشنا شوند تا بتوانند پلتفرم‌های خود را ایجاد کنند، که این باعث طولانی شدن این فرایند می‌شود. 

نقشه‌راه سویی
در حال حاضر، کاربران می‌توانند این کارها را در شبکه توسعه سویی انجام دهند:
به Devnet متصل شوند.اسمارت کانترکت‌های Move را بنویسند و تست کنند.قراردادهای هوشمند را منتشر و اجرا کنند.با آبجکت‌های سویی برنامه‌نویسی کنند.فول نود Sui راه‌اندازی کنند. از اکسپلورر برای دیدن تراکنش‌ها استفاده کنند. 
در چند ماه آینده (تاریخ دقیق اعلام نشده است) این موارد عرضه می‌شوند: 
تست نت عمومی.شبکه اصلی عمومی با قابلیت ارسال و دریافت کوین‌های واقعی و ساخت اپلیکیشن‌ها.
برای دیدن جدیدترین آپدیت‌های شبکه سویی و عرضه امکانات جدید، به این لینک مراجعه کنید.
همکاری‌ها و سرمایه‌گذاران بلاکچین Sui
پروژه سازنده شبکه Sui یعنی Mysten Labs، توانسته در سه مرحله، ۳۳۶ میلیون دلار برای این بلاکچین جذب سرمایه کند. 
۶ دسامبر ۲۰۲۱ (۱۵ آذر ۱۴۰۰)، مرحله Series A:
۳۶ میلیون دلار از شرکت‌های:
Andreessen Horowitz (یا a16z)Coinbase VenturesStandard CryptoSlow VenturesScribble VenturesSamsung NEXTRedpointNFXLightspeed Venture PartnersElectric CapitalElizabeth Weil
منبع: crunchbase.com
۲۶ جولای ۲۰۲۲ (۴ مرداد ۱۴۰۱)، مرحله Series A:
مشخص نیست که شرکت Ethos Family Office چقدر سرمایه به سویی تزریق کرده است. 
منبع: crunchbase.com
۸ سپتامبر ۲۰۲۲ (۱۷ شهریور ۱۴۰۱)، مرحله Series B:
۳۰۰ میلیون دلار جذب سرمایه از شرکت‌های: 
Sino Global CapitalO’Leary VenturesLightspeed Venture PartnersJump CryptoGreenoaks CapitalFTX VenturesFranklin Templeton InvestmentsDentsu VenturesCoinbase Ventures (دوباره)Circle VenturesKanav KariyaAmy Wu

منبع: crunchbase.com
 تیم توسعه‌دهنده Sui
منبع: mystenlabs.com
این پروژه توسط تیمی ساخته شده است که قبلا روی پروژه بلاکچینی لیبرا (که بعدا تبدیل به Diem شد) متعلق به متا (فیسبوک سابق) کار می‌کردند و اکنون برای توسعه شبکه سویی، به‌عنوان تیم میستن لبز (Mysten Labs) فعالیت می‌کنند. 

 نحوه خرید و فروش ارز سویی
شبکه Sui هنوز شبکه اصلی خود را راه‌اندازی نکرده است؛ بنابراین فعلا کوین‌های اصلی SUI در دسترس نیستند. این کوین‌ها تنها روی شبکه Devnet موجود هستند، که می‌توان با آنها شبکه را تست کرد. این کوین‌های تستی را می‌توانید از داخل کیف پول Sui دریافت کنید و به آدرس‌های مختلف این شبکه ارسال کنید و عملکرد شبکه را آزمایش کنید.
نحوه نگهداری ارز SUI
سویی در حال حاضر، تنها یک کیف پول به نام Sui Wallet دارد که در بخش امکانات شبکه Sui آن را معرفی کردیم و امکانات این ولت را توضیح دادیم. کیف پول دیگری برای این بلاکچین معرفی نشده است.
پرسش و پاسخ (FAQ)

شبکه Sui چیست؟ 
سویی یک بلاکچین لایه ۱ است که از زبان برنامه نویسی Move‌ برای قراردادهای هوشمند خود استفاده می‌کند.
بلاکچین Sui چگونه کار می‌کند؟ 
این شبکه از هیچ سیستم اجماعی برای تراکنش‌های ساده (ارسال دارایی‌ها) استفاده نمی‌کند و برای تراکنش‌های پیچیده مثل اسمارت کانترکت‌ها، از سیستم اجماع DAG BFT مخصوصی به نام Bullshark و ممپول Narwhal استفاده می‌کند. 
آیا Sui با Aptos مرتبط است؟
خیر. این دو شبکه مجزا از یکدیگر هستند و کاملا متفاوت از یکدیگر کار می‌کنند. تنها وجه مشترک آنها این است که تیم سازنده هر دو از تیم توسعه‌دهنده پروژه بلاکچینی Diem مشتق شده‌اند و از زبان برنامه‌نویسی Move استفاده می‌کنند. البته Sui این زبان را مقداری تغییر داده و شخصی‌سازی کرده، اما پایه هر دو شبکه یکسان است. 
جمع‌بندی
در این مقاله، بلاکچین لایه ۱ سویی (Sui) را معرفی کردیم و سعی کردیم به طور خلاصه، نحوه کارکرد پیچیده آن را بیان کنیم. در این مقاله ابتدا به این موضوع پرداختیم که شبکه Sui چیست و چگونه کار می‌کند، سپس در ادامه به سرویس‌های این شبکه، معرفی رمزارز SUI، نقشه راه، همکاری‌ها و سرمایه‌گذاران و تیم سازنده Sui پرداختیم. نظر شما درباره Sui چیست؟ آیا این بلاکچین می‌تواند با پروژه‌های بزرگی همچون اتریوم، آوالانچ و البته آپتوس که اصلی‌ترین رقیب سویی است، رقابت کند؟ 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *