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

همین ایده‌ی ساده پایه‌ی بیت‌کوین، اتریوم، TON و تقریباً هر رمزارز دیگری است. وقتی تتر برای کسی می‌فرستید یا منتظر «تأیید» یک برداشت می‌مانید، در واقع دارید با یک بلاکچین کار می‌کنید.

بلاکچین را با یک دفتر حساب مقایسه کنید

فرض کنید یک دفتر حساب بانکی دارید. فقط بانک آن را می‌بیند، فقط بانک در آن می‌نویسد و اگر بانک اشتباه کند یا حسابی را ببندد، شما باید به همان بانک اعتماد کنید.

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


دفتر حساب بانک

بلاکچین عمومی

چه کسی نسخه را نگه می‌دارد

خود بانک

هزاران نود مستقل

چه کسی خط جدید را تأیید می‌کند

کارمند یا سیستم بانک

شبکه، طبق قوانین اجماع

چه کسی می‌تواند تاریخچه را ببیند

بانک و صاحب حساب

هر کسی، با یک بلاک اکسپلورر

اگر اشتباه شود

بانک می‌تواند برگرداند

تراکنش تأییدشده معمولاً برگشت‌پذیر نیست

مجوز انجام تراکنش

رمز حساب و قوانین بانک

امضای دیجیتال با کلید خصوصی

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

بلاکچین از چه تکه‌هایی ساخته شده است؟

بلاک

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

هش

هش یک «اثر انگشت» دیجیتال است: یک رشته‌ی کوتاه که از روی داده‌ها ساخته می‌شود. اگر حتی یک رقم از داده عوض شود، هش کاملاً چیز دیگری می‌شود. هر بلاک هش بلاک قبلی را داخل خودش دارد و همین است که بلاک‌ها را به شکل زنجیر به هم وصل می‌کند.

نود

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

کلید خصوصی و امضا

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

چرا نمی‌شود گذشته‌ی بلاکچین را عوض کرد؟

فرض کنید کسی بخواهد در بلاک شماره‌ی ۱۰۰ مبلغ یک تراکنش را عوض کند. هش بلاک ۱۰۰ تغییر می‌کند. بلاک ۱۰۱ هش قدیمی بلاک ۱۰۰ را در خودش دارد، پس دیگر جور درنمی‌آید و او باید بلاک ۱۰۱ را هم از نو بسازد، بعد ۱۰۲ را، و همین‌طور تا آخر زنجیره. مستندات اتریوم دقیقاً همین را می‌گوید: تغییر در هر بلاکی از تاریخچه، همه‌ی بلاک‌های بعدی را نامعتبر می‌کند و همه‌ی کسانی که بلاکچین را اجرا می‌کنند متوجه می‌شوند.

دستکاری هم فقط کار فنی نیست. نسخه‌ی تقلبی باید به‌جای نسخه‌ای که بقیه‌ی شبکه قبول کرده بنشیند. در بیت‌کوین یعنی باید از قدرت پردازش کل شبکه جلو بزند. در اتریوم یعنی باید حجم عظیمی اتر را به خطر بیندازد و از دست بدهد. به همین دلیل هر بلاک تازه‌ای که روی تراکنش شما اضافه می‌شود، برگرداندنش را سخت‌تر می‌کند. به این بلاک‌ها «تأیید» یا Confirmation می‌گویند و در مقاله‌ی Confirmation در بلاکچین دیده‌اید که چرا صرافی‌ها برای هر شبکه تعداد متفاوتی تأیید می‌خواهند.

اجماع: هزاران کامپیوتر چطور به یک جواب می‌رسند؟

وقتی هیچ مدیری وجود ندارد، باید قانونی باشد که مشخص کند بلاک بعدی را چه کسی می‌سازد و اگر دو نسخه‌ی متفاوت پیدا شد، کدام درست است. به مجموعه‌ی این قوانین و انگیزه‌ها «سازوکار اجماع» می‌گویند. دو روش معروف‌تر این‌ها هستند:

اثبات کار (Proof of Work)

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

اثبات سهام (Proof of Stake)

اتریوم هم روزی مثل بیت‌کوین اثبات کار داشت، ولی حالا از اثبات سهام استفاده می‌کند. در این روش به‌جای برق، پول وثیقه گذاشته می‌شود: اعتبارسنج‌ها (Validator) مقداری اتر قفل می‌کنند، در هر نوبت یکی از آن‌ها به‌صورت تصادفی بلاک پیشنهاد می‌دهد و بقیه بررسی‌اش می‌کنند. مستندات اتریوم می‌گوید کسی که بخواهد کنترل زنجیره را به دست بگیرد، باید حجم عظیمی اتر از دست بدهد. مصرف انرژی هم خیلی پایین آمد: ethereum.org به نقل از برآورد مؤسسه‌ی CCRI می‌گوید این تغییر مصرف برق سالانه‌ی اتریوم را بیش از ۹۹٫۹۸۸ درصد کم کرده است.

هیچ‌کدام از این دو روش «بهتر» مطلق نیست. اثبات کار سابقه‌ی طولانی‌تری دارد و ساده‌تر فهمیده می‌شود؛ اثبات سهام انرژی خیلی کمتری مصرف می‌کند ولی قوانین پیچیده‌تری دارد. برای شما به‌عنوان کاربر، مهم‌ترین اثرش در سرعت تأیید و کارمزد شبکه دیده می‌شود.

