Follow Us
Facebooktwitteryoutube
YouTube
Promo
banner
Promo
banner

اجماع مقیاس گذاری برای شرکت: توضیح الگوریتم IBFT

وبلاگ 1NewsD DevelopersEnterpriseBlockchain ExplainedEvent ها و کنفرانس ها Pressخبرنامه ها

مشترک شدن در خبرنامه ما.

آدرس ایمیل

ما به حریم خصوصی شما احترام می گذاریم

صفحه اصلی وبلاگ بلاک چین

اجماع مقیاس گذاری برای شرکت: توضیح الگوریتم IBFT

چگونه تحمل خطای بیزانس استانبول (IBFT) وضعیت نهایی را بهبود می بخشد و باعث افزایش توان در شبکه های خصوصی Ethereum می شود. توسط ConsenSys 22 ژوئن 2018 ارسال شده در 22 ژوئن 2018

قهرمان اتریوم ConsenSys

الگوریتم های اجماع یکی از اصلی ترین نوآوری های بلاکچین و در عین حال گیج کننده ترین آنها است. Satoshi Nakamoto نسخه ای از Proof of Work (PoW) را ایجاد کرد که به عنوان ابزاری برای ایمن سازی همزمان و اعتبار سنجی معاملات بیت کوین به کار گرفته شد. جامعه بلاکچین بر اساس این چشم انداز اصلی ایجاد یک سوپ الفبا از Proof of Stake (PoS) ، Proof of Authority (PoA) ، PBFT (Practical Byzanine Fault Tolerant) و بسیاری دیگر که همه برای ایجاد توافق در یک توزیع شده طراحی شده اند. سیستم ، ایجاد منبع واحد از حقیقت که بلاکچین را بسیار با ارزش می کند.

IBFT (تحمل خطای بیزانس استانبول) سازوکاری اجماعی است که جایگزینی برای اثبات کار در یک شبکه Ethereum است. IBFT مانند سایر الگوریتم ها ، سفارش واحد توافق شده برای معاملات در بلاکچین را تضمین می کند و مزایای بیشتری را برای شرکت ها از جمله نهایی بودن تسویه فراهم می کند. IBFT بود توسط Amis Technologies برای اولین بار در گت اجرا شد, و بلافاصله پس از اجرا در حد نصاب.

قبل از شروع به کار در مکانیسم اجماع IBFT ، لازم به ذکر است که چه کسی و چه کسی می خواهد از IBFT استفاده کند. در یک زنجیره بلوکی عمومی ، پاسخ کوتاه احتمالاً احتمالاً این کار را نمی کند. اما وقتی صحبت از بلاک چین های کنسرسیوم یا خصوصی می شود ، IBFT کاملاً جذاب به نظر می رسد.

الگوریتم PoW ، هم در سخت افزار و هم در برق بسیار پر هزینه است. این هزینه عمدی است ، برای جلوگیری از تسخیر راحت شبکه توسط کسی و بنابراین PoW برای موقعیت هایی با تمرکززدایی کامل که هرکسی (از جمله مهاجمان) می تواند در آن مشارکت کند بسیار مناسب است. گره های موجود در زنجیره های کنسرسیوم / خصوصی که توسط بنگاه های اقتصادی استفاده می شود ، ذاتاً از آنچه در یک زنجیره عمومی وجود دارد ، اعتماد بیشتری دارند. به همین ترتیب ، سازوکار اجماع PoW ممکن است بیش از حد سنگین باشد و سایر مکانیسم ها اعتماد “کافی” برای اجرای یک سیستم توزیع شده را فراهم کنند.

اثبات سهام ، به همین ترتیب ، ممکن است برای شرکت ها کمتر مورد توجه باشد ، زیرا پرداخت هزینه گاز در شبکه مجاز از اهمیت کمتری برخوردار است. از آنجا که گره ها (لزوما) نیازی به حفظ ارز در شبکه ندارند ، PoS نیازهای اضافی را وارد می کند.

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

