چنجینو : خرید و فروش ووچر پرفکت مانی و بیت کوین
الگوریتم اثبات کار (Proof of Work) چیست و چگونه کار می کند؟

الگوریتم اثبات کار (Proof of Work) چیست و چگونه کار می کند؟

الگوریتم اثبات کار (Proof of Work) چیست و چگونه کار می کند؟ ۱۳۹۹/۰۸/۲۲ ۰۹:۲۵

اثبات کار (Proof of Work) که به اختصار PoW نامیده می شود، مکانیزمی برای جلوگیری از دوبار خرج کردن است. اکثر ارزهای دیجیتال از این روش به عنوان الگوریتم اجماع خود استفاده می کنند. در واقع اثبات کار روشی برای ایمن سازی دفترکل ارزهای دیجیتال است.

این الگوریتم در بلاک چین برای تایید تراکنش‌ها و تولید بلاک‌های جدید مورد استفاده قرار می‌گیرد. ماینرها با استفاده از این الگوریتم بر سر تکمیل تراکنش‌های شبکه و دریافت پاداش با یکدیگر رقابت می‌کنند.

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

الگوریتم هش کش (HashCash) که در سال 1997 توسط آدام بک (Adam Back) اختراع شد، نمونه اولیه ای از الگوریتم اثبات کار در روزهای قبل از ظهور ارزهای رمزپایه است. با استفاده از هش کش، مقدار پیام های اسپم در ایمیل ها تا حد زیادی کاهش یافت؛ زیرا فرستندگان قبل از ارسال ایمیل مجبور به اجرای محاسبات کوچکی شدند. برای حل این محاسبات توسط یک فرستنده مشروع به انرژی بسیار کمی از CPU نیاز است، اما برای شخصی که بصورت یکجا ایمیل تبلیغاتی برای مشتریان و مخاطبین ارسال می کند، این مقدار افزوده می شود.

 

در این نوشته میخوانید: [ پنهان ]
  1. دوبار خرج کردن چیست؟
  2. چرا اثبات کار مهم است؟
  3. PoW چگونه کار می کند؟
  4. اثبات کار در مقابل اثبات سهام
  5. سخن پایانی

دوبار خرج کردن چیست؟

دوبار خرج کردن (double-spend) زمانی رخ می دهد که مقدار مشخصی از پول دو مرتبه خرج شود. این اصطلاح تقریباً به طور انحصاری در زمینه پول دیجیتال به کار می رود. به هر حال، به ندرت پیش می آید که مقداری از پول فیزیکی دوبار خرج شود.

هنگامی که هزینه یک قهوه را پرداخت می کنید، پول خود را به صورت نقد به صندوقدار تحویل می دهید. به محض پرداخت اسکناس به صندوقدار، او تایید می‌کند که شما پرداخت خود را انجام داده‌اید و دیگر به آن پول دسترسی نخواهید داشت. نمی توانید به کافی شاپ آن طرف خیابان بروید و با همان پول قهوه دیگری را حساب کنید.

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

از آنجا که پول های دیجیتال فقط براساس داده ها و سوابق تشکیل شده اند، باید از کپی کردن تراکنش و دوبار خرج کردن مقدار مشخصی از ارز در مکان های مختلف جلوگیری کرد. در غیر این صورت، آن ارز به زودی سقوط خواهد کرد.

چرا اثبات کار مهم است؟

اگر راهنمای ما در مورد فناوری بلاک چین را خوانده باشید، می دانید که کاربران تراکنش ها را در شبکه پخش می کنند. این تراکنش ها بلافاصله تأیید نمی شوند. این اتفاق تنها زمانی رخ می دهد که به بلاک چین اضافه شده باشند.

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

 تصور کنید که شما و سه نفر از دوستانتان یک دفتر ثبت دارید. هر وقت که یکی از شما بخواهد واحدی از پول را به دیگری انتقال دهد، شما آن را در دفتر ثبت می کنید. آلیس پنج واحد به باب ارسال می کند، باب دو واحد به کارول انتقال می دهد و غیره.

در ضمن هر زمان که تراکنشی انجام می دهید، به منشا قبلی تراکنش نیز مراجعه می کنید. بنابراین، هنگامی که باب دو واحد پول به کارول پرداخت کند، ورودی به شرح زیر خواهد بود: باب از طریق تراکنش قبلی خود با آلیس،  دو واحد پول به کارول پرداخت می کند.

بنابراین ما راهی برای ردیابی ارزها داریم. اگر باب سعی کند تراکنش دیگری را با استفاده از همان واحدهایی که اخیراً برای کارول ارسال کرده است انجام دهد، همه فوراً از این موضوع آگاه می شوند. این گروه اجازه نمی دهد که اطلاعات تراکنش به دفتر ثبت اضافه شود.

