این روزها خیلی در مورد بلاک‌چین و بیت کوین و cryptocurrency یا رمزارزها! (واقعا از این واژه خوشم نمیاد!)، میشنویم و خیلی‌ها هم در مورد سرمایه گذاری روی بیت کوین سوال می‌پرسن. خب با توجه به اندک تجربه‌ای که این مدت روی بستر بلاک‌چین دارم، بد ندیدم یه توضیحاتی رو در مورد بلاک‌چین و به خصوص cryptocurrency هایی مثه بیت‌کوین بدم. برای این که خیلی قضیه پیچیده نشه و متن تا جای ممکن کوتاه باشه تا حوصله‌تون سر نره، سعی میکنم از جزئیات فنی تا جای ممکن دور بمونم. به همین خاطر ممکنه همه توضیحات خیلی دقیق نباشه.

اول از همه باید بدونید که بیت کوین و بلاک‌چین یکی نیستن! البته اگر یکم مطالعه کرده باشین احتمالا این جمله رو خیلی شنیدین اما خب این مساله خیلی مهمه که بلاکچین یه روشه (به دلایلی نمی‌خوام از واژه تکنولوژی استفاده کنم)، و بیت‌کوین و خیلی از cryptocurrency ها بر پایه این روش به وجود آمدن. نمی دونم چقدر با سیستم‌های Peer to peer یا به اصطلاح p2p یا تورنت‌ها آشنایین، اما پایه‌ی بلاک‌چین همین‌ها هستند (اگر باهاشون آشنایی ندارین این قسمت رو نادیده بگیرین).

blockchain

blockchain

بزرگترین خوبی بلاکچین این هست که به یک نهاد نظارتی متمرکز وابسته نیست و به همین خاطر دخل و تصرف توی اون به وسیله فرد یا افرادی خاص تقریبا غیر ممکنه و علاوه بر ارزهای دیجیتال، کاربردهای زیادی داره که یکی از پر کاربردترینش تایید اسناد رسمی و یا notarization بر بستر بلاک‌چین هست که عملا میشه با استفاده از این تکنولوژی دفاتر اسناد رسمی رو جمع کرد! ( که خب البته نیاز به یک زیرساخت فراگیر داره). در هر حال تو این مقاله سعی میکنم فقط به کاربرد بلاکچین درcryptocurrency ها بپردازم.

بذارید با یه مثال خیلی کلی در مورد یه cryptocurrency فرضی با نام مثلا طلا کوین شروع کنم!

فکر کنین یه فایل ساده تکست باز می‌کنین و توش اسمتون رو مینویسین و جلوشم می‌نویسین ۱۰۰۰ طلاکوین! در واقع شما با این کار طلاکوین رو به وجود آوردین و به دنیا گفتین ۱۰۰۰ تا ازش هست که فعلا مال شماست! این فایل، طوریه که وقتی توش می‌نویسین دیگه نمی‌تونین پاکش کنین و همه هم می‌تونن ببینش. تا اینجا شما صاحب هزار طلاکوین هستین. حالا ۳۰۰ تا از این طلاکوین رو میدین به فرد X و این رو به این شکل تو فایل ذخیره میکنید که ۳۰۰ تا طلاکوین به X‌منتقل شد. حالا X تصمیم میگیره ۱۰۰ تا طلاکوین رو برای Y بفرسته و این رو تو این فایل به این شکل ذخیره میکنه که ۱۰۰ طلاکوین به Y ‌منتقل شد.

بیشتر بخوانید :

تعریف بیت کوین و استخراج آن به زبان ساده

ارز دیجیتال یا CryptoCurrency چیست ؟

دریافت ارز دیجیتال رایگان اتریوم ؟!

(توجه داشته باشین که هر کس که صاحب طلاکوین میشه می‌تونه تو این فایل انتقالی رو از سمت خودش بنویسه و قاعدتا میزان انتقال نمی‌تونه از مقداری که داره بیشتر باشه). اون چیزی که در این مثال خیلی مهمه، اینه که بدونید فقط در اولین خط این فایل تعدادی سکه نوشته شده (به اون اولین خط یا به اصطلاح بلاک، genesis block میگن) و بعد از اون تنها چیزی که تو این فایل هست فقط لیست تراکنش‌ها یا همون transaction هاست.

در حالت خیلی ساده، میشه گفت ledger file‌ در ارزهای مبتنی بر بلاک‌چین، همین فایل تکست هست. وقتی میخوایم حساب کنیم X چقدر پول داره از بالا شروع میکنیم میبینیم ۳۰۰ طلاکوین به x اومده و ۱۰۰ تا ازش خارج شده. تا آخر این فایل رو که پردازش کنیم می‌تونیم بفهمیم X در واقع ۲۰۰ تا طلاکوین داره.

