برای ورود به دنیای هیجان انگیز ارزهای دیجیتال نیاز به دانستن یک سری مفاهیم اولیه داریم. یکی از این مفاهیم درک درست از شبکه انتقال و بلاک چین است. بنابراین در این مطلب با ما همراه باشید و نگاه ویژهای به این سوال داشته باشیم که بلاک چین چیست و در ادامه بررسی کنیم چطور کار میکند.
بلاک چین چیست ؟
بلاک چین یک شبکه ذخیره سازی اطلاعات است. حالا چرا میگوییم شبکه ؟ چون ساختار آن متمرکز نیست و دقیقاً حالت شبکهای دارد. اصلاً نام آن هم برگرفته از ساز و کار آن میباشد. بلاکچین یعنی زنجیره بلوک ها و شبکهای که از آن صحبت میکنیم دقیقاً زنجیرهای از بلوک هایی است که اطلاعات در آن ذخیره شده است.
حالا ببینیم اصلاً چرا نیازمند یک ساختار شبکهای هستیم و تفاوت با یک ساختار متمرکز چیست .
فرض کنید شما یک دفترچه یادداشت دارید که حساب ها و تراکنش های مالی خود و سه نفر از دوستانتان را داخل آن ثبت میکنید. پس از هر بار که با هم به تفریح میروید، در این دفتر یادداشت میکنید که چه کسی چه مقدار هزینه کرده برای چه تعداد. و برای مثال ماهی یکبار تصفیه حساب میکنید و همه با هم بی حساب می شوند.
دفترچه یادداشتی که در مثال بالا در نظر گرفتیم، یک صورتحساب از اطلاعات تراکنش های مالی شما بصورت متمرکز میباشد. یعنی فقط یک نسخه از آن وجود دارد و این نسخه فقط در اختیار یک نفر میباشد.
این سیستم ذخیره سازی متمرکز اطلاعات، دو ایراد اساسی دارد. اول اینکه فقط در اختیار یک نفر است و دوم اینکه دارنده آن میتواند اطلاعات را بدون اطلاع دیگران تغییر دهد.
به نظر میرسد راه حل این باشد که یک نسخه از صورتحساب در اختیار هر یک از افراد باشد و در صورت ثبت تراکنش جدید توسط یک نفر به همه اطلاع رسانی شود تا بقیه هم آن را در صورتحساب خود ثبت کنند. با فرض اینکه بقیه هم باز به سلیقه خود صورتحساب را دستکاری نکنند، بازهم این راه حل چندان هوشمندانه به نظر نمیرسد. ضمن اینکه با بالا رفتن تعداد مثلاً صدها هزار یا میلیونها نفر این راه حل دیگر کار نخواهد کرد.
اینجاست که بلاک چین وارد عمل میشود !
فرض کنید صورتحساب ها را بصورت زنجیره وار به هم وصل میکنید. در این صورت با ایجاد یک تراکنش داخل هر صورتحساب بصورت خودکار اطلاعات آن تراکنش برای سایر صورتحساب ها هم ارسال خواهد. در این صورت تمامی نسخه ها یکپارچه و یکسان خواهند بود.
حال برای اینکه هرکس بی حساب و کتاب اطلاعاتی را داخل صورتحساب ثبت نکند باید سیستمی برای اعتبارسنجی تراکنش هاییی که ثبت میکنیم داشته باشیم. اینجاست که یک موضوع جدید به عنوان امضای دیجیتالی مطرح میشود. در حقیقت برای اینکه هر کس از طرف دیگری تراکنشی را در بلاک ها ثبت نکند، هر تراکنش نیازمند تائید توسط امضاهای دیجیتال است. نقش این امضاها این است که اطمینان حاصل کند تراکنش توسط خود شخص در بلاک ثبت شده.
امضاهای دیجیتال به این روش کار میکنند که هر کس یک جفت کلید عمومی و خصوصی دارد. هر کلید یک رشته اعداد به شکل بیت میباشد. در دنیای واقعی امضای افراد فارق از اینکه چه سندی را امضا میکنند، همیشه ثابت است. اما در دنیای دیجیتال برای هر سند یک امضای دیجیتالی منحصر بفرد ساخته میشود. در حقیقت امضاهای دیجیتال یک رشته اعداد صفر و یک ۲۵۶ بیتی هستند که تغییر متن هرچند کوچک آن ها را بطور کامل عوض میکند.
فرآیند تولید امضای دیجیتال به این شکل است که یک تابع متن و کلید خصوصی را میگیرد و امضای دیجیتال تولید میکند.
امضا = ( کلید خصوصی , متن ) تابع
کلید خصوصی در این تابع نشانگر این است که امضا، امضای شماست.و از آنجا که این امضا مختص این متن است، باعث میشود شخصی نتواند آن را کپی و برای متن دیگری استفاده کند.
در ادامه یک تابع دوم تائید میکند که این امضا صحیح است یا خیر. در این مرحله کلید عمومی وارد فرآیند میشود.
صحیح / غلط = ( کلید عمومی , امضا , متن ) تابع دوم
با درک کارکرد توابع بالا میتوان شخصی که یک متن یا سند یا تراکنش را امضای دیجیتال کرده، قطعاً خود شخص صاحب امضا بوده و جعل امضا در این فضا محال است.
اما هنوز یک راه نفوذ در سیستم وجود دارد !
درست است که نمیتوان امضا این تراکنش را برای تراکنش دیگری استفاده کرد. اما میتوان در صورتحساب دست برد و آن را چندین بار بطور نامحدود تکرار کرد.
بنابراین آخرین راه حل این است که هر تراکنش هم دارای یک شناسه (ID) باشد. در این صورت متن پیام ها متفاوت خواهد شد. و به این ترتیب هر کدام این تراکنش ها هم یک امضای منحصر بفرد خواهند داشت.
و باز هم بلاک چین و یک چالش جدید !
اگر یک نفر طبق گزارش صورتحساب ما مبلغی به بقیه بدهکار باشد و زمان تصفیه حساب غیبش بزند چه کنیم !؟ شاید به ذهنتان برسد که از ابتدای نگارش صورتحساب هر کس مبلغی را شارژ کند، و در ادامه بیش از مبلغ بدهی به دیگران، نتواند خرج کند.
بنابراین اگر بخواهد تراکنشی بیش از سقف واریزی خود انجام دهد، این تراکنش نامعتبر خواهد شد. بسیار عالی ! حالا اگر به جز ما چهار نفر، کل دنیا بخواهند از چنین صورتحسابی استفاده کنند چه باید کرد!؟
راه آن این است که همه مردم کشورها، پول های خود را به واحد پولی که صورتحساب ما بر اساس آن نوشته میشود تبدیل کنند.
اکنون این صورتحساب بزرگ و جامع در اختیار چه کسی است ؟ اصلاً چه کسی تراکنشها را کنترل میکند و صحت آنها را تایید میکند؟
پاسخ این است که هیچ کس ! هسته اعتماد این بستر بر این است که یک نسخه از صورتحساب در اختیار عموم قرار دهیم. و آنها را بصورت زنجیره وار به هم وصل کنیم. در این صورت با ثبت هر تراکنش در هریک از صورتحسابها، این تراکنش آنی در سایر صورتحسابها هم درج خواهد شد.
اما چطور باید مطمئن باشیم که هر تراکنشی که ثبت میکنیم یا دریافت میکنیم، در همه صورتحسابها هم دقیقاً ثبت شده ؟
و اینجاست که از یک پروتکل رمزنگاری بر پایه توابع HASH استفاده میکنیم. در رابطه با جزئیات فنی توابع HASH در یک مطلب جداگانه صحبت کردهایم که در صورت علاقهمندی میتوانید آن را مطالعه کنید. فعلاً فقط در همین حد اشاره کنیم که ساخت یک تراکنش جعلی با وجود این پروتکل روی شبکه زنجیرهای صورتحسابهای یاد شده محال ممکن است. و با استفاده از این پروتکل میتوان مطمئن بود تمامی تراکنشها کاملاً صحیح و یکپارچه هستند. در ضمن توابع HASH متعددی وجود دارند که برای رمزنگاری بلاکچین ارزهای دیجیتال از تابع SHA256 استفاده میشود.
حالا که همه چیز را میدانیم میتوانیم نتیجه گیری کنیم. تمامی تراکنشها داخل یک صورتحساب ثبت میشوند. توسط امضاهای دیجیتالی خاص هر تراکنش که بوسیله کلیدهای عمومی و خصوصی تولید میشوند تائید میشوند. و در نهایت صورتحساب های زنجیروار رمزنگاری شده کپی میشوند.
حالا اینطور بگوییم که تراکنش های تائید شده داخل بلاکها ثبت میشوند. و هر بلاک مجهز به یک خروجی HASH میباشد. هر بلاک HASH بلاک قبلی خود را تائید میکند و بدین ترتیب بلاکها به هم متصل میشوند. بنابراین باز به این نیتجه میرسیم که دستکاری یا ایجاد یک تراکنش جعلی در این زنجیره محال ممکن است. یا حداقل این لحظه محال بوده و کسی راه حلی برای آن پیدا نکرده.
بلاکها هم از تراکنش ها سود میبرند !
در پایان هم خیلی کوتاه به این مساله اشاره کنیم که ساخت بلوکها و تولید HASH توسط ماینرها انجام میشود. در حقیقت ماینرها هستند که بلوکها را میسازند و آنها را رمزنگاری میکنند. هر ماینر پردازشهای سنگین وزیادی را برای رمزنگاری و تولید HASH انجام میدهد و در صورت تولید موفق یک HASH، مبلغ بی نشانی را به عنوان پاداش از شبکه دریافت میکند. همچنین با دریافت و انتقال هر تراکنش جدید مبلغی را بابت کارمزد از شبکه دریافت میکند.
در باره طرز کار ماینرها و روشهای کسب درآمد از بلاکچین و ارزهای دیجیتال در مطالب آینده صحبت خواهیم کرد.
منبع : 3Blue1Brown
همچنین هر بلاکچین میتواند شامل فورک یا انشعابهایی باشد که از پروتکلهای متفاوت استفاده میکنند. برای مطالعه بیشتر پیرامون فورک و تفاوت سافت فورک و هارد فورک کلیک کنید.