نوعی الگوریتم برای جلوگیری از دیداس From Wikipedia, the free encyclopedia
گواه اثبات کار یا به اختصار (PoW) یا همان (Proof of Work ) یک سیستم (تابع یا پروتکل) اندازه گیری است تا در برابر حملات محرومسازی از سرویس یا به اختصار (DoS) و دیگر سیستم هایی که قصد اذیت کردن را دارند مانند اسپم های شبکه از طریق مستلزم دانستن کاری از طرف درخواست کننده سرویس جلوگیری کند ، معمولاً این قضیه به معنی زمان پردازش شدن عملیاتی توسط یک کامپیوتر است.این طرح و یا مفهوم توسط Cynthia Dwork و Moni Naor در سال 1993 در قالب مقاله ژورنال کشف شد. اصطلاح "Proof of work" یا به اختصار PoW اولین بار در مقاله ای در سال 1999 توسط Markus Jakobsson و Ari Juels ابداع و بکار گرفته شد. [1] همچنین proof of work یا همان الگوریتم اثبات کار اولین بار سال 2008 توسط ساتوشی ناکاموتو در وایت پیپر بیتکوین نوشته شد و در واقع این الگوریتم اولین الگوریتمی است که برای بیت کوین و دیگر ارزها در بلاک چین استفاده شد. در حقیقت، ساتوشی ناکاموتو این الگوریتم را در جهت ایجاد یک سیستم پولی همتابههمتا ایجاد و استفاده کرد.
این مقاله دقیق، کامل و صحیح ترجمه نشده و نیازمند ترجمه به فارسی است. کل یا بخشی از این مقاله به زبانی بهجز زبان فارسی نوشته شدهاست. اگر مقصود ارائهٔ مقاله برای مخاطبان آن زبان است، باید در نسخهای از ویکیپدیا به همان زبان نوشته شود (فهرست ویکیپدیاها را ببینید). در غیر این صورت، خواهشمند است ترجمهٔ این مقاله را با توجه به متن اصلی و با رعایت سیاست ویرایش، دستور خط فارسی و برابر سازی به زبان فارسی بهبود دهید و سپس این الگو را از بالای صفحه بردارید. همچنین برای بحثهای مرتبط، مدخل این مقاله در فهرست صفحههای نیازمند ترجمه به فارسی را ببینید. اگر این مقاله به زبان فارسی بازنویسی نشود، تا دو هفتهٔ دیگر نامزد حذف میشود و/یا به نسخهٔ زبانی مرتبط ویکیپدیا منتقل خواهد شد. اگر شما اخیراً این مقاله را بهعنوان صفحهٔ نیازمند ترجمه برچسب زدهاید، لطفاً عبارت {{جا:هبک-ترجمه به فارسی|1=الگوریتم اثبات کار}} ~~~~ را نیز در صفحهٔ بحث نگارنده قرار دهید. |
یکی از ویژگی های کلیدی این طرح ها، عدم تقارن آنها است: کار باید برای درخواست کننده نسبتاً سخت(اما قابل حل) باشد ولی چک کردن آن برای تامین کننده سرویس(سرور) میبایست آسان باشد.
همچنین این قضیه به عنوان ، تابع هزینه CPU ،پازل مشتری، پازل محاسباتی یا تابع ارزش گذاری CPU نیز شناخته میشود.
این قضیه با کپچا فرق میکند به این صورت که کپچا برای حل سریع توسط انسان درنظرگرفته شده است نه یک کامپیوتر.
تغییر ناپذیری، امنیت و ناشناسی از مهمترین ویژگی های این الگوریتم است که اهمیت زیادی در فناوری بلاکچین دارد. در حقیقت، اثبات کار به عنوان یک مکانیستم در بلاک چین معرفی میشود که وظیفه تایید تراکنشها، تولید بلاک و همچنین حفظ امنیت شبکه را بر عهده دارد و ماینرها در این الگوریتم پردازش شبکه را انجام میدهند و پاداش خود را دریافت میکنند.
این مکانیزم مقاوم در برابر خطاهاست که در سیستم های رایانهای و بلاکچین برای توافق میزان داده استفاده میشود. ناگفته نماند رمزارزها بدون وجود الگوریتم اجماع نمیتوانند کار کنند و از کار میافتند. الگوریتم اجماع مجموعهای از قوانین است که درمورد تاییدیه تراکنش ها تصمیم میگیرد.
در الگوریتم اثبات کار ماینرها برای حل مسائل پیچیده ریاضی با یکدیگر به رقابت میپردازند و زمانی که معادلات حل شوند، تایید آن به وسیله دیگر ماینرها افزایش پیدا میکند و وقتی جواب را ماینر بدست بیاورد آن جواب را به شبکه ارسال میکند. سختی و پیچیدگی معادلات وابسته به تعداد ماینرها و هش ریت کنونی شبکه وابسته است، هرچه شبکه بزرگتر باشد و در واقع تعداد ماینرها بیشتر باشد حل جواب معادلات سختتر است و هرچه آن شبکه کوچکتر باشد رسیدن به جواب معادله راحتتر است. این مورد باعث امنیت شبکه در برابر حمله هکران میشود؛ چراکه دستکاری یک بلاک، مقدار هش را تغییر میدهد که این باعث میشود اعتبار هش از بین برود. پس اگر شخصی قصد تغییر بلاک را داشته باشد، باید هش تمام بلاکهای شبکه را دوباره استخراج کند. از آنجایی که ماینرها به صورت غیرمتمرکز کار میکنند بنابراین امکان ساخته شدن همزمان دو بلاک معتبر غیرممکن است.
یک سیستم معروف که در هش کش استفاده میشود، با استفاده از مقداری hash معکوس ثابت میکند کار انجام شده است و یک ایمیل به عنوان نشانه خوب ارسال میکند.به عنوان نمونه هدری که در ادامه قرار دارد تقریباً یک هش 252 محاسباتی است که پیامی را برای ایمیل زیر درتاریخ 19 ژانویه ، 2038 ارسال میکند.
X-Hashcash: 1: 52: 380119: calvin[at]comics dot net ::: 9B760005E92F0DAE
با یک محاسبات تکی از طریق تابع اس اچ ای-1 هش تمبری که معتبرشده است(در مثال بالا نام هدر X-Hashcash:
که شامل دونقطه میباشد و هرچه فضای خالی بعد از آن تا شماره 1 حذف میشود)
با 52 صفر باینری معادل 13 صفر هگزادسیمال آغاز میشود.
0000000000000756af69e2ffbdb930261873cd71
این که آیا سیستم های PoW در حقیقت می توانند مسئله حملات محرومسازی از سرویس خاصی را مانند مشکل اسپم را حل کنند، موضوع قابل بحثی است؛ [2] [3] این سیستم میبایست ارسال ایمیل های اسپم را برای تولید کنندگان هرزنامه را مشکل ساز کند اما نباید جلوی کاربران مجاز را برای ارسال پیامشان بگیرد. به عبارت دیگر، یک کاربر واقعی نباید با هیچ گونه مشکلی موقع ارسال پیام خود مواجه شود، اما تولید کننده هرزنامه باید مقدار قابل توجه قدرت پردازشی را برای هربار ارسال ایمیل صرف کند . اکنون سیستم های گواه اثبات کار به عنوان مکانیزم اصلی توسط دیگر سیستم های پیچیده رمزنگاری مثل بیتکوین که از سیستمی مشابه هش کش بهره میگیرد ، استفاده میشود.
دو دسته پروتکل گواه اثبات کار وجود دارد.
پروتکل های راه حل-شناخته شده نسبت به پروتکل های مشکلات احتمالی نا محدود به واریانس پایین تری تمایل دارند چرا که واریانسی که از توزیع مستطیلی نشات گرفته به نسبت واریانسی که از توزیع پواسون نشات میگیرد کمتر است(نیاز به توضیح بیشتر درباره واریانس توزیع های پواسیون و مستطیلی میباشد) . یک تکنیک کلی که برای کمتر کردن واریانس می باشد که از طریق چندین زیر-چالش مستقل استفاده میشود ، به عنوان میانگین چندین نمونه واریانس کمتری نیز خواهد داشت.
همچنین توابع هزینه ثابت مانند زمان قفل پازل وجود دارد.
علاوه بر این، توابع پایه ای که توسط این طرح ها استفاده می شود، ممکن است موارد زیر باشند:
در نهایت، برخی از سیستم های PoW محاسبات میانبر را ارائه میکنند که به شرکت کنندگانی که رمزی را میدانندکه معمولاً یک کلید خصوصی است اجازه میدهد تا POW های کم ارزش را تولید کنند . منطق و اساس کار این است که صاحبان لیست نامه ممکن است تمبری برای هر گیرنده، بدون هزینه ی زیاد تولید کنند. این که چنین کاری خوب و معقول است ، بستگی به سناریوی استفاده از آن دارد.
در اینجا لیستی از معیارهای کار شناخته شده است:
دانشمند کامپیوتر Hal Finney بر روی ایده اثبات کار ساخته شده، سیستمی را تولید کرد که از استفاده مجدد از اثبات کار ("RPOW") بهره میگیرد. [18] ایده ساخت اثبات گواه کار با قابلیت استفاده مجدد برای اهداف چند منظوره پیش تر در سال 1999 اجرا شده بود. [1] هدف فینی برای RPOW ساخت پول توکنی بود. درست همانطور که ارزش سکه های طلا که به نظر میرسد بر اساس طلای خام مورد نیاز برای ساخت آن پایه ریزی شده است ، ارزش یک توکن RPoW با ارزش منابع مورد نیاز در دنیای واقعی برای «ضرب سکه» یک PoW تضمین می شود. در نسخه Finney RPoW، توکن PoW یک تکه هش کش می باشد .
وبسایتی نیز می تواند در ازای سرویسی یک توکن PoW درخواست کند. درخواست یک توکن PoW از طرف کاربر مانع از استفاده بیهوده و بیش از اندازه میشود و یا موجب صرفه جویی از منابع نظیر پهنای باند اینترنت یا محاسبات ، فضای دیسک، برق و یا سربار اجرایی می شود.
سیستم RPoW Finney با یک سیستم PoW در اجازه دادن تبادل توکن های تصادفی و رندوم بدون تکرار کار مورنیاز برای تولید آن ها فرق میکند. پس از آنکه یک نفر توکن «PoW» را در یک وب سایت «صرف» کرد، اپراتور وب سایت میتواند توکن PoW را برای مبادله یک توکن RPOW جدید ذخیره کند، که بعداً میتواند در برخی از وبسایتهای شخص ثالث مجهز به پذیرش توکنRPoW خرج شود .ویژگی ضد-تقلبی بودن توکن RPoW میتواند ازطریق گواهی سنجی از راه دور نیز گارانتی شود. سرور RPoW که برای مبادلات از توکن PoW یا RPoW برای یک مقدار جدید از یک مقدار برابر با استفاده از گواهی سنجی از راه دور استفاده میکند نیز به هر طرف که علاقهمند است ، این اجازه را میدهد که تایید یا انتخاب کند که چه نرمافزاری در سرور RPoW اجرا می شود . از زمانی که کد منبع نرمافزار RPoW Finney منتشر شد (تحت یک مجوز BSD )، هر برنامه نویسی که به اندازه کافی واردبکار باشد، با بررسی کد، میتواند تأیید کند که این نرمافزار (و به عبارتی سرور RPoW) هرگز یک توکن جدید صادر نمیکند، به استثنای مواقعی که در ازای یک توکن با ارزش برابر صرف شده باشد .
تا سال 2009، سیستم فینی تنها سیستم RPoW بود که پیاده سازی شد؛ از این سیستم در اقتصاد هرگز به طور قابل توجهی مورد استفاده قرار نگزفت.
RPoW توسط کلیدهای خصوصی ذخیره شده در ماژول پلت فرم اعتماد سخت افزار و تولیدکنندگان دارای کلید خصوصی TPM محافظت می شود. سرقت یک کلید تولید کننده TPM یا به دست آوردن کلید با بررسی تراشه TPM خود نیز این تضمین را از بین می برد.
در سال 2009 شبکه Bitcoin آنلاین شد. بیتکوین یک رمز ارز بر حسب اثبات گواه کار است که مانند RPoW Finney نیز مبتنی بر Hashcash PoW است. اما بیتکوین از یک پروتکل غیر متمرکز یک-به-یک به جای استفاده از ماژول پلت فرم اعتمادسازی سخت افزار که درRPoW استفاده می شد ، بهره میگیرد که دلیل جلوگیری از هزینه های دوگانه میباشد. ، . Bitcoin دارای اطمینان بهتری است زیرا با محاسبات محافظت می شود. بیت کوین ها توسط تابع گواه اثبات کار هش کش توسط ماینر های منحصر به فرد استخراج میشود و توسط نود یا گره های غیر متمرکز در شبکه یک به یک به تایید میرسند .
یک زنجیره بلوکی مبتنی بر الگوریتم گواه اثبات کار که به اندازه کافی دارای کاربر باشد، در برابر حملات سایبری به شدت مقاوم است، زیرا برای نفوذ و در اختیار گرفتن قدرت در این شبکه نیاز به تلاش محاسباتی بسیار بالایی است. البته از طرفی نیاز به تجهیزات فراوان و مصرف برق بسیار بالا از معایب بزرگ این گواه است.[19]
در جامعه بیت کوین گروه هایی با هم در استخر های ماینینگ(ماینینگ به معنی استخراج بیتکوین ) درکنار هم کار میکنند . [20] برخی از ماینر ها از ASIC ( مدار مجتمع کاربردی خاص ) برای PoW استفاده می کنند. [21] برخی از PoW ها ادعا می کنند که مقاوم به ASIC هستند، یعنی محدود کردن افزایش بهره وری که ASIC می تواند بر سخت افزار چیزی مانند یک پردازنده گرافیکی داشته باشد، به میزان قابل توجهی تحت نظارت باشد. در عمل چنین ادعاهایی از زمان آزمایش مقاومت نمیکنند. [نیازمند منبع]
echo -n 1:52:380119:calvin[at]comics dot net:::9B760005E92F0DAE | openssl sha1
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.