با گسترش استفاده از ارزهای دیجیتال، نقصهای بلاک چینهای ابتدایی پدیدار شدند. شبکههایی مانند بیت کوین و اتریوم بهشدت از مشکل مقیاسپذیری و هزینههای بالای تراکنشها رنج میبرند. یکی از پروژههایی که در ابتدا بر روی اتریوم پایهگذاری شد، مجموعه توکنهای غیرقابل تعویض (NFTs) بازی محبوب کریپتوکیتیز بود. با ارائهی این توکنها، علاقهمندان به شبکهی اتریوم هجوم آوردند و بار ترافیک شبکه، اتریوم را بهطور کامل مختل کرد. این اتفاق، ناکارآمدی بلاک چینهای اولیه را بیشازپیش نشان میداد. ازاینرو، شرکت «دپر لبز» که ارائهدهندهی کیپتوکیتیز بود، بهفکر ایجاد یک بلاک چین مقیاسپذیر، سریع و کارآمد افتاد. بهاینترتیب، شبکه فلو (Flow) با ارز دیجیتال بومی FLOW پایهگذاری شد.
فلو نهتنها از مجموعه NFTهای محبوب کریپتوکیتیز پشتیبانی میکند، بلکه بستری را برای ایجاد انواع توکنها و نرمافزارهای غیرمتمرکز (dApps) فراهم کرده است. این مسئله باعث شده که بسیاری از سرمایهگذاران به خرید FLOW علاقهمند شوند. بااینحال، سرمایهگذاری بلندمدت روی یک ارز دیجیتال، به تحلیل بنیادین و بررسی کامل جنبههای مختلف پروژه نیاز دارد. یکی از روشهای مفید برای این منظور، مطالعهی وایت پیپر (Whitepaper)، سپیدنامه یا برگهی سفید پروژه است. وایت پیپر فلو (Flow) توسط بنیانگذاران این پروژه ارائه شده و جنبههای فنی آن را توضیح میدهد.

معرفی ارز دیجیتال فلو (FLOW)
ارز دیجیتال FLOW توکن بومی پلتفرم فلو (Flow) است. فلو اکوسیستم و پلتفرمی غیرمتمرکز محسوب میشود که مبتنی بر فناوری بلاک چین راهاندازی شده و راهحلهایی مقیاسپذیر را برای توسعهی نرمافزارها و بازیهای غیرمتمرکز ارائه میکند. تمرکز اصلی فلو بر ارائه محیطی مقیاسپذیر و کارآمد است تا تراکنشهای توکنها، نرمافزارها و بازیهای مبتنی بر بلاک چین، با سرعت زیاد و بدون وقفه پردازش شوند. همچنین، فلو بستری جامع را برای ایجاد و عرضهی توکنهای غیرقابل تعویض (NFTs) فراهم کرده است. این توکنها در بازیها و نرمافزارهای مختلف استفاده میشوند.
تیم توسعهدهندهی فلو (Flow) «دپر لبز» (Dapper Labs) است که پیشازاین، مجموعه توکنهای غیرقابل تعویض محبوب «کریپتوکیتیز» (CryptoKitties) را ارائه کرده بود. فلو در سال 2020، با استفاده از مکانیزم اجماع اثبات سهام (PoS) راهاندازی شد تا سرعت تراکنشها را حد بسیار زیادی بهبود ببخشد.
وایت پیپر ارز دیجیتال فلو (FLOW)
امروزه، محدودیتهای عملیاتی بلاک چینهای موجود بهوضوح آشکار شدهاند. این مسئله یکی از دلایل اصلی عدم پذیرش گستردهی این فناوری است. به همین منظور، جداسازی محاسبات از فرایند اجماع میتواند قدرت عملیاتی را بدون به خطر انداختن امنیت، بهطور قابل توجهی افزایش دهد. در این روش، پردازش تراکنشها به گرههای اختصاصی محاسباتی واگذار شده و سپس، گرههای اختصاصی اعتبارسنجی، صحت محاسبات را تأیید خواهند کرد. ازآنجاییکه در این فرایند، گرههای اعتبارسنجی تراکنشها را پردازش نکرده و فقط بر صحت عملیات نظارت دارند، توان عملیاتی و سرعت فرایندها افزایش زیادی خواهند داشت.
در این وایت پیپر، جنبههای فنی و شکل کلی معماری فلو را بهطور کامل توضیح میدهیم تا مشخص شود که این شبکه چگونه فرایندهای عملیاتی را بهبود میبخشد.

