بلاک‌چین (Blockchain) و کاربرد آن در بیت‌کوین

انقلاب بلاک چین با ظهور بیت کوین شروع شد
انقلاب بلاک چین با ظهور بیت کوین شروع شد

انقلاب بلاک‌چین (Blockchain) در راه است...

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

این موضوع به نظر سنگین می‌آید، ولی با من همراه باشید تا توضیح دهم...

مفهوم بلاک‌چین

"بلاک‌چین" از آن کلمه‌هایی است که حتی باهوش‌ترین افراد را هم کمی گیج می‌کند و رسانه‌ها هیچ ایده‌ای ندارند که این سیستم چطور کار می‌کند.

برای شروع باید گفت که بلاک‌چین فناوری پشت طراحی ارزهای رمزپایه مثل بیت‌کوین است.

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

(کلمه Bitcoin با حرف بی بزرگ (B) به نشانه فناوری بلاک‌چین بیت‌کوین است، در حالی که با بی کوچک (b) "bitcoin" به معنی پول بیت‌کوین)

خوب اما این فناوری چطور کار می‌کند؟

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

هر 10 دقیقه این صفحه اکسل آپدیت شده و بلاک‌های تازه‌ای از انتقالات جدید به آن اضافه می‌شود.

هرکسی می‌تواند یک نسخه از این اطلاعات را داشته باشد و این موضوع کاملا شفاف در اختیار همه قرار دارد.

فرض می‌کنیم علی قصد دارد 1 بیت‌کوین برای امیر ارسال کند. وقتی این تراکنش توسط بلاک‌چین پردازش شد این صفحه اکسل آپدیت می‌شود و یک بیت‌کوین از حساب علی کم شده و یک بیت‌کوین به حساب امیر اضافه می‌شود.

خوب حالا این فایل چطور آپدیت می‌شود؟ یا اینکه از کجا مطمئن باشیم کسی اطلاعات غلط ارسال نمی‌کند و یا حساب خود را دستی اضافه نکرده یا یک بیت‌کوین را در لحظه برای دو نفر ارسال نمی‌کند.

این کار به عهده سیستم‌هایی است تحت عنوان نود (node)، که به عنوان ماینر (معدن‌کاو) (miner) نیز مشخص می‌شوند. نودها سیستم‌های قوی هستند که در بستر مثلا بیت‌کوین و با سیستم رمزنگاری آن کار می‌کنند و توسط اشخاص و یا شرکت‌هایی تامین می‌شوند که به عنوان پاداش در ازای این در اختیار گذاشتن سیستم و هزینه برقی که مصرف می‌شود، مقداری از تراکنش را تصاحب می‌کنند.

دو مدل نود وجود دارد، نسخه کامل (full nodes) و نسخه سبک (lightweight nodes).

نودهای کامل نسخه‌ای کامل از بلاک‌چین و آن فایل اکسل فرضی را ذخیره می‌کنند. این فایل شامل همه تراکنش‌هایی است که تابحال در این سیستم انجام شده است. این سیستم در حال حاضر چیزی در حدود 200 گیگ حجم دارد (در بیت‌کوین)

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

بنابراین نسخه‌های نود کامل (یا ماینر) تمام محتویات را نگهداری می‌کنند، اما این سیستم‌ها چطور اطلاعات را بین خودشان همگام‌سازی و یکپارچه می‌کنند. این مسئله از آنجا بسیار مهم است که هرکسی می‌تواند یک ماینر باشد.

نحوه کار نودهای کامل و نودهای سبک در بلاک‌چین
نحوه کار نودهای کامل و نودهای سبک در بلاک‌چین

خوب نودها (nodes) چطور یک تراکنش را پردازش می‌کنند؟

برمیگردیم به مثال علی و امیر که در آن علی قصد دارد برای امیر یک بیت‌کوین ارسال کند.

