الگوريتم اجماع

آموزش جامع بلاك چين و ارزهاي ديجيتال

الگوريتم اجماع RAFT چيست؟

۱ بازديد

 

 

الگوريتم اجماع RAFT براي بلاكچين هاي خصوصي و مجوزدار استفاده مي شود.

 

مقدمه و تاريخچه اي از RAFT

Raft الگوريتمي براي اجماع توزيع شده است كه توسط ديگو اونگارو (Diego Ongaro)و جان اوسترهوت (John Ousterhout)از دانشگاه استنفورد ايجاد شده است. عامل اصلي ايجاد Raft اين واقعيت بود كه Paxos ، اگرچه الگوريتم توافق توزيع شده استاندارد براي بيش از يك دهه بود ، اما درك آن بسيار سخت تلقي مي شد. بنابراين هدف نويسندگان ارائه يك الگوريتم توافق توزيع شده با درك آسان بود.

همچنين Raft يك الگوريتم اجماع براي مديريت تكثير داده ها است. كه نتيجه اي معادل Paxos توليد مي كند و به همان اندازه كارآمد است ، اما ساختار آن از Paxos متفاوت است طوري كه باعث مي شود Raft قابل درك تر از Paxos باشد و همچنين زمينه بهتري براي ساخت سيستم هاي عملي فراهم مي كند.

به منظور درك آسان  ، Raft عناصر اصلي اجماع ، مانند انتخاب رهبر(leader)  ، تكثير log ، و ايمني را از هم جدا مي كند ، و درجه انسجام بيشتري را براي كاهش تعداد  وضعيت هايي كه بايد در نظر گرفته شود ، اعمال مي كند. نتايج حاصل از مطالعات نشان مي دهد كه يادگيري Raft براي كاربران آسان تر از Paxos است.

 

نكته : لاگ  يك ساختار براي ذخيره سازي داده كه به صورت توالي كاملا مرتب شده بر اساس زمان است

 

 

اجماع و ماشين هاي حالت تكثير (Replicated state machines) در سيستم هاي توزيع شده

به طور خلاصه ، اجماع به اين معني است كه چندين گره توزيع شده در مورد وضعيت سيستم توافق دارند ، و حتي در صورت خرابي يك ماشين ، سيستم واحدي را به جهان خارج ارائه مي دهند. چنين عملكردي بسيار ارزشمند است ، زيرا به ما امكان مي دهد از يك ماشين نسبتاً غير قابل اعتماد (مستعد خرابي و خرابي) استفاده كنيم ، چندين نسخه از آن را مستقر كنيم و يك سيستم نسبتاً قابل اعتماد بدست آوريم ، كه مي تواند با خرابي ماشين هاي مختلف كنار بيايد.

 

 

 

جايگاه اجماع در ماشين هاي حالت تكثير

 

 

 

 

براي ارائه جزئيات بيشتر ، از مدلي به نام Replicated State Machines استفاده مي شود. منظور از ماشين وضعيت نوعي برنامه است كه به درخواست كلاينت خارجي پاسخ مي دهد. ماشين هاي حالت replicated به اين معني است كه با در دست گرفتن كنترل  يكي از ماشين هاي حالت و اجراي چندين نسخه از آن بر روي ساير ماشين ها ، قابليت اطمينان سيستم را افزايش مي دهيم. هدف اين است كه هر يك از ماشين هاي تكثير شده همان دستورات را به همان ترتيب اجرا كنند ، بنابراين وضعيت همه ماشينها همگام سازي مي شوند. سيستم تا زماني كه اكثر ماشين ها روشن باشند و در مورد وضعيت فعلي توافق داشته باشند ، فعال است.

 

 

وضعيت هاي يك گره

هر گره در cluster مي تواند در يكي از 3 حالت باشد: رهبر(leader) ، كانديد (candidate ) يا پيرو(follower)

  • Leader: يك گره فعال است كه در حال حاضر cluster را هدايت مي كند. درخواست هاي كلاينت را كنترل مي كند و وضعيت را در گره هاي follower  كپي يا تكثير مي كند.
  • كانديد(candidate ): گره فعالي است كه تلاش مي كند با ارسال درخواست رأي به ساير گره ها رهبر شود.
  • پيرو(follower): گره اي غيرفعال است كه فقط به RPCc پاسخ مي دهد و هيچ ارتباطي را آغاز نمي كند.