معماری شبکه فلو (Flow)
در بلاک چینهای سنتی، هر گره کامل باید تمام وظایف مربوط به اجرای سیستم را پردازش کند. این فرایند به «ریزپردازندهی تکچرخهای» (Single-Cycle Microprocessors) شباهت دارد. در عوض، طراحی مدرن CPUها بر اساس «خط لوله» (Pipelining) بنا شده که عناصر پردازش داده، بهصورت سری به یکدیگر وصل میشوند و ورودی هر عنصر، خروجی عنصر قبلی است. این روش برای دستیابی به توان عملیاتی و مقیاسپذیری بالاتر استفاده میشود.
در بلاک چینهای فعلی، هر گره باید تراکنشهایی را که در یک گره گنجاندهشده انتخاب کرده، خروجی بلوک را محاسبه کند، در مورد خروجی با گرههای دیگر به اجماع برسد و در نهایت، با امضای تراکنش، آن را به زنجیره اضافه کند. بااینحال، فلو فقط یکی از این فعالیتها را بر عهدهی گره میگذارد. معماری خط لوله به فلو اجازه میدهد که گرههایی با نقشهای اختصاصی داشته باشد. هرکدام از این گرهها میتوانند بهطور اختصاصی، یکی از وظایف زیر را بر عهده بگیرند:
- جمعآوری
- اجماع
- اجرا
- تأیید
- نظارت
بهاینترتیب، سطوح بالایی از مشارکت در اجماع و اعتبارسنجی فراهم میشود. ازاینرو، افرادی که سختافزار کامپیوتریشان را به شبکه متصل میکنند، وظایف اجماع و تأیید را بر عهده میگیرند و منابع محاسباتی بزرگتر به عملیات اجرایی اختصاص داده میشوند. این فرایند انگیزههای اقتصادی کاربران را ترغیب میکند که بهعنوان گره اجماع و تأیید به فلو متصل شده و فعالیت کنند که ازاینطریق، درجهی بالایی از مقیاسپذیری، بدون تضعیف تمرکززدایی و ایمنی، فراهم میشود. استفاده از روش تفکیک اجماع و اجرا، به فلو کمک کرده که در مقایسه با بلاک چینهای سنتی، توان عملیاتی را با ضریب 56 افزایش دهد.
به همین منظور، پروتکل فلو باید شامل اجزای زیر باشد تا بتواند ایمنی را تضمین کند:
- در صورت تشخیص نقض پروتکل، تأیید کنندگان باید بتوانند درخواست تجدید نظر را به گرههای اجماع ارسال کنند.
- گرههای اجماع باید ابزاری را در اختیار داشته باشند تا بتوانند در مورد چالش ایجاد شده قضاوت کنند.
شما میتوانید با خرید تتر و یا شارژ کیف پول خود در صرافی اکسبیتو اقدام به خرید و فروش فلو کنید.
اصول اصلی معماری شبکه فلو (Flow)
در بخش قبل وایت پیپر ارز فلو اشاره کردیم که در صورت تشخیص نقض پروتکل، گرهها باید بتوانند به گرههای اجماع شکایت کنند. برای اینکه این سیستم ایمنی بالایی داشته باشد و در برابر حملات بیزانسی مقاومت کند، باید به ویژگیهای زیر مجهز شود:
- توانایی تشخیص: یک گره منفرد و صادق در شبکه، میتواند خطاهای قطعی را تشخیص دهد و با ارائهی درخواست، به گرههای صادق دیگر، ثابت کند که بخشی از فرایند، بهاشتباه اجرا شده است.
- نسبت دادن: تمام فرایندهای شبکه فلو با استفاده از یک «تابع تصادفی قابل تأیید» (VRF) به گرهها اختصاص داده میشوند. بهاینترتیب، هر خطای شناساییشده را میتوان به یک گره خاص نسبت داد.
- مجازاتپذیر: تمام گرهها باید در شبکه فلو سهامگذاری کنند تا در صورت ارتکاب خطای بیزانسی یا رفتار مخرب، سهام آنها توقیف شود. ازآنجاییکه تمام خطاها قابل شناسایی و نسبت دادن هستند، پروتکل Slashing گرههای مخرب را با توقیف سهام، جریمه خواهد کرد.
- قابل بازیابی: پروتکل فلو شامل عناصر خاصی برای تأیید نتایج و حل چالشهای بالقوه است. این عناصر ویژگیهایی را برای گرههای صادق فراهم میکنند. بهاینترتیب، سود عمل صادقانه بیش از رفتار مخرب خواهد بود. همچنین، این عناصر باعث میشوند که گرهها وضعیت شبکه را حفظ کرده و اطلاعات ازدسترفته را بازیابی کنند.