یک مثال: ۱۰ تتر را دنبال کنیم

فرض کنید می‌خواهید ۱۰ تتر را از کیف پول خودتان روی یک شبکه‌ی بلاکچینی برای دوستتان بفرستید. پشت صحنه تقریباً این اتفاق‌ها می‌افتد:

  1. کیف پول شما یک پیام می‌سازد: «۱۰ تتر از آدرس من به آدرس دوستم» و آن را با کلید خصوصی شما امضا می‌کند.
  2. تراکنش به نودهای شبکه فرستاده می‌شود. هر نود چک می‌کند امضا درست باشد و موجودی کافی داشته باشید.
  3. تراکنش در صف منتظر می‌ماند تا ماینر یا اعتبارسنج آن را در بلاک بعدی بگذارد. کارمزدی که می‌پردازید برای همین کار است.
  4. بلاک ساخته و بین نودها پخش می‌شود. نودها دوباره آن را بررسی می‌کنند و به انتهای نسخه‌ی خودشان اضافه می‌کنند. حالا تراکنش شما یک تأیید دارد.
  5. با هر بلاک تازه، تأییدها بیشتر می‌شود. وقتی به تعدادی رسید که صرافی یا کیف پول مقصد لازم می‌داند، مبلغ در حساب دوستتان قابل استفاده می‌شود.
  6. تراکنش یک شناسه (TXID) دارد که هر کسی می‌تواند با آن، در بلاک اکسپلورر همان شبکه، وضعیتش را ببیند.

اگر همین ۱۰ تتر را داخل سواپ‌ولت برای کاربر دیگری بفرستید، معمولاً هیچ‌کدام از این مراحل روی بلاکچین انجام نمی‌شود و فقط دفتر داخلی سرویس به‌روز می‌شود. تفاوت این دو را در مقاله‌ی انتقال داخلی و انتقال بلاکچینی با جزئیات توضیح داده‌ایم.

بلاکچین فقط بیت‌کوین نیست

بیت‌کوین از سال ۲۰۰۹ کار می‌کند و اولین استفاده‌ی گسترده از بلاکچین بود. ولی بلاکچین و بیت‌کوین یکی نیستند: بیت‌کوین یک رمزارز است که روی بلاکچین خودش کار می‌کند و شبکه‌های دیگر کارهای دیگری هم می‌کنند.

  • اتریوم در واقع بلاکچینی است که یک کامپیوتر مشترک داخلش دارد. برنامه‌نویس‌ها روی آن قرارداد هوشمند می‌نویسند؛ برنامه‌هایی که هر کسی می‌تواند اجرایشان کند و خروجی‌شان روی بلاکچین ثبت می‌شود. توکن‌هایی مثل تتر ERC20 روی همین قراردادها ساخته شده‌اند.
  • ترون، TON و شبکه‌های دیگر هر کدام قوانین، سرعت و کارمزد خودشان را دارند. به همین دلیل یک توکن مثل تتر روی چند شبکه وجود دارد و تتر TRC20 با ERC20 فرق می‌کند. اگر به TON علاقه دارید، راهنمای TON را ببینید.
  • بلاکچین‌های خصوصی هم وجود دارند که فقط اعضای مشخصی در آن‌ها نود دارند؛ مثلاً چند شرکت که یک دفتر مشترک می‌خواهند. این‌ها سریع‌تر و قابل‌کنترل‌ترند، ولی همان اعتماد نکردن به یک طرف را که بلاکچین عمومی می‌دهد، ندارند.

محدودیت‌ها و سوءتفاهم‌های رایج

بلاکچین ابزار خوبی است، ولی جادو نیست. چند نکته که بهتر است از اول بدانید:

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

از کجا شروع کنیم؟

بهترین راه فهمیدن بلاکچین دیدن یک تراکنش واقعی است. یک TXID از برداشت یا واریز قبلی‌تان بردارید و در بلاک اکسپلورر همان شبکه جست‌وجو کنید: شماره‌ی بلاک، تعداد تأییدها، کارمزد و آدرس‌ها را می‌بینید. اگر اولین بار است که روی بلاکچین چیزی می‌فرستید، اول یک مبلغ کم امتحان کنید و شبکه را در مبدأ و مقصد یکی کنید.

پرسش‌های رایج

بلاکچین با بیت‌کوین چه فرقی دارد؟

بلاکچین فناوری ثبت اطلاعات است و بیت‌کوین یک رمزارز که روی بلاکچین خودش کار می‌کند. شبکه‌های زیادی مثل اتریوم، ترون و TON هم بلاکچین خودشان را دارند.

آیا بلاکچین هک می‌شود؟

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

چرا تراکنش بلاکچینی را نمی‌شود برگرداند؟

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

ماینینگ چیست و آیا همه‌ی بلاکچین‌ها ماینر دارند؟

ماینینگ ساختن بلاک در روش اثبات کار است که بیت‌کوین از آن استفاده می‌کند. شبکه‌هایی مثل اتریوم که اثبات سهام دارند ماینر ندارند و به‌جایش اعتبارسنج دارند.

برای استفاده از رمزارز باید فنی باشم؟

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