سيستم از وضعيت follower آغاز به كار مي كند.بعد از مدتي اگر follower چيزي از سمت ليدر دريافت نكند. به وضعيت كانديد مي رود.نودها براي انتخاب ليدر بعدي راي گيري مي كنند.داوطلبي كه بيشترين راي را بياورد ليدر بعدي خواهد بود.در غير اين صورت به وضعيت follower بر ميگردد.

 

 

 


بيشتر بخوانيد :   بلاك چين چگونه كار مي كند؟


 

 

 

 

 

انتخاب ليدر در اجماع Raft

 

 

 

زمان به چند دوره (Term) تقسيم مي شود. هر دوره با انتخاب رهبر آغاز مي شود و يك رهبر در تمام دوره سلطنت مي كند.هر دوره با اعداد صحيح مثبت نشان داده مي شوند . اگر گره اي (حتي رهبر) پيامي حاوي دوره زماني بالاتر از دوره خود دريافت كند ، بلافاصله به  وضعيت follower برمي گردد و شماره دوره خود را به روز مي كند. گره ها تعداد دوره هاي خود  را بر روي ديسك ذخيره مي كنند ، بنابراين در صورت خرابي يا راه اندازي مجدد مي توان آن را بازيابي كرد.

الگوريتم اجماع RAFT معمولا در بلاكچين هاي خصوصي و نيازمند به مجور دسترسي به كار گرفته مي‌‌شود.

مانند R3Corda  و Quorum

 

منبعfactcoins.com

اثبات زمان سپري شده (PoET) چيست؟

۷ بازديد

 

 

الگوريتم هاي اجماع بخشي اساسي از فناوري بلاكچين هستند. از آنها براي اطمينان از يكسان بودن “زنجيره اصلي” در هر گره از شبكه استفاده مي شود. كه اين امر منجر به يك وضعيت سازگار در بلاكچين مي شود. طبق گفته آندرياس آندوپولوس ( كارآفرين  در زمينه فناوري) ، الگوريتم هاي اجماع رشته جديدي را در زمينه علوم كامپيوتر شكل داده اند.در اين مقاله به بررسي اثبات زمان سپري شده  مي پردازيم.

.

 

معرفي الگوريتم اثبات زمان سپري شده (PoET)

PoET در سال 2016 توسط غول توليد تراشه (اينتل) به عنوان يك سازوكار اجماع كارآمد در درجه اول براي شبكه هاي بلاكچين مجاز توسعه داده شد. PoET اكنون الگوي اجماعي انتخابي براي چارچوب Hyperledger  است و ابزاري محبوب براي پياده سازي و آزمايش سيستم هاي توزيع شده است.

..

 

مقايسه با اثبات كار

اثبات زمان سپري شده (PoET) جايگزيني كارآمد براي اثبات كار (PoW) است. در مورد PoW ، براي ايجاد بلاك و انتشار پيام به ساير گره هاي شبكه ، نيازمند محاسبات هستيم. اين محاسبات گران قيمت هستند زيرا هزينه اي را براي برق استفاده شده توسط سخت افزار ويژه استخراج (كه به طور خاص براي محاسبه مقدار هش طراحي شده است) به منظور استخراج بلوك بعدي در بلاكچين متحمل مي شود. گره اي كه قادر به يافتن مقدار hash است ،پاداش مي گيرد.

بر خلاف اثبات كار ، در PoET ، يك تايمر تصادفي جداگانه كه به طور مستقل در هر گره كار مي كند ،اختصاص داده مي شود. اين تايمر تعيين مي كند كه كدام گره ، بلوك جديد بلاكچين را ايجاد مي كند. اين تصادفي سازي همچنين تضمين مي كند كه همه گره ها شانس يكسان براي برنده شدن دارند.

.

 

امنيت

الگوريتم PoET براي شبكه هاي بلاكچين مجاز است. به اين معني كه هنگام تلاش براي پيوستن به شبكه ، يك تأييد ويژه از يك گره مورد نياز است. اين تأييد با استفاده از فناوري Intel’s Guard Extension (SGX) اينتل كه براي اولين بار در سال 2015 ارائه شد ، حاصل مي شود. SGX يك تأييد براي يك قطعه كد ايجاد مي كند و از كد در برابر دسترسي خارجي محافظت مي كند.

.

 

 

