آموزش ترید و تحلیل تکنیکال - مرکز تحقیقات بلاک چین

وایت پیپر بیت کوین

ترجمه وایت پیپر بیت کوین

 

بیت کوین اولین رمز ارز ایجاد شده بر  بستر بلاک‌چین است و به عنوان پرچم دار حوزه کریپتوکارنسی شناخته می‌شود. با این حال بعد از گذشت 11 سال، همچنان مورد توجه افراد زیادی در سراسر دنیا قرار دارد و جدا از محبوبیتش در بین مردم که  از آن برای ترید (معامله) و کسب سود استفاده می کنند، توسعه دهندگان و برنامه نویسان بسیاری بر روی شبکه آن کار  می‌کنند. امروزه پروژه های زیادی برای رفع مشکلات و همینطور بهبود شبکه بلاک‌چین بیت کوین بوجود آمده است و حتی رقبای قدرتمندی در بازار فعالیت خود را شروع کرده‌اند. بر همین اساس شاید سوالی مهم در ذهنتان شکل گرفته باشد، اینکه ساتوشی ناکاموتو چه هدف و برنامه ای برای ایجاد بیت کوین داشته است؟

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

 


بیتکوین، یک سیستم پول الکترونیکی فرد به فرد


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

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

 


مقدمه


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

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

 


تراکنش


ما یک کوین دیجیتالی را به عنوان زنجیره‌ای از امضاهای دیجیتالی توصیف می‌کنیم. هر مالک با استفاده از امضای دیجیتال هش بلاک قبلی، کوین و کلید عمومی فرد بعدی را منتقل می‌کند و این موارد را به انتهای تراکنش جدید اضافه می کند. دریافت کننده وجه نیز می تواند امضا ها را تایید کند و زنجیره مالکیت تایید شود.

 

تراکنش بیتکوین

 

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

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

 


سرور برچسب زماندار


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

سرور برچسب زماندار

 


اثبات انجام کار (Proof of Work)


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

گواه اثبات کار

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

 


شبکه


شبکه را می‌توان طبق مراحل زیر راه اندازی کرد:

  1. تراکنش‌های جدید به تمامی نودها مخابره می‌شوند
  2. هر نود تراکنش‌های جدید را در یک بلوک ذخیره می‌کند
  3. هر نود سعی می‌کند تا برای یافتن صحت تراکنش با الگوریتم گواه اثبات کار شروع به فعالیت کند
  4.  زمانی که یک نود جواب PoW را می‌یابد، بلوک خود را به تمامی نودها مخابره می‌کند
  5. سایر نودها بلوک مذکور را تنها در شرایطی می‌پذیرند که کل تراکنش‌های آن صحیح باشند و قبلا خرج نشده باشند
  6. سایر نودها موافقت خود را با بلوک مورد نظر، برای ایجاد بلوک بعدی در زنجیره اعلام میدارند و به این منظور از هش بلوک پذیرفته شده به عنوان هش قبلی استفاده می‌کنند.

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

 


انگیزه


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

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

 


بازیابی فضای دیسک


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

 بلاکچین بیت کوین

 

حجم سربرگ بلوکی که حاوی تراکنش نیست تقریبا حدود 80 بایت خواهد بود. چنانچه زمان تولید بلوک‌ها را هر10  دقیقه در نظر بگیریم، 80 بایت*6*24*365 =4.2 مگابایت در سال خواهد بود. سیستم‌های کامپیوتری که در سال 2008 به فروش می‌رسند، عموما دارای RAM دو گیگابایتی هستند و از قانون مور (Moore) پیروی می‌کنند. تخمین زده می‌شود که رشد فعلی سالانه 1.2 گیگابایت باشد؛ درنتیجه فضای ذخیره‌‌سازی حتی در صورت لزوم به نگهداری سربرگ‌های بلوک در حافظه، نباید مشکل‌ساز باشد.

 


تایید تسهیل‌ شده پرداخت


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

 درخت مرکل

 

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

 


مقدار ترکیبی و تفکیکی


اگرچه مدیریت کوین‌ها به صورت جداگانه ممکن است؛ اما ایجاد یک تراکنش جدا برای انتقال هر سِنت (دلار) ناکارآمد به نظر می‌رسد. برای اینکه تفکیک و ترکیب هر مقدار ممکن باشد، تراکنش‌ها دارای چندین ورودی و خروجی هستند. معمولا یا یک ورودی از یک تراکنش بزرگتر قبلی خواهد بود و یا چندین ورودی، مقادیر اندک را تلفیق خواهند کرد؛ و در بسیاری از موارد دو خروجی خواهیم داشت: یکی برای پرداخت و دیگری برای بازگشت باقی مانده. اگر باقیمانده موجود باشد، به فرستنده باز می‌گردد.

 تراکنش بیت کوین

 

لازم به ذکر است که ظرفیت خروجی باید مورد توجه باشد، جایی که یک تراکنش به چندین تراکنش وابسته است و آن تراکنش ها نیز بر بسیاری دیگر وابسته می باشند، البته این موضوع در این جا مشکل‌ساز نیست. هیچ گاه نیازی به استخراج یک کپی مستقل کامل از تاریخچه‌ی تراکنش‌ها نخواهد بود.

 


حریم خصوصی


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

 تراکنش بیت کوین

 

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

 


محاسبات


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

احتمال اینکه مهاجم بتواند با این کسری به زنجیره معتبر برسد، مشابه مساله Gambler`s Ruin  (نابودی قمارباز) است. تصور کنید یک قمارباز با موجودی نامحدود شروع به زیان می‌کند و با تعداد ذاتا محدودی از آزمایش برای رسیدن به نقطه سر به‌ سر بازی می‌کند. ما می‌توانیم احتمال اینکه آیا هیچگاه به نقطه سر به سر می‌رسد و یا اینکه یک مهاجم می‌تواند به زنجیره معتبر برسد را به شکل زیر محاسبه کنیم:

P= احتمال پیدا کردن بلوک بعدی توسط یک نود معتبر

q= احتمال پیدا کردن بلوک بعدی توسط مهاجم

qz= احتمال اینکه مهاجم بتواند در صورت عقب بودن چندین بلاک از زنجیره درستکار دوباره به آن برسد

 

وایت پیپر بیتکوین

 

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

گیرنده تا وقتی که تراکنش به یک بلوک اضافه شود و تعداد z بلوک به آن متصل شود، منتظر می‌ماند. او از پیشرفت دقیق مهاجم بی اطلاع است؛ اما تخمین می‌زند که بلوک‌های معتبر زمان متوسط مورد انتظار بر حسب هر بلوک را طی کرده‌اند؛ پتانسیل پیشرفت احتمالی مهاجم با توزیع پواسون (Poisson)، با ارزش مورد انتظار خواهد بود:

 وایت پیپر بیتکوین

 

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

 وایت پیپر بیتکوین

 

معادله را برای جلوگیری از جمع کردن دنباله نامحدود توزیع مجدد مرتب می‌کنیم :

 وایت پیپر بیتکوین

 

فرمول های بالا را به زبان C تبدیل می‌کنیم :

وایت پیپر بیتکوین

 

نتایج را اجرا می‌کنیم؛ کاهش احتمال به شکل نمایی با متغیر z مشاهده می‌شود:

 

وایت پیپر بیتکوین

 

حل برای P کمتر از 0.1 % ...

وایت پیپر بیتکوین

 


نتیجه گیری


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

 

مطالب مرتبط:

بیت کوین چگونه کار می کند؟ + ویدیو

بیت کوین حباب اقتصادی است یا طلای دیجیتال؟

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

چالش های تنظیم مقررات بیت کوین و ارزهای دیجیتال

انفجار قیمت بیت کوین دوباره آغاز می شود؟

 


منبع: مرکز تحقیقات بلاک چین


 

نظرات (0)

دارای رتبه 0 بواسطه 5 بر اساس 0 رأی
نظر ارسال شده‌ی جدیدی وجود ندارد

دیدگاه خود را بیان کنید

  1. ارسال دیدگاه بعنوان یک مهمان - ثبت نام کنید و یا وارد حساب خود شوید.
امتیازدهی:
پیوست ها (0 / 3)
اشتراک‌گذاری موقعیت مکانی شما

درباره ما

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


ادامه درباره ما