IBFT یکی از بسیاری از طعم دهنده های PoA است و مزایای زیر را فراهم می کند:

  • نهایی بلوک فوری. فقط 1 بلوک در یک ارتفاع زنجیره مشخص وجود دارد. بنابراین زنجیره واحد چنگال ، بلوک های دایی را از بین می برد و این خطر را دارد که یک معامله بعداً روی زنجیره “لغو شود”.
  • زمان بین بلوک ها کاهش یافته است. تلاش مورد نیاز برای ساخت و اعتبارسنجی بلوک ها به طور قابل توجهی کاهش می یابد (به ویژه با توجه به PoW) ، که باعث افزایش قابل توجه توان زنجیره ای می شود.
  • یکپارچگی داده ها و تحمل خطا. IBFT برای اطمینان از صحت و سقم هر بلوک پیشنهادی ، از یک گروه اعتبارسنج استفاده می کند. قبل از قرار دادن در زنجیره ، اکثریت اکثریت (66 ~)) از این اعتبارسنجان لازم است که بلوک را امضا کنند ، جعل بلوک بسیار دشوار است. “رهبری” گروه نیز با گذشت زمان می چرخد ​​- اطمینان از اینکه گره معیوبی نمی تواند تأثیر طولانی مدت بر زنجیره بگذارد.
  • از نظر عملیاتی انعطاف پذیر است. گروه اعتبارسنج ها می توانند به موقع اصلاح شوند ، اطمینان حاصل شود که گروه فقط شامل گره های کاملاً مطمئن است.

در اینجا ما نمای کلی از IBFT را ارائه می دهیم ، به عبارتی عمدتا غیر فنی. برای برخی از پیشنهادهای اصلی IBFT ، می توانید EIP ها را در GitHub مرور کنید:

برای ادامه این مقاله ، ما بیشتر ملاحظات فنی IBFT را بررسی خواهیم کرد ، در مورد بسیاری از مفاهیم موجود در EIP و اینکه ما از طریق تحقیقات خود آموخته ایم ، بحث خواهیم کرد.


توجه: کد IBFT را می توان در درخواست کشش اتریوم شماره 16385 نیز یافت.

عمل

سازوکار اجماع IBFT شامل اجزای زیر است:

  1. آ PBFT الهام گرفته از مدل اجماع گروه.
  2. فرایندی که به موجب آن می توان اعضا را از گروه اعتبارسنج اضافه یا حذف کرد.

IBFT برای پشتیبانی از همه وجوه قابلیت نیاز به (زیركانه) تغییر مجدد Block Header دارد.

مدل اجماع گروهی

بررسی اجمالی

IBFT برای تعیین اینکه آیا یک بلوک پیشنهادی برای افزودن به زنجیره مناسب است ، از یک گره معتبر (Validators) که در شبکه Ethereum کار می کنند استفاده می کند..

یک گره از Validators به ​​دلخواه به عنوان پیشنهاد دهنده انتخاب می شود و مسئولیت ساخت بلوک در فاصله بلوک و به اشتراک گذاری بلوک گفته شده با گروه را دارد. اگر اکثریت معتبر اعتبارسنج ها بلوک را معتبر بدانند ، به بلاکچین اضافه می شود.

با اتمام دور اجماع ، اعتبار سنج ها می توانند پیشنهاد دهنده جدیدی را انتخاب کنند که مسئولیت تأمین بلوک نامزد را در فاصله بلوک بعدی داشته باشد.

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

اگر یک بلوک وارد نشود ، پیشنهاد دهنده تغییر می کند و روند از نو شروع می شود.

برای اطمینان از پیوستن فقط یک بلوک به دستگاه دولتی ، IBFT مانع از تغییر بلوک پیشنهادی می شود وقتی اکثر اکثر معتبرین با درج آن موافقت کردند (اما کار انجام نشده است) ، از این فرآیند به عنوان “قفل بلوک”.