این امر ممکن است در یک گروه کوچک به خوبی عمل کند. همه افراد یکدیگر را می شناسند، بنابراین احتمالاً توافق خواهند کرد که کدام یک از دوستان باید تراکنش ها را به دفترثبت اضافه کنند. اما اگر در یک گروه، 10 هزار شرکت کننده داشته باشیم چه؟ ایده دفترثبت برای این تعداد زیاد مناسب نیست، زیرا هیچ کس نمی خواهد برای مدیریت آن به یک غریبه اعتماد کند.

الگوریتم اثبات کار برای حل این مشکل بوجود آمده است. این روش تضمین می کند که کاربران نمی توانند پولی را دوبارخرج نمایند. با استفاده از ترکیب «نظریه بازی ها» و رمزنگاری، الگوریتم PoW هرکسی را قادر می سازد که بلاک چین را براساس قوانین سیستم بروز کند.

PoW چگونه کار می کند؟

در صنعت ارزهای دیجیتال، بلاک چین مانند همان دفترثبتی است که در بالا ذکر کردیم. در واقع بلاک چین براساس فناوری دفتر کل توزیع شده (Distributed Ledger) عمل می کند. تراکنش ها یکی یکی به شبکه اضافه نمی شوند؛ بلکه تعدادی از آنها در یک بلاک جمع آوری می شوند.

 ما تراکنش ها را در شبکه منتشر می کنیم، سپس کاربرانی که بلاک ایجاد می کنند، این تراکنش ها را در یک «بلاک کاندید» قرار می دهند. تراکنش ها تنها زمانی معتبر خواهند بود که بلاک کاندید توسط ماینرها تأیید شده باشد، به این معنی که به بلاک چین اضافه شود. برای آنکه یک تراکنش به صورت کامل انجام شود حداقل به 6 تأیید نیاز دارد. به عبارت دیگر پس از انتشار تراکنش در شبکه باید در 6 بلاک به صورت زنجیره که هرکدام شامل چندین تراکنش هستند، افزوده شود.

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

هش کردن داده های بلاک به این معنی است که از تابع هش (hashing function) برای تولید هش بلاک استفاده شود. هش بلاک مانند «اثر انگشت» عمل می کند. بنابراین مانند یک هویت برای داده های ورودی است و برای هر بلاک متفاوت می باشد.

معکوس کردن هش بلاک برای دریافت داده های ورودی تقریباً غیرممکن است. فقط باید ورودی را از طریق تابع ارسال کرده و بررسی کرد که خروجی یکسان است.

در اثبات کار باید داده هایی تحویل داد که هش آنها با شرایطی خاص مطابقت داشته باشد. تنها راه این است که داده های خود را از طریق تابع هش عبور داده و بررسی کنید که آیا با شرایط مطابقت دارد. اگر اینگونه نباشد، برای بدست آوردن هش متفاوت باید داده های خود را کمی تغییر داد. تغییر حتی یک نویسه در داده ها نتیجه ای کاملاً متفاوت را به همراه خواهد داشت؛ بنابراین راهی برای پیش بینی داده خروجی وجود ندارد.

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

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

امروزه برای ارزهای دیجیتال برتر، فراهم کردن این شرایط بسیار چالش برانگیز است. هرچه نرخ هش (hash rate) شبکه بیشتر شود، یافتن یک هش معتبر دشوارتر می گردد. این عمل برای اطمینان از آنکه بلاک ها به سرعت یافت نشوند، انجام می شود.

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

بسیار خب. اما چه چیزی مانع از آن می شود که ماینرها تراکنش های متقلبانه را وارد بلاک نکنند و در عوض یک هش معتبر تولید کنند؟

کلید عمومی (public-key) برای این منظور ساخته شده است. ما از برخی ترفندهای رمزنگاری استفاده می کنیم که به هر کاربر امکان بررسی انتقال ارز توسط دیگران را می دهد.

شما هنگام انجام یک تراکنش، آن را امضا می کنید. هر کسی در شبکه می تواند امضای شما را با کلیدعمومیتان مقایسه کند. آنها همچنین امکان پرداخت ارز توسط شما و اینکه مجموع ورودی های شما از مجموع خروجی های شما بیشتر است (یعنی بیشتر از مبلغی که دارید هزینه نکرده اید) را بررسی می کنند. هر بلاکی که شامل یک تراکنش نامعتبر باشد به طور خودکار توسط شبکه رد می شود.

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

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

اثبات کار در مقابل اثبات سهام

