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

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

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

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

اولین بلاک در هر زنجیره بلاک جنسیس یا مولد (Genesis Block) نام دارد و هر بلاک جدید در بلاک چین به بلاک پیشین خود متصل است.
تابع هش
هر بلاک دارای هشی است که همانند اثر انگشت منحصر به همان بلاک است. هش (Hash) شاخصه یک بلاک و اطلاعات درون آن است که با استفاده از تایع هش تولید میشود.
تابع هش یک عملگر ریاضی یک طرفه است که دادههای ورودی را به خروجی رمزگذاری شده با تعداد کاراکتر ثابت به نام هش تبدیل میکند. کوچکترین تغییر در داده ورودی سبب میشود تا خروجی کاملا متفاوتی را از تابع هش دریافت کنید.

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

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

این تغییر باعث میشود که بلاک 3 و تمام بلاکهای بعد آن نامعتبر شناخته شوند. چرا که آنها هش درست بلاک قبل از خود را ندارند. بنابراین، تغییری حتی اندک در یک بلاک میتواند به سرعت تمام بلاکهای بعدی را بیاعتبار کند.
اثبات کار
استفاده از هش یک مکانیسم عالی برای جلوگیری از دستکاری و تقلب در بلاک چین است. اما امروزه کامپیوترها سرعت بالایی دارند و میتوانند صدها هزار هش را در هر ثانیه محاسبه کنند. در نتیجه، یک مهاجم میتواند در عرض چند دقیقه اطلاعات یک بلاک را دستکاری کند و برای اینکه بلاک چین همچنان معتبر بماند، هش تمام بلاکهای بعدی را از نو محاسبه کند.
برای جلوگیری از وقوع چنین اتفاقی، بلاک چین از مفهومی تحت عنوان «اثبات کار» (Proof Of Work) استفاده میکند. در واقع میتوان گفت با بهرهگیری از این مکانیسم سرعت خلق و افزودن بلاک جدید به بلاک چین را کمی آهستهتر و کنترل میکنند.
اثبات کار در واقع یک مسئله محاسباتی است که به تلاش خاصی برای حل شدن نیاز دارد. اما زمانی که برای تایید و اعتبارسنجی نتایج آن در مقایسه با تلاشی که برای حل خود مساله نیاز است بسیار کمتر است.
اثبات انجام کار برای بیت کوین تقریبا 10 دقیقه زمان نیاز دارد تا بلاک جدید را به بلاک چین اضافه کند. بنابراین، اگر یک هکر بخواهد دادهها را در بلاک 2 تغییر دهد بر اساس الگوریتم اثبات کار به 10 دقیقه زمان نیاز دارد. این آخر کار نیست، او باید هش بلاک 3 و بلاکهای بعد از آن را نیز محاسبه کند.

اتخاذ چنین مکانیسمی در یک بلاک چین، دستکاری دادههای آن شبکه را دشوار و عملا غیرممکن میسازد. بنابراین، الگوریتم اثبات کار و استفاده از تابع هش برای هش کردن اطلاعات تراکنشها سبب حفظ امنیت در بلاکچین میشود.
شبکه همتا به همتای توزیعشده
توزیعشده بودن، علت دیگری است که سبب میشود که بلاک چین ایمن باشد. بلاک چین به جای استفاده از یک نهاد مرکزی برای مدیریت زنجیره از شبکه همتا به همتای توزیعشده (Distributed P2P Network) بهره میگیرد که همه میتوانند به آن بپیوندند.
زمانی که کسی به این شبکه میپیوندند، نسخه کامل آن بلاکچین را بر روی کامپیوتر خود دریافت خواهد کرد. به این ترتیب هر کامپیوتر یک نود (Node) نامیده میشود.

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

بنابراین برای آنکه بتوانید دستکاریای که در بلاکچین انجام دهید موفقیتآمیز باشد:
- شما باید تمام بلاکهای موجود در زنجیره را دستکاری کنید.
- برای هر بلاک، اثبات انجام کار را دوباره انجام دهید.
- کنترل بیش از 50 درصد از شبکه همتا به همتا را در دست بگیرید.
پس از انجام تمام این کارها، حالا بلاک دستکاری شده شما باید توسط دیگران پذیرفته و تایید شود. این کار عملا غیرممکن است. از این رو بلاکچین بسیار امن است.
تراکنشهای بلاک چین چگونه انجام میشوند؟

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

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

نسخه اول بلاک چین: ارز دیجیتال
استفاده از فناوری دفترکل توزیعشده منجر به اولین و واضحترین کاربرد بلاکچین یعنی معرفی ارزهای دیجیتال شد. این فناوری امکان انجام تراکنشهای مالی را بر بستر بلاک چین فراهم کرد.
نسخه دوم بلاک چین: قراردادهای هوشمند
یکی از مفاهیمی که به تازگی در فضای این تکنولوژی نوظهور مطرح شده است قراردادهای هوشمنداست که به نوعی برنامههای کامپیوتری کوچکی هستند که بر بستر بلاک چین اجرا میشوند.
قراردادهای هوشمند برنامههای رایگانی هستند که با توجه به شرایطی که از قبل برایشان مشخص شده است به طور خودکار اجرا میشوند.
نسخه سوم بلاک چین: برنامههای غیرمتمرکز
برنامه غیرمتمرکز یا DApp مخفف عبارت Decentralized Applicatiom است. کد بکاند (Backend) این برنامهها بر روی یک شبکه غیرمتمرکز همتا به همتا اجرا میشود. یک DApp میتواند کد فرانتاند (Frontend) و یا رابط کاربریای داشته باشد که مانند برنامههای معمولی ممکن است به هر زبانی باشد.
انواع بلاک چین
بلاک چینها از منظر نوع دسترسی به چندین نوع مختلف دستهبندی میشوند که در ادامه به برخی از آنها اشاره میکنیم.
عمومی
در این نوع از بلاک چینها، دفترکل و اطلاعات آنها بر روی اینترنت برای همگان قابل مشاهده است. هر کسی اجازه دارد تا یک بلاک از تراکنشها را تایید و به بلاکچین اضافه کند. شبکههای عمومی برای اینکه کاربران بیشتری را به خود جذب کنند تا آنها از خدمات بلاکچین به صورت رایگان استفاده کنند، مشوقهایی را در نظر میگیرند، مانند پاداش استخراج در بلاکچین بیت کوین.
خصوصی
بلاک چین خصوصی درون یک سازمان واحد و مشخص اجرا میشود. در این نوع از بلاکچین تنها کاربران مشخصی از همان سازمان اجازه دارند تا تراکنشها را تایید کنند و به دفترکل بیافزایند. با این حال باز هم همه افرادی که به اینترنت دسترسی دارند میتوانند وضعیت بلاکچین را مشاهده کنند.
کنسرسیوم
در این نوع خاص از بلاک چین تنها گروهی از سازمانها میتوانند معاملات را تایید کنند و بلاک جدید را به زنجیره بلاکهای پیشین اضافه کنند.
در این حالت دفترکل میتواند برای انتخاب گروهها باز یا محدود شود. بلاکچین کنسرسیوم به صورت میان سازمانی مورد استفاده قرار میگیرد. این بلاک چین تنها توسط نودهایی که از قبل انتخاب و مجاز شمرده شدند کنترل میشود.
موارد استفاده از بلاک چین
در ادامه، در جدول زیر به طور خلاصه به ذکر موارد استفاده از بلاکچین که امروزه به طور گستردهای در بخشهای مختلف مورد استفاده قرار میگیرد خواهیم پرداخت.

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