مطالب آموزشی

آنچه درباره Hyperledger besu باید بدانید

Hyperledger besu

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

 

 هایپرلجر بسو چیست؟
هایپرلجر بسو  پیش‌تر پانتئون (Pantheon) نامیده می‌شد. این نرم افزار متن‌باز بوده و تحت مجوز آپاچی ۲.۰ (Apache 2.0) منتشر شده است.هایپر لجر بسو برای شبکه اتریوم است که به زبان جاوا (Java) نوشته شده است.  هایپرلجر بسو اولین پروژه از چتر محصولات بنیاد هایپرلجر است که می‌تواند بر روی یک بلاکچین عمومی اجرا شود. این شبکه علاوه بر شبکه اصلی اتریوم، قابلیت اجرا بر روی شبکه‌های آزمایشی (testnet) اتریوم همچون راپستن، رینکبی و گورلی را دارد. افزون بر این، این کلاینت قادر است بر روی شبکه‌های انحصاری خصوصی (Permissioned private Network) نیز اجرا شود.

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

*محیطی اجرایی برای پردازش تراکنش‌ها در بلاکچین اتریوم
*فضایی برای ذخیره اطلاعات لازم برای اجرای تراکنش‌ها
*ایجاد شبکه‌ای برای ارتباط همتا به همتا (P2P) با دیگر نودهای اتریوم حاضر در شبکه برای بروز رسانی حالت
*فراهم کردن APIهای مختلف برای توسعه‌دهندگان اپلیکیشن‌ها تا با بلاکچین ارتباط برقرار کنند

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

ویژگی‌های Hyperledger Besu عبارتند از:

ماشین مجازی اتریوم (EVM)
ماشین مجازی اتریوم ماشینی «تورینگ کامل» است که اجازه راه‌اندازی و اجرای قراردادهای هوشمند از طریق تراکنش بر بستر بلاکچین اتریوم را می‌دهد.

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

گواه اثبات کار (Ethash): این الگوریتم اجماع که مبتنی بر گواه اثبات کار است هم‌اکنون در مین نت اتریوم به کار گرفته می‌شود.

گواه اثبات اعتبار (PoA): هایپرلجر بسو از چندین پروتکل گواه اثبات اعتبار پشتیبانی می‌کند. الگوریتم‌های مبتنی بر گواه اثبات اعتبار معمولا وقتی به کار گرفته می‌شوند که سطحی از اعتماد بین طرفین وجود دارد بنابراین استفاده از آن بیشتر در بلاکچین‌های انحصاری (برای مثال در کنسرسیوم‌ها) است. بسو از الگوریتم‌های اجماع IBFT 2.0، Clique و QBFT پشتیبانی می‌کند.

 

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

بلاکچین: داده‌های مربوط به بلاکچین شامل هدر بلوک‌ها که تشکیل زنجیره قابل صحت سنجی بلوک‌ها را می‌دهند، بدنه بلوک‌ها که حاوی لیست منظم تراکنش‌ها هستند و رسیدهای تراکنش‌ها که متادیتا مربوط به انجام تراکنش‌ها را در بر دارند، می‌شود.

حالت: هر هدر بلوک به یک وضعیت (World State) از طریق هش stateRoot اشاره دارد. حالت/وضعیت تناظری بین آدرس‌ها و حساب‌ها برقرار می‌کند. حساب‌های متعلق به افراد شامل موجودی اتر و حساب‌های مربوط به قراردادهای هوشمند حاوی کدهای قابل اجرا و داده هستند.

شبکه همتا به همتا
بسو از پروتکل شبکه dev2p اتریوم برای ارتباطات بین کلاینتی استفاده می‌کند و زیرپورتکلی مجزا برای IBFT2 دارد. برای یافتن همتا در شبکه، Besu از پروتکلی مبتنی بر UDP استفاده می‌کند اما خود ارتباط با پروتکلی TCP محور انجام می‌شود.

API
APIهای سرویس JSON-RPC از طریق پروتکل‌های HTTP و وب سوکت برای شبکه اصلی اتریوم و EEA ارائه می‌شود. همچنین API مربوط به GraphQL نیز در اختیار کاربر خواهد بود.

نظارت
از طریق این کلاینت می‌توان عملکرد گره و شبکه را مانیتور کرد. عملکرد نود از طریق پرومتئوس و یا متود debug_metrics JSON-RPC کنترل می‌شود. از سوی دیگر وضعیت شبکه را می‌توان با ابزارهای Alethio همچون بلاک اسکسپلورر و یا EthStats Network Monitor چک کرد.

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

هایپرلجر بسو به دلایل امنیتی از امکان مدیریت کلیدهای خصوصی درون کلاینت پشتیبانی نمی‌کند. برای این کار می‌توانید از EthSigner یا دیگر والت‌های اتریومی استفاده کنید. EthSigner می‌تواند با استفاده از ابزارهایی همچون Hashicorp Vault و مایکروسافت آژور تراکنش‌های شما را امضا کند.

 

میزان استفاده از Hyperledger besu
بنا بر داده‌های سایت ethernodes، از میان ۳۶۸۹ نود شبکه اصلی اتریوم، ۵۱ نود (۱.۳۸ درصد) از کلاینت بسو استفاده می‌کنند. کلاینت گث (geth) با ۶۳ درصد، در میان این نرم‌افزارها یکه‌تاز است. بنا بر داده‌های شرکت consensys، این نرم‌افزار بیش از ۱۳۰ هزار بار دانلود شده است.

تیم توسعه‌دهنده
پگاسیس (PegaSys)، تیم مهندسی پروتکل شرکت کانسنسیس (ConsenSys)، حامی اصلی توسعه کدها و نگهداری از این کلاینت از زمان ایجاد در نوامبر سال ۲۰۱۸ با اسم پانتئون بوده است. آن‌ها این کلاینت را با هدف کاستن از موانع ورود شرکت‌های تجاری به بلاکچین ایجاد کردند. این محصول هم‌اکنون زیر چتر محصولات پروژه هایپرلجر ارائه می‌شود. پروژه هایپرلجر مجموعه‌ای از ابزارهای متن‌باز مربوط به بلاکچین است که توسط بنیاد لینوکس بنا نهاده شد. این پروژه حامیان بزرگی همچون شرکت IBM دارد.

برای دیدگاه کلیک کنید

پاسخ بدهید

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

ده + 16 =

رویدادهای ارز دیجیتال

به بالا