Hyperledger Fabric یک پلتفرم برای ایجاد راهکارهای مبتنی بر دفتر کل توزیعشده است که با معماری ماژولار طراحی شده است. این معماری پیشرفته، سطح بالایی از محرمانگی، پایداری، انعطافپذیری و مقیاسپذیری را ارائه میدهد. این پلتفرم به گونهای طراحی شده است که بتوان از پیادهسازیهای قابل اتصال برای اجزای مختلف آن استفاده کرد و پیچیدگیها و تنوع موجود در اکوسیستم اقتصادی را مدیریت نمود. برای کاربران تازهکار، توصیه میشود ابتدا ادامه این مقدمه را مطالعه کنند تا با نحوه عملکرد بلاکچینها و ویژگیها و اجزای منحصربهفرد Hyperledger Fabric آشنا شوند.
پیشنهاد مطالعه: بلاکچین چیست؟
بلاکچین چیست؟
در مرکز هر شبکه بلاکچین، یک دفتر کل توزیعشده قرار دارد که تمامی تراکنشهای انجامشده در شبکه را ثبت میکند. دفتر کل بلاکچین اغلب به عنوان یک سیستم غیرمتمرکز توصیف میشود، زیرا این دفتر کل در میان بسیاری از شرکتکنندگان شبکه تکثیر میشود. هر یک از این شرکتکنندگان به طور مشترک در نگهداری و بهروزرسانی آن همکاری میکنند. غیرمتمرکز بودن و همکاری از ویژگیهای قدرتمند بلاکچین هستند که شباهت زیادی به نحوه تبادل کالا و خدمات در دنیای واقعی دارند. این ویژگیها، بلاکچین را به فناوریای منحصربهفرد و قابل اعتماد برای مدیریت تراکنشها تبدیل کرده است.
علاوه بر غیرمتمرکز بودن و همکاری جمعی، اطلاعات ثبتشده در بلاکچین دارای ویژگی فقط افزودنی (Append-only) است. این بدان معناست که اطلاعات جدید میتوانند به دفتر کل اضافه شوند، اما هیچ دادهای نمیتواند پس از ثبت تغییر کند. این ویژگی با استفاده از تکنیکهای رمزنگاری تضمین میشود، بهطوری که پس از اضافه شدن یک تراکنش به دفتر کل، تغییر یا دستکاری آن غیرممکن است.
این ویژگی که به آن تغییرناپذیری (Immutability) میگویند، امکان ردیابی منشأ اطلاعات را بسیار ساده میکند. شرکتکنندگان در شبکه میتوانند اطمینان داشته باشند که اطلاعات پس از ثبت، تغییر نکردهاند. به همین دلیل است که بلاکچینها گاهی به عنوان سیستمهای اثبات توصیف میشوند، زیرا صحت و اعتبار اطلاعات را تضمین میکنند.
قراردادهای هوشمند (Smart Contracts)
برای تضمین بهروزرسانی منظم اطلاعات و فعالسازی مجموعهای از عملکردهای دفتر کل مانند تراکنشها، پرسوجوها و موارد دیگر، شبکه بلاکچین از قرارداد هوشمند استفاده میکند. این قراردادها دسترسی کنترلشده به دفتر کل را فراهم میکنند و به عنوان یک لایه منطقی برای خودکارسازی و مدیریت فرآیندها در بلاکچین عمل میکنند. قراردادهای هوشمند باعث میشوند عملیات روی دفتر کل شفاف، قابل اعتماد و بدون نیاز به واسطه انجام شوند.
قراردادهای هوشمند: کلیدی برای سادهسازی و خودکارسازی تراکنشها
قراردادهای هوشمند نه تنها مکانیزمی کلیدی برای مدیریت و سادهسازی اطلاعات در کل شبکه بلاکچین هستند، بلکه میتوانند به گونهای برنامهریزی شوند که بخشهای خاصی از تراکنشها را به صورت خودکار اجرا کنند. به عنوان مثال، یک قرارداد هوشمند میتواند برای محاسبه هزینه حمل و نقل یک کالا تنظیم شود، بهگونهای که هزینه ارسال بر اساس سرعت تحویل کالا تغییر کند. هنگامی که شرایط مورد توافق طرفین در دفتر کل ثبت شود، مبلغ مناسب به صورت خودکار و در زمان دریافت کالا منتقل میشود. این خودکارسازی، شفافیت و کارایی تراکنشها را افزایش میدهد و نیاز به واسطه را حذف میکند.
اجماع (Consensus): حفظ همگامسازی دفتر کل
اجماع فرآیندی است که به حفظ هماهنگی و همگامسازی تراکنشهای دفتر کل در سراسر شبکه کمک میکند. این فرآیند تضمین میکند که تنها تراکنشهایی که توسط شرکتکنندگان مربوطه تأیید شدهاند، به دفتر کل اضافه شوند. علاوه بر این، اجماع اطمینان حاصل میکند که تمامی دفاتر کل در شبکه با همان ترتیب و محتوای تراکنشها بهروزرسانی شوند. این ویژگی، نظم، امنیت و اعتمادپذیری بلاکچین را حفظ میکند و اساس عملکرد صحیح این فناوری است.
در ادامه با مفاهیم دفاتر کل، قراردادهای هوشمند، و اجماع بیشتر آشنا خواهید شد. اما در حال حاضر کافی است بلاکچین را به عنوان یک سیستم مشترک و تکرارشونده تراکنشها تصور کنید. این سیستم از طریق قراردادهای هوشمند بهروزرسانی میشود و با استفاده از یک فرآیند همکاری جمعی به نام اجماع (Consensus) به طور مداوم هماهنگ و همگام باقی میماند.
پیشنهاد مطالعه: اطلاع از آخرین اخبار بلاکچین
چرا بلاکچین مفید است؟
شبکههای تراکنشی که امروزه مورد استفاده قرار میگیرند، چیزی بیش از نسخههای کمی بهروزرسانیشده از شبکههایی نیستند که از زمان آغاز ثبت سوابق تجاری وجود داشتهاند. اعضای یک شبکه تجاری با یکدیگر تعامل و تراکنش انجام میدهند، اما هر یک سوابق جداگانهای از این تراکنشها را نگهداری میکنند.
کالاها و خدماتی که در این شبکهها مبادله میشوند – از فرشهای فلاندری در قرن شانزدهم گرفته تا اوراق بهادار مدرن، هر بار که فروخته میشوند، باید منشأ و تاریخچه مالکیت آنها مشخص شود. این کار برای اطمینان از مالکیت قانونی کالای فروختهشده توسط کسبوکار ضروری است.
نتیجه این سیستمها، شبکههای تجاریای است که به صورت پراکنده عمل میکنند و به سوابق مجزای هر عضو وابسته هستند. این ساختار منجر به پیچیدگی در مدیریت اطلاعات و ایجاد تأخیر در فرآیندها میشود.
چالشهای فناوریهای مدرن در مدیریت اطلاعات تجاری
فناوریهای مدرن فرآیند ثبت و مدیریت اطلاعات را از لوحهای سنگی و پوشههای کاغذی به هارد دیسکها و پلتفرمهای ابری منتقل کردهاند، اما ساختار اصلی این سیستمها همچنان بدون تغییر باقی مانده است. در حال حاضر، هیچ سیستم یکپارچهای برای مدیریت هویت اعضای شبکه وجود ندارد، و تعیین منشأ کالاها و خدمات همچنان یک فرآیند پیچیده و زمانبر است. به عنوان مثال، تکمیل تراکنشهای اوراق بهادار که حجم آنها در سطح جهان به تریلیونها دلار میرسد، ممکن است چندین روز زمان ببرد. علاوه بر این، قراردادها معمولاً باید به صورت دستی امضا و اجرا شوند که این امر نه تنها زمانبر است، بلکه احتمال وقوع خطا را نیز افزایش میدهد.
هر پایگاه داده در سیستم، اطلاعات منحصربهفردی را نگهداری میکند و به همین دلیل هر کدام میتوانند به نقطه ضعف و شکست در سیستم تبدیل شوند. این ساختار پراکنده و غیرمنسجم، ایجاد یک سیستم ثبت اطلاعات یکپارچه که بتواند کل شبکه تجاری را پوشش دهد، غیرممکن ساخته است. این در حالی است که نیاز به شفافیت و اعتماد در چنین سیستمهایی برای موفقیت و کارایی بیشتر کاملاً ضروری است.
تفاوت بلاکچین
چه میشد اگر به جای مجموعهای از ناکارآمدیها که در سیستم "مدرن" تراکنشها وجود دارد، شبکههای تجاری روشهای استانداردی برای تعیین هویت اعضای شبکه، اجرای تراکنشها، و ذخیره دادهها داشتند؟ چه میشد اگر منشأ یک دارایی را میتوانستیم تنها با بررسی لیستی از تراکنشها تعیین کنیم؟ لیستی که پس از ثبت تغییر نمیکند و به همین دلیل میتوان به آن اعتماد کرد.
این دقیقاً همان جایی است که بلاکچین تفاوت خود را نشان میدهد: ارائه روشی استاندارد، قابل اعتماد و غیرقابل تغییر برای مدیریت اطلاعات و تراکنشها در شبکههای تجاری.
در یک شبکه بلاکچین، هر شرکتکننده نسخهای تکرارشده از دفتر کل (Ledger) را در اختیار دارد. علاوه بر اشتراکگذاری اطلاعات دفتر کل، فرآیندهایی که برای بهروزرسانی آن استفاده میشوند نیز به صورت مشترک در دسترس همه شرکتکنندگان قرار میگیرند. برخلاف سیستمهای فعلی که هر شرکتکننده از برنامههای خصوصی خود برای بهروزرسانی دفاتر کل خصوصی استفاده میکند، در بلاکچین برنامههای مشترکی وجود دارد که برای بهروزرسانی دفاتر کل مشترک به کار میروند.
این قابلیت هماهنگی شبکههای تجاری از طریق یک دفتر کل مشترک، به بلاکچین این امکان را میدهد که زمان، هزینه و ریسک مرتبط با اطلاعات خصوصی و فرآیندهای پردازشی را کاهش دهد و در عین حال، اعتماد و شفافیت را بهبود بخشد. اکنون میدانید که بلاکچین چیست و چرا مفید است. بسیاری از جزئیات دیگر در این فناوری وجود دارد، اما تمامی این جزئیات به همین ایدههای اصلی یعنی اشتراکگذاری اطلاعات و فرآیندها مرتبط هستند.
هایپرلجر فبریک چیست؟
بنیاد لینوکس در سال ۲۰۱۵ پروژه Hyperledger را با هدف پیشرفت فناوریهای بلاکچین بینصنعتی راهاندازی کرد. به جای تعیین یک استاندارد بلاکچین واحد، این پروژه از رویکردی همکاریمحور برای توسعه فناوریهای بلاکچین از طریق یک فرآیند اجتماعی حمایت میکند و با رعایت حقوق مالکیت فکری، توسعه باز و پذیرش استانداردهای کلیدی را در طول زمان تشویق مینماید.
Hyperledger Fabric یکی از پروژههای بلاکچین در Hyperledger است. مانند سایر فناوریهای بلاکچین، این پلتفرم دارای یک دفتر کل است، از قراردادهای هوشمند استفاده میکند و سیستمی است که شرکتکنندگان از طریق آن تراکنشهای خود را مدیریت میکنند.
جایی که Hyperledger Fabric با برخی سیستمهای بلاکچین دیگر تفاوت دارد، این است که این سیستم خصوصی و مجوزدار است. برخلاف سیستمهای باز و بدون مجوز که به هویتهای ناشناس اجازه مشارکت در شبکه میدهند (و به پروتکلهایی مانند "اثبات کار" برای تأیید تراکنشها و تأمین امنیت شبکه نیاز دارند)، اعضای یک شبکه Hyperledger Fabric از طریق یک ارائهدهنده خدمات عضویت (MSP) معتبر ثبتنام میکنند.
Hyperledger Fabric همچنین چندین گزینه قابل اتصال ارائه میدهد. دادههای دفتر کل میتوانند در قالبهای مختلف ذخیره شوند، مکانیزمهای اجماع قابل تعویض هستند، و MSPهای مختلفی پشتیبانی میشوند.
یکی دیگر از قابلیتهای Hyperledger Fabric امکان ایجاد کانالها است که به گروهی از شرکتکنندگان اجازه میدهد یک دفتر کل جداگانه برای تراکنشهای خود ایجاد کنند. این گزینه بهویژه برای شبکههایی اهمیت دارد که در آن برخی شرکتکنندگان ممکن است رقیب باشند و نخواهند که هر تراکنشی که انجام میدهند (مانند ارائه قیمت خاص به برخی شرکتکنندگان و نه دیگران) برای تمامی اعضای شبکه قابل مشاهده باشد. اگر دو شرکتکننده یک کانال ایجاد کنند، تنها آنها و هیچ فرد دیگری نسخههایی از دفتر کل آن کانال خواهند داشت.
دفتر کل مشترک
Hyperledger Fabric دارای یک زیرسیستم دفتر کل است که از دو بخش اصلی تشکیل شده است: وضعیت جهانی (World State) و گزارش تراکنشها (Transaction Log). هر شرکتکننده در هر شبکه Hyperledger Fabric که عضو آن باشد، یک نسخه از دفتر کل را در اختیار دارد.
بخش وضعیت جهانی وضعیت دفتر کل را در یک لحظه خاص از زمان توصیف میکند و در واقع پایگاه داده دفتر کل است. بخش گزارش تراکنشها تمام تراکنشهایی را که منجر به ایجاد وضعیت فعلی دفتر کل شدهاند، ثبت میکند. این بخش به عنوان تاریخچه بهروزرسانی وضعیت جهانی عمل میکند. بنابراین، دفتر کل ترکیبی از پایگاه داده وضعیت جهانی و تاریخچه گزارش تراکنشها است.
دفتر کل این قابلیت را دارد که برای بخش وضعیت جهانی از یک پایگاه داده قابل تعویض استفاده کند. به طور پیشفرض، از پایگاه داده LevelDB که به صورت Key-Value عمل میکند، استفاده میشود. اما بخش گزارش تراکنشها نیازی به قابلیت تعویض ندارد و تنها مقادیر قبل و بعد پایگاه داده دفتر کل را که توسط شبکه بلاکچین استفاده میشود، ثبت میکند.
قراردادهای هوشمند
در Hyperledger Fabric، قراردادهای هوشمند به نام Chaincode شناخته میشوند و زمانی که یک برنامه خارجی نیاز به تعامل با دفتر کل دارد، این Chaincode توسط برنامه فراخوانی میشود. در بیشتر موارد، Chaincode فقط با بخش پایگاه داده دفتر کل (وضعیت جهانی) تعامل دارد، مثلاً برای انجام پرسوجو (Query)، و معمولاً با بخش گزارش تراکنشها ارتباطی ندارد.
Chaincode میتواند با استفاده از چندین زبان برنامهنویسی پیادهسازی شود. در حال حاضر، زبانهای Go، Node.js، و Java برای توسعه Chaincode پشتیبانی میشوند.
حریم خصوصی
بسته به نیازهای یک شبکه، شرکتکنندگان در شبکههای کسبوکار به کسبوکار (B2B) ممکن است نسبت به میزان اطلاعاتی که به اشتراک میگذارند حساسیت زیادی داشته باشند. در مقابل، در برخی دیگر از شبکهها، حریم خصوصی ممکن است اولویت اصلی نباشد. Hyperledger Fabric از شبکههایی پشتیبانی میکند که در آن حریم خصوصی (با استفاده از کانالها) یک الزام کلیدی عملیاتی است، و همچنین از شبکههایی که نسبتاً بازتر هستند نیز پشتیبانی مینماید.
پیشنهاد مطالعه: بیت کوین چیست؟
اجماع (Consensus)
برای ثبت تراکنشها در دفتر کل، لازم است که این تراکنشها به ترتیب وقوع در شبکه نوشته شوند، حتی اگر بین مجموعههای مختلفی از شرکتکنندگان در شبکه انجام شده باشند. برای این منظور، باید ترتیبی برای تراکنشها تعیین شود و همچنین روشی برای رد کردن تراکنشهای نامعتبر، که به اشتباه یا با نیت مخرب وارد دفتر کل شدهاند، وجود داشته باشد.
این موضوع یکی از حوزههای پرتحقیق در علم کامپیوتر است و روشهای متعددی برای دستیابی به اجماع وجود دارد که هر کدام مزایا و معایب خاص خود را دارند. به عنوان مثال، مکانیزم PBFT (تحمل خطای بیزانسی عملی) میتواند راهکاری برای ارتباط فایلهای تکرارشده ارائه دهد، به طوری که حتی در صورت بروز خرابی، هر نسخه همچنان با سایر نسخهها هماهنگ باشد. از طرف دیگر، در بیتکوین، ترتیب تراکنشها از طریق فرآیندی به نام استخراج (Mining) تعیین میشود، که در آن رایانههای رقابتی با حل یک معمای رمزنگاری ترتیب تراکنشها را مشخص میکنند و سایر فرآیندها بر اساس این ترتیب ساخته میشوند.
Hyperledger Fabric به گونهای طراحی شده است که به ایجادکنندگان شبکه امکان میدهد مکانیزم اجماعی را انتخاب کنند که بهترین تطابق را با روابط موجود بین شرکتکنندگان داشته باشد. مشابه موضوع حریم خصوصی، نیازهای اجماع نیز در طیفی گسترده قرار میگیرند؛ از شبکههایی که روابط ساختاریافته و سازمانیافتهای دارند، تا شبکههایی که بیشتر به صورت همتا به همتا (Peer-to-Peer) عمل میکنند.
نظرات خود را با ما به اشتراک بگذارید
آدرس ای میل شما نمایش داده نمیشود.