با ظهور فناوری بلاک چین، حوزههای مختلفی به این فناوری علاقهمند شدند و از بلاک چین استفاده کردند تا پلتفرمها و نرمافزارهای غیرمتمرکزی را به کاربران ارائه کنند. این پلتفرمها کاربردهای مختلفی، مانند صرافی، بازی، وامدهی و... دارند. یکی از حوزههای جدیدی که با کمک فناوری بلاک چین پدید آمده، «اینترنت همه چیز» (Internet of Everythings) یا IoE است. اینترنت همه چیز که در ادامهی مسیر «اینترنت اشیا» (IoT) به وجود آمده، سعی میکند تا ارتباط بین ماشینها، ارتباط افراد با یکدیگر و همچنین ارتباط بین افراد با ماشینها را با استفاده از تکنولوژی برقرار کند.
در همین حوزه، پروژهی آیوتا (IOTA) پا به عرصه گذاشته است. آیوتا یک دفترکل توزیعشدهی غیرمتمرکز برای اینترنت اشیا محسوب میشود؛ با این تفاوت که آیوتا بهجای بلاک چین، از یک فناوری اختصاصی به نام تنگل (Tangle) استفاده میکند. برای اینکه با آیوتا، تنگل و توکن اختصاصی آن، یعنی میوتا (MIOTA) بیشتر آشنا شوید، در این مقاله به سراغ وایت پیپر (Whitepaper) آیوتا رفتهایم. در واقع، وایت پیپر، برگهی سفید یا سپیدنامه متنی است که توسط مدیران یک پروژهی ارز دیجیتال ارائه میشود و جنبههای مختلف آن را توضیح میدهد. در نتیجه، بررسی دقیق وایت پیپر آیوتا به شما کمک میکند که با این پروژهی کریپتو بهخوبی آشنا شوید.
معرفی آیوتا (IOTA) و توکن میوتا (MIOTA)
آیوتا (IOTA) یک دفترکل توزیعشدهی منبعباز و مقیاسپذیر است که برای انتقال یکپارچهی ارزش بین انسان و ماشین طراحی شد. در واقع، این پروژه با هدف تبدیلشدن به بخشی از انقلاب جدید فناوری دیجیتال، به نام اینترنت همه چیز (IoA)، راهاندازی شده است. این دفترکل توزیعشده از توکن اختصاصی میوتا (MIOTA) برای حسابداری تراکنشهای شبکه استفاده میکند. نوآوری اصلی پروژهی آیوتا، تنگل (Tangle) است؛ سیستمی از گرهها (Nodes) که برای تأیید تراکنشها استفاده میشود. مدیران آیوتا ادعا میکنند که تنگل سریعتر و کارآمدتر از بلاک چینهای رایج است.
بنیانگذاران آیوتا میخواهند که این شبکه را به سیستم اصلی انجام تراکنشها در ماشینهای مختلف تبدیل کنند. آنها معتقدند که آیوتا راهحلی برای مشکلات بلاک چینهای معمولی ارائه کرده است؛ مشکلاتی مانند:
- متمرکزشدن استخراج در دست یک گروه خاص
- سرعت پایین شبکه
- مقیاسپذیری
بررسی وایت پیپر ارز دیجیتال آیوتا (IOTA)
وایت پیپر آیوتا (IOTA) به جنبههای فنی و محاسباتی این پروژه اشاره کرده و میگوید که چگونه این ارز برای صنعت اینترنت اشیا (IoT) راهاندازی شد. ویژگی این ارز دیجیتال جدید تنگل (Tangle) و استفاده از یک نمودار غیرچرخهای جهتدار (DAG) برای ذخیرهی تراکنشها است. انتظار میرود که سیستم تنگل بهعنوان گامی برای تکامل بلاک چین در نظر گرفته شده و از ویژگیهای آن برای پرداختهای خرد ماشین به ماشین استفاده شود.
بخش اصلی عملکرد سیستم آیوتا را «زنجیرهی مارکوف مونت کارلو» (MCMC) تشکیل میدهد. منظور از زنجیرهی مارکوف مونت کارلو در علم آمار، کلاسی از الگوریتمها برای نمونهبرداری از توزیع احتمالی دادهها است. بهخاطر همین، بیشتر توضیحات این وایت پیپر به معرفی این سیستم توزیع اختصاص مییابد.
مشکلات و چالشهای بلاک چین
ظهور و موفقیت بیت کوین در سالهای گذشته، نشان داد که فناوری بلاک چین دارای ارزشی واقعی است. بااینحال، بلاک چین محدودیتها و مشکلاتی دارد که از تبدیلشدن این فناوری به یک سیستم مالی جهانی جلوگیری میکند. یکی از مشکلات اساسی این فناوری، هزینهی بالای تراکنشها است. ازآنجاییکه صنعت اینترنت اشیا (IoT) مدام درحالتوسعه بوده و پرداختهای خرد در این صنعت اهمیت بالایی دارند، با افزایش تقاضا، هزینهی تراکنشها مدام زیادتر میشود. در نتیجه، هزینهی این تراکنشها بیش از ارزشی است که منتقل شده و از این نظر، پرداخت چنین هزینهای منطقی نیست.
علاوهبرآن، پایین آوردن هزینهها در فناوری بلاک چین، کار دشواری است؛ چراکه این هزینهها انگیزهای برای ساخت بلوکهای جدید هستند. این مسئله، مشکل دیگری را به نام «ماهیت ناهمگن سیستم» ایجاد میکند. در واقع، در یک بلاک چین، دو نوع کاربر داریم:
1_ کاربرانی که تراکنشها را ایجاد میکنند.
2_ افرادی که تراکنشها را تأیید میکنند.
این مسئله باعث ایجاد تعارض بین کاربران شده و منابع سیستم را صرف حل این تعارض میکند. این مشکلات، اهمیت جستجو را برای رسیدن به راهحلهای مختلف مشکلات فناوری بلاک چین و ارزهای دیجیتال نشان میدهند.
راهحل آیوتا (IOTA) برای بلاک چین
در این مقاله، رویکردی نوآورانه را معرفی میکنیم که از فناوری بلاک چین استفاده نمیکند. این رویکرد، با ارز دیجیتال IOTA که بهطور اختصاصی برای اینترنت اشیا راهاندازی شده، کار میکند. در نتیجه، هدف این مقاله بیان سیستم تنگل (Tangle) و چالشهای این پروژه در مسیر رسیدن به هدف خود است.
بهطورکلی، یک ارز دیجیتال مبتنی بر تنگل، بهجای بلاک چین جهانی از یک «گراف جهتدار غیرمدور» (Directed Acyclic Graph) یا DAG استفاده میکند که به آن تنگل میگوییم. فناوری دگ راهحل جدیدی است که برای حل مشکل مقیاسپذیری بلاک چینها معرفی میشود.
منظور از گراف (Graph) در DAG، خطوطی است که مجموعهای از نقطهها را به یکدیگر متصل میکنند. در دگ و بهطور اختصاصی در تنگل، گرهها جای نقطههای گراف را میگیرند؛ بنابراین، گراف تنگل وظیفهی صدور و تأیید تراکنشهای آیوتا را بر عهده دارد. هر کدام از گرههای تنگل، یک وظیفهی مشخص را برای تأیید تراکنشها دنبال میکنند.
در فناوری بلاک چین، تراکنشها تنها زمانی به بخشی از دفترکل توزیعشده تبدیل میشوند که در یک بلوک ثبت شده باشند؛ بنابراین، تراکنشها بهنوبت در بلوکها ثبت میشوند و تراکنشهای جدید باید در صف انتظار بمانند. از طرفی، ماینرها برای تأیید تراکنشها با یکدیگر رقابت میکنند و ماینرهایی که موفق نشوند، از چرخه خارج میشوند. خارجشدن بسیاری از ماینرها از چرخه، باعث هدررفتن کار مفید شده و سرعت تأیید تراکنشها را بسیار پایین میآورد.
در سوی مقابل، معماری تنگل باعث میشود که همهی گرهها بهصورت موازی در کار تأیید تراکنشها مشارکت داشته باشند و سرعت اعتبارسنجی کاهش پیدا کند. ازآنجاییکه تنگل از سیستم DAG استفاده میکند، دادهها در یک جهت حرکت کرده و دادههای تکراری پردازش نمیشوند. این مسئله باعث پایینآمدن هزینهی تراکنشها میشود.
تنگل (Tangle) چگونه کار میکند؟
تنگل از دو بخش اصلی ایجاد شده است:
- سایتها (Sites): تراکنشهای مشخصشده در گراف یا نمودار
- گرهها (Nodes): صادرکنندگان تراکنشها
سایتها بخشی از نمودار تنگل هستند که از یک یا چند تراکنش مرتبط تشکیل شدهاند. همچنین، گرهها کاربران آیوتا (IOTA) هستند که تراکنشها را صادر میکنند؛ بنابراین، همهی کاربران مسئول تأیید تراکنشها هستند و تفاوتی بین صادرکنندگان تراکنش و ماینرها وجود ندارد. در واقع، شبکهی تنگل نقش ماینرها را به خود کاربران واگذار کرده است. از سوی دیگر، یک تراکنش جدید باید دو تراکنش قدیمی را تأیید کند. از این طریق، هر کاربری که یک تراکنش جدید را ایجاد کرده است، دو تراکنش کاربران دیگر را نیز تأیید میکند. در نتیجه، همهی کاربران بهطور همزمان در نقش صادرکننده و تأییدکنندهی تراکنشها حاضر میشوند.
برای اینکه یک تراکنش بتواند تراکنشهای قبلی را تأیید کند، دو روش وجود دارد:
- مستقیم: زمانی که تراکنش A بهطور مستقیم تراکنش B را تأیید میکند.
- غیرمستقیم: در این روش، تراکنشهای دیگری، مانند C و D، بین دو تراکنش A و B قرار میگیرند و تراکنش A با واسطهی دو تراکنش C و D، تراکنش B را تأیید میکند.
چگونه تراکنشها در تنگل (Tangle) انتخاب میشوند؟
اولین تراکنشهای تنگل (Tangle) توسط پروژهی جنسیس (Genesis) ارسال شده و این تراکنشها بهطور مستقیم و غیرمستقیم توسط تراکنشهای دیگر تأیید شدهاند. در نتیجه، جنسیس توکنها را از «آدرسی شامل همهی نشانهها» به سایر آدرسها ارسال میکند. از طرفی، قانونی برای انتخاب تراکنشها توسط گرهها وجود ندارد و فرض شده است که همهی گرهها میتوانند تراکنشها را تأیید کنند. به تراکنشهای جدیدی که هنوز هیچ تأییدیهای دریافت نکردهاند، تیپ (Tip) گفته میشود. از طرفی، الگوریتم تنگل بهصورتی طراحی شده که تضاد منافع گرهها را حل میکند. از این طریق، اطمینان حاصل میشود که یک تراکنش جدید، دو تراکنش قبلی را بهصورت مستقیم یا غیرمستقیم تأیید کند.
از سوی دیگر، تنگل میتواند دو تراکنش متضاد را بهطور همزمان تحمل و پردازش کند. این مسئله باعث میشود که در کار اعتبارسنجی تراکنشها مشکلی ایجاد نشود. همچنین، اگر گرهی نسبت به اعتبارسنجی تراکنشهای قبلی تنبلی کند، توسط گره موازی یا همسایهی خود، حذف میشود. این شیوهی مدیریت تراکنشها باعث میشود که همهی تراکنشها بهطور همزمان در کار تأیید تراکنشهای قبلی مشارکت داشته باشند.
تراکنشها در تنگل چگونه تأیید میشوند؟
برای اینکه نحوهی تأیید تراکنشها را در تنگل بدانیم، باید با اصطلاحات زیر آشنا شویم:
- وزن (Weigh): وزن تراکنش A که بر اساس کار صادرکنندهی آن مشخص میشود.
- وزن تجمعی (Cumulative Weigh): وزن معاملهی A بهعلاوهی وزن تراکنشهایی که بهطور مستقیم یا غیرمستقیم تراکنش A را تأیید میکنند.
- ارتفاع (Heigh): طول طولانیترین مسیر تا تراکنش جنسیس
- عمق (Depth): طولانیترین مسیر بهسمت تیپهای (Tips) معین
اگر میانگین زمان صدور یک تراکنش را h در نظر بگیریم، گروهی از تیپها در بازهی زمانی بین t و t+h صادر میشوند. به این گروه از تیپها کاتست (Cutset) گفته میشود؛ بنابراین:
1_ هر مسیری از تراکنش جدید تا یک تیپ باید از کاتست عبور کند.
2_ هرچه اندازهی کاتست کوچکتر باشد، احتمال تأیید تراکنش بیشتر است.
در نتیجه، کاتستها به تنگل کمک میکنند که بهدرستی عمل کرده و مشکلی در تأیید تراکنشها پیش نیاید. از سوی دیگر، الگوریتم تنگل طوری طراحی شده است که وزن، وزن تجمعی، ارتفاع و عمق هر تراکنش را نسبت به تیپها در نظر بگیرد، تا از این طریق، نسبت به تأیید همهی تیپها اطمینان حاصل شود.
چالشهای تنگل چیست؟
شبکهی تنگل (Tangle) با انتخاب تصادفی تراکنشها موافق نیست؛ بهخاطر اینکه در صورت انتخاب تصادفی، ممکن است که برخی از تراکنشها هرگز انتخاب نشوند. علاوهبرآن، در روش تصادفی، معمولاً تراکنشهای آخر تأیید شده و تراکنشهای قدیمیتر بدون تأییدیه باقی میمانند. از طرفی، از نظر شلوغی تعداد تراکنشها، دو مدل وجود دارند که کارایی، قدرت اعتبارسنجی و امنیت تنگل را تعیین میکنند:
- بار کم (Low Load): در این مدل، تعداد کمی تیپ یا تراکنش بدون تأییدیه وجود دارند و جریان تراکنشها ضعیف است. معمولاً بار کم زمانی اتفاق میافتد که تأخیر در شبکه کم و قدرت محاسباتی بالا است.
- بار زیاد (High Load): تعداد زیادی تیپ وجود داشته و جریان تراکنشها قوی است. معمولاً بار زیاد مربوط به زمانی است که تأخیر در شبکه زیاد و قدرت محاسباتی کم بوده و تراکنشها تیپهای تکراری را بررسی میکنند. در این مدل، مدتزمان انتظار برای اعتبارسنجی زیاد است.
تنگل (Tangle) چه راهحلی را برای بار زیاد ارائه میکند؟
در زمانی که بار تنگل زیاد است، احتمال تأییدنشدن و ازدسترفتن تراکنشها وجود دارد. این یک مشکل بزرگ برای شبکهی آیوتا (IOTA) محسوب میشود. بهخاطر همین، برای حل این مشکل، راهحلهای زیر ارائه شده است:
- صاحب تراکنش میتواند دوباره تراکنش خود را صادر کند.
- صاحب تراکنش با صدور یک تراکنش جدید، به تراکنش قبلی خود ارجاع میدهد.
سخن پایانی
با اینکه فناوری بلاک چین از سیستمهای مالی سنتی بهخوبی تمرکززدایی میکند؛ اما محدودیتهای این فناوری، مانعی برای تبدیلشدن آن به یک سیستم مالی جهانی است. بسیاری از کارشناسان، مشکلات بلاک چین را عاملی میدانند که جلوی پیشرفت بیشتر ارزهای دیجیتال را میگیرد. بهخاطر همین، فناوریهایی که راهحلهایی را برای مشکلات بلاک چینها ارائه میکنند، با استقبال گستردهای مواجه میشوند. یکی از پروژههایی که با استفاده از فناوری روز دنیا، میخواهد مشکل مقیاسپذیری بلاک چین را برطرف کند، آیوتا (IOTA) است. این پروژه برای رسیدن به هدف خود، بهطور کامل بلاک چین را کنار گذشته و از شبکهای نوین برای «اینترنت همه چیز» استفاده میکند.