سازوکار اجماع IBFT پایداری سیستم را ارائه می دهد به شرطی که کمتر از 1/3 گره های معتبر رفتار نادرستی داشته باشند (یا به دلیل به خطر افتادن یا به دلیل کد نادرست). یعنی برای تحمل گره های معیوب F ، گروه اعتبارسنجی باید حداقل شامل 3 گره + 1F باشد (بیشتر از این باعث افزایش یکپارچگی سیستم نمی شود).

توجه: در اینجا F به معنای تعداد گره های معیوب است که توسط سیستم تحمل می شوند.

ماشین دولتی

دستگاه دولتی IBFT

ایالت ها
  • در انتظار پیشنهاد. اعتبارسنج منتظر تأمین بلوک جدیدی توسط پیشنهاد دهنده فعلی است. اگر اعتبارسنج پیشنهاد دهنده این دور باشد ، آنها بلوک پیشنهادی را تهیه می کنند و آن را در یک پیام از قبل آماده می کنند.
  • مهیا کردن. یک بلوک پیشنهادی (معتبر) دریافت کرده و از اعتبار سنجی های معتبر مطلع شده است. اکنون منتظر تأییدکنندگان نظیر است تا پذیرش بلوک را مطلع کنند.
  • آماده. پذیرش بلوک اعتبار سنجی را دریافت کرده است و منتظر است تا موقعیت مشابهی داشته باشند. در این مرحله بلوک پیشنهادی “قفل شده” است و تا زمانی که تلاش برای وارد کردن انجام نشود ، نمی توان آن را جایگزین کرد.
  • تغییر دور. قبل از رسیدن به اجماع یا درج بلوک ناموفق بود. منتظر بمانید تا همه اعتبارسنج ها در مورد شماره دور بعدی به توافق برسند.
انتقال
  1. آانتظار پیشنهاد → آماده سازی. هنگام دریافت بلوک جدید (آماده کردن پیام) از طرف پیشنهاد دهنده (به عنوان مثال بلوک در محتوای آن معتبر است ، همانند نقطه درج زنجیره پیشنهادی آن).
  2. در انتظار پیشنهاد → تغییر دور. پیشنهاد دریافتی طبق مجموعه ای از قوانین مشخص بلوک معتبری نبود (به عنوان مثال پیشنهاد دهنده نامعتبر ، شماره گذاری دور اشتباه).
  3. در حال آماده سازی → آماده. در هنگام دریافت اعلان های 2F + 1 (آماده کردن پیام) از طرفین اعتبار سنج که نشان می دهد بلوک پیشنهادی برای درج مناسب است.
  4. آماده → در انتظار پیشنهاد. هنگام دریافت اعلان های 2F + 1 (پیام تعهد) از طرفین اعتبار سنج ، نشان می دهد که آنها آماده پیوست بلوک به زنجیره هستند. هنگام انتقال ، فرآیند الحاق بلوک به زنجیره انجام می شود (موفقیت).
  5. آماده → تغییر دور. مطابق آماده->اما در انتظار پیشنهاد ، درج بلوک ناموفق است.
  6. تغییر دور → در انتظار پیشنهاد. اعتبار سنج 2F + 1 در مورد شماره دور بعدی مورد استفاده توافق دارند.

توجه: تمام انتقالها به “RoundChange” منجر به ارسال اعتبارسنج پیام “RoundChange” به معتبران مشابه خود می شود.

قفل کردن بلوک

IBFT دستور می دهد که چنگال ایجاد نشود. برای این منظور ، هنگامی که یک بلوک با اکثریت موافقت کرد (به عنوان مثال هنگام ورود به کشور آماده) ، “قفل می شود”.

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

عضویت در گروه اعتبار سنجی