هدف اصلیم از نوشتن این پاراگراف این بود که بدونید وقتی یک نفر مثلا ۱۰۰ تا سکه داره به این معنا نیست که ۱۰۰ تا هش یا ۱۰۰ تا شماره دیجیتالی داره که هر کدومشون نشون‌دهنده یک سکه هست و اونا رو منتقل میکنه !

در واقع، میزان حساب هرکس با پردازش کل این فایل و transaction‌ها مشخص میشه.

اما قضیه هش و این داستانا چیه؟

خب همه چیز بر میگرده به این که چطور این فایل ledger رو توی یک شبکه پر از نودهای مختلف نگه داریم و از صحت اطلاعات توش مطمئن بشیم. برای این کار از بلاکچین استفاده میشه، اما چطور؟

همونطور که از اسم بلاک‌چین معلومه از شبکه‌ای از بلاک‌ها تشکیل شده که مثه زنجیر به هم وصلن. تو این بلاک‌ها، داده وجود داره و این داده ها در واقع همین نوشته‌های توی ledger فایل هستند (مجموعه انتقال‌هایی که پشت سر هم نوشته شدن). هر بلاک توی بلاکچین از سه بخش تشکیل شده: داده ، هش بلاک و هش بلاک قبل. به شکل ساده، در ارزهای دیجیتال این داده درواقع همون انتقال‌هایی هست که ما در موردش تو مثالمون صحبت کردیم. اما هش (Hash) چیه؟

هش انواع مختلقی داره،

اما در این حد بدونید که ما توابعی داریم که وقتی بهشون یک ورودی چند کاراکتری میدی (مهم نیست ۱۰ تا ۱۰۰ تا یا هزارتا)، به شما یک خروجی با طول ثابت مثلا ۶۴ کاراکتر میدن! ممکنه تعجب کنید که چطور ۱۰ تا کاراکتر به ۶۴ کاراکتر تبدیل میشه و میلیون‌ها کاراکتر هم به ۶۴ کاراکتر!. خب این اعجاز cryptography هست. نکته مهم در مورد این نوع هش هم این هست که برگشت ناپذیره، یعنی قاعدتا از اون ۶۴ کاراکتر نمی‌تونید به اون ۱۰ کاراکتر یا ۱۰۰۰ کاراکتر برسید اما هر وقت اون ۱۰ کاراکتر رو به این تابع بدید همون ۶۴ کاراکتر رو بر میگردونه . اما این هش چه کاربردی داره؟

هش

هش

خب فرض کنید شما میخواین ۱۰۰۰ صفحه رو با یک کپی، کاراکتر به کاراکتر چک کنین. این فرآیند، خیلی زمان‌بر هست اما وقتی هش های هر کدوم رو داشته باشین، همیشه همون ۶۴ کاراکتر رو با هم مقایسه می‌کنین و این کار خیلی سریع انجام میشه.توجه کنیدکه اگر حتی یک کاراکتر از هزاران کاراکتر ورودی به تابع هش شما فرق کنه خروجی تابع عوض میشه!

امیدوارم کاربرد هش رو متوجه شده باشید. به هر حال در بلاک‌چین از هش‌ها برای اطمینان از اطلاعات موجود استفاده میشه. فرض کنید تو مثال اولی که زدیم هر کسی که تو سیستم هست یه کاغذ داره که توش نوشته شما ۱۰۰۰ طلاکوین دارید. حالا شما انتقال ۳۰۰ تایی به X رو انجام میدید و فایل خودتون رو آپدیت میکنید. برای این که بقیه هم از این انتقال مطلع بشن اون رو برای همشون میفرستین و اونا هم اطلاعات رو به فایلشون اضافه میکنن و هر دفعه هش اطلاعات قبلی رو توی بلاک جدید میذارن.

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

لازمه که صاحب بیش از پنجاه درصد شبکه بشین که تقریبا غیر ممکنه. الگوریتم‌های پیچیده زیادی تو بلاک‌چین استفاده میشه که واقعا در حوصله این مقاله نیست. این که چطوری یک حساب ارز رو دوبار خرج نکنه و همزمان دو تراکنش ایجاد نکنه (double spending )، یا این شبکه در غیاب تعداد زیادی ازکاربرها کار کنه و … همه و همه راه حل‌های خودشون رو دارن.

زنجیره بلاک‌ها در یک بلاکچین

زنجیره بلاک‌ها در یک بلاکچین

و اما برسیم به ماین کردن!

فرآیند استخراج یا mining‌ در ارزهای دیجیتال مختلف با توجه به الگوریتم‌هایی که استفاده میکنن متفاوته. قبل از این که بخوایم توضیح مختصری در موردش بدیم بذارید در مورد کیف پول cryptocurrency ها صحبت کنیم. کیف پول شما مثلا در بیت کوین، یک عدد ۲۵۶ بیتی هست که در واقع همون کلید خصوصی شماست که معمولا با ۳۲ کاراکتر (به صورت هگزا دسیمال) نشون داده میشه مثل:

E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262

توجه داشته باشین که این عدد رو به هیچ وجه نباید در اختیار کسی بذارید!(این عدد اینجا هم الکیه و از رو ویکی‌پدیا برداشتم!)
از روی این عدد، یک عدد دیگه در میاد که بهش میگیم public key یا کلید عمومی، که هش شده اون میشه آدرس کیف پول شما. از طریق کلید عمومی (در واقع آدرس)، افراد میتونن برای شما cryptocurrency بفرستن و شما هم با استفاده از کلید خصوصیتون میتونین با داشتن آدرس افراد براشون cryptocurrency بریزین! سایت‌ها و نرم‌افزارهای کیف پول در واقع تنها کاری که می‌کنن نگهداری از این کلید خصوصی هست. شما میتونید این کلید رو خودتون نگه دارید یا به سایت‌ها و نرم‌افزارها اعتماد کنید و بذارید اونها براتون ازش نگهداری کنن (معمولا با پسوردی که شما ثبت نام میکنید کلید خصوصی رو هش از نوع قابل برگشت میکنن(امیدوارم!) و در دیتابیسشون نگه میدارن).

در فایل ledger که حاوی تمام تراکنش‌هاست، درواقع فقط کلید عمومی هر حساب دیده میشه. حجم ledger برای بیت‌کوین در حال حاضر بیش از ۲۰۰ گیگابایته!

بیشتر بخوانید :

تعریف بیت کوین و استخراج آن به زبان ساده

ارز دیجیتال یا CryptoCurrency چیست ؟

دریافت ارز دیجیتال رایگان اتریوم ؟!

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

مثه وقتی که پول رو از حسابی به حساب دیگه منتقل می‌کنید و بانک از شما کارمزد تراکنش میگیره. در ارزهای دیجیتالی چون سیستم متمرکزی نیست و کار رو در واقع تمام اعضا انجام میدن این کارمزد به خود اعضا میرسه. این که تو بیت‌کوین یا حالا هر کوین دیگه‌ای این فرآیند چه جزئیاتی داره خودش یه مقاله کامله که واقعا در اینجا نمی‌گنجه. به هر حال منظور از استخراج، به نوعی گرفتن هزینه در ازای مراقبت از سیستمه! تو بیت کوین فرآیندی هست به نام proof of work که برای جلوگیری از تقلب و ایجاد بلاک‌های قلابی استفاده میشه.

انواع ارز دیجیتال

انواع ارز دیجیتال

Proof of work در واقع داده ای هست که تولیدش زمان‌بر هست اما راستی‌آزمایی این که درست تولید شده یا نه بسیار سریع و ساده است، به همین دلیل برای اضافه شدن هر بلاک به بلاک‌چین باید حداقل یک proof of work‌ انجام بشه که حل اون (که در واقع پیدا کردن یک هش خاص هست که مثلا با پنج تا صفر شروع بشه)، برای کسی که حلش کرده با جایزه همراهه. توضیحات بیشتر در این مورد قطعا شما رو گیج خواهد کرد. اما این رو بدونید تا یک تراکنش در شبکه تایید نشه در واقع انجام نگرفته.

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

در مورد بیت کوین به قدری این محاسبات سخت شده که استفاده از CPU یا کارت گرافیک (که به خاطر تعداد زیاد هسته محاسباتی تو خیلی از ارزهای دیجیتال زیاد برای ماین کردن استفاده میشه) جوابگو نیست و از دستگاه‌های مخصوصی که برای این محاسبات طراحی شده (Asic miner ها) استفاده میکنن. این دستگاهها هم برای کار کردن برق زیادی مصرف می‌کنن و این باعث میشه افراد به دنبال جاهایی بگردن که هزینه مصرف برق در اونها پایین باشه مثل کارگاه های صنعتی و …

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

اگر خیلی علاقه دارین بیشتر در مورد بلاک‌چین و cryptocurrency بدونین توصیه میکنم کتاب blockchain basics انتشارات apress نوشته Daniel Drescher رو بخونین.

هرچند اونقدر که دلم میخواست کوتاه نشد اما امیدوارم تونسته باشم یه دید خیلی کلی از بلاک‌چین و بیت کوین بهتون بدم .

بیشتر بخوانید :

تعریف بیت کوین و استخراج آن به زبان ساده

ارز دیجیتال یا CryptoCurrency چیست ؟

دریافت ارز دیجیتال رایگان اتریوم ؟!

آشنایی با ارزهای دیجیتال با کافه آبی دات آی آر