بلاکچین نام یک فناوری جدیدی برای ثبت اطلاعات است که مهمترین ویژگی آن، اشتراک این اطلاعات با امنیت بالا میان همه اعضای شبکه است. ایده بلاک چین اولین بار در سال ۱۹۹۱ توسط دو فرد به نامهای استوارت هابر و اسکات استورنتا مطرح شده بود اما هنگامی که ارز دیجیتال بیت کوین از این ایده برای ثبت دادههای خود استفاده کرد، همراه با مطرح شدن نام آن، بلاک چین هم بیشتر مورد توجه قرار گرفت.
امروزه بلاک چین در زمینه ثبت و ذخیره سوابق و اطلاعات، ایجاد هویت دیجیتال و پلتفرمها کاربرد دارد. این فناوری به خاطر ویژگیهایی مانند امنیت بالا، تمرکززدایی و شفافیت مورد توجه سایر بخشهای فناوری قرار گرفته و از آن به عنوان انقلابی در زمینه ثبت دادهها نام برده میشود که میتواند فضای دیجیتال را دچار تحولات گستردهای کند. اما بلاکچین چیست و در چه زمینههایی مورد استفاده قرار میگیرد؟
یک مثال برای درک بهتر نحوه عملکرد بلاک چین
از آنجا که بلاکچین جز فناوریهای جدید و کمی پیچیده است، برای درک بهتر آن با یک مثال ادامه میدهیم. فرض کنید ۱۰ نفر یک زمین را میخرند و بین خود یک قرارداد میبندند که در آن سهم هر فرد مشخص شده است. برای این کار ۱۰ نسخه یکسان قرارداد تهیه میکنند و همه پای این ۱۰ نسخه را امضا کرده و به هر کدام از طرفین قرارداد، یک نسخه تحویل داده میشود. به نظر شما آیا میتوان گفت کدام یک از این قراردادها معتبرتر است و میتوان آن را به عنوان نسخه اصلی قرارداد قلمداد کرد؟ تمامی این نسخهها، ویژگی یکسانی دارند و به عبارتی همه آنها را میتوان به عنوان نسخه اصلی در نظر گرفت. حالا فرض کنید یکی از این افراد، نسخه قراردادی را که در دست دارد، به نفع خود تغییر دهد و بخواهد براساس آن سهم بیشتری از زمین مذکور را تصاحب کند. از آنجا که در ۹ نسخه دیگر این تغییر اتفاق نیفتاده است پس امکان چنین سواستفادهای از بین میرود. شاید یکی از مشکلاتی که در این حالت امکان دارد پیش بیاید این است: یک شخص از این ده نفر بخواهد سهماش را دو بار به فروش برساند. یکی از مهمترین مزیتهای بلاک چین مخصوصا در کاربردی که برای رمزارزها دارد جلوگیری از دوبار خرج کردن همزمان پول است.
در سیستم بلاکچین اطلاعات به گونهای ثبت میشود که تمامی اعضای شبکه یک نسخه از آخرین تغییراتی که ثبت میشود را خواهند داشت. دلیل امنیت بالای بلاکچین نیز همین مرکززدایی و شفافیت آن است. در این سیستم هیچ رایانه مرکزی وجود ندارد که هکرها بتوانند با نفوذ در آن مشکل ایجاد کنند. اگر یکی از رایانههای متصل به شبکه که به آن گره میگویند هک شود، چون نسخههای دیگر در سایر رایانههای شبکه موجود است، تغییرات احتمالی که هکر در اطلاعات ثبت شده ایجاد کند نمیتواند تاثیری در سیستم اطلاعاتی داشته باشد. اما بلاکچین چگونه اطلاعات را در تمامی گرههای موجود در یک سیستم (رایانهها) ثبت میکند و کنترل آن به چه شکل است؟
بلاکچین چطور کار میکند؟
ساختار بلاکچین بسته به استفادهای که از آن میشود، میتواند دارای جزییات متفاوتی باشد اما در این نوشته به توضیح قاعده کلی این فناوری به شکلی ساده که فهمیدن آن نیاز به پیشزمینههای ریاضی و … نداشته باشد خواهیم پرداخت.
در ساختار بلاک چین سه عنصر مهم وجود دارد:
۱. رمز نگاری
۲. شبکه و دفتر کل توزیع شده
۳. قوانین و کاربرانی که برای استفاده از این سیستم، در اداره آن مشارکت میکنند.
رمزنگاری در بلاک چین
در بلاکچین نقش رمزنگاری بر عهده کلید عمومی و کلید خصوصی است. از ترکیب این دو کلید «امضای دیجیتالی» به وجود میآید که به بیان ساده، کارکرد آن شبیه استفاده از یوزر و پسورد برای ورود به یک شبکه اجتماعی است.
هرکدام از کلیدهای خصوصی و عمومی، رشتهای طولانی از رمز هستند که به صورت منحصر به فرد برای دسترسی یک کاربر به شبکه ایجاد میشوند تا در یک فضای امن به داراییهای خود دسترسی داشته باشد.
کلید عمومی را میتوانید در اختیار دیگران قرار دهید تا از آن برای واریز ارز به حساب شما استفاده کنند، چیزی شبیه به آدرس ایمیلتان که دیگران با استفاده از آن میتوانند برای شما ایمیل ارسال کنند. اما کلید خصوصی بسیار محرمانه است و اگر آن را در اختیار فرد دیگری قرار دهید میتواند به داراییهای شما دسترسی پیدا کند. کلید خصوصی شبیه رمزی است که شما با استفاده از آن وارد حساب ایمیل خود میشوید و اگر شخص دیگری آن رمز را داشته باشد، میتواند به اطلاعات شما دسترسی کامل پیدا کند. این نکته هم در نظر داشته باشید که امکان تغییر کلید خصوصی مانند رمز کارتهای عابر بانک وجود ندارد. طول کلید خصوصی معمولا ۶۴ رقم است و به همراه کلید عمومی نقش امضای دیجیتالی شما را پای اطلاعات ثبت شده در شبکه بلاکچین، ایفا میکند. برای بالا بردن امنیت در بحث امضای الکترونیک، از هش کردن یا هشینگ استفاده میشود که در ادامه درباره آن بیشتر توضیح میدهیم.
تابع هش و هشینگ چیست؟
هشینگ یا هش کردن به روندی گفته میشود که در آن اطلاعات ورودی که میتواند شامل حروف، اعداد و تصاویر باشد توسط یک تابع ریاضی به یک خروجی رمزگذاری شده تبدیل میشود. به همین دلیل، در بعضی متنها، تابع هش را تابع درهم ساز هم میگویند.
برای اینکه یک تابع هش بتواند عملکردی مطمئن برای افزایش امنیت کاربران در فضای اینترنت داشته باشد داشتن ویژگیهای زیر برای آن حیاتی است:
۱.خروجی این تابع باید برای یک ورودی مشخص، یکسان و ثابت باشد.
۲.این تابع باید عملیات محاسبه خروجی را با سرعت مناسبی انجام دهد.
۳. بدیهی است که این تابع باید مانند شیر یکطرفه عمل کند، یعنی اگر خروجی را که رمزنگاری شده به آن بدهند نتوانند ورودی مربوط به آن را دریافت کنند.
۴. اگر تغییر کوچکی در ورودی هش رخ میدهد، خروجی باید به طور کامل تغییر کند تا سازوکار تابع هش از این طریق قابل شناسایی نباشد.
۵. هر ورودی هش باید خروجی منحصر به فرد خود را داشته باشد.
بلاک در بلاکچین چیست؟
بلاک چین در لغت به معنای زنجیره بلاک است و همانطور که از نام آن مشخص است از تعداد زیادی بلاک که به هم متصل شدهاند تشکلیل شده است. اما بلاک چیست؟
اگر بلاک چین را به صورت یک دفتر کل در نظر بگیریم، هر کدام از صفحات آن یک بلاک است. هر بلاک از دو جز هدر و بدنه تشکلیل شده است. بخش هدر شامل اطلاعاتی است که که براساس آن یک بلاک، از دیگر بلاکها متمایز شده و همچنین براساس همین اطلاعات و با قواعدی ویژه به بلاکهای قبل و بعد از خود متصل میشود. از جمله این اطلاعات میتوان به شماره نسخه نرمافزار، هش بلاک قبلی، هش ریشه درخت مرکل (یک مفهوم ریاضی است) و برچسب زمانی اشاره کرد.
بدنه بلاک شامل اطلاعات تراکنشهای تایید شده است. آنچه تحت عنوان استخراج رمزارزها میشنویم در واقع عملیاتی است که طی آن پردازشگرها تراکنشهای مربوط به ساخت یک بلاک را تایید میکنند. کاربرد سیستم درختی معروف به درخت مرکل نیز این است که تراکنشهای درون یک بلاک را در ساختار درختی خود قرار دهد که با توجه به ویژگیهای این ساختار چک کردن اطلاعات در آن را راحت میکند.
شبکه و دفتر کل توزیع شده
منظور از دفتر کل، همان دفتر حساب کتاب است که حتما در ادارات و شرکتها و فروشگاهها با آن برخورد داشتهاید و به محلی گفته میشود که در آن اطلاعات مالی از قبیل حسابها، بدهیها، اعتبارات و … ثبت میشوند تا در زمان مشخص بتوان از آنها برای رسیدگی به امور استفاده کرد. گفته میشود احتمالا انسان اولین بار خط را برای ثبت همین اطلاعات اختراع کرده باشد.
بلاک چین یک دفتر کل توزیع شده است به این معنا که تمامی افراد در سیستم یک نسخه از این دفتر کل را دارا هستند و میتوانند به صورت آنلاین از آخرین تغییراتی که در آن رخ میدهد با خبر باشند. تغییرات رخ داده نیز باید توسط اکثریت گرهها (رایانههای ) موجود در سیستم تایید شود تا امکان ثبت در شبکه را پیدا کند.