مفروضات معماری شبکه فلو (Flow)
برای اینکه شبکه فلو بهدرستی کار کند و ایمنی کاملی را به کاربران ارائه دهد، مفروضاتی را برای عملکرد خود در نظر گرفته است. این مفروضات عبارتاند از:
- ما فقط بر روی بلاک چینهای اثبات سهام (Pos) تمرکز میکنیم. در این مکانیزم، همهی گرهها شناختهشده هستند و فرایندهای احراز هویت را پشتسر گذاشتهاند.
- گرهها متعهد میشوند که برای مدت معینی در شبکه فعالیت کرده و سهام خود را به اشتراک بگذارند. دورههای زمانی برای همهی گرهها یکسان هستند؛ البته گرهها میتوانند در دورههای بعدی نیز مشارکت کنند. اصولاً دورههای زمانی شبکه فلو یک هفته طول میکشند.
- این شبکه باید از توزیع تصادفی اطلاعات بین گرهها سود ببرد تا هیچ گرهی نتواند اطلاعات بعدی را پیشبینی کند.
- فلو از طرحهای تشویقی برای مشارکت گرهها بهره میبرد.
نقش گرهها در شبکه فلو (Flow)
منظور از نقش، سرویسی است که هر گره به شبکه فلو ارائه میدهد. این نقشها شامل گردآوردنده، اجماع، اجرا، تأیید و ناظر میشوند. یعنی هر گره میتواند یکی از این نقشها را در شبکه فلو بر عهده داشته باشد. ازاینرو، در این بخش از وایت پیپر فلو، نقشهای مختلف گرهها را بررسی میکنیم.
نقش گردآورنده
نقش گردآورنده (Collector Role) دریافت تراکنشهای ارسالی از کاربران و معرفی آنها به شبکه است. مشارکت در نقش گردآورنده به حداقل سهامگذاری ممکن نیاز دارد و پاداش گردآورندگی نیز با استفاده از کارمزدهای شبکه پرداخت میشود. ابتدا گره گردآورنده بررسی میکند که یک تراکنش بهخوبی شکل گرفته باشد. سپس، تراکنش را امضا و مُهروموم میکند. تراکنش مورد نظر تا پایان فرایند پردازش، بهصورت مهروموم باقی میماند.
جنبههای مختلف نقش گردآورنده عبارتاند از:
- خوشهها (Clusters): برای تقسیم بار بین گرههای گردآورنده، آنها به خوشههای متعددی دستهبندی میشوند. این اتفاق انعطافپذیری فرایند را افزایش داده و جلوی حملات بیزانسی را میگیرد. گرههای گردآورنده باید بهاندازهی یکسانی استیکینگ یا سهامگذاری کرده باشند تا تفاوتی بین آنها ایجاد نشود. خوشهبندی گرههای گردآورنده نیز بهصورت تصادفی انجام میشود.
- مجموعهها (Collections): وظیفهی اصلی مجموعه گرهها، جمعآوری تراکنشهای کامل از کاربران و معرفی آنها به شبکه فلو است. این تراکنشها در مجموعههایی دستهبندی میشوند. زمانی که یک خوشه، تراکنش کاملی را تشخیص دهد، متن آن را با کد هش رمزنگاری میکند. سپس، تراکنش را امضا خواهد کرد؛ این امضا نشان میدهد که تراکنش بهخوبی شکل گرفته و تا پایان پردازش مهروموم خواهد ماند. گرههای جمعآوری تمام تراکنشهای کامل را بهصورت یک مجموعه بین گرههای یک خوشه توزیع میکنند. سپس، آنها دربارهی مجموعهی فعلی و زمان مهروموم آن به اجماع میرسند. در نتیجه، هر تراکنش توزیعشده در خوشه، نیاز به اجماع دارد.
- پیامدهای امنیتی (Security implication): ازآنجاییکه جمعکنندههای کمی در هر خوشه قرار دارند، ممکن است که خوشه توسط عوامل مخرب در معرض خطر قرار بگیرد. به همین منظور، خوشهها از یک استراتژی کاهش سود میبرند؛ یعنی زمانی که درحال اجماع روی یک تراکنش هستند، بهسراغ تراکنشهای صف انتظار نمیروند.
نقش اجماع (Consensus Role)
وظایف اصلی گرههای اجماع عبارتاند از:
- تشکیل بلوک (Block Formation): گرههای اجماع با ایجاد بلوکهای جدید، شبکه فلو را توسعه و گسترش میدهند. در این شبکه، یک بلوک تراکنشها و ورودیهای دیگر مورد نیاز را برای اجرای محاسبات تعریف میکند. البته این بلوکها نقشی در تعیین حالت محاسبات ندارند. علاوهبر آن، تعداد زیادی از گرههای اجماع باید بر سر بلوک پیشنهادی به توافق برسند که این فرایند به الگوریتم «تحمل خطای بیزانسی» (BFT) نیاز دارد. این الگوریتم آزمایش خود را پس داده است و تضمین میکند تمام گرههای صادق، یک بلوک را نهایی اعلام کنند. یکی دیگر از ویژگیهای الگوریتم فلو، نهایی شدن یک بلوک است؛ بهطوری که دیگر در بلوک نهاییشده نمیتوان دخل و تصرف کرد.
- مهروموم بلوک (Block Sealing): پس از محاسبه یک بلوک و تأیید وضعیت محاسباتی حاصلشده، گرههای اجماع باید بلوک مورد نظر را مهروموم کنند. این مهروموم کل شبکه را به حفظ وضعیت نهایی بلوک پس از محاسبه، ملزم میکند. همچنین، تضمین خواهد کرد که وضعیت محاسباتی بلوک به تأیید تعداد بسیار زیادی از گرههای اجماع رسیده است. ازآنجاییکه مهروموم بلوک برای اعلام نهایی شدن بلوک انجام میشود، اطلاعات مهروموم یک بلوک نمیتوانند در خود آن گنجانده شوند؛ چراکه اطلاعاتی اضافی را به بلوک تحمیل میکنند. در نتیجه، اطلاعات مربوط به مهروموم به بلوک بعدی منتقل میشوند.
- ردیابی گرههای سهامدار (Tracking Staked Nodes): گرههای اجماع لیستی از گرههای سهامدار، شامل سهام فعلی گرهها و کلیدهای عمومی آنها را حفظ میکنند. باید به این نکته توجه داشت که گرههای استیکینگ، توسط گرههای اجماع فقط ردیابی می شوند و این فرایند بخشی از حالت محاسباتی نیست. همچنین، هر زمانی که میزان سهام یک گره تغییر کند، گرههای اجماع این بهروزرسانی را بهعنوان بخشی از بلوک نهایی بعدی منتشر میکنند. در ضمن، تغییرات سهام نیز فقط در پایان هر دورهی استیکینگ امکانپذیر است. بااینحال، تغییراتی مانند کاهش سهام در اثر جریمهی گره، در طول یک دوره اتفاق میافتند و در بلوک بعدی ذخیره میشوند.
- مفهوم امنیتی (Security implication): کمیته اجماع مرجع مرکزی در سیستم شبکه فلو است. این کمیته باید در مورد چالشهای مربوط به اعضای خود نیز داوری کند. صحت این فرایند نیز از طریق الگوریتم اجماع BFT تضمین میشود. ازآنجاییکه Flow از یک الگوریتم اجماع با قطعیت صددرصدی استفاده می کند، توسعهدهندگان نرمافزارهای غیرمتمرکز، بدون نیاز به تأمین امنیت، میتوانند برنامههای اختصاصی خود را در شبکه راهاندازی کنند.

