سه‌شنبه 3 خرداد 1401
خانه آموزش آشنایی با فلو و بررسی کاربردهای آن

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

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

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

جریان فلو، بلاکچینی برای دسترسی به دنیای نامحدود

فلو شکلی از دارایی دیجیتال و ارز دیجیتال است که با ارزش حدود ۱.۰۵ میلیارد دلار، در رتبه ۷۶ بازار قرار داشته و سهمی معادل  ۰.۰۵ درصد از کل بازار دیجیتال را در انحصار دارد. هر واحد از فلو در این لحظه با قیمت ۳۴.۴۸ دلا، با احتساب نرخ تتر ۲۵,۳۱۵ تومان معادل ۸۷۳,۰۹۲ تومان معامله می‌شود و حجم مبادلات روزانه‌ی آن ۴۱.۶۵ میلیون دلار است. قیمت این ارز در ۲۴ ساعت اخیر -۳.۹۸% کاهش داشته است.

بالاترین قیمت فلو در تاریخ ۱۴ اسفند ۱۳۹۹معادل ۴۱.۰۰ دلار بوده که اکنون %۱۵.۸۹ پایین‌تر از آن زمان قرار دارد. تعداد واحدهای در گردش فلو ۳۰.۴۳ میلیون و تعداد کل واحدهای آن ۱.۳۴ میلیارد خواهد بود. در حال حاضر فعال‌ترین صرافی که در آن فلو معامله می‌شود، صرافی هیوبی گلوبال (HUOBI GLOBAL)  با سهم %۴۱.۷۱ از حجم معاملات روزانه است.

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

قراردادهای هوشمند در فلو را می‌توان مانند بلوک‌های بازی لگو (LEGO) جمع آوری کرد تا برنامه‌هایی که میلیاردها نفر از آن‌ها طرفداری می‌کنند، از طرفداران بسکتبال گرفته تا مشاغل ضروری، را تآمین کنند.

چهار اصل مهم وجود دارد که فلو را در بین بلاک چین‌های موجود منحصر به فرد می‌کند:

  • معماری چند منظوره: طراحی فلو بی نظیر است و به شبکه اجازه می‌دهد تا بدون آسیب رساندن یا کاهش تمرکز، به میلیاردها کاربر خدمت کند.
  • برنامه نویسی منبع گرا: قراردادهای هوشمند در فلو با استفاده از Cadence نوشته می‌شود. (CADENCE یک زبان برنامه نویسی آسان‌تر و ایمن‌تر برای دارایی‌ها و برنامه‌های پشتیبان ارزهای دیحیتال است)
  • ارگونومی توسعه دهنده: رعایت ارگونومی از طریق قراردادهای هوشمند قابل ارتقا و پشتیبانی ورود به سیستم داخلی تا Flow Emulator، همه‌ی بخش‌های این شبکه بر پایه‌ی نتایج طراحی شده است.
  • پردازنده‌ای مصرف کننده: این جریان برای مصرف کنندگان اصلی طراحی شده است و با اسکناس‌های پرداخت خود یک مسیر ایمن و کم اصطکاک، از فیات تا ارزهای دیجیتالی، را کاتالیز می‌کند.

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

چیدمان هم زمان چند بخش ( در آن واحد)

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

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

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

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

مشکلات مربوط به شاردینگ (روشی برای تقسیم بندی پایگاه داده)

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

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

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

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

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

جدا کردن اجماع از محاسبه

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

اما به طور کلی وظایف جریانات درونی این بلاکچین را می‌توان به دو نوع تقسیم کرد:

وظایف غیر قطعی (ذهنی)، مانند تعیین حضور و ترتیب معاملات در بلاکچین

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

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

معماری چند منظوره جریان فلو

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

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

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

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

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

 (SPoCK)

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

اولین تجربه توسعه دهنده

تجربه فلو در توسعه برنامه‌های بلاکچین مانند CryptoKitties و کیف پول Dapper Smart Contract این جریان را بر آن داشته است تا تعدادی از پیشرفت‌ها را در ارگونومی توسعه دهنده مستقیماً در لایه پروتکل فلو قرار دهند.

آهنگ و ریتم

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

سال گذشته، فلو در حال تحقیق در مورد استفاده از Linear Types در زمینه بلاکچین، پس از تحقیقات دانشگاهی در مورد زبان‌های بهتر قرارداد هوشمند بود. تقریباً در همان زمان، تیم لیبرا یک مدل برنامه نویسی جدید برای MOVE بر اساس یک مدل مالکیت جدید با الهام از برنامه نویسی خطی را تعریف کردند.

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

از سویی دیگر، ویژگی اصلی Move توانایی تعریف انواع منابع سفارشی است و از انواع منابع برای رمزگذاری دارایی‌های دیجیتال ایمن، با قابلیت برنامه ریزی غنی، استفاده می‌شود.

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

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

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

قراردادهای هوشمند قابل ارتقا

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

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

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

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

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

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

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

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

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

اکوسیستم توسعه دهنده

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

لینک منبعgetflow

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید