بیت کوین، اولین ارز دیجیتال رمزنگاری شده در جهان، در سال 2008 با معرفی وایت پیپر، وارد صحنه شد. از آن زمان تاکنون، این ارز به ارزشهای بسیاری دست یافته است. نویسنده این وایت پیپر و فردی که بیتکوین را معرفی کرد هنوز هویتش مبهم است. با این حال، او خود را با نام مستعار ساتوشی ناکاموتو معرفی کرد و وایت پیپر این ارز دیجیتال را منتشر نمود. در ادامه ترجمه وایت پیپر بیت کوین را با هم میخوانیم.
وایت پیپر بیت کوین
خلاصه وایت پیپر بیت کوین:
یک نسخه کاملاً مستقیم از پول الکترونیکی، امکان ارسال پرداختهای آنلاین از فرد به فرد را بدون نیاز به دخالت یک موسسه مالی میسر میسازد. امضاهای دیجیتال میتوانند یک راهحل هستند، اما اگر هنوز نیاز به واسطهای جهت اعتماد و جلوگیری از هدررفت پول باشد، مزایای اصلی آن کاسته میشود. ما یک راهحل برای مسئلهی هدر رفت پول ارائه میدهیم که از طریق شبکههای فرد به فرد عمل میکند. این شبکه تراکنشها را با استفاده از هشکردنشان در قالب یک زنجیره پیوسته براساس اثبات انجام کار بر پایهی هش، زمانبندی میکند که بدون انجام دوباره کاری که قبلاً انجام شده، قابل تغییر نخواهد بود.
بلندترین زنجیره نه تنها به عنوان ترتیب وقایع محسوب میشود، بلکه اثبات ارائه شده از توان محاسباتی بزرگترین مجموعه CPU همراه با این زنجیره است. تا زمانی که توان محاسباتی اکثریت در اختیار نودهایی است که در حمله به شبکه مشارکت نمیکنند، زنجیره بلندتر توسط آنها ساخته میشود و مهاجمان پیشی نمیگیرند. پس شبکه به حداقل ساختاری نیاز دارد. همچنین تصمیمات بر اساس توافقات در شبکه میگیرند و نودها میتوانند به تصمیم خود شبکه را به هنگام با بلندترین زنجیره، PoW به عنوان تأییدچرخهای که در زمان رفتن آن رخ داده است، ترک کنند یا به آن بپیوندند.
مقدمه وایت پیپر بیت کوین:
تجارت در دنیای اینترنت تا کنون برای پردازش پرداختهای الکترونیکی به طور اساسی به واسطههای مالی متکی بوده است، که به عنوان یک پل اعتماد ارائه میشوند و مسئولیت پاسخگویی در مورد انجام تراکنشها را برعهده دارند. این سیستم، هرچند که کارایی مناسبی دارد، اما همچنان دارای نقاط ضعفی است که معمولا در روشهای مبتنی بر اعتماد دیده میشوند. امکان انجام تراکنشهای نهایی و غیرقابل بازگشت وجود ندارد؛ زیرا موسسات مالی در مواقع اختلاف واسطهگری میکنند. این واسطهگری میتواند هزینههای تراکنش را افزایش دهد، مقدار حداقل ممکن برای اجرای یک تراکنش را محدود کند و انجام تراکنشهای کوچک را مشکل سازد.
این همچنین منجر به افزایش اعتماد از سوی مشتریان به فروشندگان میشود و نیاز به دریافت اطلاعات بیش از حد اساسی از آنها را برطرف میکند. به علاوه، همواره یک درصد خطا به عنوان یک امر غیرقابل اجتناب در نظر گرفته میشود. این هزینهها و نواقص نه تنها در پرداختهای حضوری با استفاده از واحدهای پولی ملموس قابل احتمال است، بلکه در حال حاضر مکانیسمی برای پرداخت از طریق واسطهگری بدون واسطه در دسترس نیست.
جایگزینی لازم برای ایجاد اعتماد، یک سیستم پرداخت الکترونیکی برمبنای رمزنگاری است؛ تا طرفان بتوانند بدون نیاز به واسطه، به صورت مستقیم تراکنش انجام دهند. تراکنشهایی که از نظر محاسباتی غیرقابل بازگشت هستند، فروشندگان را در برابر تقلب و جعل محافظت میکنند و مکانیزم پرداخت، راحتترین راه را فراهم میکند تا خریدار در مقابل موارد مشابه محافظت شود. در این مقاله، یک راهحل برای مسئلهی هدررفت پول با استفاده از یک سرور برچسبزماندهی فرد به فرد پیشنهاد میشود که این سرور با ایجاد ترتیب زمانی برای تراکنشها از طریق اثبات کامپیوتری عمل میکند. این سیستم تا زمانی که نودهای معتبر به ترتیبی با CPU بازده بالاتر نسبت به نودهای حملهکننده ادامه دهند، امن است.
نحوه تراکنش
سکه الکترونیکی را به عنوان واحدی از امضاهای دیجیتال تعریف میکنیم. هر فرد که مایل به انتقال سکه به شخص دیگری است، هش تراکنش قبلی را به علاوه کلید عمومی فرد جدید را به صورت دیجیتالی امضا میکند و به انتهای سکه مذکور اضافه میکند. فرد جدید میتواند با تایید این امضاها، مالکیت سکه را تایید نماید.
البته یکی از مسائلی که وجود دارد این است که دریافت کننده نمیتواند صحت عدم خرج دوباره پول توسط مالک قبلی سکه را تایید کند. راهحل معمول برای این موضوع این است که از یک واسط معتمد، به نام نظامپذیرفتهکننده، استفاده کنیم که هر تراکنش را بررسی میکند. بعد از هر تراکنش، سکه به نظامپذیرفتهکننده باز میگردد تا یک سکه جدید تولید شود؛ و تنها سکههایی که مستقیماً از نظامپذیرفتهکننده منتشر شدهاند، معتبر و محافظت شده در برابر خرج دوباره محسوب میشوند. البته مشکل این راهحل این است که با وجود اینکه تراکنشها به نظامپذیرفتهکننده واجدان گردند، سرنوشت کل سیستم پولی به دست یک گروه مرکزی وابسته میشود؛ که مشابه سیستم بانکی عمل میکند.
تراکنش ها در بیت کوین با چه روشی انجام میشوند؟
به یک روش نیاز داریم که دریافتکننده قادر باشد بدون امضای تراکنشهای قبلی توسط مالکان پیشین، از وضعیت آگاه شود. برای رسیدن به این هدف، ما آخرین تراکنش را به عنوان تراکنش معتبر در نظر میگیریم و سعی در بررسی تراکنشهای بعدی برای جلوگیری از خرج دوباره پول نداریم. آگاهی از تمام تراکنشها، تنها راه بررسی امکان حضور یک تراکنش نامعتبر است. در روشی که از نظر اصلی بانکها به کار گرفته میشود، این مرکز با داشتن اطلاعات کامل در مورد تمام تراکنشها، ترتیب زمانی آنها را تشخیص میدهد. برای پیادهسازی چنین سیستمی بدون نیاز به واسط معتمد، لازم است تراکنشها به صورت عمومی منتشر شوند و عضوهای سیستم توافقی روی یک سابقه مشترک از ترتیب دریافت تراکنشها توافق کنند. از سوی دیگر، دریافتکننده نیاز دارد با ارائه دلیلهای مورد نیاز، ثابت کند که در زمان هر تراکنش، اکثر نودها روی دریافت تراکنش مذکور پیش از دیگران توافق داشتهاند.
سرور برچسب زمانی
راهکاری که ارائه میدهیم با بهرهگیری از سرور برچسبزماندار آغاز میشود. ابتدا، این سرور یک هش از دادهها تولید میکند و به آن برچسب زمانی اختصاص میدهد؛ سپس هش حاصل را به صورت منتشر شده اعلام میکند؛ این مانند انتشار یک خبر در روزنامه یا یک بلاگ است. بدیهی است که برای محاسبه هش، دادهای مورد نیاز است؛ بنابراین، حضور برچسب زمانی در هر لحظه، وجود داده را تایید میکند. هر برچسب زمانی، هش برچسب زمانی قبلی خود را در بر میگیرد و با هم تشکیل یک زنجیره میدهند؛ به طور دیگر، هر برچسب زمانی جدید، قدرت برچسبهای زمانی قبلی را تقویت میکند.
اثبات
برای اجرای یک سرور برچسب زمانی در سطح فرد به فرد، به جای استفاده از یادداشتهای روزنامه یا وبلاگ، نیازمند یک سیستم اثبات انجام کار مانند سیستم هشکش آدام بک هستیم. این سیستم شامل تأیید مقداری است که اگر هش آن (به عنوان مثال با استفاده از SHA-256) محاسبه شود، این عدد هششده با تعدادی از بیتهای صفری آغاز شود. میانگین زمانی که برای به دست آوردن این مقدار لازم است یا تعداد بیتهای صفر مورد نظر در حالت دیده نمیشود و با انجام یک هش قابل تایید میباشد.
اجماع اثبات کار بیت کوین:
برای استفاده از اثبات کار در شبکه برچسب زماندار، ما یک عدد نانس به بلوک اضافه میکنیم تا مقداری را پیدا کنیم که به هش بلوک، تعداد مورد نظر بیتهای صفری را بدهد. در زمانی که تلاشهای CPU برای یافتن این مقدار PoW نتیجه میدهد، بلوک مورد نظر بدون امکان تغییر در کار انجام شده قابل تایید میباشد. همانطور که بلوکهای بعدی به آن متصل میشوند، برای تغییر بلوک مورد نظر، کار انجام شده روی تمامی بلوکها مجدداً انجام میشود.
علاوه بر این، سیستم اثبات انجام کار، مشکل تشخیص نظر غالب در تصمیمگیریهای گروهی را حل میکند. در صورتی که اکثریت بر اساس یک آدرس IP رای دهد، کسی که میتوانست به بیش از یک آدرس IP دسترسی داشته باشد، میتوانست در این تصمیمگیری اختلال ایجاد کند. در سیستم PoW، هر CPU در نهایت فقط یک رای دارد. تصمیم نهایی توسط زنجیرهبلندترین معتبر مشخص میشود، که این زنجیره دارای بیشترین اثبات انجام کار است. در صورتی که قدرت پردازش توسط نودهای معتمد کنترل شود، زنجیره معتبر سریعتر رشد کرده و از زنجیرههای رقیب پیشی میگیرد.
برای تغییر یک بلوک قدیمی، فرد مهاجم باید علاوه بر انجام مجدد PoW بر روی بلوک، اثبات انجام کار تمامی بلوکهای پس از آن را نجرانت دوباره انجام دهد و سپس به نودهای معتمد برسد و از آنها پیشی بگیرد. در ادامه نشان خواهیم داد که احتمال اینکه یک مهاجم به این نقطه برسد با اضافه شدن بلوکهای بعدی به تدریج کاهش مییابد. برای جلوگیری از افزایش سرعت سختافزار و تعداد نودهای فعال در بازههای مختلف، سختی PoW با میانگین متغیر ثابت میشود که متوسط تعداد بلوکها به ازای یک ساعت را در نظر میگیرد. اگر بلوکها با سرعت زیادی ایجاد شوند، سختی افزایش مییابد.
بیشتر بخوانید: تاریخچه هاردفورک بیت کوین
شبکه
مراحل زیر را میتوان برای اجرای شبکه در نظر گرفت.
- تراکنشهای تازه به همهی نودها ارسال میشوند.
- هر گره، تراکنشهای تازه را در یک بلوک ذخیره میکند.
- هر گره تلاش میکند تا یک محاسبه PoW سخت را برای بلوک خود انجام دهد.
- وقتی یک گره با موفقیت یک محاسبه PoW انجام میدهد، بلوک خود را به همه گرهها ارسال میکند.
- سایر گرهها تنها بلوک مذکور را قبول میکنند اگر تمام تراکنشهای آن صحیح و تا قبل از این خرج نشده باشند.
- نودهای دیگر با ایجاد بلوک بعدی در زنجیره، موافقت خود را با بلوک مورد نظر اعلام میکنند. برای این کار، از هش بلوکی که پذیرفته شده است به عنوان هش قبلی استفاده میکنند.
اطلاعات تکمیلی شبکه بیت کوین
نودها همیشه زنجیره با بلندترین زنجیره را به عنوان زنجیره درست در نظر میگیرند و تلاش میکنند تا آن را گسترش دهند. اگر دو نود به صورت همزمان دو نسخه متفاوت از بلوک بعدی را منتشر کنند، ممکن است برخی از نودها یک نسخه و دیگران نسخه دیگر را دریافت کنند. در این صورت، هر نود بر روی نسخهای که دریافت کرده است کار میکند؛ اما نوع دیگر را در شاخههای مختلف ذخیره میکند تا اگر آن شاخه بلندتر شود، آن را ادامه دهد. این ارتباط زمانی که جواب PoW بعدی یافت شود قطع میشود و تنها یک شاخه طولانیتر خواهد بود؛ در این حالت، سایر نودها که بر روی نسخهی دیگر بلوک کار کردهاند، به شاخه بلندتر متمرکز میشوند.
نیازی نیست که تراکنشهای جدید به تمامی نودها برسند. تا زمانی که به تعدادی از نودها برسد، به زودی در یک بلوک قرار میگیرند. همچنین، بلوکهای منتشرشده مصون به پیامهای از بین رفته هستند؛ این به این معنی است که اگر یک نود بلوکی را دریافت نکند، هر زمان که در حال دریافت بلوک بعدی باشد، متوجه عدم حضور بلوک درخواهد شد و درخواست دریافت آن را ارسال میکند.
پاداش
به طور قراردادی، تراکنش ابتدایی در هر بلوک، تراکنش خاصی است که یک سکه الکترونیکی جدید ایجاد میکند و مالکیت آن سکه به تولیدکننده بلوک تعلق دارد. این اقدام برای نودها امکان ارائه پشتیبانی به شبکه و مسیریابی سکهها به منظور گردش آنها را فراهم میکند؛ زیرا هیچ مرکز متمرکزی برای چاپ سکهها وجود ندارد. میتوان تا حدودی این فرآیند تولید مقداری از سکههای جدید را با استخراجکنندگان طلا مقایسه کرد که با مصرف منابع، طلا را به گردش در میآورند. در مورد ما، این منابع زمان CPU و مصرف برق مورد نظر است.
همچنین، این اقدام میتواند با کارمزد تراکنشها همراه شود. اگر مقدار خروجی یک تراکنش از مقدار ورودی آن کمتر باشد، میتوان متفاوتاندازه یک کارمزد تراکنش به ماینران ارائه داد که به مراتب انگیزهدهنده برای دریافت بلوک حاوی تراکنش میشود. زمانی که تعداد ثابتی از پیش تعیین نشده از سکهها به گردش درآمد، این اقدام میتواند به مراتب کارمزد تراکنشها تمرکز کند و به طور کامل از تورم مصون باشد. این اقدام میتواند نودها را ترغیب به انجام درستکاری کند. در صورتی که یک مهاجم بتواند قدرت CPU بیشتری را نسبت به همه نودهای درستکار به دست آورد، باید این قدرت را به منظور سرقت پرداختهای مردم و یا تولید سکههای جدید انتخاب کند. برای این فرد، از نظر اقتصادی مفیدترین گزینه، قوانینی هستند که به او از مجموع دیگران بیشترین تعداد سکه جدید را ارائه میدهند تا او تنها سیستم و ارزش سرمایه خود را به خطر نیندازد.
بازیابی فضای ذخیره سازی
بلافاصله پس از اینکه آخرین تراکنش در یک سکه زیر بلوکهای کانفرم قرار گرفت، تراکنشهای خرج شده قبل از آن میتوانند به حالت نادیده گرفته شوند تا فضای دیسک آزاد باقی بماند. برای انجام این کار بدون نیاز به محاسبهی هش بلوک، تراکنشها در یک درخت مرکل هش میشوند. این درخت تنها ریشهاش در هش بلوک شامل میشود. بلوکهای قدیمی در مراحل بعدی میتوانند با کاهش شاخههای درخت تراکنشها را فشردهتر کنند. به این ترتیب نیازی به ذخیرهسازی هشهای داخلی نیست.
حجم سربرگ بلوکی که حاوی تراکنش نیست تقریباً 80 بایت است. اگر زمان تولید هر بلوک را در حدود 10 دقیقه در نظر بگیریم، ظرفیت ذخیرهسازی برای سربرگهای بلوک در سال تقریباً 365246 مگابایت خواهد بود. کامپیوترهایی که در سال 2008 به بازار عرضه میشوند، عموماً دارای دو گیگابایت حافظه RAM هستند و طبق قوانین رشد فعلی، این میزان در سال به 1.2 گیگابایت افزایش مییابد؛ در نتیجه نگهداری سربرگهای بلوک در حافظه در صورت نیاز، به مشکلی تبدیل نمیشود.
آیا تایید تراکنش در شبکه بیت کوین بدون اجرا نود امکان پذیر است؟
تایید تراکنشها بدون اجرای یک نود شبکهی کامل ممکن است. کاربر تنها نیاز به داشتن یک کین از طویلترین زنجیرهی PoW دارد؛ این اطلاعات را میتواند از نودهای شبکه درخواست کند تا اطمینان حاصل کند که این زنجیره بلندترین PoW و شاخه مرکلی که تراکنش را به بلوکی که در آن برچسب زماندار شده است متصل میکند. او نمیتواند تراکنش را به صورت مستقل بررسی کند، اما با ارسال آن به مکانیزم در زنجیره، میتواند مشاهده کند که یک نود شبکه تراکنش را پذیرفته کرده و بلوکهای بعدی آن نود تایید میکنند.
بدین ترتیب، ما میتوانیم تا زمانی که نودهای معتبر شبکه تایید میکنند، اطمینان داشته باشیم که تراکنشها به طور قابل اعتماد پردازش میشوند. با این حال، در صورتی که یک مهاجم قدرت غالبی در اختیار داشته باشد، سیستم در برابر حملات آسیبپذیرتر خواهد بود. هر چند نودهای شبکه قادر به تایید تراکنشها هستند، اما در صورتی که مهاجم بتواند نیروی بیشتری در اختیار داشته باشد، روند تایید توسط تراکنشهای تقلبی قابل تغییر خواهد بود. یک راه برای پیشگیری از این موضوع این است که امکان ارسال هشدار از نودهایی که تشخیص دادهاند بلوک نامعتبر را مشاهده کردهاند به سایر نودها وجود داشته باشد. این اقدام به کاربر اجازه میدهد تا خودش اطمینان حاصل کند که تراکنشهایش به درستی پردازش میشوند. برخی کسبوکارها ممکن است نودهای خود را اجرا کنند تا سطح امنیت خود را بالاتر ببرند و تاییدات سیستمی را داشته باشند.
مقدار ترکیبی و تفکیکی
بهرغم اینکه مدیریت سکهها به صورت جداگانه امکانپذیر است؛ ایجاد یک تراکنش جدا برای انتقال هر واحد ارز به نظر میرسد ناکارآمد. برای تفکیک و ترکیب هر مقدار ممکن، تراکنشها دارای چندین ورودی و خروجی میباشند. معمولاً یک ورودی از یک تراکنش بزرگتر قبلی خواهد بود یا چندین ورودی، مقادیر اندک را تلفیق خواهند کرد. در بسیاری از موارد، دو خروجی وجود دارد: یکی برای پرداخت و دیگری برای بازگشت باقیمانده. اگر باقیمانده وجود داشته باشد، به فرستنده برمیگردد. توجه داریم که ظرفیت خروجیها ممکن است متفاوت باشد و این وابستگیها میتوانند به تراکنشهای بیشتری وابسته شوند. در اینجا این موضوع مشکلساز نمیشود و هیچگاه نیازی به استخراج یک کین مستقل از تاریخچهٔ تراکنشها نداریم.
حریم خصوصی
روش سنتی بانکداری دسترسی به اطلاعات را مختص گروههای مشخص و واسطهای معتمد میکند و این رویه حریم خصوصی را حفظ میکند. اما اینکه تمام تراکنشها به صورت عمومی منتشر شوند، این روند را مختل میکند؛ با این حال حریم خصوصی همچنان میتواند با استفاده از روشهای جلوگیری از ردگیری حفظ شود: بهعنوان مثال، نگهداری کلیدهای خصوصی به صورت ناشناس. به این ترتیب، عموم میتوانند مقداری از یک فرد به فرد دیگر را ببینند بدون آگاهی از اینکه کدام تراکنش به کدام فرد متصل میشود. این سطح از اطلاعات منتقلشده مشابه بهرههای بورس عمل میکند؛ به این معنا که زمان و اندازه معاملات افراد بدون افشای هویتشان بهصورت عمومی اعلام میشود.
بهعنوان یک لایهٔ حفاظت اضافی در شبکه رمزارز (دیوار آتش)، برای هر تراکنش، یک جفت کلید جدید استفاده شود تا قابلیت پیگیری آن به صاحب همیشگی آن نباشد. البته در صورت تراکنشهایی که چند ورودی دارند، امکان اجتناب از ارتباطات متقابل ناپذیر است؛ چرا که واضح است ورودیهای آنها الزاماً به یک مالک تعلق دارند. این مسئله احتمال خطری را بههمراه دارد که در صورت شناسایی صاحب کلید، ارتباطات او با سایر تراکنشهایش آشکار خواهد شد.
محاسبات
بگذارید در یک سناریو تصور کنیم که یک مهاجم تمام تلاش خود را میکند تا یک سریع تر را با یک زنجیره معتبر جایگزین کند. حتی اگر این سناریو قابل دستیابی باشد، سیستم نخواهد اجازه داد که تلاشات مهاجم به تغییرات ناپذیر مد نظرش، مانند تولید ارزش از هیچ یا دریافت پولی که متعلق به او نیست، منجر شود. نودها هیچگاه تراکنشهای نامعتبر را برای پرداخت نمیپذیرند و نودهای معتبر هرگز بلوکهای حاوی این تراکنشها را تایید نخواهند کرد.
مهاجم تنها میتواند تلاش کند تا یکی از تراکنشهای خود را تغییر دهد تا پولی که خرج کرده است را به دست آورد. این رقابت بین زنجیره معتبر و زنجیره مهاجم میتواند بازیی مبتنی بر شانس مشابه پوکر توصیف شود. ممکن است بپرسید آیا مهاجم هرگز به موفقیت در دستیابی به زنجیره معتبر میرسد یا نه، و یا آیا یک بازیکن با منابع نامحدود میتواند در برابر چالشهای محدودی که او را در مسیر رسیدن به هدفش میاندازد، موفقیتآمیز خواهد بود. این احتمالات میتوانند موضوع بازیهایی باشند که بر اساس شانس تصمیم گیری میشوند.
با در نظر گرفتن فرض ابتدایی ما که p > q است، با گذشت زمان و افزایش تعداد بلوکهایی که مهاجم باید پشت سر بگذارد تا به زنجیره معتبر دسترسی یابد، احتمال موفقیت او کاهش خواهد یافت. اگر مهاجم نتواند به سرعت پیش برود و به تعداد کافی از زمان عقب بیافتد، شانس او بسیار کم خواهد شد و امکان موفقیت نیز کاهش خواهد یافت.
توضیحات تکمیلی محاسبات در وایت پیپر بیت کوین:
حالا ما بررسی میکنیم که چه مدت زمانی طول میکشد تا یک دریافتکننده بتواند از عدم امکان تغییر تراکنش توسط فرستنده اطمینان حاصل کند.فرض میکنیم که فرستنده یک مهاجم است که قصد دارد در مورد پرداخت به ما دروغ بگوید و سپس پس از مدتی پرداخت را برای خود بازیابی کند.در این حالت، اطلاعات دریافتکننده را به او ارائه میدهد تا او بتواند زمان تراکنش را بررسی کند. در این میان، فرستنده یک جفت کلید جدید ایجاد میکند و کلید عمومی را قبل از امضای تراکنش به اشتراک میگذارد. این اقدام باعث میشود که زمان لازم برای آمادهسازی تراکنش از بلوکها پیش از زمان مقرر توسط فرستنده کاهش یابد و او باید به دست آورد تا زمان به اندازه کافی جلو بزند.
در این زمان، تراکنش را اجرا میکند و هنگامی که تراکنش ارسال شد، فرستندهی متقلب به طور مخفی و با دقت بیشتر در زمینه تلاش در زنجیرهی موازی که حاوی نسخهی جایگزین تراکنش اوست، اقدام میکند.
گیرنده در انتظار میماند تا تراکنش به یک بلوک اضافه شده و به تعداد z بلوک به آن متصل شود. او از پیشرفت دقیق مهاجم مطلع است، اما تخمین میزند که بلوکهای معتبر به طور متوسط بر حسب هر بلوک زمان را طی کردهاند. توانایی پیشرفت مهاجم با توزیع پوآسون، مقدار مورد انتظار را کاهش میدهد.
حالا برای محاسبه احتمال موفقیت مهاجم، ما تراکم پوآسون را در هر میزان پیشرفتی که ممکن است مهاجم داشته باشد با احتمالی که از آن نقطه به بعد به دست آمده با ترکیب میکنیم.
معادله را برای بهبود خلاصهای از توزیع مجدد دوباره ترتیب میدهیم.
به زبان c تبدیل میکنیم:
نتایج را مشاهده میکنیم:
حل p های کمتر از 0.1%
دانلود وایت پیپر بیت کوین
نتیجه گیری
ما یک سیستم برای تراکنشهای الکترونیکی مطرح کردیم که بر پایهٔ اعتماد بنا شده است. از یک چارچوب استاندارد که از امضاهای دیجیتال سکهها ایجاد میشود و امکان کنترل مالکیت توسط بسیاری از افراد را فراهم میکند، بهره بردیم؛ اما این روش برای جلوگیری از خرج مجدد پول کامل نبود. برای حل این مشکل، یک شبکهٔ از فرد به فرد را با استفاده از سیستم اثبات کار معرفی کردیم. این شبکه تاریخچهٔ کاملی از تراکنشها را ثبت و ضبط میکند تا همگان بتوانند تغییرات در آن را مشاهده و تایید کنند. تا زمانی که قدرت پردازش CPU توسط نودهای معتبر در اختیار شبکه باشد، تغییرات در زنجیره به سرعت انجام میشود و مهاجمی که CPU کمتری دارد، نمیتواند مداخله کند.
این شبکه با یک ساختار ساده و پایدار عمل میکند. نودها هماهنگی کرده و با حداقل نیاز به هماهنگی مشترک عمل میکنند. آنها نیاز به شناسایی ندارند زیرا پیغامها به مکانهای معینی هدایت نمیشوند، بلکه تنها باید به مقصد منتقل شوند. نودها میتوانند از شبکه خارج شوند و یا به آن بپیوندند در هنگامی که با استفاده از زنجیرهٔ PoW به عنوان اثبات وقوع رویدادهای شبکه بیرون میروند، اقدام به پذیرش و عدم پذیرش بلوکهای معتبر میکنند. هرگونه تصمیمات مربوط به قوانین و نحوه انجام رویدادهای شبکه میتواند توسط مکانیسم توافق جمعی اعمال گردد.