اعضای گروه اعتبار سنجی ممکن است با گذشت زمان از طریق مکانیزم رأی گیری تغییر کنند. اعضا می توانند از طریق اکثریت آرا ((طبقه (N / 2) + 1) رأی اضافه یا حذف شوند. هر رأی در Block Header گرفته می شود.

هر گره در شبکه (از جمله گره های غیر اعتبارسنج) مسئول ردیابی تعداد آرا برای هر اعتبار سنج برای تعیین اعتبار سنج های فعلی و اطمینان از امضاهای موجود در بلوک های استخراج شده در گروه مورد انتظار است..

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

هنگامی که یک گره به اکثریت آرا رسید ، آنها بلافاصله به گروه اعتبارسنجی می پیوندند / می روند.

IBFT یک دوره رأی گیری را به رسمیت می شناسد ، نقطه ای را مشخص می کند که در آن تمام آرا which که هنوز به اکثریت نرسیده اند حذف شود ، و مجبور می شود که تعداد رأی گیری مجدداً شروع شود. این امر به معنی شمارش آرا، است ، اعتبارسنج ها فقط باید از آخرین دوره شروع شوند. به طور پیش فرض ، دوره رأی گیری هر 30،000 بلوک برگزار می شود.

رأی ها تغییر حالت را تعریف می کنند (به عنوان مثال نامزدها رأی می دهند ، اعتبارسنج ها رأی می دهند) ، رأی ندادن به یک گره مشخص به این معنی است که اعتبار سنجی آرزو نمی کند گره تغییر حالت دهد (برای حفظ وضعیت موجود رأی صریح لازم نیست).

بلاک هدر بلوک

برای پشتیبانی از IBFT در Ethereum باید تعدادی تغییر در عناوین بلوک ایجاد شود. این تغییرات شامل موارد زیر است:

  • ذینفع: گره ای را که برای آن رأی گیری می شود مشخص می کند.
  • nonce: رأی “جهت” – AUTH یا DROP را مشخص می کند.
  • mixHash: عدد جادویی afixed ، شناسایی این بلوک به عنوان IBFT معتبر.
  • ommersHash: باید هش یک مجموعه خالی باشد ، زیرا هنگام کار با IBFT هیچ بلوک ommer وجود ندارد.
  • timestamp: باید حداقل مهر زمان + بلوک بلوک والدین باشد.
  • دشواری: باید با 0x000000000000000001 پر شود.
  • extraData: شامل داده های خاص IBFT شامل لیست آدرس های اعتبارسنج ، ProposerSeal (پیشنهاد دهنده را مشخص می کند) ، CommittingSeals (لیستی از اعتبارسنج ها که گزارش “مرتکب شدن” در این بلوک را داده اند).

از آنجا که لیست CommittingSeals برای هر اعتبار سنج (به طور بالقوه) متفاوت است ، مهم است که هش بلوک شامل این اطلاعات نباشد – یعنی حتی اگر دو بلوک دارای زمینه های CommittingSeals متفاوت باشند ، آنها نمایانگر همان اطلاعات هستند (یعنی معاملات و غیره یکسان هستند).

نتیجه

در پایان ، IBFT یک راه حل متحمل به عیب بیزانس است که ارائه می دهد تراکنش فوری که زیرساخت های مورد نیاز PoW را کاهش می دهد.

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

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

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

راهنمای کامل شبکه های تجاری Blockchain

مقدمه ای بر نشانه گذاریوبینار

مقدمه ای بر نشانه گذاری

آینده دارایی های دیجیتال مالی و DeFiوبینار

آینده مالی: دارایی های دیجیتال و DeFi

Enterprise Ethereum چیستوبینار

Enterprise Ethereum چیست?

بانکهای مرکزی و آینده پولکاغذ سفید

بانکهای مرکزی و آینده پول

Blockchain Komgo برای امور مالی تجارت کالامورد مطالعه

Komgo: Blockchain برای امور مالی تجارت کالا

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Adblock
detector