بكارگيري الگوريتم در بلاكچين به چه صورت انجام مي شود؟

  • يك گره كد الگوريتم PoET را بارگيري مي كند و با استفاده از SGX يك تأييد (كليد) براي كد ايجاد مي كند.
  • گره هنگام درخواست ورود به شبكه ، اين كليد را به ساير گره ها ارسال مي كند. گره هايي كه از قبل بخشي از شبكه بودند ، اين كليد را تأييد مي كنند.
  • گره جديد اكنون تايمر خاص خود را دارد كه با مقدار تصادفي مقداردهي اوليه مي شود. اين تصادفي بودن توسط كد ارائه شده توسط SGX تضمين مي شود.
  •   تمام گره ها با يك زمان تصادفي مقداردهي اوليه مي شوند. اولين كسي كه تايمرش منقضي مي شود برنده مي شود. و مي تواند يك بلوك جديد ايجاد و آن را به بلاك چين فعلي متصل كند و پاداش مي گيرد. سپس ، گره ها دوباره مقداردهي اوليه مي شوند.

.

 

 

 

هر گره يك تايمر دارد و در زمان تعيين شده اجازه ايجاد بلاك دارد

 

.

 

اثبات زمان سپري شده (PoET) يك الگوريتم مكانيسم اجماع شبكه بلاكچين است كه از استفاده زياد منابع و مصرف زياد انرژي جلوگيري مي كند و با پيروي از يك سيستم قرعه كشي منصفانه روند را كارآمدتر نگه مي دارد. PoET از يك سيستم قرعه كشي پيروي مي كند كه شانس برنده شدن را به طور مساوي در بين شركت كنندگان شبكه گسترش مي دهد و به هر گره شانس برنده شدن يكسان را مي دهد.

.

 

طرز كار الگوريتم اثبات زمان سپري شده:

هر گره شركت كننده در شبكه بايد منتظر يك دوره زماني تصادفي انتخاب شده باشد ، و اولين گره اي كه زمان انتظارش تمام شد، برنده مي شود و مي تواند بلوك جديد را ايجاد كند. پس بلاكي كه كمترين زمان انتظار را داشته باشد بلاك جديد را به بلاكچين اضافه مي كند و اطلاعات لازم را در كل شبكه پخش مي كند. سپس همان فرآيند براي كشف بلوك بعدي تكرار مي شود.

.

 

 


بيشتر بخوانيد :   وايت پيپر مونرو – قسمت دوم


 

.

 

مزاياي اثبات زمان سپري شده (PoET)

در اين الگوريتم به جاي اينكه منابع دائما درگير استخراج باشند ، به پردازنده اجازه مي دهد تا به كارهاي ديگر بپردازد .و در زمان مشخص شده توسط تايمر درگير ايجاد بلاك شود.در نتيجه كارايي آن افزايش مي يابد.

اين روش شفافيت و قابليت اعتماد بالايي را در شبكه ايجاد مي كند و روشي كاملا منصفانه است.

PoET هزينه فرآيند اجماع را كنترل مي كند .

.

 

معايب اثبات زمان سپري شده

  • SGX يك فناوري ستودني و ابتكاري است ، اما پيشرفت هاي اخير به وضوح باعث نگراني در مورد استفاده از آن با اجماع PoET مي شود. اينتل احتمالاً مي تواند مسئله را در مورد آسيب پذيري حياتي حل كند ، اما نقطه ضعف در اينجا اعتماد آشكار و ضروري به امنيت سخت افزار تخصصي است.
  • SGX به طور كامل توسط اينتل توليد مي شود . بنابراين اعتماد به مدل اجماع به اينتل به عنوان يك شركت يا يك شخص ثالث گسترش مي يابد. كه اين موضوع در تناقض  با  از بين بردن واسطه ها در بلاكچين است.

الگوريتم اجماع تحمل خطاي بيزانس چيست؟

۶ بازديد

 

براي ايجاد هر نوع اعتماد در بلاكچين ، گره ها بايد در مورد پذيرش بلاك ها، در دفتركل توزيع شده ، به توافق برسند.در اين مقاله به بررسي الگوريتم تحمل خطاي بيزانس  مي پردازيم:

 

به طور كلي الگوريتم هاي اجماع به دو دسته تقسيم مي شوند:

  • الگوريتم هاي مبتني بر اثبات
  • الگوريتم هاي مبتني بر تحمل خطاي بيزانس مانند BPFT ، Ripple، Tendermind

.

 

الگوريتم هاي مبتني بر اثبات

