مروری بر الگوریتم اثبات کار و اثبات سهام
الگوریتم اثبات کار نیاز به مقدار زیادی انرژی دارد و استخراج کنندگان برای پرداخت هزینه ها نیاز به فروش کوین های خود دارند. اثبات سهام براساس درصد کوین هایی که توسط یک ماینر نگهداری شده، به آن ماینر قدرت استخراج می دهد.
ایده اثبات کار در سندهایی در سال ۱۹۹۹ توسط چند دانشمند علوم کامپیوتر مطرح شده بود. ولی ساتوشی ناکاموتو این الگوریتم را برای انتشار بیت کوین به کار گرفت و در سال 2008 در وایت پِیپر بیت کوین مطرح نمود. نحوه کار گواه اثبات کار این است که بین استخراج کنندگان یا miner ها یک محیط رقابتی جهت تکمیل تراکنش و گرفتن پاداش به وجود می آورد. این محیط رقابتی به خاطر آن است که ماینرهای موجود در شبکه باید نوعی از مسائل ریاضی را حل کنند که بسیار مشکل و بغرنج هستند. جهت حل این معادلات پیچیده ریاضی، لازم است توان محاسباتی ماینرها بسیار زیاد باشد. معادلات ریاضی شامل توابع پیچیده ای از قبیل تابع هش، معماهای پازلی و فاکتورگیری اعداد صحیح می باشد. مراحل انجام اثبات کار به صورت زیر است:
تراکنش ها در یک بلاک با هم انجام می شوند.ماینرها بایستی یک پازل ریاضی را حل کنند که این پازل ریاضی در حکم یک مسئله در PoW پذیرفته میشود.سپس ماینری که قدرت محاسباتی بالاتری دارد این مسائل را حل می کند.پس از آن راه حل خود را در اختیار دیگر ماینرها می گذارد و اگر راه حل داده شده مورد تایید آنها بود، تراکنش انجام شده به بلاک متصل به شبکه بلاکچین، افزوده می گردد.جایزه به اولین ماینری که بتواند مسئله هر بلاک را حل کند داده می شود.در آخرین مرحله تراکنش هایی که تایید شده اند بر روی بلاکچین عمومی ذخیره می گردند.
از آنجا که در POW , همه معامله گران یک کپی از دفتر کل یا همان بلاکچین را در دستگاه خود دارند و در نتیجه هیچکدام احتیاجی به شخص سوم ندارند. در این صورت، همه قابلیت آن را دارند که به طور مستقیم اطلاعات درج شده را وارسی کنند.
در الگوریتم PoS از اعتبار سنج ها یا Validators استفاده می شود و دستگاه های ماینر کاربردی ندارند بطوریکه اعتبارسنج ها بر روی بلاک هایی که احتمال می دهند به زنجیره بعدی اضافه خواهد شد، شرطبندی میکنند. درواقع در شروع کار اعتبارسنج ها چندین کوین Ether خود را در حکم سهام مشخص می کنند. بعد روی آن بلاکی که احتمال اضافه شدن آن به بلاک چین بیشتر است، شرط بندی انجام می دهند. در آخر اگر بلاک منتخب به بلاکچین افزوده شود، اعتبار سنج ها پاداشی به میزان مشارکت خود در الگوریتم می گیرند.
به طور خلاصه در PoW هرچه میزان توان محاسباتی ماینر بالاتر باشد، شانس اضافه شدن بلاک به بلاکچین بیشتر می گردد. یعنی تایید تراکنش توسط سیستم قوی تر، امکان پذیر است حال آنکه در PoS هر کدام از اعتبار سنج ها، شانس بیشتری خواهد داشت که سهام بیشتری در سیستم گذاشته باشد. اعتبارسنج ها به نسبت سهام خود، یک بلاک را به عنوان پاداش می گیرند.
هر شخصی می تواند در متد اثبات سهام یک استخراج کننده شود. او لازم است مقداری از اتریوم را به پروتکل Casper بفرستد تا در زمره اعتبار سنج ها قرار گیرد. این کار در حکم یک سپرده ایمن می باشد و اگر یک استخراج کننده ناقض قوانین شبکه باشد از اکوسیستم کنار گذاشته می شود. در POS , استخراج کننده ها به خاطر ایجاد بلوک ها، پاداش نمی گیرند، بلکه آنها از هزینه های معامله یا همان کارمزد معاملات پاداش دریافت می کنند. معیار انتخاب بر این دو مورد استوار است:
استخراج کننده اتریوم در حال حاضر چه میزان اتریوم ذخیره دارد؟
مدت زمانی که اتریوم را نگهداری کرده چقدر است؟
فرض کنید که شخصی 100 اتریوم دارد در صورتی که بقیه استخراج کننده ها تنها 50 اتریوم دارند، احتمال زیاد وجود دارد که دارنده صد اتریوم، به عنوان اعتبارسنج انتخاب شود.
حال اگر شخصی همان صد اتریوم خود را بیشتر از یک سال به صورت سپرده نگه داشته باشد، در قیاس با کسی که صد اتریوم خود را فقط یک ماه ذخیره کرده است، احتمال انتخاب بیشتری دارد.
اتریوم درحالیکه از POW جهت پیشبرد عملکرد خود بهره می برد ، تصمیم گرفت در طول یک hard fork ( شما بگویید آپدیت ) ، شبکه خود را از الگوریتم اثبات کار (POW) به الگوریتم کم انرژی اثبات سهام (POS) تغییر دهد. اتریوم 2.0 کوین های جدید هارد فورک اتر است که توسط الگوریتم اثبات سهام حاصل می شود. مسیری که احتمالا با پشت سرگذاشتن آپدیتهای موقتی چون برلین و لندن و … طی خواهد شد با این حال ، بالا بودن فی تراکنشها و شلوغی شبکه ، استفاده از پروژه های لایه دوم را که عملکردشان ، پردازش offline داده ها و خلوت کردن بلاک چین اتریوم است ، کارا و سودبخش گردانده است.
زمانیکه در بلاک چین ، اجماع حاصل نشود ، فورک ایجاد می شود.قطعا ایجاد فورک می تواند سبب کاهش قدرت کلی شبکه شود هرچند در این خصوص استثنائاتی وجود دارد.
— بررسی دو فورک بزرگ بلاک چین؛
- اتریوم و اتریوم کلاسیک
تا سال ۲۰۱۶ فقط یک اتریوم وجود داشت، اما هک بزرگی که در ۱۷ ژوئن سال ۲۰۱۶ رخ داد باعث شد اتریوم جدیدی خلق شود و اتریوم قبلی «اتریوم کلاسیک» نام بگیرد. در ماه می ۲۰۱۶، یک طرح انقلابی به نام DAO برای اتریوم معرفی شد که امیدواریها به آینده اتریوم را دو چندان کرد.
روند کار DAO به این صورت بود که مردم میتوانستند اتریوم بخرند و به DAO واریز کنند. در قبال اتریومها، DAO به سرمایهگذاران توکنهایی میداد که با آن توکنها، در صندوق حق رای پیدا میکردند.
برنامه نویسان میتوانستند ایدههای خود را ارسال کنند و سپس در میان دارندگان توکنهای DAO رای گیری انجام میشد. اگر ۲۰ درصد موافقت خود را با طرح اعلام میکردند، صندوق DAO به طور خودکار سرمایه مورد نیاز را در اختیار توسعهدهنده قرار میداد تا با آن بتواند برنامه خود را بسازد و بعد از ساختن برنامه، سود خوبی نصیب خودش و سرمایهگذاران شود. طرح اگر چه پیچیده بود اما از نظر روند اجرا هیچ مشکلی نداشت.
در کمتر از ۳۰ روز از معرفی DAO، این صندوق، معادل بیش از ۱۵۰ میلیون دلار اتریوم جذب کرد و سرمایهگذاران زیادی برای خریدن توکنهای بیشتر لحظه شماری میکردند. ۱۵۰ میلیون دلار اتریوم در آن زمان ۱۴ درصد از کل اتریومهای استخراج شده بود. در کد DAO یک تابع تعریف شده بود که با آن سرمایهگذاران میتوانستند هر وقت خواستند توکنهای DAOی خود را بدهند و اتریومهایشان را پس بگیرند.
همچنین در DAO امکان ایجاد «بچه DAO» یا همان «Child DAO » هم وجود داشت به این صورت که سرمایهگذاران میتوانستند با توکنهای خود یک DAO ی شخصی برای خودشان درست کنند و در آن به برنامههای غیرمتمرکز سرمایهی کار بدهند.
همه چیز خوب پیش میرفت تا اینکه در ۱۷ ژوئن ۲۰۱۶، یک هکر ناشناس توانست از باگ امنیتی موجود در کد DAO استفاده کند و بیش از ۵۰ میلیون دلار اتریوم را برای خودش منتقل کند.
قیمت اتر در کمتر از چند روز از ۲۰ دلار به ۱۲ دلار رسید و همه شوکه بودند. هک شدن DAO بهنوعی باعث خدشهدار شدن نام اتریوم و پلتفرم آن شد. البته یادمان نرود که این هک به معنای هک شدن اتریوم نیست. فرض کنید اتریوم اینترنت باشد و DAO وبسایتی روی اینترنت. در خودِ شبکه اتریوم اتفاقی رخ نداده بود. از دست رفتن ۵۰ میلیون دلار اتریوم برای شبکهای که در ابتدای راه خودش قرار داشت، یک فاجعه محسوب میشد.
طبق یکی از شرایط موجود در قرارداد DAO، درخواست انتقال اتریوم بعد از ۲۸ روز انجام میشد. یعنی هکر تا ۲۸ روز نمیتوانست مبالغ را برداشت کند و به این ترتیب توسعهدهندگان اصلی حدود یک ماه فرصت داشتند تا به فکر چارهای باشند. به طور کلی سه راه پیش روی جامعه اتریوم بود:
هیچ کاری نمیکردند. به این معنا که طبق قوانین شبکه و این قاعده که «کد قانون است.»، هکر ۵۰ میلیون دلار را برداشت میکرد که در ذات غیرمتمرکز بلاک چین یک چیز طبیعی بود.
انشعاب نرم یا همان سافت فورک (Soft fork) برای بازگشت داراییها
انشعاب سخت یا همان هارد فورک (Hard fork) برای بازگشت داراییها
اکثریت جامعه تصمیم گرفتند که نگذارند اعتبار اتریوم زیر سوال برود و با استفاده از سافت فورک، مبالغ را برگردانند. همانطور که احتمالا میدانید یک بلاک چین را نمیتوان تغییر داد. پس اگر لازم باشد تا روی آن بهروزرسانی صورت بگیرد یا اگر عدهای از قوانین یک بلاک چین ناراضی باشند، راه حل چیست؟ دو راه بیشتر وجود ندارد: یا سافت فورک یا هارد فورک
سافت فورک یک بروزرسانی در بلاک چین بوده که با نسخههای قدیمی سازگار (backwards compatible) است. سازگاری با نسخههای قدیم مثل این است که یک فایل ورد ساخته شده با برنامه word ۲۰۱۶ را در برنامه word ۲۰۰۳ باز کنید. به زبان ساده با سافت فورک، یک بهروزرسانی روی بلاک چین انجام میشود اما کسانی هم که مایل به بروزرسانی نیستند، همچنان میتوانند روی شبکه فعالیت کنند.
در واقع توسعه دهندگان اتریوم میخواستند که بدون تغییر دادن قوانین بلاک چینِ اتریوم، جلوی تراکنش هکر DAO را بگیرند و نودها (Nodes) بلاکهایی را که مربوط به تراکنشهای هکر است نادیده بگیرند تا بتوان مبالغ را بازگشت داد. در سافت فورک شاهد سکه و بلاک چین جدیدی نخواهیم بود.
همه چیز برای سافت فورک آماده بود که توسعهدهندگان اتریوم در مقاله ای اثبات کردند در صورت اجرای سافت فورک، شبکه اتریوم تا مدتی در خطر حملات DDoS قرار خواهد گرفت که با استفاده از تراکنشهای بیش از اندازه و بدون پرداخت کارمزد (GAS) میتواند باعث شلوغی شبکه و توقف در تایید تراکنشها شود و این خطرش برای اتریوم بیش از هک DAO خواهد بود. همچنین هکر میتواند با دادن کارمزدهای بالا در تراکنشها، در روند تایید تراکنش اختلال ایجاد کند و شاهد بلاکهای خالی از تراکنش باشیم.
برای همین یک راه حل بیشتر باقی نماند: هارد فورک
هارد فورک به زبان ساده، تغییر در قوانین بلاک چین است که سازگار با نسخههای قدیمیتر نیست، به طوری که نسخههای قدیمیتر نمیتوانند به عنوان نود در شبکه فعالیت کنند. بنابراین برای استفاده از بهروزرسانیهای جدید مجبور خواهید بود که نسخه خود را آپدیت کنید، در غیر اینصورت نمیتوانید به عنوان نود در شبکه فعالیت داشته باشید.
طبق همان مثال فایل ورد که در بالا به آن اشاره کردیم، فرض کنید که نتوانید یک فایل متنی ساخته شده در برنامه word ۲۰۱۶ را در برنامه word ۲۰۰۳ اجرا کنید زیرا ساختار این برنامه به طور کلی تغییر کرده است.
هارد فورکها همیشه پس باعث تولد یک کوین جدید نمیشوند. در صورتی که اختلاف نظر وجود داشته باشد و یک عده کثیری از کاربران همچنان بخواهند روی نسخه قدیمی فعالیت کنند، شاهد یک بلاک چین و یک سکه جدید خواهیم بود.
انجام هارد فورک و تغییر قوانین اتریوم، در میان توسعهدهندگان اختلاف زیادی ایجاد کرد. مخالفان میگفتند: «کد قانون است» و تغییر قوانین خلاف آرمانهای تمرکززدایی است.
همانطور که گفتیم، در صورت وجود اختلاف گسترده، هارد فورک منجر به بلاک چین و ارز دیجیتال جدید میشود. به این صورت که جامعه مخالف همچنان نسخه قدیمی خودشان را اجرا میکنند و جامعه جدید هم نسخه جدید خودشان را. هارد فورک بزرگ در بلاک ۱,۹۲۰,۰۰۰، یعنی یک بلاک قبل از رخ دادن هک DAO انجام شد تا پول سرمایهگذاران برگردد. با این اتفاق یک بلاک چین و یک ارز دیجیتال جدید ساخته شد. به دارندگان ارز قدیمی، ارز جدید هم تعلق گرفت.
به دلیل حمایت گسترده از هارد فورک جدید و پشتیبانی توسعهدهندگان اصلی مثل ویتالیک بوترین، اتریومی که اول وجود داشت، در صرافیها به اتریوم کلاسیک با نماد ETC تغییر نام پیدا کرد و اتریوم جدید، همان اتریوم نام گرفت. این برخلاف معمول بود. زیرا معمولا اسم بلاک چین قبلی ثابت میماند و یک اسم به بلاک چین جدید میدهند؛ مثل بیت کوین و بیت کوین کش که بلاک چین جدید بیت کوین کش نام گرفت.
- بیت کوین و بیت کوین کش
به نوشتن هر معامله بیت کوین در یک ورق کاغذ خالی و سفید فکر کنید. برای معامله ابتدا باید آدرس کیف پول فرستنده و گیرنده و سپس امضاهای انفرادی را برای هر معامله بنویسید. به مقدار فضایی که نوشتن این موارد در ورق کاغذ شما اشغال میکند توجه کنید. حالا ورق کاغذ را به دو قسمت جدا کنید و در یک برگ آن آدرس فرستنده و گیرنده و در برگی دیگر امضاها را وارد کنید. این کار باعث میشود فضای بیشتری روی کاغذ وجود داشته باشد تا بتوان معاملات بیشتری را پردازش کرد. این ایدهای بود که گروهی از توسعه دهندگان بیت کوین ارائه دادند.
برخی دیگر از توسعه دهندگان با ایده اول موافق نبودند. بنابر گفته آنها، اگرچه تغییر قالب هر بلوک از نظر فنی باعث افزایش سرعت معاملات میشود، اما این فقط یک راه حل موقت است. بنابراین هنگامی که شبکه بیت کوین محبوبیت بیشتری پیدا کند، به یک نسخه جدید دیگر نیاز خواهد داشت. آنها فکر کردند که بهترین راه برای حل مسئله سرعت معاملات بیت کوین، افزایش اندازه بلوک آن است. با استفاده از همان مثال واقعی مذکور، اکنون تصور کنید که مساحت ورق کاغذ اولیه ۱۰ سانتی متر و نشان دهنده اندازه بلوک باشد. میتوان با افزایش ابعاد آن معاملات بیشتری را پردازش کرد. بنابراین آنها فکر کردند که بهتر است ابعاد ورق کاغذ را به ۲ برابر افزایش دهند.
همان طور که میدانید هیچ کس نمیتواند در سیستم بیت کوین تغییراتی ایجاد کند، مگر اینکه اکثر کاربران در مورد آن تغییر موافق باشند. پس برای تصمیم گیری در مورد گزینه انتخابی میبایستی رای گیری صورت میگرفت. آیا شما میتوانید حدس بزنید کدام ایده برنده شد؟! ایده اول ۹۷٪ آرا را به خود اختصاص داد. برای ایجاد این تغییر در بلاکچین بیت کوین، قوانینی در آن تغییر مییابد اما بلوکهای جدید هنوز توسط نرمافزار اصلی شناخته میشوند. گروه دیگری از توسعه دهندگان که ایده دوم را ترجیح میدادند، تصمیم گرفتند که از هارد فورک استفاده کنند؛ یعنی بلوکهای جدید در یک بلاکچین جداگانه کار کنند. این بلاکچین جداگانه بیت کوینکش است.
نکته پایانی جالب : قطعا بعد فورک ، روند تغییری بلاک چین جدید تا حدودی شبیه بلاک چین اولیه خواهد بود؛ برای همینست که بیت کوین کش و لایت کوین بعنوان فورکهایی از بیت کوین همچنان جزء ارزهای تاپ لیست هستندو یا بعد از داستان شکایت از ریپل ، شاید گزینه در خطر بعدی استلار باشد که ماهیتا فورکی از ریپلست…
پس در تعیین ارزش پروژه ها ، توجه به فورک احتمالی از اهمیت بالایی برخوردارست.
نکته مهم دیگر اینکه چگونگی تغییر مسیر ، سخت ترین کار و مهمترین بخش در مسیر تغییرست بطوریکه در اتریوم ، تبدیل POW به POS که قرارست در اتریوم۲ انجام شود ، وقت گیر ترین و مهمترین تغییر در مسیر این دگردیسیست.
در واقع اتریوم ۲ که از آن به نام سرِنیتی (Serenity) به معنی آرامش نیز یاد میشود، ارتقایی نرمافزاری و زیرساختی برای بلاک چین اتریوم است. هدف از این بهروزرسانی، ارتقای سرعت، بهرهوری و مقیاس پذیری شبکهی اتریوم است تا آنکه تراکنشهای بیشتری پردازش شود و ترافیک کاهش یابد. به گفتهی ویتالیک بوترین، بنیانگذار اتریوم، پس از بهکارگیری اتریوم ۲، سرعت شبکه از مقدار فعلی ۱۵ تراکنش در ثانیه به مقدار بالقوهی ۱۰۰ هزار تراکنش در ثانیه خواهد رسید.
جهت این تغییر ، اتریوم ملزمست که ماینرهای خود را به این جابجایی مجبور کند؛ بخشی که شاید اتریوم را به وجود ماهیتی متمرکز متهم کند.
مطلب بعدی اینکه بعد از وقوع فورک ، بلاک چینی ارزش پیدا می کند که مقبولیت بیشتری داشته باشد چه آنکه اصالت به تقاضاست و نه عرضه. برای همین هم اتریوم نسبت به ETC محبوبیت بیشتری یافت یا بیت کوین کش به موفقیت خود BTC نشد.
سوال : سرانجام دارایی های پیشین ما در یک بلاک چین ، بعد وقوع فورک چیست؟
از آنجا که فورک جدید فاقد پیشینه هست ، تمام زنجیره پیشین را تا نقطه فورک کپی کرده بعنوان اولین نقطه آغازگر فورک لحاظ نموده با یک اسنپ شات ، معادل موجودی ما به زنجیره جدید (و احتمالا کوین جدید) هم منتقل می شود و احتمالا دارایی شما افزوده خواهد شد. در حقیقت با ایجاد فورک جدید ، چنانچه سرمایه شما در صرافی یا کیف پولی باشد که از فورک جدید حمایت کند، ارز جدید هم به شما تعلق خواهد گرفت و اگر دارایی شما در بلاک چین مربوطه باشد ، قطعا این افزایش دارایی مشمول شما خواهد شد.
در این لحظه عملا خلق پول رخ داده است…
حال که با مفهوم اجماع آشنا شدیم ، به این سوال بر می گردیم که آیا آیا در چنین سیستمی می توان بیت کوین دزدید؟
خیر ؛ مگر آنکه کلید خصوصی کسی را داشته باشید چرا که کوینها ، واجد امضای دیجیتالی هستند که با کلید خصوصی ، sign شده.
- حمله DOS یا denial-of-service چگونه انجام می شود؟
فرض کنید یکی از نودها با من که در سیستم از طریق کلید پابلیک و عمومیم شناسایی می شوم مشکل داشته در صورت انتقال بیت کوین و یا دریافت آن از سوی من ، اطلاعات آن تراکنش را از استخر حافظه خود پاک کند. اولا امکان اینکه در همین مرحله ، فرصت تشکیل بلاک از سوی پلتفرم بیت کوین به صورت راندوم در اختیار این نود قرار گیرد کم است لیک با فرض آنکه شانس با او یار بوده و توانسته در این فرصت بدست آمده اطلاعات تراکنش من را حذف کند ، بلاکش بدون حضور من تشکیل و ارائه می شود. این ممکنست لیک چند دقیقه بعد که نوبت به ساخت بلاک آنهم به صورت راندوم به نود دیگری می رسد ، چون اطلاعات تراکنش من در استخر حافظه او حذف نشده ، تراکنش من ثبت و جاری خواهد شد. به این بد خواهی ، اصطلاحا DOS گفته می شود.
قبل از ادامه بحث اجماع گریزی بزنیم به ساختار یک بلاک در بلاک چین؛
هِدِر بلاک نوعی متادیتا یا فراداده بر بستر بلاک تراکنشها است. هدر در واقع زنجیره ای به طول ۸۰ بایت است که شامل شماره نسخه بیت کوین به طول ۴ بایت، هش بلاک قبلی به طول ۳۲ بایت، ریشه مرکل به طول ۳۲ بایت، ثبت زمان بلاک به طول ۴ بایت، سختی مورد نظر به طول ۴ بایت و نانس مورد استفاده ماینر به طول ۴ بایت است.
قطعا بلاک اول فاقد هدر بوده اصطلاحا Genious Block نامیده می شود.
به طور خلاصه هدر بلاک به 6 جزء تقسیم میشود:
شماره نسخه نرم افزار / هش بلاک قبلی / هش ریشه درخت مرکل/برچسب زمانی (timestamp) /تارگت سختی شبکه و نانس
شماره نسخه نرم افزار : شماره نسخه نرم افزار در اکثر موارد مهم نیست. اگرچه ، ماینر با یک شماره نسخه خاص میتواند پشتیبانی از تصمیمات پروتکل را اعلام کند.
هش بلاک قبلی: از آنجا که هش بلاک قبلی در هش بلاک جدید موجود است، بلاک های بلاک چین همه به یکدیگر متصل میشوند. بدون این بخش، ارتباطی بین بلاک ها وجود نخواهد داشت.
هش ریشه درخت مرکل: تمام معاملات موجود در یک بلاک را می توان در یک هش جمع کرد. این هش ریشه درخت مرکل است.
برچسب زمانی : یک برچسب زمانی در بلاک ، نشان دهنده زمان ایجاد بلاک است.
تارگت سختی شبکه: تارگت نشان میدهد که هش جدید برای تایید شدن چقدر باید کوچک باشد. به عبارت دیگر هر هش باید چند بیت باشد. یک هش با تعداد زیادی صفر در ابتدای آن کوچکتر از هش بدون صفر است.
نانسNonce) ) : عددی است که استخراج کنندگان بلاک چین باید به منظور حل رمزنگاری بلاک ها آن را پیدا کنند. نانس مخفف عبارت “عددی که تنها یک بار به کار میرود” (Number only used once) است و به عددی گفته میشود که به یک بلاک هش شده (Hashed – یا درهم نگاری شده – )در بلاک چین اضافه شده و هنگامی که این عدد به همراه هش بلاک مجدداً هش شوند Rehash)، با آزمون و خطا های متعدد قادر خواهند بود که شرایط و محدودیتهای تعریف شده توسط پارامتر سختی شبکه (Network Difficulty) را برآورده نماید.
در اجماع اثبات کار یا POW ، شرایطی برای ساخت بلاک پیش روی نود قرار می گیرد تا کمی به سختی پروسه تولید بلاک بیفزاید و اصطلاحا به سختی و ” با پدر در آمدن ” نود موفق به ساخت بلاک گردد. برای این منظور سیستم از نود ، هش اطلاعات main pool را می خواهد بشرطیکه سه رقم آخر هش مثلا صفر باشد یا رقم اول آن صفر شود یا مجموع عددی آن از عددی خاص کوچکتر باشد و امثالهم که خود شانس چندان زیادی ندارد.
“هنگامی که شما تراکنشی را انجام می دهید، این تراکنش در فضای مشترکی که از پایه های بلاک چین بود، وارد شده بعد از مشخص شدن کسی که قرارست آن بلاک را بنویسد، در کنار سایر تراکنشها و در بلاک مربوطه ، اطلاعات ثبت شده تاییدیه را از بقیه نودها می گیرد. درحقیقت برای این که هر تراکنشی در یک بلاک جای بگیرد، باید از mempool بگذرد. Mempool بر خلاف بلاک چین که به عنوان یک ثبت قطعی عمل میکند، آشفته و غیر قابل پیشبینی است و بعد از گرفتن تاییدیه ها، به صورت غیرقابل تغییر در بلاک چین ثبت می شود.( میتوان این را به عنوان یک ناحیه انتظار برای پذیرش تراکنشها و ورود آنها به داخل بلاک تصور کرد. ) هیچ Mempool استاندارد و یا سازمانی وجود ندارد. در عوض، به تعداد نودها Mempool وجود دارد. شما هم جهت رصد تراکنشتان می توانید از ابزارهای اکسپاورر موجود استفاده کنید.
A cryptocurrency block explorer is an online blockchain browser that can show the details of all transactions that have ever happened on a blockchain network. There are block explorers for Bitcoin and also for individual altcoins”
از این رو سیستم این اختیار را به نود می دهد که عددی تحت عنوان نانس به main pool بیفزاید تا شرایط هش خروجی مشابه آنچیزی شود که پلتفرم انتظار آن را دارد.
پس نودی که شانس به او روی اورده اطلاعات main pool را بهمراه عدد نانس و اطلاعات یک تراکنش که معرف انتقال پاداش استخراج ( یا به اصطلاح پاداش POW است و مثلا امروزه ۶.۵ بیت کوینست ) به خود اوست را هش کرده نانس را به گونه ای تغییر می دهد که بلاک حاصله مقبول شرایط الگوریتم قرار گیرد. بلاکی مقبولست که هش نهایی آن کمتر از سختی شبکه شود و فی المثل سه رقم اول آن صفر باشد. طول هش هم که ثابتست. پس اگر هشی با آغاز ۰۰۱ بدست آید مقبول نیست و باید با تغییر نانس ، نود سعی مجددی در بدست آوردن هش مقبول کند.
حال نودی که توانست به این هدف برسد ، موفقیت خود را اعلام کرده اطلاعات بلاک ساخته شده را جهت تایید به سایر نودها می فرستد تا تایید آنها را دریافت کند.
آیا ممکنست کسی این اطلاعات را به نفع خود گزارش کند؟
قطعا نه چرا که کلید عمومی فردی که موفق به ساخت بلاک شده در بلاک وجود دارد و هر کس که حتی به نام خود اطلاعات را ارسال کند ، قادر به دریافت پاداش نخواهد بود چرا که به کلید پابلیک نود سازنده ارسال می شود.
سیستم غیرمتمرکزست و ممکنست خبر موفقیت نود ما در ساخت بلاک با تاخیری به دیگر نودها برسد. آیا این امکان وجود دارد که یکی دیگر قبل از اطلاع یافتن از ساخت بلاک جدید ، با تاخیری ولو چند دقیقه ای ، بلاک جدیدی را بر مبنای پلتفرم موجود خلق کند و به گروهی از دیگر نودها اطلاع دهد و تاییدیه آنها را بگیرد؟ ( اصطلاحا Split رخ دهد )
پاسخ اینست که این اتفاق ممکن و معمولست ولی بلاک چینی مقبول شبکه است که طول بیشتری داشته باشد. در اینحالت گروهی که بلاک چین آنها کوتاه ترست ، بلاک چینشان حذف شده و بلاک چین بزرگتر پذیرفته خواهد شد.
خلاصه آنکه ماینرها تلاش میکنند تا با تولید اعداد تصادفی، به هشهایی کمتر از هش هدف یا Target Hash دست یابند. با سختتر شدن استخراج، هش هدف نیز کمتر و کمتر میشود. البته این کار با اضافه شدن صفرهای بیشتر به ابتدای هش هدف انجام میشود. به همین خاطر هم هشِ بلاکهای جدیدتر در شبکه بیت کوین، نسبت به بلاکهای چند سال قبل صفرهای بیشتری دارند. این مفهوم سختی شبکه است.
نمودار سختی شبکه بیت کوین از سایت بلاک چین داتکام قابل دسترس است. مفهوم نمودار سختی و اعدادی که در آن به کار رفته، بیانگر نسبتی است که مثلا استخراج بیت کوین نسبت به هفته گذشته یا مثلا روزهای ابتدایی شروع کار بیت کوین، چقدر دشوارتر شده است. یکی از منابعی که سختی شبکه را به خوبی توضیح داده، سایتlearnmeabitcoin است.
گفته شد که سختی شبکه بیت کوین هر دو هفته یکبار (به عبارت دیگر پس از ساخته شدن هر ۲۰۱۶ بلاک)، تغییر میکند تا زمان متوسط ساخت هر بلاک تقریبا ۱۰ دقیقه باشد. البته این ۱۰ دقیقه در دراز مدت معنی می بابد حال آنکه ممکنست ماینری در زمانی کمتر مثلا یک دقیقه به این موفقیت دست یابد.
اطمینان از تاییدیه نهایی سیستم و عدم پذیرش بلاک ساخته شده دیگری توسط نودی دیگر (که توضیح داده شد) با سوار شدن ۶ بلاک دیگر در طول دقایق پیش رو امکانپذیرست.
میزان پاداش تعلق گرفته به ماینر یا نود موفق هم بر اساس توافق اولیه برنامه نویسان این پلتفرم تعیین شده است . از سوی دیگر توافق شده تا پاداش مذور هر ۴ سال یکبار ( بعد از حصول ۲۱۰۰۰۰ بلاک ) تحت عنوان هالوینگ ، به نصف تقلیل پیدا کند. با یک حساب جزء نگر می توان فهمید که آخرین بیت کوین تقریبا در سال ۲۱۴۰ استخراج میشود.
دریافتی یک ماینر که بلاکی را وارد بلاک چین کرده بجز پاداش بلاک ، کمیسیون تراکنشهایی که در استخر اطلاعاتی بلاک وجود دارد نیز می باشد. از آنجا که استخراج ارز دیجیتال با پروتکل اثبات کار مستلزم سرمایهگذاری مقادیر مالی زیادی برای تأمین هزینه برق و توان محاسباتی است، عملکرد یک ماینر براساس میزان توان محاسباتی که در اختیار شبکه قرار میدهد، محاسبه میشود. از این توان معمولا با عنوان نرخ هش یا همان هش ریت Hash rate) ) یاد میشود. ماینرهای بسیاری در موقعیتهای مکانی مختلف قرار دارند و بر سر یافتن هش معتبر برای بلاک جدید با یکدیگر رقابت میکنند تا پاداش استخراج بلاک را به دست آورند. در چنین شرایطی، نرخ هش به صورت توزیعشده در اختیار چندین نود قرار دارد و این بدان معناست که هش ریت در اختیار هیچ فرد یا نهادی واحدی نیست، یا حداقل قرار نیست چنین باشد.
حمله ۵۱ درصد در شبکههای ارزهای دیجیتال مانند بیت کوین، زمانی رخ میدهد که یک فرد یا نهاد بتواند بیش از ۵۰٪ قدرت پردازش شبکه (هشریت) را از آن خود کند. زمانی که یک بلاک چین به اندازه کافی بزرگ شود، احتمال این که فرد یا گروهی از افراد بتوانند قدرت محاسباتی لازم برای غلبه بر دیگران را داشته باشند، پایین میآید و احتمال حمله ۵۱ درصد بسیار بسیار کاهش می یابد.
یک نکته : اصولا ثبت اطلاعات تراکنشها در پلتفرم بیت کوین می تواند به دو صورت باشد:
۱- بر مبنای اکانت یا Account based : در این سبک از ثبت اطلاعات ، اکانتها رصد می شوند و مثلا من به شما ۱۰ سکه انتقال داده ام. اگر قرار بر محاسبه موجودی من باشد ، باید از اولین بلاک اکانت من چک شود و خوب این مسیر ، بسیار پیچیده و زمان بر خواهد بود.
۲- بر اساس لجر یا Ledger based؛
در این روش که اساس عملکرد ثبت تراکنشهای بیت کوین را تشکیل می دهد ، ورودی و خروجی ها ثبت می شوند و ارزهای انتقالی بمثابه کارت هدیه بانکی هستند که یک بار مصرف بوده و قابل شارژ نیز نمی باشند.
در این نوع ثبت اطلاعات ، ارسال وجه از طریق یک آدرس به آدرس دیگر است بطوریکه باقیمانده وجه پس از کسر مبلغ ارسالی و کارمزد به صاحب اصلی آن عودت داده میشود. این نوع از تراکنش همانند شکل زیر یک ورودی و دو خروجی دارد.
نمونه دیگری از تراکنش در این شبکه عبارت است از جمعآوری تعدادی ورودی در دل یک خروجی. نمونه دنیای واقعی این نوع تراکنش زمانی است که شما مقدار زیادی پول خرد را با یک اسکناس به همان میزان معاوضه مینمایید
نهایتا نمونه آخر تراکنش عبارت است از توزیع یک ورودی به چند خروجی یا دریافت کننده. این مدل از ترکنش توسط نهادهای تجاری جهت توزیع وجوه بصورت یکجا و در یک زمان صورت میپذیرد. مانند پرداخت حقوق به کارمندان یک شرکت.
جالب ترین مثال جهت درک این فرایند ، تشبیه بیت کوین به کارت هدیه بانکیست ( غیر قابل شارژ و یک بار مصرف ) ؛ اگر شما یک کارت هدیه ۵۰ تومانی داشته باشید و بخواهید یک خرید ۳۰ تومانی انجام دهید ، باید به بانک رفته ۳۰ تومن را جهت هزینه خود دریافت کرده مابقی را در قالب یک کارت هدیه ۲۰ تومانی ، از بانک پس بگیرید.
دیدگاهتان را بنویسید