آرتا رسانه

مقایسه Ethereum، Hyperledger Fabric و Corda

جدول محتوا

در این مقاله، ما تجزیه و تحلیل مختصری از برجسته‌ترین تفاوت‌های بین فناوری‌های دفتر کل توزیع شده و مقایسه Ethereum، Hyperledger Fabric و Corda ارائه می کنیم.

مقایسه سه چارچوب Ethereum، Hyperledger Fabric و Corda 

از مقالات سفید Hyperledger Fabric، R3 Corda و Ethereum مشخص می‌شود که این چارچوب‌ها دیدگاه‌های بسیار متفاوتی در مورد زمینه‌های کاربردی ممکن در ذهن دارند. توسعه Hyperledger Fabric[i] و Corda[ii] در موارد استفاده مشخص انجام می شود، در حالی که موارد استفاده Corda از صنعت خدمات مالی استخراج می شود.

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

اتریوم همچنین خود را کاملاً مستقل از هر حوزه کاربردی خاصی نشان می‌دهد. با این حال، برخلاف Hyperledger Fabric، ماژولار بودن برجسته نمی‌شود، بلکه ارائه یک پلتفرم عمومی برای انواع تراکنش‌ها و برنامه‌ها برجسته و بارز است.

مشارکت همتایان

با ذخیره سازی داده های مرکزی مرسوم، فقط یک نهاد یا مالک، یک کپی از پایگاه داده زیربنایی را نگه می دارد، به طور مثال یک دفتر کل.

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

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

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

با توجه به مشارکت در اجماع، دو حالت عملیات وجود دارد: بدون مجوز و مجاز.

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

اتریوم

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

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

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

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

[v] در مورد داده‌های ذخیره‌شده در دفتر، حتی اگر رکوردها ناشناس هستند، با این وجود برای همه شرکت‌کنندگان قابل دسترسی هستند، که برای برنامه‌هایی که به درجه بالاتری از حریم خصوصی نیاز دارند مشکل‌ساز است.

برخلاف اتریوم، تفسیر Hyperledger Fabric و corda از اجماع دقیق‌تر است و صرفاً به استخراج بر اساس PoW یا مشتقات آن خلاصه نمی‌شود. به دلیل عملکرد در حالت مجاز، Hyperledger Fabric و Corda کنترل دسترسی دقیق تری به سوابق ارائه می دهند و بنابراین حریم خصوصی را افزایش می دهند. علاوه بر این، سود در عملکرد به دست می آید زیرا تنها طرف هایی که در یک معامله شرکت می کنند باید به اجماع برسند.

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

Hyperledger Fabric

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

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

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

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

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

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

بدون پرداختن بیشتر به جزئیات، مشخص می‌شود که Hyperledger Fabric امکان کنترل دقیق بر توافق و دسترسی محدود به تراکنش‌ها را فراهم می‌کند که منجر به بهبود مقیاس‌پذیری عملکرد و حفظ حریم خصوصی می‌شود.

corda

مشابهHyperledger Fabric، اجماع در corda نیز در سطح معاملات تنها با مشارکت طرفین حاصل می شود. اعتبار معامله و منحصر به فرد بودن تراکنش مشروط به اجماع است[viii]. اعتبار با اجرای کد قرارداد هوشمند مرتبط با یک تراکنش، با بررسی همه امضاهای مورد نیاز و با اطمینان از معتبر بودن هر تراکنشی که به آن اشاره می شود، تضمین می شود.

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

قراردادهای هوشمند

اصطلاح “قرارداد هوشمند” در ابتدا باعث سوء تفاهم قابل توجهی می شود زیرا ایده نوعی قرارداد را برمی انگیزد که به طور هوشمندانه از طرف شخص عمل می کند. با این حال، ماهیت قرارداد مبهم است، اما به طور شهودی به نظر می رسد که به مسائل حقوقی مرتبط است.