نقش اجرایی (Execution Role)
گرههای اجرایی خروجی تمام بلوکهای نهاییشده را محاسبه میکنند. سپس، از گرههای جمعآور میخواهند که مجموعهای از تراکنشها را به آنها ارائه دهند. در مرحله بعد، این گرهها دادههای موجود در بلوکها را اجرا کرده و حالت محاسباتی نهاییشده را بهصورت یک رسید منتشر میکنند. این تراکنشها به قطعات کوچکتری تقسیم شده تا این قطعات بهصورت موازی توسط گرههای تأیید، پذیرفته شوند.
علاوهبر آن، گرههای محاسباتی (Computation Nodes) یا اجرایی، باعث بهبود مقیاسپذیری و کارایی شبکه فلو میشوند؛ چراکه تعداد بسیار کمی از منابع قدرتمند بهعنوان گره محاسباتی در نظر گرفته شده و ازاینطریق، به منابع کمتری برای حفظ حالت متعارف شبکه نیاز است.
نقش تأیید (Verification Role)
گرههای تأیید محاسبات انجامشده توسط گرههای اجرایی را بررسی میکنند. اگرچه شبکه فلو طوری طراحی شده که هر گره فقط برخی از قطعهها را بررسی کند؛ اما معمولاً این بررسی بهصورت همزمان و موازی انجام میشود. پس از بررسی هر قطعه، گره باید تأییدیهی آن را صادر کند. برای مهروموم هر بلوک، رسید و تأییدیهی آن مورد نیاز است.
نقش ناظر (Observer Role)
پس از نهایی شدن تراکنشها و مهروموم آنها، گرههای ناظر باید اطلاعات آنها را به خارج از پروتکل منتقل کنند. این گزارش نهایی نشان میدهد که تراکنش بهطور کامل پردازش و تکمیل شده است.

