بیتکوین چیست و چگونه کار میکند
بیتکوین دقیقاً چیست؟
بیتکوین پولی دیجیتال است که هیچ بانک یا دولتی آن را صادر یا اداره نمیکند. همهٔ پرداختها در دفتری مشترک ثبت میشود که هزاران رایانه در دنیا همزمان نگه میدارند و بررسی میکنند.
نام «بیتکوین» سه چیز را میرساند: قواعد سامانه، شبکهٔ رایانههایی که این قواعد را اجرا میکنند و خود دارایی. قواعد (پروتکل) میگویند چه تراکنش و بلاکی معتبر است. هر رایانهٔ شبکه، یعنی هر گره، دادههای رسیده را با همین قواعد میسنجد؛ بعضی گرهها همهٔ تاریخچهٔ بلاکها را نگه میدارند و بعضی پس از بررسی، بخش قدیمی آن را پاک (هرس) میکنند. موجودی شما هم فایلی در تلفنتان نیست: به شکل خروجیهایی با مبلغ و شرط خرج در همان دفتر ثبت شده است. قواعد و زنجیره (انگلیسی)؛ نقش کیف پول (انگلیسی)
بیتکوین شرکت یا سهام نیست و هیچ نهادی قیمتش را تضمین نمیکند. نبود مدیر مرکزی هم جلوی همهٔ خطاها را نمیگیرد: بستهشدن یک صرافی، خرابشدن کیف پول و اختلال در شبکه سه مشکل جدا هستند.
بیتکوین چه مشکلی را حل میکند که پیش از آن حل نشده بود؟
بیتکوین نشان داد که میشود پول دیجیتال را بدون بانک یا واسطهای در میانه طوری جابهجا کرد که کسی نتواند همان پول را دو بار خرج کند. خرج دوباره مشکل اصلی پول دیجیتال است: فایل را میشود کپی کرد، و امضای دیجیتال هم بهتنهایی کافی نیست، چون صاحب یک کلید میتواند دو دستور پرداخت متناقض را امضا کند. پیش از بیتکوین، راه رایج این بود که دفتر یک مؤسسه داور همهٔ پرداختها باشد.
راهحل بیتکوین سه جزء دارد: تراکنشها در شبکه پخش میشوند، هر گره قواعد را بررسی میکند و تراکنشها در زنجیرهای از بلاکها ثبت میشوند که ساختنشان کار محاسباتی پرهزینه (اثبات کار) میخواهد. هر گره از میان تاریخچههای معتبری که میشناسد، آن را که کار انباشتهٔ بیشتری دارد دنبال میکند. به این ترتیب دریافتکننده میتواند ببیند کدام خرج در تاریخچهٔ پذیرفتهشده نشسته است. توضیح سازوکار زنجیره (انگلیسی)
نوآوری در پیوند همینهاست: ترتیب تاریخچه، هزینهٔ ساخت بلاک و انگیزهٔ مشارکت؛ نه صرفِ کپیکردن دفتر یا بهکاربردن رمزنگاری. البته حذف واسطهٔ مرکزی همهٔ فرضها را حذف نمیکند: این سامانه هم به اینترنت نیاز دارد و رفتار درست همهٔ مشارکتکنندگان را تضمین نمیکند.
چه کسی بیتکوین را معرفی کرد و هویت او چه اهمیتی دارد؟
بیتکوین را کسی با نام ساتوشی ناکاموتو معرفی کرد؛ هویت واقعی او معلوم نیست، و برای استفاده از بیتکوین هم لازم نیست معلوم باشد. مقالهٔ معرفی در ۳۱ اکتبر ۲۰۰۸ منتشر شد و نخستین بلاک (بلاک پیدایش) تاریخ ۳ ژانویهٔ ۲۰۰۹ را دارد؛ انتشار ایده و آغاز زنجیره دو رویداد جدا هستند. پیام معرفی فقط نشان میدهد این نام به کار رفته است، نه اینکه صاحبش کیست. پیام معرفی مقاله (انگلیسی)؛ دادهٔ بلاک پیدایش در کد (انگلیسی)
هویت ساتوشی برای درستی تراکنشها اهمیتی ندارد، چون در قواعد بیتکوین هیچ اختیار مدیریتی ویژهای برای او تعریف نشده است و هر گره خودش قواعد را بررسی میکند. البته متنباز بودن کد به این معنا نیست که همهٔ نرمافزارها بیخطا هستند یا هر کاربر کد را خوانده است.
عددهایی که دربارهٔ بیتکوینهای ساتوشی گفته میشود برآوردهایی از الگوهای استخراج است، نه فهرستی از صاحبان سکهها. این برآوردها را بدون روش و حد خطایشان موجودی قطعی یک نفر ندانید. اگر این بیتکوینها روزی جابهجا شوند، اثرش را هم نمیتوان صرفاً «روانی» دانست.
بلاکچین چیست و تغییرناپذیری آن چه محدودیتی دارد؟
بلاکچین دفتری است از بلاکهای پشتسرهم که هر بلاک به بلاک قبلی گره خورده است؛ برای همین، دستبردن در یک بلاک قدیمی پیوند همهٔ بلاکهای بعدی را میشکند. هر بلاک در سرآیند خود اثر رمزنگاریشدهٔ بلاک قبلی را دارد. کسی که بخواهد تاریخچه را عوض کند باید آن بلاک و همهٔ بلاکهای بعدی را با همان کار محاسباتی (اثبات کار) دوباره بسازد. ساختار و انتخاب زنجیره (انگلیسی)
با این حال، تغییرناپذیری مطلق نیست. گاهی دو بلاک معتبر تقریباً همزمان ساخته میشوند و گره بعداً از یکی به دیگری میرود. هر تأیید بیشتر بازنویسی را سختتر میکند، اما میزانش به توان مهاجم، ارتباط شبکه و عمق تاریخچه بستگی دارد؛ یک عدد نرخ هش هم نشان نمیدهد که هیچ دولت یا شرکتی توان حمله ندارد.
کار بیشتر فقط میان زنجیرههای معتبر داوری میکند: برق بیشتر، امضای نامعتبر یا صدور بیش از سقف مجاز را معتبر نمیکند. ثبت یک پرداخت هم نشان نمیدهد که کالا تحویل شده یا فروشنده صادق بوده است.
یک تراکنش از لحظهٔ ارسال تا تأیید چه مسیری طی میکند؟
یک پرداخت بیتکوین چهار مرحله دارد و زدن دکمهٔ «ارسال» فقط بخشی از آن است؛ پرداخت وقتی جا میافتد که در بلاکی ثبت شود.
- ساخت: کیف پول مشخص میکند کدام موجودی خرج شود، چه مبلغی به گیرنده برسد، چه مقدار به خودتان برگردد و کارمزد چقدر باشد.
- بررسی و امضا: امضاکننده پس از بررسی اطلاعات پرداخت، آن را طبق شرط خرج امضا میکند. در کیف پول چندامضایی شاید امضاهای دیگری هم لازم باشد.
- انتشار: تراکنش کامل به گرههای دیگر فرستاده میشود. تضمینی نیست که به همهٔ گرهها برسد یا همه آن را در ممپول خود بپذیرند.
- تأیید: تراکنش در بلاکی از زنجیرهٔ فعال ثبت میشود و هر بلاک بعدی یک تأیید به آن اضافه میکند. مراحل تکمیل (انگلیسی)؛ بررسی پرداخت (انگلیسی)
ممپول یک صف سراسری نیست؛ هر گره صف تراکنشهای در انتظار خودش را دارد. اگر تراکنش را در یک ابزار نمیبینید یا گرهای آن را کنار گذاشته است، هنوز لغو نشده و ممکن است دوباره منتشر یا تأیید شود. پیش از پرداخت دوباره، تکلیف پرداخت قبلی را روشن کنید تا دو بار پرداخت نکنید.
کلید خصوصی، کلید عمومی و آدرس چه رابطهای با هم دارند؟
کلید خصوصی رازی است که با آن پرداخت را امضا میکنید، کلید عمومی امضای شما را برای دیگران قابلبررسی میکند، و آدرس نشانیای است که برای دریافت بیتکوین به فرستنده میدهید. برای دریافت بیتکوین هرگز لازم نیست کلید خصوصی یا عبارت بازیابی را به کسی بدهید. کلید و کیف پول (انگلیسی)
کلید عمومی از کلید خصوصی به دست میآید، اما به دست آوردن کلید خصوصی از کلید عمومی عملاً ناممکن است؛ امنیت بیتکوین بر همین تکیه دارد. کلید خصوصی با رمز ورود برنامه هم فرق دارد. آدرس همیشه هش یک کلید عمومی نیست: ممکن است به یک اسکریپت اشاره کند یا، در تپروت، خود کلید خروجی را نشان دهد. شنور (انگلیسی)؛ ساختار تپروت (انگلیسی)
داشتن کلید یعنی توان فنی خرج، نه مالکیت حقوقی؛ سارق هم میتواند کلید را به دست آورد. در کیف پول چندامضایی یا با شرط زمانی، یک کلید بهتنهایی برای خرج کافی نیست.
مدل «خروجی خرجنشده» چیست و چرا کیف پول من باقیمانده را به آدرسی ناشناس میفرستد؟
موجودی کیف پول شما مجموع چند خروجی خرجنشده (UTXO) است، چیزی شبیه چند اسکناس در جیب؛ وقتی یکی را خرج میکنید، کل آن مصرف میشود و باقیمانده به شکل خروجی تازهای به خودتان برمیگردد. آن «آدرس ناشناس» معمولاً آدرس تازهای از کیف پول خود شماست. حسابداری تراکنش (انگلیسی)
مثال فرضی: یک خروجی ۵۰٬۰۰۰ ساتوشی دارید و ۳۰٬۰۰۰ ساتوشی میپردازید. اگر کارمزد ۱٬۰۰۰ ساتوشی باشد، تراکنش میتواند ۳۰٬۰۰۰ ساتوشی برای گیرنده و ۱۹٬۰۰۰ ساتوشی برای خودتان بسازد. خروجی ۱۹٬۰۰۰ ساتوشی «باقیمانده» است و آدرس تازهٔ آن مال شماست، نه یک غریبه.
دو کیف پول با موجودی برابر ممکن است تعداد و نوع خروجیهای متفاوتی داشته باشند و همین بر اندازه و هزینهٔ خرج اثر میگذارد. یکیکردن خروجیها روی خرجهای بعدی اثر دارد، اما خودش کارمزد دارد و ممکن است دریافتهای جدا را به هم مرتبط کند؛ پس «همهٔ خروجیها را یکی کنیم» برای هر وضعیتی درست نیست.
چه کسی بیتکوین را کنترل میکند و چگونه تغییر میکند؟
هیچ شخص یا گروهی بهتنهایی بیتکوین را کنترل نمیکند؛ اختیار میان چند نقش پخش شده است. توسعهدهندگان تغییر پیشنهاد میکنند، نگهدارندگان پروژه دربارهٔ کد مخزن تصمیم میگیرند، استخراجکنندهها بلاک میسازند و هر گره کامل خودش بررسی میکند که بلاک با قواعدی که اجرا میکند جور باشد. کاربران و کسبوکارها هم انتخاب میکنند چه نرمافزاری اجرا کنند و چه داراییای را بپذیرند. فرایند توسعه (انگلیسی)؛ فرایند پیشنهادها (انگلیسی)
قاعدهٔ تازه فقط وقتی در عمل جا میافتد که مشارکتکنندگان نرمافزار آن را اجرا کنند. تعداد گرهها صندوق رأی نیست: یک نفر میتواند چند گره اجرا کند. هر گره میتواند بلاکی را برای خودش رد کند، اما نمیتواند دیگران را به اجرای همان قواعد وادار کند. تغییر ناسازگار ممکن است تاریخچه را دو شاخه کند؛ ماندن یک شبکهٔ مشترک به هماهنگی واقعی مشارکتکنندگان بستگی دارد.
وقتی خبر یک تغییر را میشنوید، این چهار گام را از هم جدا کنید: نوشتن پیشنهاد، انتشار نرمافزار، اجرای آن و فعالشدن قاعده. شماره گرفتن یک پیشنهاد (BIP) به معنی تصویب آن نیست.
فورک چیست؟ سافتفورک و هاردفورک چه فرقی دارند؟
«فورک» یعنی دوشاخهشدن: یا تاریخچهٔ بلاکها دو شاخه میشود، یا قواعد شبکه تغییر میکند. در تغییر قواعد، سافتفورک قواعد را سختگیرانهتر میکند، پس بلاکهای تازه برای گرههای قدیمی هم معتبرند، هرچند گره قدیمی شرط تازه را خودش بررسی نمیکند. هاردفورک چیزی را مجاز میکند که گرههای پیرو قواعد قبلی رد میکنند. تغییر قواعد و انشعاب (انگلیسی)
نام فورک نتیجه را تعیین نمیکند: سافتفورک کاملاً بیخطر نیست و هاردفورک هم همیشه دو زنجیرهٔ ماندگار نمیسازد. ماندن هر شاخه به مشارکت، استخراج، خدمات و پذیرش بستگی دارد.
چون دو شاخه سابقهٔ مشترک دارند، ممکن است کلیدهای شما در هر دو قابل خرج باشند؛ اما استفادهٔ امن از دارایی شاخهٔ دیگر به قواعد آن، حفاظت در برابر بازپخش تراکنش و پشتیبانی ابزارها بستگی دارد. برای گرفتن «سکهٔ فورک»، عبارت بازیابی کیف پول اصلیتان را در نرمافزار ناشناخته وارد نکنید؛ هیچ دارایی تازهای ارزش لورفتن کلید اصلی را ندارد.
بیتکوین با اتریوم، تتر و بقیهٔ رمزارزها چه فرقی دارد؟
بیتکوین ناشر ندارد و واحد تازهاش فقط طبق قواعد شبکه ساخته میشود؛ تتر ناشری دارد که میتواند آن را مسدود کند؛ و اتریوم سامانهای جداست که باید با قواعد خودش سنجیده شود. نام مشترک «رمزارز» مدل امنیتی یکسانی نمیسازد. برای مقایسهٔ هر دو دارایی این چهار پرسش را بپرسید: چه کسی واحدها را صادر میکند، چه قواعدی انتقال را معتبر میکند، قواعد چگونه تغییر میکند و برای خروج به چه کسی وابستهاید؟
در بیتکوین، واحد تازه فقط از راه پاداش پایهٔ بلاک (بیتکوین تازه) و طبق قواعد اعتبارسنجی ساخته میشود. تتر توکنی است با ناشر، پشتوانه و سازوکار بازخرید، و ناشر میتواند توکنهای پشتیبانیشده را مسدود کند؛ پس نگهداشتن تتر در کیف پول شخصی ریسک ناشر را حذف نمیکند. قواعد عرضهٔ بیتکوین (انگلیسی)؛ سیاست مسدودسازی تتر (انگلیسی)
اتریوم و دیگر سامانههای اجرای قرارداد را باید با مشخصات خودشان سنجید؛ داشتن بنیاد یا توسعهدهندگان شناختهشده نشان نمیدهد اختیار در آنها چگونه پخش شده است. مقایسهٔ منصفانه فرق کاربردها و فرضهای اعتماد را روشن میکند، نه اینکه همهٔ داراییهای دیگر را یکسان بداند. موضوع این مجموعه بیتکوین است؛ از دیگر داراییها فقط برای این نام میبریم که دارایی و شبکه را با هم اشتباه نگیرید.
آیا بیتکوین واقعاً «پول» است؟
بیتکوین برخی کارکردهای پول را دارد، اما اینکه «پول» به حساب بیاید به این بستگی دارد که کدام کارکرد را در نظر بگیرید و در کدام جامعه. اقتصاددانها سه کارکرد را جدا میکنند: وسیلهٔ مبادله، واحد حساب و ذخیرهٔ ارزش. چیزی ممکن است برای پرداخت پذیرفته شود، ولی مبلغ قرارداد با واحد دیگری نوشته شود؛ ثابتماندن تعداد واحدها هم قدرت خرید را تضمین نمیکند. کارکردهای پول (انگلیسی)
موفقیت بیتکوین در هر کارکرد به جامعه، دورهٔ زمانی و معیار سنجش بستگی دارد. امکان فنی پرداخت در سراسر جهان با پذیرش همگانی فرق دارد، و برای حفظ ارزش در بلندمدت هم باید نوسان، افق زمانی و واحد سنجش را دید، نه فقط تعداد بیتکوین.
«پول قانونی» عنوانی حقوقی است. اینکه پرداخت با بیتکوین در ایران یا هر کشور دیگری مجاز است یا نه، از متن قانون همان کشور و تاریخ اعتبار آن معلوم میشود، نه از توان فنی بیتکوین یا مقایسه با طلا و پول نقد.
انواع آدرس بیتکوین چه فرقی دارند؟
پیشوند آدرس در شبکهٔ اصلی نشان میدهد آدرس از کدام خانواده است (جدول زیر)؛ اما نام صاحب آدرس، سلامت کیف پول یا هزینهٔ دقیق خرج را نشان نمیدهد.
پیشوند خانوادهٔ متعارف نکته 1 P2PKH پرداخت به هش کلید عمومی 3 P2SH پرداخت به هش اسکریپت؛ همیشه چندامضایی نیست bc1q سگویت نسخهٔ صفر قالب آدرس بچ۳۲ bc1p تپروت قالب آدرس بچ۳۲اِم؛ خرج از مسیر کلید یا اسکریپت هزینهٔ خرج به ساختار کامل تراکنش و نرخ کارمزد بستگی دارد؛ تپروت در همهٔ حالتها «ارزانترین و خصوصیترین» نیست. قالب آدرس (انگلیسی)؛ اصلاح بچ۳۲اِم (انگلیسی)؛ تپروت (انگلیسی)
آدرسی که حروف کوچک و بزرگ را با هم دارد نامعتبر است؛ آدرس بچ۳۲ یا بچ۳۲اِم یا یکدست با حروف کوچک نوشته میشود یا یکدست با حروف بزرگ. آدرس را دستی اصلاح نکنید. رشتهای که با 0x شروع میشود آدرس بیتکوین نیست و فرستادن بیتکوین به آن، آن را به توکن تبدیل نمیکند. جابهجاکردن بیتکوینِ نماینده روی شبکهای دیگر، کار دیگری با دارایی و ریسک دیگری است.