گفته می شود، قراردادهای کانونی به این معنا که به عنوان مثال هستند هوشمند نیستند. حداقل هنوز نه، که توسط هوش مصنوعی هدایت می شود، و به طور کلی تعهدات و حقوقی را که از نظر قانونی الزام آور هستند رمزگذاری نمی کنند. کلارک و همکاران [x] با برجسته کردن دو روش مختلف که معمولاً از اصطلاح “قراردادهای هوشمند” استفاده می شود، یک اصطلاح مفید ارائه می دهند. اولی به کد قرارداد هوشمند، دومی به قراردادهای قانونی هوشمند اشاره دارد، دو تمایز که در زمینه این مقایسه سودمند هستند.

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

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

همه DLTها دارای قراردادهای هوشمند به معنای کد قرارداد هوشمند هستند که می توانند در Go یا Java برای Fabric[xi]، در Solidity[xii] برای Ethereum و در Java یا Kotlin برای Corda[xiii] نوشته شوند.

در Fabric، اصطلاح “کد زنجیره ای” به عنوان مترادف برای قرارداد هوشمند استفاده می شود. به عنوان یک مثال گویا، استفاده از کد قرارداد هوشمند در مکانیسم اجماع Corda به منظور اطمینان از اعتبار تراکنش به خواننده یادآوری می‌شود. با این حال، تفاوت قابل توجهی بین Fabric و Ethereum از یک سو و Corda از سوی دیگر وجود دارد که به روش دوم استفاده از اصطلاح “قراردادهای هوشمند” متصل است.

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

منطق پشت این امر مشروعیت بخشیدن به کد است که ریشه در نثر حقوقی مرتبط دارد. چنین ساختاری قرارداد ریکاردی[xiv] نامیده می شود. در این مرحله، دوباره مشخص می شود که corda به صراحت طراحی شده است تا محیط بسیار تنظیم شده صنعت خدمات مالی را در نظر بگیرد. هم Fabric و هم Ethereum فاقد این ویژگی هستند.

ارز داخلی

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

بنابراین برنامه های غیرمتمرکز (DApps) را می توان برای اتریوم ساخت که امکان تراکنش های پولی را فراهم می کند. علاوه بر این، یک توکن دیجیتالی برای موارد استفاده سفارشی می‌تواند با استقرار یک قرارداد هوشمند که مطابق با یک استاندارد از پیش تعریف‌شده است، ایجاد شود.[xv] به این ترتیب، ارزها یا دارایی‌های خود را می‌توان تعریف کرد.

Fabric و Corda نیازی به ارز دیجیتال داخلی ندارند زیرا از طریق ماینینگ اجماع حاصل نمی شود. با این حال، با Fabric، امکان توسعه یک ارز بومی یا یک توکن دیجیتال با کد زنجیره ای وجود دارد.[xvi] با Corda، ایجاد ارزهای دیجیتال یا توکن در نظر گرفته نشده است.[xvii]

خلاصه: پلتفرم سفارشی در مقابل عمومی

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

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

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

ظاهراً تمرکز corda صرفاً بر معاملات خدمات مالی، طراحی معماری آن را در مقایسه با Fabric ساده کرده است. بنابراین، ممکن است یک تجربه خارج از جعبه را ارائه دهد. با این حال، ممکن است که Fabric، به دلیل ماژولار بودن، بتواند شبیه مجموعه ویژگی های Corda باشد. تلاش هایی وجود دارد که به دنبال ادغام corda در پروژه هایپرلجر هستند. بنابراین Corda را نمی توان به عنوان رقیب Fabric بلکه بیشتر به عنوان مکمل در نظر گرفت.

در صورت تمایل به آموزش برنامه نویسی بلاکچین، پکیج آموزش برنامه نویسی بلاکچین را ملاحظه نمایید.

دیدگاه‌ خود را بنویسید

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

آرتا رسانه
آرتا رسانه
دیجیتال مارکتینگ چیست؟
Loading
/
پیمایش به بالا