امیر یک حساب کیف پول (wallet) برای خود می‌سازد. هرکسی در عرض چند دقیقه می‌تواند برای خود یک کیف پول ایجاد کند. وقتی شما کیف پولی درست می‌کنید دو سری اطلاعات مهم برای شما ایجاد می‌شود:

  1. کلید عمومی (public key): که به عنوان آدرس عمومی نیز شناخته می‌شود، همان آدرس بیت‌کوین شما. این آدرس شامل اعداد و حروف متعددی می‌باشد، می‌توان آن را به عنوان یک یوزنیم در نظر گرفت.
  2. کلید خصوصی (private key): این کلید دقیقا رمز کیف پول شما محسوب می‌شود و باید آن را به شدت محافظت کنید. اگر این کلید را گم کنید، دسترسیتان را به حساب خود از دست می‌دهید. هیچ راهی نیز برای برگرداندن این رمز نیست، زیرا که هیچ سرور مرکزی وجود ندارد که آن را در اختیار شما قرار دهد. در ضمن اگر کسی دیگر نیز به این رمز دسترسی پیدا کند، در واقع صاحب کیف شما خواهد شد.

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


طراحی یک بلاک در بلاک‌چین
طراحی یک بلاک در بلاک‌چین

بعد از چند دقیقه امیر کیف خود را چک کرده و می‌بیند که پول به حساب او اضافه شده، اما در پشت زمینه چه اتفاقی رخ داد؟

ابتدا در شبکه (در اینجا نودهای سبک) بررسی می‌شود که علی به اندازه کافی در حساب خود پول دارد و آدرس امیر نیز معتبر است.

وقتی این دو بررسی موفقیت‌آمیز بود، تراکنش به همراه سایر تراکنش‌های دیگر در یک بلوک قرار می‌گیرد.

این بلاک برای ماینرها ارسال می‌شود. کار ماینرها چک کردن این بلاک و اضافه کردن آن به بلاک‌های قبلی است (همان فایل اکسل فرضی).


ساختن کیف پول و موارد ایجادشده برای دو طرف انتقال
ساختن کیف پول و موارد ایجادشده برای دو طرف انتقال

یک ماینر چطور یک بلاک را به بلاک‌چین اضافه می‌کند؟

هش‌ها (Hashes) و نحوه کار ماینینگ

برای فهم این موضوع نیاز است که آن را بررسی کنیم.

یک هش شامل حروف و اعداد متعددی است که کنار هم قرار می‌گیرند و چیزی شبیه این عبارت می‌شوند: 3miv8dsfu87dfgsvc6intwuz36j5h1kfi803jnhg

یک هش با قرار دادن اطلاعات اولیه در یک فرمول ریاضی قوی که تحت عنوان عملگر هش (hash function) عنوان می‌شود به دست می‌آید. جور دیگری که می‌توان به آن نگاه کرد این است که موادی را داخل مخلوط‌کن ریخته و یک مخلوط بدست آوریم.


نحوه کارکرد عملگر هش
نحوه کارکرد عملگر هش

شما مواد اولیه (اطلاعات شما) را داخل این مخلوط‌کن (عملگر هش) می‌ریزید و یک مخلوط (هش) بدست می‌آورید.

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

ماینرها زمانی که می‌خواهند یک بلاک را تست کنند، از یک عملگر هش استفاده می‌کنند تا یک پازل رمزنگاری شده را حل کنند. ماینرها بلاک جدید را به همراه تمام تراکنش‌های آن گرفته و با یک کلمه تصادفی ترکیب می‌کنند (nonce) و در یک عملگر هش قرار می‌دهند و یک هش بدست می‌آورند.

نشان دادن بررسی انواع نونس‌های غلط
نشان دادن بررسی انواع نونس‌های غلط

کاری که ماینرها می‌کنند این است که بدنبال هش خاصی می‌گردند که با چند 0 شروع می‌شود. آن‌ها کلمات تصادفی (nonce) متعددی را امتحان می‌کنند تا هش لازم را بدست آورند. این آزمون و خطا در شکل زیر نشان داده شده است:


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

همه‌ی ماینرها در یک رقابت برای پیدا کردن هش درست هستند. بدلیل اینکه ماینری که این مقدار را پیدا کند می‌تواند به عنوان راه حل مناسب و هش قابل قبول، آن را به شبکه ارسال کرده و تایید شود.

نحوه آپدیت بلاک‌چین
نحوه آپدیت بلاک‌چین

بلاک جدید به بلاک‌چین اضافه شده و ماینر نیز پاداشی یه اندازه 12 بیت‌کوین بابت این زحمت به ازای هر بلاک می‌گیرد. چیزی که در حال حاضر حدود 120.000 دلار ارزش دارد.

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

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

بیت‌کوین به نوعی اثبات عملکرد بلاک‌چین است

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

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

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