اثبات سهام (Proof of Stake) یا به اختصار PoS از دیگر الگوریتم های اجماع برجسته می باشد. این مفهوم به سال 2011 بازمی گردد و بیشتر در پروتکل های کوچکتر اجرا شده است. تیم توسعه دهنده اتریوم اعلام کرده که قصد دارد به زودی الگوریتم شبکه خود را به اثبات سهام تغییر دهد. این تغییرات بخشی از بروزرسانی بزرگ اتریوم 2.0 است.

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

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

اثبات سهام نسبت به اثبات کار مزایایی دارد. مهم ترین مزیت آن این است که مانند الگوریتم اثبات کار موجب تولید آلاینده های کربنی نمی شود. در PoS نیازی به مزارع ماینینگ پرقدرت نیست.

با این حال سابقه PoW نسبت به سایر الگوریتم ها بسیار طولانی تر است. اگرچه هزینه تأمین آن بسیار زیاد است، اما ماینینگ تنها الگوریتم اجماعی می باشد که خود را در عصر ارزها دیجیتال اثبات کرده است. این الگوریتم در مدت بیش از یک دهه، تراکنش هایی با ارزش تریلیون ها دلار را تأمین کرده است. برای اطمینان از اینکه آیا PoS می تواند امنیت تراکنش ها را تأمین کند، باید به طور مناسب مورد آزمایش قرار گیرد.

سخن پایانی

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

0
آیا این مطلب برای شما مفید بود ؟

دیدگاه های شما

یک دیدگاه برای این پست بنویسید

پست های مشابه

آموزش خرید و فروش بیت کوین در سایت چنجینو

کاربران عزیز چنجینو از این پس میتوانید در صرافی چنجینو به صورت کاملا اتوماتیک و در سریعترین زمان ممکن به خرید و فروش بیت کوین بپردازید. با آموزش خرید و فروش بیت کوین در چنجینو با شما همراه خواهیم بود.
۱۳۹۹/۰۱/۰۹ ۰۳:۱۲

7 اشتباه رایج که تریدرهای تازه کار مرتکب می شوند

ترید (Trade) فعالیتی است که در صرافی های ارز دیجیتال برای کسب سود از طریق فرآیند خرید و فروش بیت کوین یا دیگر ارزهای دیجیتال صورت می گیرد. در این مقاله قصد داریم به اشتباهات متداولی که اکثر تریدرهای بی تجربه و تازه کار بیت کوین مرتکب می شوند، بپردازیم تا به این ترتیب اوضاع را تحت کنترل خود درآورید.
۱۳۹۸/۱۲/۲۱ ۰۷:۰۵

آموزش استفاده از کیف پول گواردا (Guarda)

کیف پول گواردا که یک کیف پول چند ارزی می باشد به‌جهت ویژگی خاص آن یعنی در اختیار قراردادن کلید خصوصی به کاربر، به یک نام برجسته در حوزه ارزهای دیجیتال تبدیل شده است.این کیف پول دارای نسخه دسکتاپ، وب، موبایل و افزونه گوگل کروم می باشد که شما می‌توانید بر حسب موارد مدنظر خود یکی از نسخه‌ها را انتخاب و آن ‌را نصب و استفاده نمایید. در این آموزش قصد داریم به معرفی نسخه دسکتاپ آن بپردازیم.
۱۳۹۸/۱۰/۰۸ ۰۱:۳۶

ارز دیجیتال چیست؟

ارز دیجیتال یا رمزارز (Cryptocurrency) در واقع یک دارایی دیجیتال است که بر پایه علم رمزنگاری ایجاد شده است. از رمزنگاری برای تامین امنیت و تایید تراکنش های مالی و همچنین ذخیره سازی ایمن ارزهای دیجیتال مورد استفاده قرار می گیرد.
۱۳۹۸/۰۹/۲۶ ۰۹:۵۱

بیت کوین چیست؟

بیت کوین یک ارز دیجیتال است که بصورت الکترونیکی مورد استفاده و توزیع قرار می گیرد. بیت کوین همچنین یک شبکه همتا به همتای غیرمتمرکز است که هیچ موسسه یا شخص واحدی آن را کنترل نمیکند. بیت کوین قابل چاپ نیست و میزان آنها بسیار محدود است.
۱۳۹۸/۰۹/۲۷ ۰۹:۳۹
چنجینو : خرید و فروش ووچر پرفکت مانی و بیت کوین
چنجینو یک سرویس برای ارائه خدمات پرداخت آنلاین و نقد کردن درآمدهای ارزی (درآمدهای برنامه نویسان، وب مستران، عکاسان و ...) برای کاربران ایرانی راه اندازی شده است تا از محدودیت های ایجاد شده در عرصه بین المللی پیش گیری به عمل آورد.

آدرس : ولیعصر نبش هتل سیمرغ

تلفکس : ۰۲۱-۴۳۸۵-۵۷۴۴

ایمیل : [email protected]

نماد ساماندهی