📄 درباره این مقاله
این مقاله ترجمه کامل مقاله اصلی بیتکوین با عنوان "Bitcoin: A Peer-to-Peer Electronic Cash System" است که در تاریخ ۳۱ اکتبر ۲۰۰۸ توسط فرد یا گروهی با نام مستعار ساتوشی ناکاموتو در یک لیست پستی رمزنگاری منتشر شد.
این مقاله یکی از تأثیرگذارترین متون در تاریخ فناوری و مالی به شمار میرود و پایهگذار ارزهای دیجیتال و فناوری بلاکچین است. در این مقاله، ساتوشی ناکاموتو برای اولین بار راهحلی عملی برای مسئله دوبار خرج کردن (Double-Spending) در سیستمهای پرداخت الکترونیکی بدون نیاز به شخص ثالث معتمد ارائه میدهد.
هدف این مقاله: توضیح کامل سیستم پول نقد الکترونیکی همتابههمتا (Peer-to-Peer) که امکان انجام تراکنشهای مستقیم بین کاربران را بدون نیاز به بانکها یا مؤسسات مالی واسطه فراهم میکند.
در این مقاله با مفاهیم زیر آشنا خواهید شد:
🔹 ۱. مقدمه
تجارت الکترونیک در اینترنت امروزه تقریباً به طور انحصاری به مؤسسات مالی به عنوان اشخاص ثالث معتمد برای پردازش پرداختهای الکترونیکی وابسته است. اگرچه این سیستم برای بیشتر تراکنشها به اندازه کافی کار میکند، اما همچنان از ضعفهای ذاتی مدل مبتنی بر اعتماد رنج میبرد.
تراکنشهای کاملاً برگشتناپذیر واقعاً امکانپذیر نیستند، زیرا مؤسسات مالی نمیتوانند از میانجیگری در اختلافات اجتناب کنند. هزینه میانجیگری، هزینه تراکنشها را افزایش میدهد، حداقل اندازه عملی تراکنش را محدود میکند و امکان انجام تراکنشهای خرد و غیررسمی را از بین میبرد.
راهحل پیشنهادی: آنچه نیاز داریم، یک سیستم پرداخت الکترونیکی مبتنی بر اثبات رمزنگاری به جای اعتماد است. سیستمی که به هر دو طرف مایل اجازه دهد مستقیماً بدون نیاز به شخص ثالث معتمد با یکدیگر معامله کنند.
🔹 ۲. تراکنشها در بیتکوین
در سیستم بیتکوین، یک سکه الکترونیکی را به صورت یک زنجیره از امضای دیجیتال تعریف میکنیم. هر مالک، سکه را با امضای دیجیتال هش تراکنش قبلی و کلید عمومی مالک بعدی منتقل میکند و این اطلاعات را به انتهای سکه اضافه مینماید.
مشکل اصلی این است که دریافتکننده نمیتواند اطمینان حاصل کند که یکی از مالکان قبلی، سکه را دوبار خرج نکرده باشد. یک راهحل رایج، معرفی یک مرجع مرکزی معتمد یا ضرابخانه (Mint) است که هر تراکنش را از نظر دوبار خرج کردن بررسی میکند.
ما به راهی نیاز داریم که دریافتکننده بداند مالکان قبلی هیچ تراکنش قبلی دیگری را امضا نکردهاند. تنها راه برای تأیید نبودِ یک تراکنش، آگاهی از همه تراکنشها است. برای دستیابی به این هدف بدون وجود شخص ثالث معتمد، تراکنشها باید به صورت عمومی اعلام شوند.
🔹 ۳. سرور مهر زمان (Timestamp Server)
راهحلی که ما پیشنهاد میکنیم با یک سرور مهر زمان آغاز میشود. عملکرد سرور مهر زمان به این صورت است که هش یک بلوک از آیتمها را گرفته و آن هش را به طور گسترده منتشر میکند.
مکانیسم اثبات زمان: مهر زمان اثبات میکند که دادهها حتماً در آن زمان خاص وجود داشتهاند. هر مهر زمان، مهر زمان قبلی را درون هش خود شامل میشود و بدین ترتیب یک زنجیره تشکیل میگردد.
🔹 ۴. اثبات کار (Proof-of-Work)
سیستم اثبات کار شامل جستجو برای مقداری است که وقتی با الگوریتمی مانند SHA-256 هش میشود، هش حاصل با تعداد مشخصی بیت صفر آغاز گردد. میانگین کار مورد نیاز به صورت نمایی افزایش مییابد.
تا زمانی که بخش عمده توان پردازشی در اختیار گرههای صادق باشد، زنجیره صادق سریعترین رشد را خواهد داشت و برای تغییر یک بلوک گذشته، مهاجم باید اثبات کار آن بلوک و همه بلوکهای بعد را دوباره انجام دهد.
برای جبران افزایش سرعت سختافزار، سختی اثبات کار با استفاده از یک میانگین متحرک تعیین میشود. اگر بلوکها بیش از حد سریع تولید شوند، سختی افزایش مییابد.
🔹 ۵. شبکه بیتکوین
مراحل اجرای شبکه:
- ۱ تراکنشهای جدید برای همه گرهها پخش میشوند
- ۲ هر گره تراکنشهای جدید را در یک بلوک جمعآوری میکند
- ۳ هر گره روی یافتن اثبات کار دشوار برای بلوک خود کار میکند
- ۴ وقتی گرهای اثبات کار را پیدا کرد، بلوک را برای همه گرهها پخش میکند
- ۵ گرهها بلوک را فقط در صورتی میپذیرند که همه تراکنشهای آن معتبر باشد
- ۶ گرهها پذیرش خود را با کار روی ساخت بلوک بعدی اعلام میکنند
قانون طولانیترین زنجیره: گرهها همیشه طولانیترین زنجیره را به عنوان زنجیره صحیح در نظر میگیرند.
🔹 ۶. مکانیسم تشویق (Incentive)
طبق قرارداد، اولین تراکنش در هر بلوک یک تراکنش ویژه است که یک سکه جدید ایجاد میکند و متعلق به سازنده آن بلوک (ماینر) است.
آینده بدون تورم: پس از استخراج ۲۱ میلیون بیتکوین، انگیزه ماینرها به طور کامل از کارمزد تراکنشها تأمین میشود و سیستم کاملاً بدون تورم باقی میماند.
🔹 ۷. بازیابی فضای دیسک
پس از اینکه آخرین تراکنش یک سکه در زیر بلوکهای کافی دفن شد، تراکنشهای قبلی که خرج شدهاند میتوانند برای صرفهجویی در فضای دیسک حذف شوند.
درخت مرکل (Merkle Tree): تراکنشها در یک درخت مرکل هش میشوند و تنها ریشه درخت در هش بلوک قرار میگیرد. بلوکهای قدیمی را میتوان با هرس کردن شاخههای درخت، فشردهسازی کرد.
یک هدر بلوک بدون تراکنش حدود ۸۰ بایت حجم دارد. با تولید بلوک هر ۱۰ دقیقه، فضای مورد نیاز سالانه فقط ۴.۲ مگابایت است.
🔹 ۸. تأیید ساده پرداخت (SPV)
امکان تأیید پرداختها بدون اجرای یک گره کامل شبکه وجود دارد. این روش که به SPV معروف است، برای کاربرانی طراحی شده که منابع کافی برای اجرای گره کامل ندارند.
روش کار: کاربر تنها نیاز به نگهداری کپی از هدر بلوکهای طولانیترین زنجیره و دریافت شاخه مرکل مرتبط با تراکنش خود دارد.
⚠️ محدودیت: اگر شبکه توسط مهاجم تسخیر شود، روش SPV آسیبپذیر میشود. کسبوکارهای بزرگ بهتر است گره کامل خود را اجرا کنند.
🔹 ۹. ترکیب و تقسیم ارزش
برای اینکه ارزش بتواند تقسیم و ترکیب شود، تراکنشهای بیتکوین دارای چندین ورودی و چندین خروجی هستند. معمولاً یک ورودی از یک تراکنش قبلی بزرگتر یا چند ورودی برای ترکیب مقادیر کوچک و حداکثر دو خروجی: یکی برای پرداخت، یکی برای برگشت باقیپول.
🔹 ۱۰. حریم خصوصی
مدل بانکداری سنتی حریم خصوصی را با محدود کردن دسترسی به اطلاعات به دست میآورد. بیتکوین اما با ناشناس نگه داشتن کلیدهای عمومی این کار را انجام میدهد.
سطح اطلاعات عمومی: عموم مردم میتوانند ببینند که یک نفر مبلغی را برای شخص دیگری ارسال میکند، اما نمیتوانند ببینند چه کسی پشت کلید عمومی است.
🔹 ۱۱. محاسبات احتمال حمله
سناریویی را در نظر بگیرید که در آن یک مهاجم سعی میکند زنجیره جایگزین را سریعتر از زنجیره صادق تولید کند.
⚠️ حتی اگر این کار انجام شود، مهاجم نمیتواند ارزش از هیچ خلق کند یا پولی که به او تعلق ندارد را بدزدد. تنها کاری که مهاجم میتواند انجام دهد این است که یکی از تراکنشهای خود را تغییر دهد تا پولی را که اخیراً خرج کرده، پس بگیرد.
| تعداد بلوک (z) | احتمال موفقیت |
|---|---|
| ۰ | ۱.۰۰۰۰۰۰۰ |
| ۱ | ۰.۲۰۴۵۸۷۳ |
| ۲ | ۰.۰۵۰۹۷۷۹ |
| ۳ | ۰.۰۱۳۱۷۲۲ |
| ۴ | ۰.۰۰۳۴۵۵۲ |
| ۵ | ۰.۰۰۰۹۱۳۷ |
| سهم قدرت مهاجم (q) | بلوک مورد نیاز (z) |
|---|---|
| ۱۰٪ | ۵ |
| ۱۵٪ | ۸ |
| ۲۰٪ | ۱۱ |
| ۲۵٪ | ۱۵ |
| ۳۰٪ | ۲۴ |
🔹 ۱۲. نتیجهگیری
ما در این مقاله سیستمی برای تراکنشهای الکترونیکی بدون اتکا به اعتماد پیشنهاد کردهایم.
پیام نهایی: ما سیستمی برای تراکنشهای الکترونیکی بدون اتکا به اعتماد پیشنهاد کردهایم. این سیستم با ترکیب امضای دیجیتال، اثبات کار و شبکه همتابههمتا، مسئله دوبار خرج کردن را حل میکند و مسیری برای پول نقد الکترونیکی واقعی بدون نیاز به بانکها فراهم میآورد.