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

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

الگوريتم اجماع 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) نيز ناميده مي شوند. كه مسئول دستيابي به اتفاق نظر در هنگام توليد و اعتبارسنجي بلوك هاي جديد هستند.

 

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

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

۱۸ بازديد

 

 

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

 

بلاكچين يك شركت نيست و يك برنامه هم نيست ، بلكه روشي كاملاً جديد براي ثبت اطلاعات در اينترنت است.

 

از اين فناوري مي توان براي توسعه برنامه هاي بلاكچين ، مانند شبكه هاي اجتماعي ، پيام رسان ها ، بازي ها ، مبادلات ، سيستم عامل هاي ذخيره سازي ، سيستم هاي رأي گيري ، بازارهاي پيش بيني ، فروشگاه هاي آنلاين و موارد ديگر استفاده كرد. از اين لحاظ ، بلاك چين شباهت به اينترنت دارد . به همين دليل برخي آن را “اينترنت 3.0” لقب داده اند.

چرا اجماع ضروري است؟

اطلاعات ثبت شده در زنجيره بلوك مي تواند به هر شكلي باشد . اعم از انتقال پول ، مالكيت ، معامله ، هويت شخص ، توافق بين دو طرف يا حتي ميزان برق مصرفي.

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

 

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

 

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

هر گره تراكنش را ثبت مي كند و آن را به نسخه دفتر خود اضافه مي كند. نسخه هاي مختلفي كه توسط گره هاي مختلف نگهداري مي شوند كمي متفاوت به نظر مي رسند. اگر در ايالات متحده هستيد و تراكنشي را پخش مي كنيد ، گره هايي كه به شما نزديك هستند زودتر از گره مستقر در آسيا آن را دريافت مي كنند.

 

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

مقايسه بلاكچين عمومي و خصوصي در يك نگاه

۱۷ بازديد

 

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

 

 

 

بلاكچين خصوصي

بلاكچين عمومي

متمركز غيرمتمركز
نياز به مجوز دارد permissioned نياز به مجوز ندارد Permissionless
دسترسي خواندن و نوشتن تنها براي نقش هاي خاص وجود دارد دسترسي خواندن و نوشتن براي همه  شركت كنندگان وجود دارد
شركت كنندگان همديگر را مي شناسند شركت كنندگان يكديگر را نمي شناسند
توكن هاي رمزنگاري شده ندارند توكن هاي رمزنگاري شده دارند
سرعت بالاتري دارند سرعت كمتر

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

 

proof of authority

Raft

Proof of Elapsed Time (PoET)

Istanbul BFT

 

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

 

proof of work

proof of stake

proof of space

proof of burn

و غيره ..

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


 


بيشتر بخوانيد :   انفجار قيمت بيتكوين در سال 2021/2022


 

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

انواع بلاكچين

۱۲ بازديد

 

اگرمي خواهيد در مورد انواع بلاكچين مطالب بيشتري بدانيد پس با ما همراه باشيد:

شكي نيست كه بلاكچين در دهه اخير بسيار پيشرفت كرده است. اين كار با بيت كوين آغاز شد كه بلاكچين عمومي را عرضه مي كند ( اولين نوع بلاكچين). مي توانيم بلاكچين بيت كوين را به عنوان اولين نسل فناوري بلاكچين بناميم.

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

چرا نياز به انواع مختلف بلاكچين وجود دارد؟

 

قبل از اينكه بحث اصلي در مورد انواع بلاكچين را شروع كنيم ، بياييد بررسي كنيم كه در وهله اول چرا به آنها نياز داريم؟وقتي فناوري بلاكچين به دنيا معرفي شد ، يك نوع بلاكچين عمومي مورد استفاده رمز ارزها بود.

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

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

به عنوان مثال ، بيت كوين از يك الگوريتم اجماع ناكارآمد(اثبات كار) استفاده كرد. به گره ها نياز داشت تا با استفاده از انرژي محاسبات رياضي را حل كنند.در ابتدا مشكلي نبود ، اما به محض افزايش سختي شبكه ، زمان و انرژي لازم براي حل آن معادلات رياضي نيز افزايش مي يافت.

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

 

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