فهرست مطالب مقاله
Toggle
وایت پیپر بیت کوین چیست؟
ساتوشی ناکاموتو فردی بود که رمزارز بیتکوین را ایجاد کرد. او در سال 2008 یک مستند به نام وایت پیپر بیتکوین نیز منتشر کرد که در آن اصول و مفاهیم اصلی پشت این رمزارز را توضیح میدهد.
این مستند تبدیل به نمایشنامه اصلی بیتکوین شده و به ما کمک میکند تا درک بهتری از این ارز دیجیتال و تکنولوژی پشت آن داشته باشیم. یکی از مفاهیم کلیدی در وایت پیپر بیتکوین، بلاکچین است. بلاکچین عبارت است از یک نوع دفتر رکورد دیجیتال که تمامی تراکنشهای بیتکوین در آن ثبت میشوند.
مطالب مرتبط: بلاکچین چیست و چگونه کار میکند؟ |
این دفتر رکورد به صورت متمرکز نیست و در اختیار هیچ ادارهای نمیباشد. به عبارت دیگر، اطلاعات تراکنشها در سراسر یک شبکه کامپیوتری جهانی به اشتراک گذاشته میشوند و هیچ کسی نمیتواند آنها را حذف کند یا تغییر دهد.
گواه اثبات کار (PoW) نیز یک مفهوم مهم در وایت پیپر است. این مفهوم به تأیید تراکنشها و ایجاد بلاکهای جدید در بلاکچین بیت کوین کمک میکند.
وایت پیپر بیتکوین همچنین به جزئیات مهمی میپردازد، مانند مدل اقتصادی بیت کوین که در آن به ماینرها برای خدماتی که ارائه میدهند پاداش داده میشود. این اصول اساسی به توسعه و معتبر بودن بیت کوین کمک بسیاری میکنند.
در کل، وایت پیپر بیتکوین یک مستند کلیدی است که مفاهیم اصلی این رمزارز و تکنولوژی بلاکچین را در یک زبان قابل فهم و برای عموم مردم در دسترس توضیح داده است. این مستند نقش اساسی در تشکیل پایههای این ارز دیجیتال و تکنولوژی نوین بلاکچین دارد
اگر تا انتهای این متن با ما همراه باشید بخشهایی از اطلاعات موجود در وایت پیپر بیت کوین را در اختیار شما قرار میدهیم.
وایت پیپر بیت کوین فارسی
همانطور که در بخش قبلی گفتیم، وایت پیپر بیت کوین در واقع یک سند بسیار حیاتی است که اساس توسعه بیتکوین و کل اکوسیستم رمزارز را توضیح میدهد و هنوز هم برای کسانی که علاقهمند به درک اصول و مکانیزمهای بیتکوین هستند، به عنوان یک مرجع اصلی شناخته میشود.
از آنجایی که نسخه اصلی وایت پیپر بیت کوین به زبان انگلیسی است، ما در این بخش برخی قسمتهای مختلف این سند را به زبان فارسی برای شما ترجمه کردهایم. پس برای آشنایی با محتوای ترجمه وایت پیپر بیت کوین در ادامه با ما همراه باشید:
-
مقدمه وایت پیپر بیت کوین
تقریبا میتوان گفت امور تجاری در بستر اینترنت به موسسات مالی به عنوان شخصیتهای معتبر واسطه برای پردازش پرداختهای الکترونیکی اعتماد میکند. اگرچه این سیستم برای بیشتر معاملات به اندازه کافی کارساز عمل میکند، اما همچنان غیرقابل اعتماد است.
در این مقاله، ما یک راهحل برای مسأله دوباره خرج کردن کوین ارائه میدهیم که از یک سرور برچسب زمانی توزیع شده و همتا به همتا استفاده میکند تا اثبات محاسباتی را از ترتیب زمانی تراکنشها ایجاد کند، به نحوی که تراکنشها به ترتیب قرار بگیرند.
این سیستم تا زمانی امن است که نودهای درستکار بخش بیشتری از قدرت پردازش CPU را نسبت به نودهای متقلب تحت کنترل خود داشته باشند.
مطالب مرتبط: نگاهی نزدیک به تاریخچه بیت کوین |
-
تراکنشها
ما یک کوین الکترونیکی را به عنوان یک زنجیره از امضاهای دیجیتال تعریف میکنیم. هر مالک، کوین خود را به مالک بعدی منتقل میکند. در این فرآیند امضای دیجیتالی را روی یک مقدار هش از تراکنش قبلی و کلید عمومی مالک بعدی اعمال کرده و این اطلاعات را به کوین اضافه میکند. دریافت کننده میتواند امضاها را برای تأیید زنجیره مالکیت بررسی کند.
مشکل اصلی این است که دریافت کننده نمیتواند تأیید کند که یکی از مالکان کوین را دو بار مصرف نکرده باشد. یک راهحل معمول این است که یک مرکز معتبر یا “mint” وارد عمل میشود تا هر تراکنش را برای جلوگیری از خرج کردن دوباره بررسی کند.
پس از هر تراکنش، کوین باید به مینت برگردانده شود تا یک کوین جدید صادر شود. به این ترتیب تنها کوینهایی که مستقیماً از مینت صادر شدهاند، قابل اعتماد هستند و تضمین میشوند که مجدداً خرج نشوند.
مشکل این راهحل این است که سرنوشت کل سیستم پولی به شرکتی که مینت را اداره میکند وابسته است و هر تراکنش باید از طریق آنها صورت گیرد، این سیستم دقیقا شبیه به یک بانک عمل میکند.
اما ما به یک روش نیاز داریم تا دریافت کننده بداند که مالکان قبلی هیچ تراکنشی را امضا نکردهاند. برای این منظور، مهمترین تراکنش، تراکنشی است که انجام شده، بنابراین ما نگران تلاشهای بعدی برای خرج کردن دوباره کوین نیستیم.
تنها راه برای تأیید عدم وجود یک تراکنش این است که از تمام تراکنشها مطلع باشیم. در مدل مبتنی بر مینت، این خود مینت است که از همه تراکنشها باخبر بوده و تصمیم میگیرد کدامیک اولین تراکنشها بودهاند.
-
سرور برچسب زمان
راهحلی که ما پیشنهاد میدهیم با یک سرور برچسب زمان شروع میشود. یک سرور برچسب زمان به این صورت عمل میکند که هش یک بلاک از مواردی که باید زمانگذری داده شوند را میگیرد و هش را به صورت گسترده منتشر میکند.
-
گواه اثبات کار
اثبات کار شامل جستجو برای یافتن یک مقدار است که هنگام هش کردن، مثلا SHA-256، هش با تعدادی بیت صفر شروع شود. میانگین کار مورد نیاز به تعداد بیتهای صفر مورد نیاز به صورت تصاعدی افزایش پیدا میکند و میتوان با اجرای یک هش آن تأییدش کرد.
در شبکه تایم استمپ، ما اثبات کار را با افزایش یک عدد تصادفی (nonce) در بلاک انجام میدهیم و این کار را تا زمانی ادامه میدهیم که مقدار مورد نیاز بیتهای صفر برای هش بلاک بدست بیاید.
بعد از اینکه توان CPU تا حد مورد نیاز گواه اثبات کار بالا رفت، بلاک دیگر نمیتواند تغییر داده شود. اما وقتی بلاکهای بعدی به آن متصل شوند، امکان تغییر بلاک فراهم میشود که در واقع تغییر در تمام بلاکها است.
گواه اثبات کار همچنین مسأله تعیین نمایندگی در تصمیمگیری اکثریت را حل میکند. اگر اکثریت بر اساس “هر آدرس IP یک حق رای” باشد، ممکن است توسط شخصی که چندین IP در اختیار دارد مورد سواستفاده قرار بگیرید.
-
شبکه
مراحل اجرای شبکه به صورت زیر است:
1) تراکنشهای جدید به تمام نودها مخابره میشوند.
2) هر نود تراکنشهای جدید را در یک بلاک جمعآوری میکند.
3) هر نود به دنبال یافتن یک اثبات کار دشوار برای بلاک خود میگردد.
4) وقتی یک نود یک اثبات کار پیدا میکند، بلاک را به تمام نودها مخابره و پخش میکند.
5) نودها تنها در صورتی بلاک را میپذیرند که تمام تراکنشهای آن معتبر باشند و قبلاً خرج نشده باشند.
6) نودها با هدف ایجاد بلاک بعدی در زنجیره پذیرش بلاک را اعلام میکنند و از هش بلاک پذیرفتهشده به عنوان هش قبلی استفاده میکنند.
-
انگیزه و پاداش دادن
در بلاکچین، اولین تراکنش در بلاک، به عنوان یک تراکنش ویژه، باعث آغاز یک کوین جدید به نام سازنده بلاک میشود. این اقدام به نوعی نودها را به حمایت از شبکه و فراهم آوردن یک راه برای توزیع ابتدایی کوینها در معاملات میانی تشویق میکند.
بلاکچین میتواند به عنوان یک مشوق توسط کارمزد تراکنشها نیز تأمین شود. اگر ارزش خروجی تراکنش کمتر از ارزش ورودی آن باشد، تفاوت بین ورودی و خروجی به عنوان کارمزد تراکنش به ارزش بلاک اضافه میشود.
-
اختصاص فضای ذخیرهسازی
بعد از تایید کافی تراکنشها در آخرین بلاک، میتوان بلاکهای قبلی را در هارددیسک ذخیره کرد. برای این منظور، تراکنشها از طریق درخت مرکل هش میشوند، به گونهای که تنها ریشه این درخت در هش بلاک ذخیره میشود.
با از بین بردن شاخههای غیرضروری از این درخت، بلاکهای قدیمی را میتوان فشردهسازی کرد. در اینجا، نیازی به ذخیرهسازی هشهای داخلی در هارددیسک نیست.
حجم هدر بلاک بدون تراکنش تقریباً ۸۰ بایت است. اگر فرض کنیم که هر ۱۰ دقیقه یک بلاک تولید میشود، سالانه ۴.۲ مگابایت فضا برای ذخیرهسازی نیاز است.
-
تاییدیه ساده سازی شده تراکنشها
تایید پرداختها و تراکنشها بدون اجرای یک نود کامل امکانپذیر است. کاربر تنها نیاز دارد یک نسخه از هدرهای بلاک در زنجیره بلوکهای گواه اثبات کار با طول بیشترین زنجیره را در اختیار داشته باشد.
او میتواند با بررسی نودهای شبکه و اطلاعات عمومی آنها، اطمینان حاصل کند که دارای زنجیره بلوک صحیحی هستند و سپس تراکنش خود را به بلاکی با برچسب زمانی مناسب وارد کند.
کاربر امکان بررسی مستقیم تراکنشها را ندارد. به جای آن، با ارتباط تراکنش با یک مکانی در زنجیره و درخواست تایید یا رد تراکنش از نودهای شبکه، تایید تراکنش انجام میشود.
برای اجرایی شدن این اقدام لازم است تا نرمافزار کاربر بلاکهای مشکوک را بارگیری کند و تراکنشهای هشدار داده شده را تایید یا رد کند. این اقدامات به تقویت امنیت شبکه در برابر تراکنشهای مخرب کمک میکنند.
-
ترکیب و جداسازی مقادیر
یک تراکنش ممکن است شامل یک ورودی از تراکنشهای قبلی بزرگتر یا ترکیبی از چند ورودی باشد که مقادیر کوچکتری را ترکیب کردهاند. همچنین، یک تراکنش معمولاً دارای دو خروجی است، یکی برای پرداخت مقدار مورد نظر و دیگری برای بازگشت مقدار باقیمانده به ارسالکننده در صورت وجود باقیمانده.
توجه داشته باشید در شرایطی که یک تراکنش به چندین تراکنش دیگر و این چندین تراکنش دیگر نیز به تعداد زیادی از تراکنشهای دیگر وابسته هستند، نیازی به داشتن نسخه جداگانه از تاریخچه تراکنشها نداریم.
-
حریم خصوصی
سیستم بانکداری سنتی با محدودسازی دسترسی به اطلاعات برای طرفین تراکنش و افراد ثالث، امکان حفظ سطح حریم خصوصی را فراهم میکند. در این سیستم، اعلام عمومی تمام تراکنشها ممنوع است که این موضوع مسئلهای را برای اطلاعرسانی به طرفین تراکنش و اشخاص ثالث ایجاد می شود.
با این وجود، با شکستن جریان اطلاعات به شیوهای دیگر، حریم خصوصی میتواند حفظ شود. این شیوه معمولاً با نگهداشتن کلیدهای عمومی به شکل ناشناس انجام میشود. عموم افراد میتوانند تراکنشها را مشاهده کنند، اما اطلاعاتی وجود ندارد که تراکنش را به افراد مشخص نسبت دهد.
در این تراکنشها، باید مشخص شود که ورودیها متعلق به یک دارنده کلید یکسان هستند. اما باید توجه داشت که اگر هویت دارنده کلید مشخص شود، ارتباط موجود ممکن است اطلاعات دیگری از تراکنشهای مرتبط با این دارنده کلید را نیز فاش کند.
-
محاسبات
در مواجهه با شرایطی که حملهکننده تلاش میکند یک زنجیره جایگزینی ایجاد کند که سریعتر از زنجیره اصلی و سالم باشد، باید توجه داشت که ایجاد تغییرات دلخواه در سیستم امکانپذیر نمیشود. این تغییرات ممکن است شامل ایجاد ارزش از هیچ یا برداشت پولی که متعلق به حملهکننده نیست، باشد.
نودها تراکنشهای نامعتبر را به عنوان پرداخت نمیپذیرند و نودهای درستکار هرگز بلاکهایی که حاوی این تراکنشها هستند را قبول نمی کنند. حملهکننده تنها میتواند تلاش کند یکی از تراکنشهای خود را تغییر داده و پولی که به تازگی خرج کرده است را بازیابی کند.
رقابت بین زنجیره سالم و زنجیره حملهکننده میتواند به عنوان یک گام تصادفی دوجملهای در نظر گرفته شود. در اینجا موقعیت زمانی رخ میدهد که زنجیره سالم با افزایش یک بلاک ادامه یابد و اختلاف زنجیره سالم با زنجیره حملهکننده بیشتر از یک بلاک باشد.
به عبارت دیگر، شکست در اینجا به معنای این است که زنجیره حملهکننده با بیشتر شدن یک بلاک از زنجیره سالم، جلوتر از آن میرود.
ما میتوانیم احتمال رسیدن به مرحله برابر را محاسبه کنیم، که همان مرحله رسیدن حملهکننده به زنجیره سالم است. این موضوع را میتوان با استفاده از ریاضیات مربوط به فرآیند تصادفی گامهای دوجملهای به صورت زیر محاسبه کرد:
در این محاسبه:
p برابر است با احتمال یافتن بلاک بعدی توسط نود درستکار
q برابر است با احتمال یافتن بلاک بعدی توسط حمله کننده
qz برابر است با احتمال رسیدن مهاجم به نود درستکار از z بلاک قبل
ما فرض می کنیم که p>q است، در این حالت تعداد بلاکهای حملهکننده بیشتر می شود تا به بلاکهای زنجیره سالم برسد، اما احتمال موفقیت حمله به صورت تصاعدی کاهش پیدا می کند.
حالا فرض کنید دریافتکننده یک تراکنش جدید را دریافت کرده و میخواهد مطمئن شود که ارسالکننده نمیتواند تراکنش را تغییر دهد.
در اینجا ارسالکننده در واقع حملهکننده است که قصد دارد دریافتکننده را فریب دهد تا به پرداخت انجامشده اعتماد کند و سپس شرایط را به نفع خود تغییر دهد تا پرداختهای انجامشده به خود ارسالکننده بازگردانده شود.
برای ایجاد امنیت بیشتر، دریافتکننده یک جفت کلید جدید ایجاد میکند و قبل از امضا کردن تراکنش، کلید عمومی را به ارسالکننده اعلام میکند. این اقدام از زودتر آمادهسازی زنجیره بلاکها توسط ارسالکننده و جلوگیری از انجام تغییرات توسط او جلوگیری میکند.
پس از ارسال تراکنش، ارسالکننده ناسالم به طور مخفیانه روی زنجیره موازی کار میکند، که شامل نسخه جایگزین تراکنش او است. دریافتکننده صبر میکند تا تراکنش به بلاک اضافه شود و سپس به تعداد z بلاک پس از آن پیوند بخورد.
دریافتکننده نمیداند که حملهکننده چه میزان پیشرفت داشته است، اما با فرض بر اینکه همان میانگین زمان مورد انتظار برای ایجاد بلاکهای سالم و درستکار استفاده میشود، پیشرفت حملهکننده معادل با توزیع پواسون با مقدار مورد انتظار است. این توزیع با استفاده از ریاضیات مربوط به فرآیند تصادفی گامهای دوجملهای محاسبه میشود.
به منظور محاسبه احتمالی که حملهکننده هنوز میتواند به نود درستکار برسد، ما از تراکم پواسون برای هر مقدار از پیشروی حملهکننده استفاده میکنیم و این تراکم را با احتمال رسیدن به نود درستکار از همان نقطه ضرب میکنیم:
به منظور پیشگیری از ایجاد مجموع دنباله بی نهایت توزیع، فرمول را به شکل زیر تغییر میدهیم:
سپس آن را به کد C تبدیل میکنیم:
با بررسی چند مورد از نتایج، میتوانیم مشاهده کنیم که احتمال مذکور با افزایش z به طور تصاعدی کاهش پیدا میکند:
برای مقادیر P کمتر از ۰.۱٪ به صورت زیر محاسبه میکنیم:
دانلود وایت پیپر بیت کوین
همانطور که با ما همراه بودید در بخش قبلی قسمتهایی از متن ترجمه وایت پیپر بیت کوین را در اختیار شما قرار دادیم. با این وجود شاید علاقه داشته باشید فایل اصلی و کامل این سند را مطالعه کنید که به زبان انگلیسی تالیف شده است.
برای این منظور وایت پیپر بیت کوین PDF را در اختیار شما قرار میدهیم. به منظور دسترسی به این فایل کافیست روی لینک دانلود وایت پیپر بیت کوین PDF کلیک کنید.
جمع بندی
در این مطلب به بررسی جامع وایت پیپر بیت کوین پرداختیم و با روشهای اصولی این سند به منظور کارکرد صحیح بلاکچین بیت کوین از جمله برچسب زمان، گواه اثبات کار، حفظ حریم خصوصی و محاسبات دخیل در آن آشنا شدیم.
دسترسی به این اطلاعات به شما کمک میکند تا درک بهتری از قوانین بیت کوین داشته باشید و با خاطری آسودهتر بر روی این ارز دیجیتال سرمایهگذاری کنید. نظر شما در این خصوص چیست؟ آیا بیت کوین توانسته با کمک اصول خود یک شبکه امن از بلاکچین ایجاد کند؟