به طور کلی، بلاک چین یک دفتر کل تراکنش های تغییرناپذیر است که در یک شبکه از گره های همتا نگهداری می شود. این گره هر کدام یک کپی از دفتر کل را با اعمال تراکنش هایی که توسط یک پروتکل اجماع تایید شده است، نگهداری می کنند، و در بلوک هایی که شامل یک هش است که هر بلوک را به بلوک قبلی مرتبط می کند دسته بندی میکند.
قبل از ادامه مقاله این نکته را یادآوری می کنیم که می توانید دوره آموزش هایپرلجر فابریک را از آکادمی آرتارسانه تهیه کنید.
شناختهشدهترین کاربرد بلاکچین، ارز دیجیتال بیتکوین است. اتریوم، یک ارز دیجیتال است، که راه متفاوت را در پیش گرفت و ویژگی های مشابه بیت کوین را ادغام کرد، و قراردادهای هوشمند را برای ایجاد بستری برای برنامه های کاربردی اضافه کرد. بیت کوین و اتریوم در دسته ای از بلاک چین قرار می گیرند که ما آن را به عنوان فناوری بلاک چین بدون مجوز و عمومی طبقه بندی می کنیم. اساساً اینها شبکههای عمومی هستند، استفاده از آن برای هر کسی آزاد است، که در آن شرکتها به طور ناشناس با هم فعالیت دارند.
با افزایش محبوبیت بیت کوین، اتریوم و چند فناوری مشتق دیگر، علاقه به استفاده از فناوری زیربنایی بلاک چین، دفتر کل تولید شده و پلت فرم تولید شده برای موارد استفاده نوآورانه تر سازمانی نیز افزایش یافت. با این حال ، بسیاری از موارد استفاده سازمانی به ویژگی های عملکردی نیاز دارند که فناوری های بلاک چین بدون مجوز (در حال حاضر) قادر به ارائه آن شرایط هستند. علاوه بر این، در بسیاری از موارد استفاده، احراز هویت شرکتها یک الزام است، مانند مواردی که باید از قوانین شناخت مشتری (KYC) و مبارزه با پولشویی (AML) پیروی استفاده کنند.
برای استفاده از بلاکچین سازمانی، باید شرایط زیر را در نظر بگیریم:
در حالی که بسیاری از پلتفرم های اولیه بلاک چین در حال حاضر برای استفاده از سازمان تطبیق داده شده اند، Hyperledger Fabric از همان ابتدا برای استفاده از سازمانی طراحی شده است. بخشهای زیر نحوه تمایز Hyperledger Fabric (Fabric) خود را از سایر پلتفرمهای بلاک چین و برخی انگیزههای تصمیمگیریهای معماری آن شرح میدهند.
پیشنهاد مطالعه: برنامه نویسی بلاکچین
Table of contents [Show]
Hyperledger Fabric یک دفتر پلتفرم فناوری کل توزیعشده (DLT) با مجوز مجوز سازمان سازمانی منبع باز است که برای استفاده در زمینههای سازمانی طراحی شده است که برخی از ویژگیهای کلیدهای متمایزکننده را نسبت به سایر پلتفرمهای دفاتر کل توزیع شده یا بلوک چین میکند.
یکی از نکات کلیدی تمایز این است که Hyperledger تحت بنیاد لینوکس ارائه میشود، که خود سابقهدار و بسیار موفقی در پروژههای پرورشی منبع باز تحت حاکمیت باز است که جوامع پایدار قوی و اکوسیستمهای پررونق را میدهند. Hyperledger توسط یک کمیته راهبری فنی متنوع اداره می شود و پروژه Hyperledger Fabric توسط مجموعه متنوعی از چندین سازمان اداره می شود. این جامعه برای اولین بار از 35 سازمان تشکیل شده بود و نزدیک به 200 توسعه دهنده توسعه یافته است.
Fabric دارای یک معماری بسیار ماژولار و قابل تنظیم است که نوآوری، تطبیق پذیری و بهینه سازی را برای چندین مورد از موارد استفاده صنعتی از جمله بانکداری، مالی، بیمه، مراقبت های بهداشتی، منابع انسانی، زنجیره تامین و حتی تحویل موسیقی دیجیتال امکان پذیر است. می کند.
Fabric اولین پلت فرم دفتر کل تولید شده است که از قراردادهای هوشمندی است که در زبان های برنامه نویسی همه منظور مانند Java، Go و Node.js نوشته شده اند، به جای زبان های محدود دامنه خاص (DSL) پشتیبانی می کند. این مهم است که اکثر شرکت ها در حال حاضر مجموعه مهارت های مورد نیاز برای توسعه قراردادهای هوشمند را دارند و هیچ آموزش دیگری برای یک زبان جدید یا DSL مورد نیاز نیست.
پلتفرم Fabric نیز مجاز است، به این معنی که شبکه بدون مجوز عمومی، شرکتهای به جای ناشناس و در نتیجه کاملا غیرقابل اعتماد، با هویت میشوند. این معناست که در حالی که ممکن است شرکتکنندگان به طور کامل به اطمینان کامل نرسند (شاید ممکن است مشابه در یک صنعت باشند) ساخته شده است، مانند یک توافق نامه یا قانونی برای حل اختلافات.
یکی از مهمترین تمایزهای پلتفرم، پشتیبانی آن از پروتکلهای اجماع قابل اتصال است که پلتفرم را میسازد تا قادر باشد برای استفاده از موارد خاص و مدلهای اعتماد سفارشیسازی شود. به عنوان مثال، زمانی که در یک شرکت منفرد مستقر می شود، یا توسط یک مرجع قابل اعتماد اداره می شود، اجماع کاملاً بیزانسی برای تحمل خطا ممکن است غیرضروری در نظر گرفته شود و باعث افزایش بیش از حد عملکرد و توان عملیاتی شود. در شرایطی مانند آن، یک پروتکل اجماع مقاوم در برابر خرابی (CFT) ممکن است به اندازه کافی باشد، در حالی که، در یک مورد استفاده از متمرکز چند جانبه، ممکن است یک پروتکل توافقی متحمل خطای بیزانسی (BFT) سنتی نیاز داشته باشد.
Fabric میتواند از پروتکلهای اجماع استفاده کند که برای تحریک ماینینگ پرهزینه یا برای اجرای قراردادهای هوشمند به ارز دیجیتال بومی نیاز ندارند. اجتناب از ارز رمزنگاری شده برخی از بردارهای خطر/حمله قابل توجه را کاهش می دهد و عدم وجود عملیات استخراج رمزنگاری به این معنی است که این پلتفرم می تواند تقریباً با هزینه عملیاتی مشابه هر سیستم توزیع شده دیگر مستقر شود.
ترکیبی از این ویژگیهای طراحی متمایز، Fabric را به یکی از پلتفرمهای با عملکرد بهتر امروزه هم از نظر پردازش تراکنشها و هم تأخیر تأیید تراکنش در دسترس میسازد، و حریم خصوصی و محرمانه بودن تراکنشها و قراردادهای هوشمند (آنچه Fabric آن را «کد زنجیرهای» مینامد) که پیادهسازی میکنند را ممکن میسازد. آنها را
بیایید این ویژگی های متمایز را با جزئیات بیشتر بررسی کنیم.
Hyperledger Fabric به طور خاص برای داشتن معماری مدولار طراحی شده است. خواه اجماع قابل اتصال باشد، پروتکلهای مدیریت هویت قابل اتصال مانند LDAP یا OpenID Connect، پروتکلهای مدیریت کلید یا کتابخانههای رمزنگاری، این پلتفرم در هسته خود طراحی شده است تا به گونهای پیکربندی شود که نیازهای مورد استفاده سازمانی را برآورده کند.
در سطح بالایی، Fabric از اجزای ماژول های زیر تشکیل شده است:
در یک بلاک چین بدون مجوز، تقریباً هر کسی می تواند شرکت کند و هر شرکت کننده ناشناس است. در چنین شرایطی، هیچ اعتمادی وجود ندارد جز اینکه وضعیت بلاک چین، قبل از یک عمق مشخص، تغییرناپذیر است. به منظور کاهش این عدم اعتماد، بلاک چینهای بدون مجوز معمولاً از یک ارز رمزنگاری شده بومی یا کارمزد تراکنش استفاده میکنند تا انگیزه اقتصادی برای جبران هزینههای فوقالعاده شرکت در نوعی اجماع متحمل خطای بیزانسی بر اساس «اثبات کار» فراهم کنند (PoW) ).
از سوی دیگر، بلاکچینهای مجاز، یک بلاک چین را در میان مجموعهای از شرکتکنندگان شناختهشده، شناسایی شده و اغلب بررسیشده که تحت یک مدل حاکمیتی که درجه خاصی از اعتماد را ایجاد میکند، کار میکنند. یک بلاک چین مجاز راهی برای ایمن سازی تعاملات میان گروهی از موجودیت هایی که هدف مشترکی دارند اما ممکن است کاملاً به یکدیگر اعتماد نداشته باشند، فراهم می کند. با تکیه بر هویت شرکتکنندگان، یک بلاکچین مجاز میتواند از پروتکلهای اجماع سنتیتر متحمل خطا (CFT) یا تحمل خطای بیزانسی (BFT) استفاده کند که نیازی به استخراج پرهزینه ندارد.
علاوه بر این، در چنین زمینههای مجاز، خطر ورود عمدی کد مخرب توسط یک شرکتکننده از طریق یک قرارداد هوشمند کاهش مییابد. ابتدا، شرکتکنندگان برای یکدیگر شناخته میشوند و همه اقدامات، اعم از ارسال تراکنشهای برنامه، اصلاح پیکربندی شبکه یا استقرار یک قرارداد هوشمند، بر روی بلاک چین به دنبال یک خطمشی تاییدی که برای شبکه و نوع تراکنش مربوطه ایجاد شده است، ثبت میشوند. به جای اینکه کاملاً ناشناس باشد، می توان به راحتی شخص مقصر را شناسایی کرد و با این حادثه مطابق با شرایط مدل حکومتی برخورد کرد.
یک قرارداد هوشمند یا همان چیزی که فابریک آن را «کد زنجیرهای» مینامد، بهعنوان یک برنامه کاربردی توزیعشده قابل اعتماد عمل میکند که امنیت/اعتماد خود را از زنجیره بلوکی و اجماع اساسی میان همتایان به دست میآورد. این منطق تجاری یک برنامه بلاک چین است.
سه نکته کلیدی وجود دارد که در مورد قراردادهای هوشمند اعمال می شود، به ویژه زمانی که در یک پلت فرم اعمال می شود:
تراکنش ها را تأیید و سفارش می دهد و سپس آنها را به همه گره های همتا منتشر می کند.
سپس هر peer تراکنش ها را به صورت متوالی اجرا می کند.
معماری اجرای سفارش را می توان تقریباً در تمام سیستم های بلاک چین موجود یافت، از پلتفرم های عمومی/بدون مجوز مانند اتریوم (با اجماع مبتنی بر PoW) تا پلتفرم های مجاز مانند Tendermint، Chain و Quorum.
قراردادهای هوشمند اجرا شده در یک زنجیره بلوکی که با معماری دستور-اجرا عمل می کند باید قطعی باشد. در غیر این صورت، ممکن است هرگز اجماع حاصل نشود. برای پرداختن به مسئله عدم قطعیت، بسیاری از پلتفرمها نیاز دارند که قراردادهای هوشمند به زبانی غیر استاندارد یا مخصوص دامنه (مانند Solidity) نوشته شوند تا عملیات غیر قطعی حذف شوند. این امر مانع از پذیرش گسترده می شود زیرا به توسعه دهندگان نیاز دارد که قراردادهای هوشمندی را برای یادگیری زبان جدید بنویسند و ممکن است منجر به خطاهای برنامه نویسی شود.
علاوه بر این، از آنجایی که همه تراکنش ها به صورت متوالی توسط همه گره ها اجرا می شوند، عملکرد و مقیاس محدود است. این واقعیت که کد قرارداد هوشمند بر روی هر گره در سیستم اجرا می شود، مستلزم آن است که اقدامات پیچیده ای برای محافظت از سیستم کلی در برابر قراردادهای مخرب بالقوه انجام شود تا از انعطاف پذیری سیستم کلی اطمینان حاصل شود.
Fabric یک معماری جدید برای تراکنشها معرفی میکند که ما آن را execute-order-validate مینامیم. چالشهای انعطافپذیری، انعطافپذیری، مقیاسپذیری، عملکرد و محرمانگی که مدل اجرای سفارش با آن مواجه است را با تفکیک جریان تراکنش به سه مرحله بررسی میکند:
تراکنش را انجام دهید و صحت آن را بررسی کنید و بدین وسیله آن را تأیید کنید.
تراکنش ها را از طریق یک پروتکل اجماع (قابل اتصال) سفارش دهید و تراکنش ها را بر اساس یک خط مشی تأیید خاص برنامه قبل از تعهد به دفتر کل اعتبار سنجی کنید.
این طرح به طور اساسی از پارادایم اجرای سفارش جدا می شود، زیرا Fabric تراکنش ها را قبل از رسیدن به توافق نهایی در مورد سفارش خود انجام می دهد.
در Fabric، یک خطمشی تأیید خاص برنامه مشخص میکند که کدام گرههای همتا، یا چه تعداد از آنها باید برای اجرای صحیح یک قرارداد هوشمند معین تضمین کنند. بنابراین، هر تراکنش فقط باید توسط زیرمجموعه گره های همتا که برای برآورده کردن خط مشی تایید تراکنش لازم است اجرا شود (تأیید شود). این امکان اجرای موازی را فراهم می کند که عملکرد کلی و مقیاس سیستم را افزایش می دهد. این مرحله اول همچنین هرگونه عدم قطعیت را حذف می کند، زیرا نتایج متناقض را می توان قبل از سفارش فیلتر کرد.
از آنجا که ما عدم قطعیت را حذف کرده ایم، Fabric اولین فناوری بلاک چین است که استفاده از زبان های برنامه نویسی استاندارد را امکان پذیر می کند.
همانطور که بحث کردیم، در یک شبکه بلاک چین عمومی و بدون مجوز که از PoW برای مدل اجماع خود استفاده می کند، تراکنش ها در هر گره اجرا می شوند. این بدان معناست که نه خود قراردادها محرمانه هستند و نه داده های تراکنشی که آنها پردازش می کنند. هر تراکنش و کدی که آن را پیاده سازی می کند، برای هر گره در شبکه قابل مشاهده است. در این مورد، ما محرمانه بودن قرارداد و داده ها را با اجماع تحمل خطای بیزانسی ارائه شده توسط PoW معامله کرده ایم.
این عدم محرمانه بودن می تواند برای بسیاری از موارد استفاده تجاری/سازمانی مشکل ساز باشد. برای مثال، در شبکهای از شرکای زنجیره تامین، ممکن است به برخی از مصرفکنندگان بهعنوان وسیلهای برای تحکیم یک رابطه یا ترویج فروش بیشتر، نرخهای ترجیحی داده شود. اگر هر شرکت کننده بتواند هر قرارداد و معامله را ببیند، حفظ چنین روابط تجاری در یک شبکه کاملاً شفاف غیرممکن می شود – همه نرخ های ترجیحی را می خواهند!
به عنوان مثال دوم، صنعت اوراق بهادار را در نظر بگیرید، جایی که تاجری که یک موقعیت ایجاد میکند (یا یک موقعیت را واگذار میکند) نمیخواهد رقبای او از این موضوع مطلع شوند، در غیر این صورت آنها به دنبال ورود به بازی خواهند بود و بازی معاملهگر را تضعیف میکند.
به منظور پرداختن به فقدان حریم خصوصی و محرمانگی به منظور ارائه الزامات مورد استفاده سازمانی، پلتفرم های بلاک چین رویکردهای مختلفی را اتخاذ کرده اند. همه معاوضه های خود را دارند.
رمزگذاری داده ها یکی از روش های ارائه محرمانه است. با این حال، در یک شبکه بدون مجوز که از PoW برای اجماع خود استفاده می کند، داده های رمزگذاری شده در هر گره قرار دارند. با توجه به زمان و منابع محاسباتی کافی، رمزگذاری ممکن است شکسته شود. برای بسیاری از موارد استفاده سازمانی، خطر به خطر افتادن اطلاعات آنها غیرقابل قبول است.
اثبات دانش صفر (ZKP) یکی دیگر از حوزههای تحقیقاتی است که برای رسیدگی به این مشکل مورد بررسی قرار میگیرد. از این رو، مبادله در این مورد، عملکرد برای محرمانگی است.
در یک زمینه مجاز که می تواند از اشکال جایگزین اجماع استفاده کند، می توان رویکردهایی را بررسی کرد که توزیع اطلاعات محرمانه را منحصراً به گره های مجاز محدود می کند.
Hyperledger Fabric که یک پلتفرم مجاز است، محرمانگی را از طریق معماری کانال و ویژگی داده های خصوصی خود امکان پذیر می کند. در کانالها، شرکتکنندگان در یک شبکه Fabric یک شبکه فرعی ایجاد میکنند که در آن هر عضو به مجموعه خاصی از تراکنشها قابل مشاهده است. بنابراین، تنها گره هایی که در یک کانال شرکت می کنند به قرارداد هوشمند (کد زنجیره ای) و داده های تراکنش شده دسترسی دارند و حریم خصوصی و محرمانه بودن هر دو حفظ می شود. دادههای خصوصی امکان جمعآوری بین اعضا را در یک کانال فراهم میکند، و این امکان را فراهم میآورد که همان محافظت کانالها را بدون هزینه تعمیر و نگهداری ایجاد و نگهداری یک کانال جداگانه فراهم کند.
ترتیب تراکنش ها برای اجماع به یک جزء ماژولار واگذار می شود که به طور منطقی از همتاهایی که تراکنش ها را اجرا می کنند و دفتر کل را حفظ می کنند جدا می شود. به طور خاص، خدمات سفارش. از آنجایی که اجماع ماژولار است، اجرای آن را می توان با فرض اعتماد یک استقرار یا راه حل خاص تنظیم کرد. این معماری ماژولار به پلتفرم اجازه میدهد تا برای سفارشدهی CFT (تحمل خطا در تصادف) یا BFT (تحملکننده خطای بیزانسی) به جعبهابزارهای تثبیتشده تکیه کند.
Fabric در حال حاضر یک سرویس سفارش CFT را بر اساس کتابخانه etcd پروتکل Raft ارائه می دهد. برای اطلاعات در مورد خدمات سفارش در حال حاضر موجود، مستندات مفهومی ما را در مورد سفارش بررسی کنید.
همچنین توجه داشته باشید که اینها متقابل نیستند. یک شبکه فابریک میتواند چندین سرویس سفارشدهی داشته باشد که از برنامههای کاربردی یا الزامات برنامههای مختلف پشتیبانی میکند.
عملکرد یک پلت فرم بلاک چین می تواند تحت تأثیر متغیرهای زیادی مانند اندازه تراکنش، اندازه بلوک، اندازه شبکه، و همچنین محدودیت های سخت افزاری و غیره قرار گیرد. گروه کاری Hyperledger Fabric Performance and Scale در حال حاضر بر روی یک چارچوب معیار به نام Hyperledger Caliper کار می کند.
چندین مقاله تحقیقاتی در مورد مطالعه و آزمایش قابلیت های عملکرد Hyperledger Fabric منتشر شده است. آخرین مقیاس Fabric به 20000 تراکنش در ثانیه.
هر گونه ارزیابی جدی از پلتفرم های بلاک چین باید Hyperledger Fabric را در لیست کوتاه خود قرار دهد.
در مجموع، قابلیتهای متمایز Fabric آن را به یک سیستم بسیار مقیاسپذیر برای بلاکچینهای مجاز تبدیل میکند که از مفروضات اعتماد انعطافپذیر پشتیبانی میکند و این پلتفرم را قادر میسازد تا طیف گستردهای از موارد استفاده صنعتی از دولت، مالی، تدارکات زنجیره تامین، مراقبتهای بهداشتی و غیره را پشتیبانی کند. خیلی بیشتر.
هایپرلجر فابریک فعال ترین پروژه هایپرلجر است. جامعه سازی در اطراف پلتفرم به طور پیوسته در حال رشد است و نوآوری ارائه شده با هر نسخه متوالی از سایر پلتفرم های بلاک چین سازمانی بسیار بیشتر است.
اولین نسخه اصلی Hyperledger Fabric از نسخه 1.0، Fabric v2.0 ویژگیها و تغییرات مهم جدید را برای کاربران و اپراتورها به طور یکسان ارائه میکند، از جمله پشتیبانی از برنامههای کاربردی جدید و الگوهای حفظ حریم خصوصی، حاکمیت بهبود یافته پیرامون قراردادهای هوشمند، و گزینههای جدید برای گرههای عملیاتی.
هر نسخه جزئی v2.x بر اساس نسخه نسخه 2.0 با ویژگی های جزئی، بهبودها و رفع اشکال ساخته شده است.
v2.2 اولین نسخه پشتیبانی طولانی مدت (LTS) Fabric v2.x است. تا زمانی که نسخه بعدی LTS اعلام شود، رفع مشکل در جریان انتشار v2.2.x ارائه خواهد شد.
بیایید نگاهی به برخی از نکات برجسته نسخه Fabric v2.0 بیندازیم…
Fabric v2.0 حاکمیت غیرمتمرکز را برای قراردادهای هوشمند با فرآیند جدیدی برای نصب یک کد زنجیره ای روی همتایان خود و شروع آن در یک کانال معرفی می کند. چرخه حیات کد زنجیرهای جدید Fabric به چندین سازمان اجازه میدهد تا قبل از اینکه بتوان از آن برای تعامل با دفتر کل استفاده کرد، در مورد پارامترهای یک کد زنجیرهای، مانند خطمشی تأیید کد زنجیرهای، به توافق برسند. مدل جدید چندین پیشرفت را نسبت به چرخه عمر قبلی ارائه می دهد:
سازمانهای متعدد باید با پارامترهای یک کد زنجیرهای موافقت کنند در نسخههای 1.x Fabric، یک سازمان توانایی تنظیم پارامترهای یک کد زنجیرهای (مثلاً خطمشی تأیید) را برای همه اعضای کانال دیگر داشت، که فقط قدرت انجام آن را داشتند. از نصب کد زنجیره ای خودداری کرده و در نتیجه در تراکنش های فراخوانی آن شرکت نکنید. چرخه حیات کد زنجیرهای فابریک جدید انعطافپذیرتر است زیرا هم از مدلهای اعتماد متمرکز (مانند مدل چرخه عمر قبلی) و هم از مدلهای غیرمتمرکز پشتیبانی میکند که به تعداد کافی سازمان نیاز دارد تا قبل از فعال شدن کد زنجیرهای، روی یک خطمشی تأیید و جزئیات دیگر توافق کنند.
در یک کانال فرآیند ارتقا عمدیتر کد زنجیرهای در چرخه حیات کد زنجیرهای قبلی، تراکنش ارتقا میتوانست توسط یک سازمان صادر شود و برای عضو کانالی که هنوز کد زنجیرهای جدید را نصب نکرده است، خطر ایجاد کند. مدل جدید امکان ارتقاء یک کد زنجیره ای را تنها پس از تأیید تعداد کافی سازمان برای ارتقاء فراهم می کند.
خطمشی تأیید سادهتر و بهروزرسانیهای جمعآوری دادههای خصوصی چرخه عمر فابریک به شما امکان میدهد خطمشی تأیید یا پیکربندی جمعآوری دادههای خصوصی را بدون نیاز به بستهبندی مجدد یا نصب مجدد کد زنجیرهای تغییر دهید. کاربران همچنین میتوانند از یک خطمشی تأیید پیشفرض جدید که به تأیید اکثریت سازمانهای موجود در کانال نیاز دارد، استفاده کنند. هنگامی که سازمانها از کانال اضافه یا حذف میشوند، این خطمشی بهطور خودکار بهروزرسانی میشود.
بستههای کد زنجیرهای قابل بازرسی بستههای چرخه حیات فابریک، کد زنجیرهای را در فایلهای tar به راحتی قابل خواندن قرار میدهند. این امر بازرسی بسته کد زنجیره ای و هماهنگی نصب را در چندین سازمان آسان تر می کند.
راه اندازی چند کد زنجیره ای در یک کانال با استفاده از یک بسته چرخه حیات قبلی هر کد زنجیره ای را در کانال با استفاده از نام و نسخه ای که هنگام نصب بسته زنجیره کد مشخص شده بود، تعریف می کرد. اکنون میتوانید از یک بسته زنجیرهای استفاده کنید و آن را چندین بار با نامهای مختلف در یک کانال یا کانالهای مختلف مستقر کنید. برای مثال، اگر میخواهید انواع مختلف داراییها را در «کپی» خود از کد زنجیرهای ردیابی کنید.
نیازی نیست که بستههای کد زنجیرهای در بین اعضای کانال یکسان باشند، سازمانها میتوانند یک کد زنجیرهای را برای موارد استفاده خودشان گسترش دهند، به عنوان مثال برای انجام اعتبارسنجیهای مختلف به نفع سازمانشان. تا زمانی که تعداد مورد نیاز سازمان تراکنشهای کد زنجیرهای را با نتایج منطبق تأیید میکنند، تراکنش تأیید شده و به دفتر کل متعهد میشود. این همچنین به سازمانها اجازه میدهد تا بهصورت جداگانه اصلاحات جزئی را در برنامههای خود بدون نیاز به کل شبکه برای ادامه در مرحله قفل انجام دهند.
برای استقرار Fabric موجود، میتوانید به استفاده از چرخه حیات کد زنجیرهای قبلی با Fabric v2.x ادامه دهید. چرخه حیات کد زنجیره ای جدید تنها زمانی مؤثر خواهد بود که قابلیت برنامه کانال به نسخه 2.0 به روز شود. برای مروری بر چرخه حیات کد زنجیره ای جدید، مبحث مفهوم چرخه حیات کد زنجیره ای Fabric را ببینید.
همان روشهای غیرمتمرکز توافق که زیربنای مدیریت چرخه حیات کد زنجیرهای جدید است، میتواند در برنامههای کاربردی کد زنجیرهای خودتان نیز مورد استفاده قرار گیرد تا اطمینان حاصل شود که سازمانها قبل از تعهد به دفتر کل، با تراکنشهای داده موافقت میکنند.
چکهای خودکار همانطور که در بالا ذکر شد، سازمانها میتوانند چکهای خودکار را به عملکردهای کد زنجیرهای اضافه کنند تا اطلاعات اضافی را قبل از تأیید پیشنهاد معامله تأیید کنند.
توافق غیرمتمرکز تصمیمات انسانی را می توان در یک فرآیند زنجیره ای که چندین تراکنش را در بر می گیرد، مدل سازی کرد. کد زنجیره ای ممکن است از بازیگران سازمان های مختلف بخواهد که شرایط و ضوابط توافق خود را در یک معامله دفتر کل نشان دهند. سپس، یک پیشنهاد نهایی کد زنجیره ای می تواند تأیید کند که شرایط همه تراکنش های منفرد برآورده شده اند، و تراکنش تجاری را با قطعیت در همه اعضای کانال “تسویه” می کند. برای مثال عینی از نشان دادن شرایط و ضوابط به صورت خصوصی، سناریوی انتقال دارایی را در اسناد داده های خصوصی ببینید.
Fabric v2.0 همچنین الگوهای جدیدی را برای کار با دادههای خصوصی و اشتراکگذاری آنها، بدون نیاز به ایجاد مجموعههای داده خصوصی برای همه ترکیبی از اعضای کانال که ممکن است بخواهند انجام دهند، فعال میکند. به طور خاص، به جای اشتراک گذاری داده های خصوصی در مجموعه ای از چندین عضو، ممکن است بخواهید داده های خصوصی را در بین مجموعه ها به اشتراک بگذارید، جایی که هر مجموعه ممکن است شامل یک سازمان یا شاید یک سازمان منفرد به همراه یک تنظیم کننده یا حسابرس باشد.
چندین پیشرفت در Fabric v2.x این الگوهای داده خصوصی جدید را ممکن میسازد:
اشتراکگذاری و تأیید دادههای خصوصی وقتی دادههای خصوصی با یکی از اعضای کانال که عضو یک مجموعه نیست، یا با مجموعه دادههای خصوصی دیگری که شامل یک یا چند عضو کانال است (با نوشتن کلید آن مجموعه) به اشتراک گذاشته میشود، طرفهای دریافتکننده میتواند از API کد زنجیرهای GetPrivateDataHash() استفاده کند تا تأیید کند که دادههای خصوصی با هشهای درون زنجیرهای که از دادههای خصوصی در تراکنشهای قبلی ایجاد شدهاند مطابقت دارند.
خطمشیهای تأیید سطح مجموعه مجموعههای دادههای خصوصی را اکنون میتوان به صورت اختیاری با یک خطمشی تأیید تعریف کرد که خطمشی تأیید سطح کد زنجیرهای را برای کلیدهای درون مجموعه لغو میکند. این ویژگی میتواند برای محدود کردن سازمانهایی که میتوانند دادهها را در یک مجموعه بنویسند استفاده شود، و چیزی است که چرخه حیات کد زنجیرهای و الگوهای کاربردی کد زنجیرهای که قبلا ذکر شد را فعال میکند. به عنوان مثال، ممکن است شما یک خط مشی تأیید کد زنجیره ای داشته باشید که اکثریت سازمان ها را ملزم به تأیید آن می کند، اما برای هر تراکنش معین، ممکن است به دو سازمان تراکنش نیاز داشته باشید که به صورت جداگانه توافق خود را در مجموعه داده های خصوصی خودشان تأیید کنند.
مجموعههای ضمنی برای هر سازمان اگر میخواهید از الگوهای داده خصوصی برای هر سازمان استفاده کنید، حتی نیازی به تعریف مجموعهها در هنگام استقرار کد زنجیرهای در Fabric v2.x ندارید. مجموعه های ضمنی خاص سازمان را می توان بدون هیچ تعریف اولیه استفاده کرد.
برای کسب اطلاعات بیشتر در مورد الگوهای جدید داده های خصوصی، به داده های خصوصی (اسناد مفهومی) مراجعه کنید. برای جزئیات در مورد پیکربندی مجموعه داده های خصوصی و مجموعه های ضمنی، به داده های خصوصی (اسناد مرجع) مراجعه کنید.
ویژگی راهانداز کد زنجیرهای خارجی به اپراتورها این امکان را میدهد تا با فناوری انتخابی خود کد زنجیرهای بسازند و راهاندازی کنند. استفاده از سازندگان و راهاندازهای خارجی الزامی نیست زیرا رفتار پیشفرض کد زنجیرهای را به همان شیوهای که نسخههای قبلی با استفاده از Docker API میسازد و اجرا میکند.
حذف وابستگی Docker Daemon نسخههای قبلی Fabric به همتایان نیاز داشت که به منظور ساخت و راهاندازی کد زنجیرهای به شبح داکر دسترسی داشته باشند – چیزی که ممکن است در محیطهای تولید به دلیل امتیازات مورد نیاز فرآیند همتا مطلوب نباشد.
جایگزینهای کانتینرها دیگر نیازی به اجرای کد زنجیرهای در کانتینرهای Docker نیست و ممکن است در محیط انتخابی اپراتور (از جمله کانتینرها) اجرا شود.
فایلهای اجرایی سازنده خارجی یک اپراتور میتواند مجموعهای از فایلهای اجرایی سازنده خارجی را فراهم کند تا نحوه ساخت و راهاندازی کد زنجیرهای توسط همتایان را نادیده بگیرد.
کد زنجیره ای به عنوان یک سرویس خارجی به طور سنتی، کدهای زنجیره ای توسط همتا راه اندازی می شوند و سپس دوباره به همتا متصل می شوند. اکنون میتوان Chaincode را به عنوان یک سرویس خارجی اجرا کرد، به عنوان مثال در یک Kubernetes pod، که یک همتا میتواند به آن متصل شود و برای اجرای کد زنجیرهای از آن استفاده کند. برای اطلاعات بیشتر به Chaincode به عنوان یک سرویس خارجی مراجعه کنید.
برای کسب اطلاعات بیشتر در مورد ویژگی راهانداز خارجی کد زنجیرهای، به سازندگان و راهاندازهای خارجی مراجعه کنید.
حافظه پنهان پایگاه داده را برای بهبود عملکرد در CouchDB قرار دهید
هنگام استفاده از پایگاه داده حالت خارجی CouchDB، تاخیرهای خواندن در مراحل تایید و اعتبار سنجی از لحاظ تاریخی یک گلوگاه عملکرد بوده است.
با Fabric v2.0، یک حافظه نهان مشابه جدید بسیاری از این جستجوهای گران قیمت را با خواندن سریع حافظه نهان محلی جایگزین می کند. اندازه کش را می توان با استفاده از ویژگی core.yaml cacheSize پیکربندی کرد.
پیشنهاد ویژه: آموزش بلاکچین
با شروع نسخه 2.0، تصاویر Hyperledger Fabric Docker از Alpine Linux، یک توزیع لینوکس سبک و مبتنی بر امنیت استفاده خواهند کرد. این بدان معنی است که تصاویر Docker اکنون بسیار کوچکتر هستند و زمان دانلود و راه اندازی سریعتر را فراهم می کنند و همچنین فضای دیسک کمتری را در سیستم های میزبان اشغال می کنند. آلپاین لینوکس از ابتدا با در نظر گرفتن امنیت طراحی شده است و ماهیت مینیمالیستی توزیع Alpine تا حد زیادی خطر آسیب پذیری های امنیتی را کاهش می دهد.
مخزن نمونه پارچه اکنون شامل یک شبکه آزمایشی Fabric جدید است. شبکه آزمایشی به عنوان یک نمونه ماژولار و کاربرپسند شبکه فابریک ساخته شده است که آزمایش برنامه ها و قراردادهای هوشمند را آسان می کند. این شبکه همچنین از توانایی استقرار شبکه شما با استفاده از مقامات صدور گواهی، علاوه بر کریپتوژن پشتیبانی می کند.
برای اطلاعات بیشتر در مورد این شبکه، Using the Fabric test network را بررسی کنید.
یک نسخه جدید بزرگ ملاحظات ارتقاء اضافی را به همراه دارد. با این حال مطمئن باشید که ارتقاءهای رولینگ از v1.4.x به v2.0 پشتیبانی میشوند، به طوری که اجزای شبکه را میتوان یکی یکی بدون هیچ خرابی ارتقا داد.
اسناد ارتقاء به طور قابل توجهی گسترش یافته و دوباره کار شده اند، و اکنون یک خانه مستقل در اسناد دارند: ارتقاء به آخرین نسخه. در اینجا اسنادی در مورد ارتقاء اجزای خود و به روز رسانی سطح قابلیت یک کانال، و همچنین نگاهی خاص به ملاحظات ارتقاء به v2.x، ملاحظات برای رسیدن به v2.x خواهید دید.
یادداشت های انتشار جزئیات بیشتری را برای کاربرانی که به نسخه جدید منتقل می شوند، ارائه می دهد. به طور خاص، نگاهی به تغییرات و حذف های اعلام شده در هر یک از نسخه های v2.x بیندازید.