بلاک چین چگونه کار میکند؟
فناوری بلاکچین همان قدرتی است که از فضای ارز دیجیتال پشتیبانی میکند و بسیاری از تحلیلگران بر این باورند که بلاکچین چیزی فراتر از ارزهای دیجیتال است و کاربردهای زیاد دیگری دارد.
اگر این فناوری تا این حد پیچیده است، چرا آن را بلاکچین (در لاتین به معنای زنجیره بلوک) میخوانیم؟ در ابتداییترین سطح خود، بلاکچین به معنای واقعی کلمه فقط یک زنجیره بلوک است، اما نه در آنچه بطور مرسوم و عرف معنا میشود. وقتی میگوییم بلاک (block) و چِین (chain)، ما در حقیقت به اطلاعات دیجیتالی (یا بلوک) ذخیره شده در یک پایگاه داده همگانی (یا چِین) اشاره میکنیم.
فناوری بلاکچین دقیقا چیست و چگونه کار میکند؟
3 اجزای اصلی بلاک چین:
در واقع بلاکچین را میتوان به عنوان ترکیبی از چندین تکنولوژی متفاوت که از قبل وجود داشته دانست. درحالیکه این تکنولوژیها به خودی خود جدید نیستند اما شیوهی ترکیب و اعمالشان مهم است.
این سه تکنولوژی عبارتند از:
• رمزنگاری کلید خصوصی
• یک شبکه توزیع شده (distributed network) که شامل دفتر کلی مشترک (shared ledger) است
• ابزار حسابداری برای تراکنشها و سوابق مرتبط با شبکه
برای نشان دادن تکنولوژی کلیدهای رمزنگاری خصوصی، تصور کنید که دو نفر مایل به انجام یک تراکنش آنلاین هستند.
هر یک از این افراد دو کلید در اختیار دارند: یکی از آنها خصوصی و دیگری عمومی است.
با ترکیب کلیدهای عمومی و خصوصی، این جنبه از رمزنگاری به افراد اجازه میدهد تا یک نقطه مرجع هویت دیجیتالی ایمن (digital identity reference point) را ایجاد کنند.
این هویت مطمئن جزء اصلی تکنولوژی بلاکچین است و کلید عمومی و خصوصی (با هم) امضایی دیجیتالی ایجاد میکنند که یک ابزار مفید برای صدور و کنترل مالکیت به حساب میآید.
سپس عنصر “امضای دیجیتال” کریپتوکارنسی با مولفه فنآوری شبکه توزیعی ترکیب میشود.
تکنولوژی بلاکچین به عنوان شبکهای بزرگ از افراد تلقی میشود که میتوانند به عنوان validators (اعتبار سنج) عمل کنند تا به اجماعی در خصوص موارد مختلف از جمله تراکنشها دست یابند. این فرآیند توسط تصدیق ریاضی تایید میشود و برای ایمن کردن شبکه مورد استفاده قرار میگیرد.
با ترکیب استفاده از کلیدهای رمزنگاری با یک شبکه توزیع شده، بلاکچین انواع جدیدی از تعاملات دیجیتال را فراهم میکند.
بلاکچین چگونه کار میکند؟
وقتی یک بلوک دادهی جدیدی را ذخیره میکند، آن داده به زنجیره بلوک اضافه میشود. بلاکچین، همانطور که از نامش پیداست، متشکل از چند بلوک است که بصورت رشتهای بهم متصل می باشند. برای اینکه یک بلوک به زنجیره بلوک اضافه شود، به چهار چیز نیاز داریم:
1. تراکنشی می بایست انجام شود.
بیاییم با همان مثال خرید دیجی کالا پیش برویم. بعد از اینکه بصورت شتابزده از رسید های پرداخت گذشتید، خریدتان را نهایی میکنید. همانطور که در بالا به آن پرداختیم، در بسیاری از موارد یک بلوک بطور بالقوه هزاران تراکنش را بصورت گروهی در میآورد، از این رو خرید شما بصورت پکیج همراه با اطلاعات تراکنش کاربر های دیگر در می آید.
2. تراکنش می بایست تایید شود.
پس از انجام خرید، تراکنش شما باید مورد تایید قرار گیرد. در سایر اطلاعات اسناد یا پرونده های عمومی مانند کمیسیون بورس اوراق بهادار، ویکیپدیا، یا حتی کتابخانه محلی شما، شخصی مسئول وارسی اطلاعات جدید وارد شده میباشد. اما در بلاکچین این امر بر عهدهی شبکه ای از کامپیوتر هاست. وقتی شما خریدی از دیجی کالا انجام میدهید، آن شبکه کامپیوتری بسرعت بررسی میکند که آیا تراکنش به درستی انجام گرفته است یا خیر. به عبارت دیگر، آنها اطلاعات خرید را به همراه زمان تراکنش، مبلغ ریال(دلار) و خریدار تطبیق میدهند.(در ادامه به اینکه چگونه اینکار صورت میپذیرد خواهیم پرداخت)
3. تراکنش می بایست در یک بلوک ذخیره شود.
بعد اینکه تراکنش شما بعنوان یک تراکنش صحیح مورد تایید قرار گرفت، یک چراغ سبز دریافت میکند. مبلغ ریال(دلار) تراکنش، امضای دیجیتالی شما و امضای دیجیتالی خود دیجی کالا همه و همه در یک بلاک ذخیره میشود. آنجاست که تراکنش شما به صدها یا هزاران تراکنش دیگر شبیه به خود ملحق میشود.
4. یک هَش باید به بلوک تعلق بگیرد.
تا زمانی که تمامی تراکنش های بلوک ها تایید شد، یک کد دارای شناسه منحصر بفرد (هَش)به آن تعلق میگیرد. به بلوک همچنین هَش آخرین بلوک اضافه شده به بلاکچین داده میشود. وقتی که تراکنش به اصطلاح هَش شد، آنوقت آن بلوک میتواند به بلاکچین یا زنجیره بلوک اضافه شود.
وقتی بلوک جدید به زنجیره بلوک اضافه شد، در دسترس عموم قرار میگیرد و برای همه، حتی شما، قابل مشاهده میشود. وقتی شما به زنجیره بلوک بیتکوین نگاه میکنید، میبینید که به داده تراکنش، اطلاعات مربوط به زمان، مکان و شخصی توسط آن بلوک به زنجیره اضافه شده دسترسی دارید.
شبکه چطور باید تصمیم بگیرد که کدام بلوک باید بلوک بعدی زنجیره بلوکی باشد؟
بیت کوین این مسئله را با تعریف یک معمای ریاضی حل کرده است. هر بلوکی که بخواهد به بلاکچین اضافه شود باید در محتوای خود پاسخی برای یک مسئله ریاضی بسیار خاص داشته باشد که به آن «اثبات کارکرد» می گویند. علاوه بر این، گره ای که یک بلوک را تولید می کند، باید ثابت کند که منابع محاسباتی کافی برای حل معمای ریاضی دارد. برای مثال یک گره باید بتواند یک «مقدار موقت» را بیابد که با استفاده از آن خروجی تابع درهم ساز بلوک پیشین یا هشی را که با تعدادی مشخص از صفرها شروع می شود، ایجاد کند.
حل این معمای ریاضی ساده نیست و میزان پیچیدگی آن قابل تنظیم است. برای مثال می توان درجه دشواری مسئله را طوری تنظیم کرد که میانگین زمان حل آن برای یک گره در شبکه بیت کوین برای تولید بلوک ده دقیقه باشد و امکان اینکه بیش از یک بلوک در سیستم در زمان داده شده ساخته شود، بسیار ناچیز است. اولین گره ای که مسئله را حل کند بلوک خود را به سایر گروه های زنجیره بلوکی انتشار می دهد. اگر در حالت خاص بیش از یک بلوک به صورت همزمان ساخته شود، به چند انشعاب مختلف منجر خواهد شد. هر چند مسئله ای که باید حل شود به قدری پیچیده است که زنجیره بلوکی به سرعت تثبیت می شود و تمامی گره ها در مورد ترتیب زنجیره های بلوکی اخیر توافق نظر دارند. گره ها، منابع محاسباتی خود را برای حل مسئله به اشتراک می گذارند و بلوکی به عنوان «کمینه» می سازند و در نهایت برای تلاش هایشان پاداش می گیرند.
شبکه بلاک چین فقط بلندترین زنجیره بلوکی را به عنوان زنجیره بلوکی معتبر شناسایی می کند. از این رو برای یک هکر تقریباً غیرممکن است که بتواند تراکنش تقلبی خود را تعریف کند، زیرا نه تنها باید بلوکی تولید کند که مسئله ریاضی را حل کرده باشد، بلکه باید به طور همزمان زنجیره های بلوکی پیشین را نیز بازسازی کند، به طوری که سایر گره های شبکه، آنها را مجاز بدانند. این کار به علت اینکه زنجیره های بلوکی به صورت رمزگذاری شده به هم متصل شده اند دشوارتر نیز می شود.
آیا Blockchain خصوصی است؟
هر کسی میتواند محتویات blockchain را مشاهده کند و کاربران همچنین میتوانند رایانههای خود را به عنوان گره به شبکه blockchain متصل کنند. با انجام این کار، رایانه آنها یک نسخه از blockchain را که به طور خودکار بروزرسانی میشود. به عبارت دیگر هر زمان که بلاک جدید اضافه شود، شما میتوانید آن را دریافت کنید. چیزی شبیه به اینستاگرام یا فیسبوک که هر زمان که وضعیت جدیدی ارسال شود، صفحه شما نیز در لحظه به روز رسانی میشود.
هر رایانهای در شبکه blockchain دارای نسخه مختص به خود از blockchain است. به این معنی که هزاران نسخه، یا در مورد بیت کوین، میلیونها نسخه از همان blockchain وجود دارد. اگرچه هر نسخه از blockchain یکسان است، اما انتشار اطلاعات در شبکههای گسترده رایانه ای، دستکاری آنها را بسیار دشوار میکند. در واقع در blockchain، شما با یک گزارش قطعی و اختصاصی از وقایع که قابلیت دستکاری داشته باشند مواجه نیستید. یک هکر برای دستکاری، نیاز به نفوذ در هر یک نسخههای موجود از blockchain در شبکه را دارد. به همین دلیل است که در تعریف blockchain آن را «یک دفترچه توزیع شده» معرفی میکنند.
با این حال اگر به blockchain Bitcoin، نگاه کنید متوجه میشوید که به اطلاعات مربوط به کاربران در حال انجام معاملات دسترسی ندارید. اگرچه معاملات روی بلاک چین کاملاً ناشناس نیستند، اما اطلاعات شخصی در مورد کاربران فقط به امضای دیجیتال یا نام کاربری آنها محدود میشود.
این مسأله سوال مهمی را ایجاد میکند: اگر ندانیم چه کسی بلوکهایی را به blockchain اضافه میکند، چگونه میتوان به blockchain یا شبکه رایانههایی که از آن پشتیبانی میکنند اعتماد کرد؟
آیا Blockchain امن است؟
فناوری Blockchain موضوعات مختلف امنیتی و اعتماد را از چندین طریق مد نظر قرار میدهد. اول این که بلوکهای جدید همیشه بصورت خطی و بر اساس تاریخ ذخیره میشوند. برای همین بلوکهای جدید همیشه به «انتهای» blockchain اضافه میشوند. اگر به blockchain Bitcoin نگاهی بیندازید، خواهید دید که هر بلوک دارای یک موقعیت به نام «ارتفاع» در زنجیره است. در ژانویه سال ۲۰۲۰، ارتفاع بلوک به ۶۱۵.۴۰۰ رسیده بود.
بعد از اینکه یک بلوک به انتهای بلاک چین اضافه شد، برگرداندن و تغییر محتوای بلوک بسیار دشوار است. به این دلیل که هر بلوک حاوی هش مخصوص به خود، به همراه هش بلوک قبل از آن است. کدهای هش توسط یک عملکرد ریاضی ایجاد میشوند که اطلاعات دیجیتال را به رشتهای از اعداد و حروف تبدیل میکند. اگر این اطلاعات به هر طریق یا دلیل ویرایش شود، کد هش نیز تغییر میکند.
برای حل مسئله اعتماد، شبکههای blockchain تستهایی را برای رایانههایی که میخواهند به آن بپیوندند و بلوکهای زنجیرهای را اضافه کنند، انجام داده اند. این آزمایشات که «مدلهای اجماع» نامیده میشود، کاربران را مجبور میکند قبل از شرکت در یک شبکه blockchain، خود را «ثابت کنند». یکی از متداولترین نمونههایی که بیت کوین به کار میبرد «اثبات کار» نامیده میشود.
در اثبات سیستم اثبات کار، کامپیوترها باید ثابت کنند که در زمینه حل یک مشکل ریاضی محاسباتی پیچیده، «کار» کرده اند. اگر رایانهای یکی از این مشکلات را حل کند، واجد شرایط اضافه کردن یک بلوک به blockchain میشوند. اما روند اضافه کردن بلوک به blockchain، از آنچه جهان رمزنگاری آن را «معدن» مینامد آسان نیست. در حقیقت، شانس حل یکی از این مشکلات در شبکه بیت کوین در حدود یک در هر ۱۵.۵ تریلیون در ژانویه سال ۲۰۲۰ بود.
معایب Blockchain
در حالی که حاشیههای قابل توجهی درباره blockchain وجود دارد، چالشهای قابل توجهی نیز برای پذیرش آن وجود دارد. موانع استفاده از فناوری blockchain امروز فقط فنی نیست. چالشهای واقعی، سیاسی و نظارتی است. در اینجا برخی از چالشهای موجود بر سر راه استفاده گسترده از blockchain آورده شده است
1. هزینه فن آوری
اگرچه blockchain میتواند باعث صرفه جویی در هزینههای معامله شود، اما این فناوری بسیار پر هزینه است. برای مثال سیستم «اثبات کار» که بیت کوین برای اعتبارسنجی معاملات از آن استفاده میکند، مقادیر زیادی از انرژی را مصرف میکند. در دنیای واقعی، قدرت میلیونها رایانه در شبکه بیت کوین نزدیک به چیزی است که دانمارک سالانه از آن استفاده میکند. تمام این انرژی هزینه دارد و طبق تحقیقات جدیدی که از طرف شرکت تحقیقاتی Elite Fixtures انجام شده، هزینه استخراج یک بیت کوین با توجه به موقعیت مکانی، از ۵۳۱ تا ۲۶۱۷۰ دلار متفاوت است.
2. ناکارآمدی سرعت
بیت کوین یک مطالعه موردی عالی برای ناکارآمدهای احتمالی blockchain است. سیستم «اثبات کار» بیت کوین حدود ده دقیقه طول میکشد تا یک بلوک جدید به blockchain اضافه کند. با این سرعت، تخمین زده میشود که شبکه blockchain فقط هفت معاملات در ثانیه (TPS) را مدیریت کند. اگرچه ارزهای رمزپایه دیگر، عملکرد بهتری نسبت به بیت کوین دارند، اما هنوز هم توسط blockchain محدود هستند.
3. فعالیتهای غیرقانونی
در حالی که محرمانه بودن در شبکه blockchain کاربران را از هک و محافظت از حریم خصوصی محافظت میکند، اما امکان تجارت و فعالیت غیرقانونی در شبکه blockchain را نیز فراهم میکند. بارزترین نمونه از استفاده غیر قانونی از blockchain، احتمالاً Silk Road است. یک بازار اینترنتی «تاریک» که از فوریه ۲۰۱۱ تا اکتبر ۲۰۱۳ فعال بود.
این وب سایت به کاربران اجازه میداد بدون ردیابی، وب سایت را مرور کنند و خریدهای غیرقانونی در بیت کوین انجام دهند. مقررات فعلی ایالات متحده از ناشناس ماندن کامل کاربران مبادلات آنلاین مانند آنهایی که روی blockchain ساخته شده اند جلوگیری میکند. در ایالات متحده، مبادلات آنلاین باید هنگام باز کردن حساب، اطلاعات مربوط به مشتریان خود را ثبت کنند. هویت هر مشتری باید تأیید شود و همچنین باید ثابت شود که مشتریان در هیچ لیست سازمانهای تروریستی شناخته شده یا مشکوک قرار ندارند.
4. نگرانی بانکهای مرکزی
چندین بانک مرکزی از جمله فدرال رزرو، بانک کانادا و بانک مرکزی انگلیس تحقیقات مربوط به ارزهای دیجیتال را آغاز کرده اند. مطابق گزارش تحقیق بانک مرکزی انگلیس، در فوریه ۲۰۱۵، «تحقیقات دیگری نیز لازم است که سیستمی را طراحی کند که بتواند از فناوری لجر توزیع شده استفاده کند، بدون آنکه توانایی بانک مرکزی در کنترل ارز خود و امنیت سیستم در برابر حمله سیستماتیک را به خطر بیاندازد.»
5. حساسیتهای هک
شبکههای جدید رمزنگاری شده و شبکههای blockchain مستعد حملات ۵۱ ٪ هستند. به دلیل قدرت محاسباتی لازم برای به دست آوردن کنترل اکثریت یک شبکه blockchain، اجرای این حملات بسیار دشوار است، اما «جوزف بوناو»، محقق علوم کامپیوتر دانشگاه نیویورک میگوید که این شرایط ممکن است در آینده تغییر کند. Bonneau سال گذشته گزارشی را منتشر کرد که تخمین میزد، احتمال حملات ۵۱ درصدی بسیار افزایش یافته چرا که هکرها اکنون میتوانند به جای خرید تجهیزات، به راحتی آنها را اجاره کنند.
آینده blockchain
بلاک چین طی دو دهه گذشته سهم نسبتاً خوبی از اقبال عمومی را مشاهده کرده و مشاغل مختلف در سراسر جهان حدس میزنند که این فناوری در سالهای بعد قادر خواهد بود به یک سمبل تبدیل شود. با وجود بسیاری از برنامههای کاربردی در فناوری که در سالهای اخیر ظاهر شدند، بلاکچین در بیست و هفت سالگی خود نامی را برای خودش دست و پا کرده است. به عنوان کلمه کلیدی در زبان هر سرمایه گذار در کشور، blockchain میکوشد تا عملیات تجاری و دولتی را دقیق تر، کارآمدتر و مطمئنتر انجام دهد. به سخن دیگر در دهه سوم ظهور blockchain، دیگر سوال اصلی این نیست که آیا شرکتهای بزرگ به این فناوری «می پیوندند»، بلکه سوال اصلی این است که «چه موقع» خواهند پیوست.