اطلاعات مربوط به محاسبات و وضعیت شبکه
یکی از ویژگیهای منحصربهفرد فلو (Flow) این است که از اطلاعات مربوط به محاسبات و حالت شبکه بهطور جداگانه نگهداری میکند. در واقع، گرههای اجرایی وظیفه نگهداری از اطلاعات محاسباتی را بر عهده دارند و دادههای مربوط به وضعیت شبکه توسط گرههای اجماع نگهداری میشوند.
برای مثال، وقتی گرههای شبکه تغییر نمیکنند و فقط تراکنشها پردازش میشوند، وضعیت شبکه ثابت میماند. در سوی مقابل، زمانی که بلوکهای جدید ایجاد میشوند؛ اما این بلوکها شامل هیچ تراکنشی نیستند، وضعیت محاسباتی در شبکه ثابت بوده و حالت شبکه تغییر میکند. در نتیجه، جداسازی این دو وضعیت از یکدیگر به شبکه فلو کمک میکند که بار عملیاتی را تا حد زیادی کاهش دهد.
اثبات تخصصی دانش محرمانه (SPoCK)
یکی از تکنیکهایی که توسط نقشهای مختلف شبکه فلو مورد استفاده قرار میگیرد اثبات تخصصی دانش محرمانه (Specialized Proof of Confidential Knowledge) است. SPoCK به هر تعدادی از اثباتکنندگان اجازه میدهد تا نشان دهند که دانش یکسانی دارند. این اطلاعات، بهصورت رمزنگاری، پنهان شدهاند و بههیچوجه درز نمیکنند. همچنین، SPoCK قابل جعل نیست و هیچ اثباتکنندهای نمیتواند ادعای کذبی را دربارهی اطلاعات ارائه کند.
معماری چندنقشی فلو (Flow Multi-Role Architecture)
دیدیم که گرههای شبکه فلو دارای نقشهای مختلفی هستند. در واقع، 5 نقش اساسی برای استخراجکنندگان و اعتبارسنجهای این شبکه در نظر گرفته شدهاند. این تقسیمبندی به دستههای کوچکتر باعث افزایش سرعت شبکه شده و از تکرار فرایندها جلوگیری میکند. همچنین، هر گرهی برای اثبات اعتبار خود به استیکینگ یا سهامگذاری نیاز دارد. بهاینترتیب، احتمال رفتار مخرب و جا زدن تراکنشهای جعلی بهجای تراکنشهای حقیقی کاهش پیدا میکند.
علاوهبر آن، تمام گرههای شبکه این قابلیت را دارند که گرههای مخرب را شناسایی کرده و آنها را جریمه کنند. دراینبین، گرههای اجماع و تأیید، با هدف دریافت پاداش، از امنیت شبکه محافظت خواهند کرد. در نتیجه، گرههای جمعآوری و اجرایی باید به گرههای اجماع و تأیید پاسخگو باشند.

