''فکت کوینز'' حاصل تلاش یک تیم متخصص وعلاقمند درزمینه بلاک چین وارزهای دیجیتال است که سعی می کند مقالات آموزش های مرتبط را با کیفیت بالا به علم اندوزان ارائه نماید وب سایت www.factcoins.com
تئوری CAP و بلاکچین
تئوری CAP که به عنوان قضیه Brewer نیز شناخته می شود ، توسط Eric Brewer در سال 1998 به عنوان یک نظریه مطرح شد. در سال 2002 ، توسط Seth Gilbertو Nancy Lynchبه عنوان یک قضیه اثبات شد.
این تئوری شامل سه ویژگی زیر است:
سازگاری(consistency): سازگاری یک ویژگی است که اطمینان می دهد همه گره ها در یک سیستم توزیع شده یک کپی واحد و یکسان از داده ها دارند.
در دسترس بودن ( Availability) : به این معنی است که گره های موجود در سیستم ، برای استفاده در دسترس هستند و درخواست های دریافتی را می پذیرند و در صورت لزوم بدون هیچ گونه خطایی پاسخ می دهند. به عبارت دیگر ، داده ها در هر گره در دسترس هستند و گره ها به درخواست ها پاسخ می دهند.
تحمل پارتیشن ( Partition tolerance): تحمل پارتیشن اطمینان می دهد که اگر گروهی از گره ها به دلیل خرابی شبکه قادر به برقراری ارتباط با گره های دیگر نباشند ، سیستم توزیع شده به درستی به کار خود ادامه می دهد.
تئوری CAP بیان می کند که هر سیستم توزیع شده نمی تواند به طور همزمان از سه ویژگی سازگاری ، در دسترس بودن و تحمل پارتیشن برخوردار باشد و فقط امکان فراهم کردن دو گزینه وجود دارد.
انتخاب Availability و Partition:
انتخاب AP نشاندهنده این موضوع است که در دسترس بودن سیستم و سرعت بیشتر آن، اولویت بالاتری نسبت به ثبات اطلاعات در لحظه دارد.
انتخاب consistency و Partition:
انتخاب cp به معنی این است که سازگاری داده برای شما ارزش بیشتری دارد.
انتخاب AP یا CP کاملا به ماهیت برنامه و سیستم بستگی دارد.
به عنوان مثال تصور کنید که یک سیستم توزیع شده با دو گره وجود دارد. حال اجازه دهید سه ویژگی قضیه را در این سیستم توزیع شده ی کوچک متشکل از دو گره اعمال کنیم.
Consistency : اگر دو گره وضعیت مشترک و یکسانی داشته باشند ، سازگاری حاصل می شود. یعنی آنها کپی به روز از داده ها را دارند.
Availability: درصورتی که هر دو گره فعال باشند و با آخرین نسخه از داده ها به روز باشند،در دسترس بودن حاصل می شود.
Partition tolerance : در صورتی حاصل می شود که ارتباط بین دو گره قطع نشود(یا به دلیل مشکلات شبکه ، خطاهای بیزانس و غیره) ، و گره ها قادر به برقراری ارتباط با یکدیگر باشند.
یکی از راههای در دسترس بودن داده در سیستم های توزیع شده استفاده از تکنیک replication است.یعنی یک کپی از داده در همه نودها باشد.
به این ترتیب اگر یکی از نودها خراب شد،داده ها از سایر نودها قابل دسترس باشد.اما این موضوع با سازگاری مغایرت دارد. چون اگر نود خراب به سیستم برگردد داده ی به روز شده ندارد .
تئوری CAP و بلاکچین
در بلاکچین سازگاری با استفاده از الگوریتم های اجماع حاصل می شود تا اطمینان حاصل شود که همه گره ها نسخه یکسانی از داده ها دارند. به این کار تکثیر ماشین وضعیت(state machine replication) نیز گفته می شود.
بلاکچین ابزاری برای دستیابی به state machine replication است. به نظر می رسد که تئوری CAP در بلاکچین نقض شده است ، به ویژه در بیت کوین . اما، این چنین نیست.
در زنجیره بلوک ، Consistency قربانی دسترسی و تحمل پارتیشن می شود. در این سناریو ، سازگاری (C) دربلاکچین همزمان با تحمل پارتیشن (P) و دردسترس بودن (A) حاصل نمی شود .
بیشتر بخوانید : هارد فورک: یک اتفاق خوب یا بد برای ارزهای دیجیتال؟
اما با گذشت زمان حاصل سازگاری می شود که به آن سازگاری نهایی (eventual consistency) گفته می شود .در eventual consistency سازگاری در نتیجه اعتبار سنجی از چندین گره در طول زمان حاصل می شود. مفهوم استخراج در Bitcoin برای این منظور مطرح شد. استخراج فرآیندی است که دستیابی به اجماع را با استفاده از الگوریتم اجماع PoW تسهیل می کند.
منبع: factcoins.com
مطلبی دیگر از این انتشارات
حریم خصوصی در بلاک چین
مطلبی دیگر از این انتشارات
هولوچین (Holochain) چیست؟
مطلبی دیگر از این انتشارات
آشنایی با اتریوم این رایانه جهانی-قسمت اول