در الگوريتم هاي مبتني بر اثبات ، استخراج كنندگان بايد ثابت كنند كه آنها مي توانند يك بلاك جديد ايجاد كنند. اثبات بايد توسط گره هاي ديگر قابل تأييد باشد. الگوريتم هاي مبتني بر اثبات مانند POW ، POS  ،DPOS ،POA،POE

.

 

الگوريتم هاي مبتني بر تحمل خطاي  بيزانس

الگوريتم هاي مبتني بر تحمل خطاي  بيزانس مانند BPFT ، Ripple،  Tendermind

مساله ژنرال هاي بيزانس مشكلي در علوم رايانه است كه دشواري رسيدن چندين گره در يك سيستم توزيع شده براي رسيدن به توافق را توصيف مي كند.

 .


مساله ژنرال هاي بيزانس به شرح زير است:

چندين ژنرال يك شهر را محاصره كرده اند. هر ژنرال ارتش خاص خود را دارد. چالش اين است كه ژنرال ها بايد در مورد چگونگي حمله به شهر به اتفاق نظر برسند. اگر آنها به توافق نرسند ، حمله آنها ناموفق خواهد بود. ژنرال ها بايد با پيام ارتباط برقرار كنند ، با اين حال ، اين پيام ها قابل اعتماد نيستند زيرا ممكن است پيام به ژنرال ديگر نرسد يا پيام جعل شود.

 

بنابراين دستيابي به توافق از اين طريق غيرممكن است. در شبكه هاي بلاكچين هم مشكل مشابه رخ مي دهد. كه گره ها با يكديگر ارتباط برقرار مي كنند و بايد به اجماع برسند. ممكن است به گره ها اعتماد نكنيد يا شبكه معيوب باشد. به همين دليل ، برخي از سيستم هاي زنجيره بلوك الگوريتم هاي اجماع مختلفي را براي غلبه بر اين چالش ها اعمال كرده اند

 

جهت مشاهده ادامه مقاله به آدرس وب سايت فكت كوينز مراجعه نماييد.

اثبات سهام واگذار شده يا اعطايي چيست؟

۴ بازديد

.

 

 

براي درك چگونگي عملكرد اثبات سهام واگذار شده يا اعطايي، ابتدا بايد اصول الگوريتم هاي اثبات كار و اثبات سهام را كه در مقالات قبل ذكر شده  مطالعه كنيد.

بسياري از افراد الگوريتم اجماع اثبات سهام واگذار شده يا اعطايي (DPoS) را نسخه كارآمدتر از  PoS مي دانند. PoS و DPoS به عنوان جايگزيني براي الگوريتم اجماع اثبات كار مورد استفاده قرار مي گيرند ، زيرا يك سيستم PoW ، به منابع خارجي زيادي نياز دارد.

الگوريتم اثبات كار براي ايجاد يك دفتر توزيع پذير ، غيرمتمركز و شفاف مقدار زيادي كار محاسباتي انجام مي دهد. در مقابل ، PoS و DPoS به منابع كمتري احتياج دارند و بر اين اساس ، پايدارتر و سازگار با محيط زيست هستند.

 

تاريخچه الگوريتم اجماع اثبات سهام اعطايي

الگوريتم توافق اثبات سهام (DPoS) توسط دنيل لاريمر( Daniel Larimer )، در سال 2014 ساخته شده است. Bitshares ، Steem ، Ark و Lisk برخي از پروژه هاي ارزهاي رمزپايه هستند كه از الگوريتم اجماع DPoS استفاده مي كنند.

 


در اين روش دارندگان سهام ديگر معتبر بودن بلاكها را تاييد نمي كنند بلكه نمايندگاني را از طريق راي گيري انتخاب مي كنند تا كار اعتبار سنجي بلاك ها را انجام دهند.


.

الگوريتم اجماع اثبات سهام اعطايي چگونه كار مي كند؟

يك بلاكچين مبتني بر DPoS بر اساس يك سيستم رأي گيري كار مي كند كه در آن ذينفعان كار خود را به شخص ثالث واگذار مي كنند. به عبارت ديگر ، آنها قادر به راي دادن به چند نماينده هستند كه شبكه را از طرف آنها امن مي كند. اين نمايندگان ، شاهد(witnesses) نيز ناميده مي شوند. كه مسئول دستيابي به اتفاق نظر در هنگام توليد و اعتبارسنجي بلوك هاي جديد هستند.

 

جهت مشاهده ادامه مقاله به آدرس وب سايت فكت كوينز مراجعه نماييد