ویژگیهای منحصربهفرد شبکه فلو (Flow)
فلو دارای ویژگیهای منحصربهفردی است که آن را از سایر شبکههای بلاک چین متمایز میکنند. این ویژگیها عبارتاند از:
- معماری چندنقشی (Flow Multi-Role Architecture): همانطور که گفتیم، معماری چندنقشی مقیاسپذیری این شبکه را افزایش میدهد تا فلو بتواند به میلیاردها کاربر خدمات ارائه کند.
- برنامهنویسی منبعگرا (Resource-oriented programming): فلو از محیط برنامهنویسی Cadence استفاده میکند. این محیط برنامهنویسی بسیار سریع و ایمن بوده و برای ارزهای دیجیتال و داراییهای رمزنگاریشده بسیار مناسب است.
- ارگونومی توسعهدهنده (Developer Ergonomics): ابزاری برای توسعهی نرمافزارهای غیرمتمرکز بوده و به توسعهدهندگان کمک میکند که بهراحتی و با سرعت بالایی نرمافزارهای خود را راهاندازی کنند.
- جامعهپذیری کاربرپسند (User-friendly onboarding): فلو یکی از معدود بلاک چینهایی است که با قابلیت توسعهی «از پایین به بالا» راهاندازی شده و کاربران بهراحتی میتوانند در رشد این اکوسیستم نقش داشته باشند. این وضعیت کاربرپسند، به رشد و پذیرش گستردهی فلو کمک میکند.
- پایگاه کاربر غیرمجزا (Built-in user base): فلو به توسعهدهندگان کمک میکند که پایگاه کاربران خود را درون اکوسیستم راهاندازی و مدیریت کنند. درحالحاضر، کسب و کارهای بزرگی مانند NBA و UFC، با استفاده از فلو، پایگاه کاربران خود را تشکیل دادهاند.
سخن پایانی
فلو (Flow) یکی از شبکههای مقیاسپذیر و کارآمد حوزهی فناوری بلاک چین است که قابلیت ارائهی خدمات را به میلیاردها کاربر دارد. این مسئله میتواند باعث گسترش پذیرش ارزهای دیجیتال در سطح جهان شود. به همین خاطر، ارز دیجیتال FLOW نیز به محبوبیت بسیار بالایی در نزد سرمایهگذاران دست یافته است. ازاینرو، بررسی دقیق وایت پیپر فلو برای همهی افرادی که به سرمایهگذاری بلندمدت روی این ارز دیجیتال علاقه دارند، ضروری به نظر میرسد.