کتاب Mastering Bitcoin: Programming the Open Blockchain نوشته آندریاس ام. آنتونوپولوس، اثری برجسته و راهنمایی بینظیر در حوزه ارزهای دیجیتال و فناوری بلاکچین است. این کتاب، که در سال ۲۰۱۴ منتشر شد و در ویرایشهای ۲۰۱۷ و ۲۰۲۴ بهروزرسانی گردید، با بیش از ۴۰۰ صفحه، بیتکوین را از تاریخچه تا جزئیات فنی برنامهنویسی بررسی میکند. آنتونوپولوس، سخنران و متخصص سرشناس بلاکچین، مفاهیم پیچیده را با زبانی روان و قابل فهم برای برنامهنویسان و مخاطبان غیرفنی ارائه میدهد. این تحلیل، فصلهای کلیدی کتاب را با توضیحاتی ساده، داستانهای واقعی و مثالهای ملموس شرح میدهد تا خواننده را به درک عمیقی از بیتکوین و تأثیراتش بر آینده مالی و فناوری هدایت کند. هدف این است که بیتکوین را نه تنها بهعنوان یک ارز، بلکه بهعنوان انقلابی دیجیتال معرفی کند که ساختارهای اقتصادی و اجتماعی را بازتعریف میکند.
زمینه و اهمیت کتاب
در سال ۲۰۰۸، هنگامی که بحران مالی جهانی اعتماد به بانکها را متزلزل کرد، ساتوشی ناکاموتو، فرد یا گروهی ناشناس، با انتشار مقالهای بیتکوین را معرفی کرد: اولین ارز دیجیتال غیرمتمرکز که بدون نیاز به واسطههایی مانند بانکها یا دولتها عمل میکرد. این نوآوری، که بر پایه فناوری بلاکچین استوار بود، راهی جدید برای انتقال ارزش ارائه داد. آندریاس آنتونوپولوس، که از سال ۲۰۱۲ شیفته این فناوری شد، در Mastering Bitcoin این انقلاب را با دقت و وضوح تشریح میکند. او بیتکوین را نه فقط پولی دیجیتال، بلکه زیرساختی برای نوآوریهای مالی، اجتماعی و سیاسی میداند.
کتاب برای برنامهنویسان نوشته شده، اما با مثالهای روزمره و توضیحات ساده، برای مخاطبان غیرفنی نیز قابل فهم است. ویرایش سوم (۲۰۲۴) موضوعات پیشرفتهای مانند لایتنینگ نتورک (برای تراکنشهای سریعتر) و تپروت (برای بهبود حریم خصوصی) را دربرمیگیرد. آنتونوپولوس با ارائه کدهای نمونه در پایتون و C++، خواننده را به ساخت برنامههای بلاکچین توانمند میسازد. به گفته او: «بیتکوین قدرت مالی را به دست افراد بازمیگرداند.» این کتاب با ترکیب تحلیل فنی، داستانسرایی و مثالهای واقعی، خواننده را به سفری در قلب فناوری بلاکچین دعوت میکند.
فصل اول: مقدمهای بر بیتکوین
تعریف و ماهیت بیتکوین
بیتکوین در واقع مجموعهای پیچیده از مفاهیم و فناوریهاست که بستری برای یک اکوسیستم پول دیجیتال کاملاً جدید فراهم میکند. این سیستم شامل سه جزء اصلی است: یک ارز دیجیتال (بیتکوین)، یک شبکه پرداخت غیرمتمرکز و مجموعهای از فناوریهای پیشرفته که عملکرد این اکوسیستم را ممکن میسازند.
برخلاف ارزهای سنتی که توسط دولتها و بانکهای مرکزی کنترل میشوند، بیتکوین هیچ مقام مرکزی ندارد. این شبکه توسط هزاران کامپیوتر در سراسر جهان که به صورت داوطلبانه در آن مشارکت میکنند، حفظ و امن نگه داشته میشود.
ویژگیهای منحصربهفرد بیتکوین
یکی از مهمترین ویژگیهای بیتکوین، غیرمتمرکز بودن آن است. این ویژگی باعث میشود که بیتکوین در برابر سانسور، دستکاری و کنترلهای دولتی مقاوم باشد. هیچ فرد، شرکت یا دولتی نمیتواند شبکه بیتکوین را متوقف کند یا تراکنشهای آن را سانسور نماید.
عرضه محدود یکی دیگر از ویژگیهای کلیدی بیتکوین است. تعداد کل بیتکوینهایی که تا به حال استخراج شده و در آینده استخراج خواهد شد، به 21 میلیون واحد محدود شده است. این محدودیت، بیتکوین را به یک دارایی ضدتورمی تبدیل میکند.
شفافیت کامل همراه با حفظ حریم خصوصی نسبی، ویژگی دیگری است که بیتکوین را متمایز میکند. تمام تراکنشها در یک دفتر کل عمومی به نام بلاکچین ثبت میشوند، اما هویت واقعی کاربران مخفی باقی میماند.
تاریخچه پیدایش بیتکوین
داستان بیتکوین از سال 2008 آغاز میشود، زمانی که جهان درگیر یکی از بدترین بحرانهای مالی تاریخ بود. در این شرایط، فرد یا گروهی ناشناس با نام مستعار “ساتوشی ناکاموتو” مقالهای انقلابی با عنوان “بیتکوین: یک سیستم پول الکترونیکی همتا به همتا” منتشر کرد.
این مقاله راهحلی نوآورانه برای مشکل قدیمی “دوبار خرج کردن” در سیستمهای پول دیجیتال ارائه میداد. تا آن زمان، تمام تلاشها برای ایجاد پول دیجیتال به دلیل عدم امکان جلوگیری از خرج مجدد همان واحد پول، شکست خورده بودند.
در ژانویه 2009، شبکه بیتکوین رسماً فعالیت خود را آغاز کرد. اولین بلاک که به “بلاک جنسیس” معروف است، حاوی پیامی از تیتر روزنامه تایمز لندن بود که به نوعی انگیزه اصلی خلق بیتکوین را نشان میداد.
فصل دوم: مکانیک کارکرد بیتکوین
چرخه حیات یک تراکنش بیتکوین
درک نحوه کارکرد بیتکوین از طریق دنبال کردن مسیر یک تراکنش ساده آغاز میشود. فرض کنید علی میخواهد مقداری بیتکوین به فاطمه ارسال کند. ابتدا علی در کیف پول خود تراکنشی ایجاد میکند که شامل آدرس کیف پول فاطمه و مقدار بیتکوین مورد نظر است.
مرحله بعدی امضای دیجیتال تراکنش است. علی با استفاده از کلید خصوصی خود، تراکنش را امضا میکند تا اثبات کند که واقعاً مالک بیتکوینهایی است که قصد خرج کردنشان را دارد. این امضا ریاضی غیرقابل جعل است و هیچکس نمیتواند آن را تقلید کند.
پس از امضا، تراکنش به شبکه بیتکوین ارسال میشود. گرههای شبکه تراکنش را دریافت کرده و آن را بررسی میکنند تا مطمئن شوند که معتبر است. اگر تراکنش قوانین شبکه را رعایت کند، به سایر گرهها منتشر میشود.
مفهوم UTXO و مدیریت موجودی
یکی از مهمترین مفاهیم در درک بیتکوین، UTXO یا “خروجیهای خرج نشده تراکنشها” است. برخلاف سیستمهای بانکی که موجودی حساب دارند، در بیتکوین چیزی به نام موجودی وجود ندارد. به جای آن، کیف پول شما مجموعهای از UTXO هاست که میتوانید آنها را خرج کنید.
این مدل شبیه به داشتن سکههای مختلف در جیب است. وقتی میخواهید خریدی انجام دهید، سکههایی انتخاب میکنید که مجموعاً برابر یا بیشتر از مبلغ مورد نیاز باشند. اگر مجموع بیشتر باشد، باقیمانده به عنوان “پول خرد” به شما بازگردانده میشود.
انواع کیف پولهای بیتکوین
کیف پولهای بیتکوین در انواع مختلفی ارائه میشوند که هر کدام مزایا و معایب خاص خود را دارند. کیف پولهای دسکتاپ بر روی کامپیوتر شخصی نصب میشوند و کنترل کاملی بر کلیدهای خصوصی فراهم میکنند. این نوع کیف پولها برای کاربرانی مناسب هستند که امنیت بالا را در اولویت قرار میدهند.
کیف پولهای موبایل راحتی استفاده روزانه را ارائه میدهند و امکان پرداخت سریع در فروشگاهها را فراهم میکنند. کیف پولهای وب دسترسی آسان از هر مکانی را ممکن میسازند اما کنترل کلیدها را به شرکت ثالث واگذار میکنند.
کیف پولهای سختافزاری بالاترین سطح امنیت را برای نگهداری مقادیر بزرگ ارائه میدهند. این دستگاههای فیزیکی کلیدهای خصوصی را در محیطی کاملاً ایمن نگهداری میکنند. کیف پولهای کاغذی نیز روشی کاملاً آفلاین برای نگهداری طولانیمدت محسوب میشوند.
فصل سوم: کلاینت بیتکوین و ابزارهای توسعه
آشنایی با Bitcoin Core
Bitcoin Core که پیش از این Bitcoin-Qt نامیده میشد، پیادهسازی مرجع و رسمی پروتکل بیتکوین است. این نرمافزار شامل چندین جزء اساسی است که هر کدام نقش مهمی در اکوسیستم بیتکوین ایفا میکنند.
bitcoind قلب سیستم محسوب میشود و یک گره کامل شبکه بیتکوین را اجرا میکند. این سرویس کل بلاکچین را دانلود و تأیید میکند و امکان مشارکت کامل در شبکه را فراهم میکند. bitcoin-cli ابزار خط فرمان است که امکان تعامل با bitcoind را از طریق دستورات مختلف فراهم میکند.
Bitcoin-Qt رابط گرافیکی کاربرپسند است که استفاده از بیتکوین را برای کاربران عادی آسانتر میکند. این رابط تمام قابلیتهای اساسی مانند ارسال، دریافت و مدیریت کیف پول را به شکل بصری ارائه میدهد.
فرآیند نصب و راهاندازی
نصب Bitcoin Core فرآیندی زمانبر اما ضروری است. پس از دانلود و نصب نرمافزار، مرحله اول همگامسازی با شبکه است. این فرآیند شامل دانلود کامل بلاکچین از ابتدای شبکه تا کنون است که ممکن است چندین روز طول بکشد.
در طول همگامسازی، کلاینت تمام بلاکها را دانلود کرده و صحت آنها را تأیید میکند. این فرآیند اطمینان میدهد که شما نسخه کاملاً معتبر و بهروز از بلاکچین را در اختیار دارید.
پس از تکمیل همگامسازی، بسیار مهم است که کیف پول خود را با یک رمز عبور قوی محافظت کنید. همچنین تهیه نسخه پشتیبان از کیف پول ضروری است تا در صورت بروز مشکل، دسترسی به بیتکوینهای خود را از دست ندهید.
دستورات JSON-RPC و کاربردهای عملی
Bitcoin Core از رابط JSON-RPC برای ارتباط با برنامههای خارجی استفاده میکند. این رابط امکان اتوماسیون و توسعه اپلیکیشنهای مبتنی بر بیتکوین را فراهم میکند.
دستور getinfo یکی از مفیدترین دستورات است که اطلاعات جامعی درباره وضعیت کلاینت، شبکه و بلاکچین ارائه میدهد. این دستور شامل اطلاعاتی مانند نسخه نرمافزار، تعداد اتصالات شبکه، ارتفاع فعلی بلاکچین و موجودی کیف پول است.
getnewaddress آدرس جدیدی برای دریافت بیتکوین ایجاد میکند. استفاده از آدرس جدید برای هر تراکنش، حریم خصوصی شما را افزایش میدهد. getbalance موجودی کل کیف پول را نمایش میدهد و sendtoaddress امکان ارسال بیتکوین به آدرس مشخص را فراهم میکند.
مدیریت امنیت کیف پول
امنیت کیف پول یکی از حیاتیترین جنبههای استفاده از Bitcoin Core است. دستور encryptwallet کیف پول را با رمز عبور قوی محافظت میکند. پس از رمزگذاری، کیف پول به طور خودکار قفل میشود و برای انجام تراکنشها نیاز به باز کردن قفل دارد.
walletpassphrase امکان باز کردن موقت قفل کیف پول را فراهم میکند. این دستور رمز عبور و مدت زمان باز بودن قفل را به عنوان پارامتر میگیرد. walletlock نیز امکان قفل فوری کیف پول را فراهم میکند.
backupwallet و importwallet دستوراتی هستند که امکان تهیه نسخه پشتیبان و بازیابی کیف پول را فراهم میکنند. تهیه نسخه پشتیبان منظم و نگهداری آن در مکان امن، ضروری است.
فصل چهارم: کلیدها، آدرسها و مدیریت کیف پول
مبانی رمزنگاری کلید عمومی
قدرت واقعی بیتکوین در کنترل کلیدهای رمزنگاری نهفته است. این سیستم بر پایه رمزنگاری منحنی بیضوی عمل میکند که یکی از امنترین روشهای رمزنگاری موجود محسوب میشود. بیتکوین از منحنی ریاضی خاصی به نام secp256k1 استفاده میکند.
هر کاربر بیتکوین یک جفت کلید دارد که شامل کلید خصوصی و کلید عمومی است. کلید خصوصی یک عدد تصادفی 256 بیتی است که باید به شدت محرمانه نگه داشته شود. این کلید در واقع مالکیت شما بر بیتکوینهایتان را اثبات میکند.
کلید عمومی از طریق محاسبات ریاضی پیچیده از کلید خصوصی مشتق میشود. این فرآیند یکطرفه است، به این معنی که از کلید خصوصی میتوان کلید عمومی را محاسبه کرد، اما برعکس آن عملاً غیرممکن است.
فرآیند تولید آدرس بیتکوین
تولید آدرس بیتکوین فرآیندی چندمرحلهای است که امنیت و یکتایی آدرس را تضمین میکند. ابتدا یک کلید خصوصی تصادفی تولید میشود. این عدد باید کاملاً تصادفی باشد تا امنیت آن تضمین شود.
سپس کلید عمومی با استفاده از ضرب نقطهای بر روی منحنی secp256k1 محاسبه میشود. این محاسبه پیچیده اما سریع است و نتیجه آن یک نقطه روی منحنی است که به عنوان کلید عمومی عمل میکند.
مرحله بعدی هش کردن کلید عمومی است. ابتدا الگوریتم SHA-256 و سپس RIPEMD-160 بر روی کلید عمومی اعمال میشود. این فرآیند دوگانه امنیت اضافی فراهم میکند و طول آدرس نهایی را کاهش میدهد.
در نهایت، پیشوند نسخه اضافه شده و checksum محاسبه میشود. checksum از تکرار SHA-256 بر روی دادهها به دست میآید و از اشتباهات تایپی جلوگیری میکند. نتیجه نهایی با کدگذاری Base58 به آدرس قابل خواندن تبدیل میشود.
انواع آدرسهای بیتکوین
آدرسهای بیتکوین در انواع مختلفی وجود دارند که هر کدام کاربرد خاص خود را دارند. آدرسهای P2PKH که با عدد “1” شروع میشوند، رایجترین نوع هستند و برای پرداخت به هش کلید عمومی استفاده میشوند. این آدرسها ساده و کارآمد هستند.
آدرسهای P2SH که با عدد “3” شروع میشوند، برای اسکریپتهای پیچیدهتر طراحی شدهاند. این آدرسها امکان استفاده از قابلیتهای پیشرفتهای مانند چندامضایی را فراهم میکنند.
آدرسهای Bech32 که با “bc1” شروع میشوند، جدیدترین نوع آدرسها هستند و برای تراکنشهای Segwit طراحی شدهاند. این آدرسها کارمزد کمتر و امنیت بیشتری ارائه میدهند.
کیف پولهای HD و مدیریت کلیدها
کیف پولهای HD یا سلسلهمراتبی یکی از مهمترین نوآوریها در مدیریت کلیدهای بیتکوین هستند. این سیستم که بر اساس استاندارد BIP32 عمل میکند، امکان تولید نامحدود کلید از یک seed اولیه را فراهم میکند.
مزیت اصلی این سیستم این است که تنها با نگهداری یک seed، میتوانید به تمام کلیدهای کیف پول دسترسی داشته باشید. این seed معمولاً به شکل عبارت بازیابی 12 تا 24 کلمهای ارائه میشود که بر اساس استاندارد BIP39 تولید میشود.
عبارات بازیابی روشی کاربرپسند برای پشتیبانگیری از کل کیف پول ارائه میدهند. این کلمات از فهرست استانداردی انتخاب میشوند و امکان بازیابی کیف پول در هر نرمافزار سازگار را فراهم میکنند.
فصل پنجم: ساختار و مکانیک تراکنشها
آناتومی یک تراکنش بیتکوین
- هر تراکنش بیتکوین ساختار دقیق و مشخصی دارد که شامل چندین بخش اساسی است. درک این ساختار برای فهم عمیق نحوه کارکرد بیتکوین ضروری است.
- فیلد Version در ابتدای هر تراکنش قرار دارد و نسخه پروتکل مورد استفاده را مشخص میکند. این فیلد امکان ارتقای پروتکل در آینده را فراهم میکند. Input Count تعداد ورودیهای تراکنش را نشان میدهد.
- بخش Inputs شامل لیست کاملی از تمام ورودیهای تراکنش است. هر ورودی به یک خروجی خرج نشده از تراکنش قبلی اشاره میکند. Output Count تعداد خروجیهای تراکنش را مشخص میکند و بخش Outputs شامل لیست تمام مقاصد و مبالغ ارسالی است.
- Lock Time آخرین فیلد تراکنش است و زمان یا ارتفاع بلاکی را مشخص میکند که تراکنش از آن پس قابل اجرا است. این ویژگی امکان ایجاد تراکنشهای زماندار را فراهم میکند.
ساختار ورودیها و خروجیها
هر ورودی تراکنش شامل چندین جزء مهم است. Previous Transaction Hash هش تراکنش قبلی را که حاوی UTXO مورد نظر است، مشخص میکند. Output Index شماره خروجی در آن تراکنش را نشان میدهد.
Unlocking Script یا scriptSig اسکریپتی است که شرایط خرج کردن آن UTXO را برآورده میکند. این اسکریپت معمولاً شامل امضای دیجیتال و کلید عمومی است. Sequence شماره توالی است که برای قابلیتهای پیشرفتهای مانند قفل زمانی استفاده میشود.
خروجیهای تراکنش ساختار سادهتری دارند. فیلد Value مقدار بیتکوین را به واحد ساتوشی (کوچکترین واحد بیتکوین) نشان میدهد. Locking Script یا scriptPubKey شرایطی را تعریف میکند که برای خرج کردن این خروجی در آینده باید برآورده شود.
محاسبه و مدیریت کارمزد
- یکی از جنبههای مهم و گاهی گیجکننده تراکنشهای بیتکوین، نحوه محاسبه کارمزد است. برخلاف سیستمهای پرداخت سنتی که کارمزد به صراحت مشخص میشود، در بیتکوین کارمزد به صورت ضمنی محاسبه میشود.
- کارمزد برابر است با تفاوت مجموع ورودیها و مجموع خروجیها. این یعنی اگر مجموع ورودیهای شما 1 بیتکوین باشد و مجموع خروجیها 0.999 بیتکوین، آن 0.001 بیتکوین باقیمانده به عنوان کارمزد به ماینر پرداخت میشود.
- این مکانیزم باعث میشود که در ساخت تراکنشهای دستی باید بسیار دقت کرد. اگر فراموش کنید خروجی “پول خرد” برای خودتان ایجاد کنید، کل مبلغ باقیمانده به عنوان کارمزد پرداخت خواهد شد.
- مقدار کارمزد بر اساس اندازه تراکنش به بایت محاسبه میشود، نه مقدار بیتکوین ارسالی. تراکنشهایی که ورودیهای زیادی دارند، حجم بیشتری دارند و در نتیجه کارمزد بیشتری نیاز دارند.
زبان اسکریپت بیتکوین
- یکی از قدرتمندترین ویژگیهای بیتکوین، زبان اسکریپت آن است که امکان ایجاد شرایط پیچیده برای خرج کردن بیتکوین را فراهم میکند. این زبان که شبیه زبان برنامهنویسی Forth است، بر پایه ساختار داده stack عمل میکند.
- اسکریپتها از چپ به راست خوانده و اجرا میشوند. اعداد و دادهها روی stack قرار میگیرند و عملگرها آنها را پردازش میکنند. این زبان عمداً ساده و محدود طراحی شده تا از مشکلات امنیتی جلوگیری کند.
- زبان اسکریپت بیتکوین غیر تورینگ کامل است، یعنی حلقههای بینهایت و ساختارهای کنترل پیچیده ندارد. این محدودیت از ایجاد اسکریپتهایی که ممکن است شبکه را مختل کنند، جلوگیری میکند.
انواع اسکریپتهای استاندارد
- چندین نوع اسکریپت استاندارد در بیتکوین وجود دارد که هر کدام کاربرد خاص خود را دارند. P2PKH یا Pay-to-Public-Key-Hash رایجترین نوع است که برای پرداختهای معمولی استفاده میشود.
- P2PK یا Pay-to-Public-Key برای پرداخت مستقیم به کلید عمومی استفاده میشود. این نوع اسکریپت کمتر رایج است زیرا کلید عمومی را به صورت مستقیم در بلاکچین قرار میدهد.
- P2SH یا Pay-to-Script-Hash امکان استفاده از اسکریپتهای پیچیدهتر را فراهم میکند. این نوع اسکریپت برای قابلیتهایی مانند چندامضایی استفاده میشود.
- اسکریپتهای چندامضایی نیاز به چند امضا از کلیدهای مختلف برای خرج کردن دارند. OP RETURN نیز امکان ذخیره مقادیر کوچک داده در بلاکچین را فراهم میکند.
فصل ششم: شبکه بیتکوین و معماری توزیعشده
معماری شبکه همتا به همتا
شبکه بیتکوین یک شبکه کاملاً غیرمتمرکز همتا به همتا است که در آن همه گرهها از نظر ساختاری برابر هستند. این معماری یعنی هیچ سرور مرکزی، نقطه کنترل واحد یا نقطه شکست وجود ندارد.
گرهها از طریق پروتکل TCP با یکدیگر ارتباط برقرار میکنند و معمولاً از پورت 8333 برای شبکه اصلی استفاده میکنند. هر گره میتواند به طور همزمان به چندین گره دیگر متصل باشد و اطلاعات را با آنها به اشتراک بگذارد.
این ساختار غیرمتمرکز باعث میشود که شبکه در برابر حملات، سانسور و خرابیهای فنی بسیار مقاوم باشد. حتی اگر بخش بزرگی از شبکه از کار بیفتد، بقیه گرهها میتوانند به فعالیت خود ادامه دهند.
انواع گرهها در شبکه
گرههای مختلفی در شبکه بیتکوین فعالیت میکنند که هر کدام نقش خاص خود را دارند. گرههای کامل یا Full Nodes کل بلاکچین را دانلود و تأیید میکنند. این گرهها قوانین کامل شبکه را اعمال میکنند و بالاترین سطح امنیت را ارائه میدهند.
گرههای SPV یا Simplified Payment Verification تنها سربرگ بلاکها را دانلود میکنند و برای تأیید تراکنشها به روش سادهشدهای متکی هستند. این گرهها برای دستگاههایی با منابع محدود مناسب هستند.
گرههای استخراج علاوه بر نگهداری بلاکچین، در فرآیند تولید بلاکهای جدید نیز مشارکت میکنند. کلاینتهای سبک نیز برای عملکرد خود کاملاً به گرههای دیگر متکی هستند.
فرآیند کشف و اتصال به شبکه
وقتی گره جدیدی به شبکه میپیوندد، ابتدا باید سایر گرههای فعال را پیدا کند. این فرآیند از طریق اتصال به گرههای seed آغاز میشود. این گرهها آدرسهای IP سایر گرههای فعال را در اختیار گره جدید قرار میدهند.
گره جدید سپس تلاش میکند به تعدادی از این گرهها متصل شود. پس از برقراری اتصال، گرهها اطلاعات خود را با یکدیگر به اشتراک میگذارند و لیست گرههای فعال را بهروزرسانی میکنند.
این فرآیند به طور مداوم ادامه مییابد تا گره همیشه اتصالات مناسب و پایداری با شبکه داشته باشد. گرهها همچنین کیفیت اتصالات خود را نظارت میکنند و در صورت نیاز اتصالات ضعیف را قطع کرده و اتصالات جدید برقرار میکنند.
انتشار تراکنشها در شبکه
انتشار تراکنشها در شبکه بیتکوین از طریق یک فرآیند سیلمانند انجام میشود که تضمین میکند تراکنشهای معتبر به سرعت به تمام گرههای شبکه برسند.
وقتی تراکنش جدیدی ایجاد میشود، ابتدا به گرههای مستقیماً متصل ارسال میشود. هر گره دریافتکننده تراکنش را بررسی میکند تا مطمئن شود که قوانین شبکه را رعایت میکند. اگر تراکنش معتبر باشد، آن را به گرههای همسایه خود منتشر میکند.
این فرآیند به صورت تصاعدی ادامه مییابد تا تراکنش در عرض چند ثانیه به تمام گرههای شبکه برسد. گرههایی که تراکنش را قبلاً دریافت کردهاند، آن را مجدداً منتشر نمیکنند تا از ترافیک اضافی جلوگیری شود.
SPV و تأیید ساده پرداخت
SPV یا Simplified Payment Verification روشی است که به کلاینتهای سبک اجازه میدهد بدون دانلود کل بلاکچین، تراکنشها را تأیید کنند. این روش برای دستگاههایی با فضای ذخیرهسازی یا پهنای باند محدود بسیار مفید است.
گرههای SPV تنها سربرگ بلاکها را دانلود میکنند که حجم بسیار کمتری نسبت به کل بلاکچین دارند. برای تأیید وجود یک تراکنش در بلاک، از Merkle Proof استفاده میکنند.
Merkle Proof امکان اثبات وجود یک تراکنش در بلاک را بدون نیاز به دانلود کل بلاک فراهم میکند. این روش بر پایه ساختار درخت مرکل عمل میکند و تنها نیاز به دانلود چند هش دارد.
اگرچه SPV کارآمد است، اما نیاز به اعتماد نسبی به گرههای دیگر دارد. گرههای SPV نمیتوانند مطمئن شوند که تراکنشی وجود ندارد، فقط میتوانند وجود تراکنش را تأیید کنند.
Bloom Filter ها و حفظ حریم خصوصی
Bloom Filter ها ابزاری هوشمندانه برای حفظ حریم خصوصی گرههای SPV هستند. این فیلترهای احتمالی امکان درخواست تراکنشهای مرتبط بدون افشای دقیق آدرسهای مورد علاقه را فراهم میکنند.
Bloom Filter یک آرایه از بیتها و مجموعهای از توابع هش است. برای اضافه کردن یک الگو به فیلتر، آن الگو توسط تمام توابع هش پردازش شده و بیتهای مربوطه روشن میشوند.
برای بررسی وجود یک الگو، همان فرآیند انجام میشود. اگر تمام بیتهای مربوطه روشن باشند، الگو “احتمالاً” در فیلتر وجود دارد. اگر حتی یک بیت خاموش باشد، الگو “قطعاً” در فیلتر وجود ندارد.
این مکانیزم تعادلی بین دقت و حریم خصوصی ایجاد میکند. فیلترهای دقیقتر حریم خصوصی کمتری ارائه میدهند، در حالی که فیلترهای کلیتر دادههای اضافی بیشتری دریافت میکنند.
فصل هفتم: بلاکچین و ساختار دادههای توزیعشده
ساختار و اجزای یک بلاک
بلاکچین قلب تپنده سیستم بیتکوین است و هر بلاک در این زنجیره ساختار دقیق و مشخصی دارد. هر بلاک از دو بخش اصلی تشکیل شده است: سربرگ بلاک که حاوی اطلاعات کلیدی است و بدنه بلاک که شامل تراکنشهاست.
سربرگ بلاک اطلاعات حیاتی برای عملکرد شبکه را در خود جای داده است. فیلد Version نسخه پروتکل بلاک را مشخص میکند. Previous Block Hash هش بلاک قبلی است که زنجیره را به هم متصل میکند.
Merkle Root خلاصهای از تمام تراکنشهای بلاک است که از طریق ساختار درخت مرکل محاسبه میشود. Timestamp زمان ایجاد بلاک را نشان میدهد. Difficulty Target سختی مورد نیاز برای استخراج بلاک را مشخص میکند.
Nonce عددی است که ماینرها برای حل معمای proof-of-work تغییر میدهند. این عدد کلید حل معمای ریاضی است که امکان اضافه شدن بلاک به زنجیره را فراهم میکند.
درخت مرکل و کارایی دادهها
درخت مرکل یکی از هوشمندانهترین ابتکارات در طراحی بیتکوین است که امکان مدیریت کارآمد حجم عظیم تراکنشها را فراهم میکند. این ساختار درختی امکان خلاصهسازی هزاران تراکنش در یک هش 32 بایتی را فراهم میکند.
در این ساختار، هر برگ درخت هش یک تراکنش است. گرههای داخلی درخت از ترکیب هش دو فرزند خود تشکیل میشوند. این فرآیند تا رسیدن به ریشه درخت ادامه مییابد که نمایندگی تمام تراکنشهای بلاک را میکند.
مزیت اصلی درخت مرکل امکان اثبات وجود یک تراکنش در بلاک بدون نیاز به دانلود کل بلاک است. این قابلیت که به Merkle Proof معروف است، برای کلاینتهای SPV بسیار مهم است.
با استفاده از Merkle Proof، میتوان با دانلود تنها چند هش، وجود یک تراکنش را در بلاکی با هزاران تراکنش تأیید کرد. این کارایی استفاده از بیتکوین بر روی دستگاههای محدود را ممکن میسازد.
شناسایی و ارتباط بلاکها
هر بلاک در بلاکچین دو نوع شناسه دارد. Block Hash که هش سربرگ بلاک است، شناسه منحصربهفرد و غیرقابل تغییر هر بلاک محسوب میشود. این هش با الگوریتم SHA-256 محاسبه میشود.
Block Height شماره ترتیبی بلاک از ابتدای زنجیره است. اولین بلاک یا Genesis Block ارتفاع صفر دارد و هر بلاک بعدی یک واحد به ارتفاع اضافه میکند. برخلاف Block Hash، Block Height منحصربهفرد نیست زیرا ممکن است موقتاً چند بلاک در یک ارتفاع وجود داشته باشد.
هر بلاک تنها یک والد دارد که از طریق Previous Block Hash به آن اشاره میکند. اما ممکن است موقتاً چند فرزند داشته باشد که در این صورت fork یا انشعاب در زنجیره ایجاد میشود.
تشکیل و حفظ زنجیره
زنجیره بلاکها از طریق اشاره هر بلاک به بلاک قبلی خود تشکیل میشود. این اتصال زنجیرهوار از Genesis Block تا آخرین بلاک ادامه دارد و ستون فقرات امنیت بیتکوین را تشکیل میدهد.
امنیت این زنجیره از این واقعیت ناشی میشود که تغییر هر بلاک قدیمی نیاز به تغییر تمام بلاکهای بعدی دارد. از آنجایی که هر بلاک نیاز به proof-of-work دارد، تغییر بلاکهای قدیمی از نظر محاسباتی بسیار پرهزینه است.
هرچه بلاکی عمیقتر در زنجیره قرار گیرد، تغییر آن دشوارتر میشود. به همین دلیل تراکنشهایی که در بلاکهای عمیقتر قرار دارند، امنیت بیشتری دارند.
این مکانیزم باعث میشود که بلاکچین یک دفتر کل تغییرناپذیر باشد که تاریخچه کامل تمام تراکنشها را به شکل امن و قابل تأیید نگهداری میکند.
فصل هشتم: استخراج، اجماع و امنیت شبکه
مفهوم و اهداف استخراج
استخراج بیتکوین فرآیندی پیچیده است که دو هدف اساسی را به طور همزمان دنبال میکند. هدف اول تأمین امنیت شبکه از طریق تأیید تراکنشها و جلوگیری از double-spending است. هدف دوم انتشار کنترلشده بیتکوینهای جدید به عنوان پاداش برای ماینرها است.
این فرآیند رقابتی باعث میشود که شبکه بدون نیاز به مقام مرکزی، امن و کارآمد باقی بماند. ماینرها با صرف انرژی و قدرت محاسباتی، حق شرکت در این رقابت را کسب میکنند.
استخراج همچنین مکانیزم توزیع عادلانه بیتکوینهای جدید است. برخلاف ارزهای سنتی که توسط بانک مرکزی چاپ میشوند، بیتکوینهای جدید تنها از طریق این فرآیند رقابتی وارد چرخه اقتصادی میشوند.
Bitcoin mining involves recording transactions on the blockchain and releasing new bitcoins into circulation. Miners use specialized hardware and software to solve complex cryptographic puzzles, and the first to solve the puzzle is rewarded with bitcoins. Investopedia
ترجمه فارسی:
ماینینگ بیتکوین شامل ثبت تراکنشها روی بلاکچین و وارد کردن بیتکوینهای جدید به چرخه اقتصادی است. ماینرها با استفاده از سختافزار و نرمافزار تخصصی، معماهای رمزنگاری پیچیدهای را حل میکنند و اولین کسی که این معما را حل کند، با بیتکوین پاداش میگیرد.
فرآیند تولید بلاک جدید
فرآیند استخراج با جمعآوری تراکنشهای معلق از transaction pool آغاز میشود. ماینر این تراکنشها را بررسی و تأیید میکند تا مطمئن شود که تمام قوانین شبکه را رعایت میکنند.
سپس ماینر این تراکنشها را در یک بلاک کاندید قرار میدهد. اولین تراکنش در هر بلاک، تراکنش coinbase است که بیتکوینهای جدید و کارمزدهای جمعآوری شده را به آدرس ماینر ارسال میکند.
مرحله بعدی محاسبه Merkle Root تمام تراکنشهای بلاک است. این مقدار در سربرگ بلاک قرار میگیرد و تضمین میکند که هیچ تراکنشی بدون تغییر هش بلاک قابل تغییر نیست.
آخرین مرحله حل معمای proof-of-work است که نیاز به یافتن nonce مناسب دارد تا هش بلاک کمتر از target مشخص شده باشد.
مکانیزم Proof-of-Work
Proof-of-Work مکانیزم اجماعی است که امنیت بیتکوین را تضمین میکند. این سیستم بر پایه حل یک معمای ریاضی سخت اما قابل تأیید عمل میکند.
ماینرها باید nonce مناسبی پیدا کنند که وقتی همراه با سایر اطلاعات سربرگ بلاک هش شود، نتیجهای کمتر از target مشخص شده تولید کند. این فرآیند نیاز به آزمون میلیاردها عدد در هر ثانیه دارد.
پیدا کردن این راهحل بسیار دشوار و نیازمند انرژی قابل توجه است، اما تأیید صحت آن برای سایر گرههای شبکه بسیار آسان است. این عدم تقارن اساس امنیت بیتکوین است.
اولین ماینری که به جواب برسد، بلاک خود را برای سایرین ارسال میکند. بقیه گرهها به سرعت صحت آن را تأیید کرده و آن را به زنجیره خود اضافه میکنند.
تنظیم خودکار سختی
یکی از هوشمندانهترین ویژگیهای بیتکوین، سیستم تنظیم خودکار سختی است که تضمین میکند زمان تولید بلاکها ثابت باقی بماند. هر 2016 بلاک که تقریباً معادل دو هفته است، سختی استخراج بازبینی و تنظیم میشود.
اگر بلاکها سریعتر از 10 دقیقه استخراج شده باشند، یعنی قدرت محاسباتی شبکه افزایش یافته و سختی باید افزایش یابد. برعکس، اگر بلاکها کندتر استخراج شده باشند، سختی کاهش مییابد.
این مکانیزم تضمین میکند که صرفنظر از تعداد ماینرها یا قدرت محاسباتی آنها، شبکه همیشه به طور متوسط هر 10 دقیقه یک بلاک جدید تولید کند.
فرمول تنظیم سختی بر پایه نسبت زمان واقعی استخراج 2016 بلاک قبلی به زمان ایدهآل (20160 دقیقه) محاسبه میشود.
ساختار پاداش و اقتصاد استخراج
پاداش استخراج از دو بخش اصلی تشکیل شده است. Block Reward شامل بیتکوینهای جدیدی است که با هر بلاک جدید ایجاد میشوند. این پاداش هر 210,000 بلاک نصف میشود.
Transaction Fees کارمزدهایی هستند که کاربران برای پردازش تراکنشهایشان پرداخت میکنند. این کارمزدها به ماینری که تراکنش را در بلاک قرار میدهد، تعلق میگیرند.
رویداد halving که هر چهار سال اتفاق میافتد، باعث کاهش تدریجی نرخ تورم بیتکوین میشود. در ابتدا پاداش 50 بیتکوین بود، سپس به 25، 12.5 و در حال حاضر 6.25 بیتکوین کاهش یافته است.
این مکانیزم تضمین میکند که عرضه کل بیتکوین هرگز از 21 میلیون واحد فراتر نرود و در طول زمان، کارمزد تراکنشها جایگزین اصلی پاداش بلاک شوند.
اجماع غیرمتمرکز و حل اختلافات
اجماع در بیتکوین بدون نیاز به مقام مرکزی حاصل میشود. گرهها مستقلاً بلاکها را تأیید میکنند و زنجیرهای را که بیشترین proof-of-work تجمعی دارد، به عنوان زنجیره معتبر میپذیرند.
گاهی اوقات دو ماینر همزمان بلاک معتبری پیدا میکنند که باعث ایجاد fork موقت در شبکه میشود. در این حالت، بخشهای مختلف شبکه ممکن است موقتاً بر روی زنجیرههای مختلف کار کنند.
این اختلاف معمولاً با استخراج بلاک بعدی حل میشود. زنجیرهای که زودتر بلاک بعدی را دریافت کند، طولانیتر شده و به عنوان زنجیره اصلی پذیرفته میشود.
گرههایی که روی زنجیره کوتاهتر کار میکردند، به زنجیره طولانیتر میپیوندند و بلاکهای زنجیره کوتاهتر orphan میشوند.
فصل نهم: اکوسیستم گسترده ارزهای دیجیتال
ظهور و تنوع Altcoin ها
پس از موفقیت بیتکوین، صدها ارز دیجیتال جایگزین یا Altcoin ایجاد شدند که هر کدام تلاش میکنند جنبههای خاصی از بیتکوین را بهبود دهند یا کاربردهای جدیدی ارائه کنند. این تنوع نشاندهنده قدرت نوآوری و انطباقپذیری فناوری بلاکچین است.
برخی از این ارزها بر بهبود سرعت تراکنش متمرکز هستند، برخی دیگر بر حفظ حریم خصوصی تأکید دارند و عدهای نیز پلتفرمهایی برای اپلیکیشنهای پیچیدهتر ارائه میدهند. این تنوع باعث رشد و تکامل کل اکوسیستم ارزهای دیجیتال شده است.
Litecoin: نقره دیجیتال
Litecoin یکی از اولین و موفقترین Altcoin ها است که خود را “نقره دیجیتال” در مقابل “طلای دیجیتال” بیتکوین معرفی میکند. این ارز دو تغییر اساسی نسبت به بیتکوین دارد.
اول، زمان تولید بلاک را از 10 دقیقه به 2.5 دقیقه کاهش داده که باعث تراکنشهای سریعتر میشود. دوم، از الگوریتم Scrypt به جای SHA-256 استفاده میکند که در زمان ایجاد، مقاومت بیشتری در برابر ASIC های تخصصی داشت.
این تغییرات Litecoin را به گزینه مناسبی برای پرداختهای روزانه تبدیل کرد، در حالی که بیتکوین بیشتر به عنوان ذخیره ارزش استفاده میشود.
Ethereum: پلتفرم قراردادهای هوشمند
Ethereum فراتر از یک ارز دیجیتال است و پلتفرمی جامع برای اجرای قراردادهای هوشمند محسوب میشود. این پلتفرم از زبان برنامهنویسی Turing-complete استفاده میکند که امکان ایجاد اپلیکیشنهای پیچیده غیرمتمرکز را فراهم میکند.
Ether که ارز داخلی Ethereum است، نه تنها برای انتقال ارزش، بلکه برای پرداخت هزینه اجرای قراردادهای هوشمند نیز استفاده میشود. این مدل اقتصادی تضمین میکند که منابع شبکه به درستی استفاده شوند.
ماشین مجازی Ethereum یا EVM محیطی امن برای اجرای کدهای قرارداد فراهم میکند. این ماشین مجازی بر روی هزاران گره در سراسر جهان اجرا میشود و تضمین میکند که قراردادها به درستی اجرا شوند.
کاربردهای Alt chains
علاوه بر ارزهای جایگزین، زنجیرههای جایگزین یا Alt-chains نیز ظهور کردند که از فناوری بلاکچین برای کاربردهای غیرپولی استفاده میکنند. این پروژهها نشان میدهند که بلاکچین فراتر از پول کاربردهای متنوعی دارد.
Namecoin: سیستم نامگذاری غیرمتمرکز
Namecoin اولین Alt-chain مهم است که سیستم نامگذاری غیرمتمرکز ارائه میدهد. این سیستم امکان ثبت دامینهای .bit را فراهم میکند که مقاوم در برابر سانسور هستند.
برخلاف سیستم DNS سنتی که متمرکز است و میتواند توسط دولتها کنترل شود، Namecoin کاملاً غیرمتمرکز است. هیچ مقام مرکزی نمیتواند دامینی را مسدود یا مصادره کند.
فرآیند ثبت دامین در Namecoin شامل دو مرحله است: ابتدا با دستور namenew ادعای نام ثبت میشود، سپس با namefirstupdate ثبت عمومی میشود. این مکانیزم دومرحلهای از حملات front-running جلوگیری میکند.
Bitmessage: پیامرسانی غیرمتمرکز
Bitmessage سیستم پیامرسانی غیرمتمرکز است که امکان ارسال پیامهای رمزگذاری شده بدون نیاز به سرور مرکزی را فراهم میکند. این سیستم از آدرسهای شبیه بیتکوین استفاده میکند.
پیامها در شبکه Bitmessage موقت هستند و پس از مدت زمان مشخص (معمولاً دو روز) حذف میشوند. این ویژگی از انباشت دادههای غیرضروری در شبکه جلوگیری میکند.
رمزگذاری end-to-end تضمین میکند که تنها فرستنده و گیرنده قادر به خواندن محتوای پیام هستند. حتی گرههای واسط نمیتوانند محتوای پیامها را مشاهده کنند.
چشمانداز آینده فناوری بلاکچین
کاربردهای آینده فناوری بلاکچین بسیار گسترده و متنوع هستند. مدیریت هویت غیرمتمرکز میتواند کنترل اطلاعات شخصی را به دست افراد بازگرداند و از سوءاستفاده شرکتهای بزرگ فناوری جلوگیری کند.
ردیابی زنجیره تأمین یکی دیگر از کاربردهای مهم است که میتواند شفافیت و اعتماد در تجارت جهانی ایجاد کند. مصرفکنندگان میتوانند مسیر کاملی که محصولات طی کردهاند را دنبال کنند.
سیستمهای رأیگیری الکترونیکی مبتنی بر بلاکچین میتوانند انتخابات شفاف و قابل تأیید برگزار کنند. قراردادهای هوشمند نیز میتوانند بسیاری از فرآیندهای قانونی و مالی را خودکار کنند.
فصل دهم: امنیت و مدیریت ریسک در دنیای بیتکوین
تفاوتهای بنیادی امنیت بیتکوین
امنیت در بیتکوین مفهومی کاملاً متفاوت از سیستمهای مالی سنتی است. در بیتکوین، مالکیت کلیدهای خصوصی مستقیماً معادل مالکیت دارایی است. این یعنی اگر کلیدهای خصوصی شما به دست دیگران بیفتد، آنها میتوانند بیتکوینهای شما را خرج کنند و هیچ راه بازگشتی وجود ندارد.
این مدل امنیتی برخلاف سیستمهای بانکی است که در آنها بانک مسئولیت حفاظت از داراییهای شما را بر عهده دارد. در بیتکوین، شما خودتان بانک خود هستید و تمام مسئولیتهای مربوط به امنیت بر دوش شماست.
تفاوت اساسی دیگر در نحوه تأمین امنیت است. سیستمهای بانکی بر کنترل دسترسی و شناسایی متکی هستند، در حالی که بیتکوین بر رمزنگاری و کنترل کلیدها استوار است.
اصول توسعه امن سیستمهای بیتکوین
توسعه امن سیستمهای بیتکوین نیاز به رعایت اصول خاصی دارد که با توسعه سیستمهای متمرکز متفاوت است. مهمترین اصل، حفظ غیرمتمرکز بودن سیستم است.
توسعهدهندگان نباید کنترل کلیدهای خصوصی را از کاربران بگیرند. این کار باعث ایجاد نقطه شکست واحد میشود و امنیت کل سیستم را به خطر میاندازد. همچنین تراکنشها نباید از بلاکچین خارج شوند.
بلاکچین باید به عنوان منبع اعتماد اصلی در نظر گرفته شود. هر انحراف از این اصل، نقاط ضعف امنیتی ایجاد میکند که میتواند توسط مهاجمان سوءاستفاده شود.
اشتباهات رایج و درسهای آموخته شده
تاریخ بیتکوین مملو از اشتباهات امنیتی است که درسهای ارزشمندی ارائه میدهند. یکی از رایجترین اشتباهات، متمرکز کردن کلیدهای تمام کاربران در یک hot wallet واحد است.
بسیاری از صرافیهای اولیه این اشتباه را مرتکب شدند و در نتیجه هک شدند. Mt. Gox که زمانی بزرگترین صرافی بیتکوین بود، به دلیل همین مشکل ورشکست شد.
ایجاد سیستمهای off-blockchain اشتباه دیگری است که بارها تکرار شده است. این سیستمها امنیت غیرمتمرکز بیتکوین را با مدل متمرکز و آسیبپذیر جایگزین میکنند.
بهترین شیوههای امنیتی برای کاربران
کاربران بیتکوین باید شیوههای امنیتی خاصی را رعایت کنند تا از داراییهای خود محافظت کنند. استفاده از کیف پولهای سختافزاری برای مقادیر بزرگ، اولین و مهمترین توصیه است.
کیف پولهای سختافزاری کلیدهای خصوصی را در محیطی کاملاً ایمن و آفلاین نگهداری میکنند. این دستگاهها امضای تراکنشها را بدون افشای کلید خصوصی انجام میدهند.
رمزگذاری کیف پولهای نرمافزاری با رمز عبور قوی ضروری است. همچنین تهیه نسخههای پشتیبان متعدد و نگهداری آنها در مکانهای مختلف و امن بسیار مهم است.
استفاده از سیستمهای چندامضایی برای مقادیر بزرگ توصیه میشود. این سیستمها نیاز به تأیید چند کلید برای انجام تراکنش دارند و امنیت را به میزان قابل توجهی افزایش میدهند.
مدیریت ریسک و تنوع
مدیریت ریسک در بیتکوین نیاز به رویکرد چندلایه دارد. تنوع دارایی در چند کیف پول مختلف ریسک از دست رفتن کل دارایی را کاهش میدهد.
نگهداری مقادیر کوچک در کیف پولهای آنلاین برای استفاده روزانه و مقادیر بزرگ در cold storage توصیه میشود. این رویکرد تعادل بین راحتی استفاده و امنیت ایجاد میکند.
آموزش مداوم درباره تهدیدات جدید و روشهای مقابله با آنها نیز بسیار مهم است. دنیای امنیت سایبری به سرعت در حال تغییر است و کاربران باید خود را با آخرین تهدیدات آشنا کنند.
تهدیدات رایج و راههای مقابله
تهدیدات امنیتی در دنیای بیتکوین متنوع و در حال تکامل هستند. بدافزارهای سارق کلید یکی از رایجترین تهدیدات هستند که از طریق آلوده کردن کامپیوتر قربانی عمل میکنند.
حملات فیشینگ نیز بسیار رایج هستند و معمولاً از طریق ایمیلها یا وبسایتهای جعلی انجام میشوند. این حملات تلاش میکنند کاربران را فریب دهند تا اطلاعات حساس خود را فاش کنند.
مهندسی اجتماعی روش دیگری است که مهاجمان از آن استفاده میکنند. در این روش، مهاجم تلاش میکند از طریق فریب و دستکاری روانی، اطلاعات حساس را به دست آورد.
سرقت فیزیکی دستگاهها نیز تهدیدی جدی است، خصوصاً اگر کیف پولها به درستی رمزگذاری نشده باشند. هک صرافیها نیز همچنان یکی از بزرگترین تهدیدات برای کاربرانی است که داراییهای خود را در صرافیها نگهداری میکنند.
نتیجهگیری: چرا Mastering Bitcoin اثری ضروری است؟
کتاب Mastering Bitcoin اثری بیهمتا است که بیتکوین را از مفهومی پیچیده به راهنمایی عملی برای درک و استفاده تبدیل میکند. آندریاس آنتونوپولوس با توضیحات روان، داستانهای واقعی و کدهای برنامهنویسی، خواننده را به سفری در قلب این فناوری میبرد. این کتاب نه تنها برای برنامهنویسان، بلکه برای هر کسی که به آینده مالی و دیجیتال علاقهمند است، منبعی ارزشمند به شمار میرود. بیتکوین، با وعده آزادی، شفافیت و نوآوری، دریچهای به اقتصاد جدید گشوده، و این اثر راهنمای آن مسیر است.
نظر شما چیست؟ آیا بیتکوین آینده پول است یا چالشی گذرا؟ کدام بخش از این فناوری شما را شگفتزده کرد؟ دیدگاههای خود را در بخش نظرات به اشتراک بگذارید و به گفتوگویی درباره انقلاب دیجیتال بپیوندید!
نظر شما درباره این مقاله چیست؟
0 نفر به این مقاله میانگین امتیاز0 دادهاند.
شما چه امتیازی میدهید؟