بلاک چین چیست؟
در سال 2008 یک فرد یا گروهی از افراد که هویت آن هنوز هم شناسایی نشده، با نام مستعار ساتوشی ناکاموتو (Satoshi Nakamoto) با انتشار مقاله ای بیتکوین را به عنوان یک سامانهی پرداخت الکترونیک همتا به همتا معرفی کرد و سپس کدهای این پول دیجیتال را به صورت متن باز در اختیار عموم مردم قرار داد.
فناوری بلاک چین برای اولین بار در کدهای اصلی برنامه نویسی بیتکوین مورد استفاده قرار گرفت و شبکه بیت کوین بر اساس این فناوری پایه ریزی شد.
بلاک چین یا زنجیره بلوکی در حقیقت یک فهرست دیجیتالی توزیع شده (described as digital ledger) است که بدون نیاز به سرورهای مرکزی عمل می کند. در شبکه بلاک چین به جای اینکه اطلاعات بر روی یک سرور مشخص که در مالکیت شرکت خاصی باشند، بر روی سرورهای متعددی که در مالکیت اشخاص حقیقی و حقوقی مختلف است نگهداری می گردد.
از جمله مهم ترین ویژگیهای فناوری بلاک چین، وجود پایگاه داده توزیع شده است، چرا که باعث میشود نسخههای متعددی از اطلاعات درون چندین رایانه وجود داشته باشند. این رایانهها یک شبکهی همتا به همتا را بوجود می آورند، مفهوم نظیر به نظیر یا همتا به همتا به این معنی است که هیچ پایگاه داده یا سروری مرکزی وجود نداشته و هر رایانه به عنوان یک گره (نود) از شبکه ایفای نقش میکند. به عبارت دیگر، بلاک چین همانند یک قرارداد دیجیتالی عمل کرده و اجازه می دهد که یک شخص حقیقی یا حقوقی از یک طرف به طور مستقیم (نظیر به نظیر) با یک طرف دیگر معامله کند (مثلاً فروش برق). بر اساس این مدل، واسطه های سنتی، مثل بانک ها، دیگر مورد نیاز نمی باشد و شرکت کنندگان در شبکه به عنوان شاهدان هر معامله انجام شده بین ارائه دهنده محصول یا خدمات و مشتری عمل می کنند.
تراکنش های انجام شده بر بستر بلاک چین از طریق روش های رمزنگاری نامتقارن صورت میگیرد و به علت توزیع شده بودن ساختار شبکه بلاکچین، دادههای تمام تراکنشهای جدید باید در همهی گرههای شبکه منتشر شوند و به صورت محلی در تمام رایانه های شرکت کنندگان ذخیره گردد تا جامعیت و امنیت شبکه حفظ شود.
هر یک از بلاکهای موجود در این فناوری دربردارنده یک رشته رمز (Hash) است که با فهرستی از تراکنشها به وجود میآیند و دارای یک هِدِر یا مشخصه هستند.
این هدرها 3 نوع از اطلاعات را مشخص می کنند:
1 – اطلاعات ساختاری موجود در تراکنشهای داخل هر بلاک
2 – برچسب های زمانی تراکنش های معتبر اخیر و اطلاعات مربوط به الگوریتم اثبات کار که برای نحوهی استخراج بلاکهای جدید و تأیید آنها مورد استفاده قرار می گیرد.
3 – توسط الگوریتم رمزنگاری، تابع هش به بلاک قبلی اشاره میکند به این معنی که رشته رمزِ بلاک قبلی، بلاک ها را به یکدیگر پیوند می دهد و از تغییر دادن هر بلاک یا وارد شدن یک بلاک بین دو بلاک موجود، جلوگیری می کند.
هر یک از دادههای ذکر شده، زنجیرهای از بلاکها را که قسمتی از شبکه بلاک چین هستند تولید میکنند و توسط یک کد رمزنگاری شده یا امضای دیجیتالی مشخص که در هِدِر قرار گرفته و متعلق به بلاک قبلی است، قابل شناسایی خواهد بود.
هر بلاک جدید در شبکه بلاکچین توسط فرایندی به نام استخراج یا ماینینگ به وجود میآید که با اعتبارسنجی به تراکنشها، آنها را به زنجیره بلاک های قبلی اضافه میکند. استخراج کنندگان (ماینرها) به ازای هر بلاک جدیدی که استخراج میشود، یک پاداش مالی دریافت میکند. به عنوان مثال در شبکه بلاک چین بیتکوین، در هر 10 دقیقه، یک بلاک جدید استخراج میشود که این زمان برای ارزهای دیجیتال مختلف (آلت کوین) متفاوت است.
برای استخراج هر بلاک جدید در شبکه، دستگاه های استخراج توسط حل یک مسئله ریاضی دشوار و منحصر به فرد با یکدیگر رقابت میکنند و هر دستگاهی که بتواند مسئله را سریعتر حل کند پاداش دریافت می کند. از زمان استخراج اولین واحد بیت کوین، پیچیدگی حل مسئله همواره در حال افزایش است که دستگاه هایی با قدرت محاسباتی بیشتری را می طلبد. بر اساس محاسبات انجام شده در سال 2015، حفظ زیرساختهای ماینینگ در فارم های استخراج بیتکوین، چیزی حدود 500 میلیون دلار هزینه در بر خواهد داشت. علاوه بر این بر اساس گزارشهای منتشر شده در سال 2016، استخراج بیتکوین، به حل بیش از 450 هزار تریلیون محاسبه در ثانیه نیازمند است.
در واقع یکی از دلایل افزایش پیچیدگی حل مسئله و الگوریتم اثبات کار، ایمن کردن شبکه بیتکوین در برابر هک و حملات سایبری است، اما این کار باعث شده که استفاده از رایانههای خانگی جهت استخراج ارز های دیجیتال عملا غیر ممکن باشد. در نتیجه بیشتر عملیات ماینینگ در فارم های بزرگ استخراج، توسط تعداد زیادی از دستگاه های میانر صورت میگیرد. علاوه بر این، انجام عملیات ماینینگ نیازمند مصرف انرژی برق زیادی می باشد، بطوری که استخراج هر واحد بیت کوین مصرف برقی معادل 1.55 خانواده آمریکایی در طول روز دارد و در طول هر روز حدود 360 هزار تراکنش بیتکوینی صورت میگیرد که نشان دهنده مصرف زیاد انرژی است.
ساختار بلاک چین:
داخل بلاک ها چه چیزی قرار دارد؟
اساسآ در داخل هر بلاک، دادههایی شامل اعداد صحیح قراردادی وجود دارد که برای تولید اثبات کار ضروری هستند. شبکه بلاکچین بیتکوین، اطلاعات و داده های هدر و همینطور دادههای تراکنش های انجام شده را ذخیره می کند. به بیان دقیق تر، این مجموعه یک درخت مرکل یا اصطلاحا درخت درهمسازی شده از تراکنش ها را ایجاد میکند که تابع هش آن در ریشه قرار دارد.
درخت مرکل، یک درخت باینری و بصورت دیجیتالی 0 و1 است که از مقادیر هش تشکیل شده. در پایینترین سطح این درخت، به هر تراکنش انجام شده در شبکه گرهی شامل مقادیر هش تعلق میگیرد. در لایه های بالایی یا اصطلاحا گره پدر، مقادیر هش لایه های پایینی (فرزندان) با یکدیگر ترکیب شده و مقادیر هش جدیدی را ایجاد میکنند. این عمل تا رسیدن به بالا ترین سطح (ریشه) همچنان ادامه پیدا می کند.
ساختار درختی مرکل این امکان را فراهم می کند که عملیات اعتبارسنجی از گره فرزند تا ریشه با سرعت بالاتری انجام گیرد، با توجه به اینکه هر خروجی بیتکوین تنها یکبار می تواند تولید شود پس تا زمانی که رها شده باشد میتوان درخت را از طریق الگوریتمهای خاص هرس سازی کوتاه کرد تا سرعت انجام عملیات افزایش یابد.
بلاک چین یا زنجیره بلوکی چگونه ایجاد میشود؟
همانطور که گفته شد، هر بلاک شامل تابع هشی است که به بلاک قبلی اشاره میکند. به بیان دیگر در ساختار شبکه بلاکچین بیتکوین، در هِدر بلاکها بخشی ویژه ای مربوط به تابع هش بلاکهای قبلی وجود دارد. بنابر این هر کدام از تابع های هش، به نمونهی قبلی خود اشاره کرده و زنجیرهای پیوسته را ایجاد میکنند. در برخی از موارد در این زنجیره پیوسته یک انشعاب یا فورک (fork) اتفاق می افتد که دلیل آن، پردازش دو بلاک در فاصلههای زمانی بسیار کوتاه است.
در چنین شرایطی ممکن است بلاکهای بعدی روی هر دو انشعاب قبلی ادامه پیدا کرده و معتبر باقی بمانند. همچنین با انجام هر تراکنش، یک تابع هش 64 کاراکتری تولید می شود که این تابع تولید شده با تابع هش قبلی ترکیب شده و یک بلاک جدید را بوجود می آورد. بنابر این هر بلاک با استفاده از بلاکهای جدید تولید شده، یک ترتیب خطی، زمانی و رشته کاراکترهای یکبار مصرف را ایجاد میکند تا دستکاری، ایجاد تغییرات در اطلاعات و ردیابی در شبکه را غیرممکن سازد.
ذخیرهسازی اطلاعات در بلاک چین چگونه انجام می شود؟
تراکنشهای بیت کوین توسط روش هایی مانند ارسال پیام به وسیله ی اسکریپت (OP_RETURN) در زمان انجام معاملات صورت می گیرد. این ویژگی سبب گسترش تراکنش های بیتکوینی نسبت به نمونههای دستی شده است، در این حالت فرستنده ها متن داخل تراکنش را انتخاب میکنند و این تراکنش به بخشی از زنجیرهی بلاکها متصل می شود. پیام های ارسال شده توسط این سیستم، به راحتی میتوانند بازیابی شوند، اما تغییر آن ها عملا امکان پذیر نیست، چون برای تغییر اطلاعات می بایست تمامی بلاک ها از ابتدا نوشته شوند. بنابراین این بستر قابلیتی ویژه برای ذخیره سازی پیامهای کوتاه ارائه می کند.
انواع بلاک چین:
امروزه سه نوع ساختار بلاک چین قابل راه اندازی وجود دارد. اما در آینده ای نه چندان دور از انواع مختلف ساختارهای بلاکچین بهرهمند خواهیم شد.
بلاک چین عمومی انحصاری (دارای مجوز)، بلاک چین عمومی غیر انحصاری (بدون مجوز) و بلاک چین خصوصی انحصاری (دارای مجوز)
ساختار شبکه بلاکچین بر پایهی سه فناوری کلیدهای رمزنگاری (کلید عمومی و کلید خصوصی)، شبکهی توزیع شده و پروتکلهای خدمات دهی شبکه پایه ریزی شده است. بیتکوین به عنوان یکی از اصلیترین بسترهای این فناوری شناخته شده و هر شخصی که قابلیت استفاده از کلیدهای رمزنگاری آن را داشته باشد قادر خواهد بود که به شبکهی آن ملحق شود. همچنین هر فردی که داخل شبکه بیت کوین وجود دارد، می تواند با در اختیار داشتن دستگاه های مناسب ماینینگ برای استخراج بیت کوین و دریافت جایزه اقدام کند. همچنین ماینرها میتوانند از شبکه جدا شده و بعد از مدتی به آن بازگردند و به علت دسترسی کاملی که به شبکه دارند، از تمام فعالیتهای شبکه و اطلاعات بلاک ها آگاهی پیدا کنند.
به بیان ساده تر، هر شخص حاضر در شبکه، تا زمانی که به مقررات پایبند باشد، قادر خواهد بود تا تغییرات قانونمند یا بلاک جدیدی در زنجیر بلاک ها به وجود آورد. از همین رو به آن شبکه بلاک چین عمومی گفته میشود اما این تنها را ممکن برای ساختن بلاک چین نیست.
شبکه بلاک چین میتواند به گونه ای طراحی شود که خواندن اطلاعات آن نیازمند مجوز باشد، بنابراین افراد و گروههایی که میتوانند تراکنش یا بلاک جدیدی در شبکه آن ایجاد کنند، بسیار محدود خواهند شد.
از جمله مثال های اجرایی که بر بستر بلاکچین عمومی انحصاری شکل گرفته، ارز دیجیتال ریپل را می توان نام برد.
همچنین استارتآپ های MIT و مایکروسافت تعیین میکنند که چه کسی میتواند در شبکهی آنها تراکنش انجام بدهد و گرههای خود را در نقاط مختلف جهان بوجود آورند.
در بلاک چین عمومی غیر انحصاری نیز یک توسعه دهندهی بلاکچین می تواند امکان دسترسی همه افراد به اطلاعات و ساختار شبکه را فراهم کند. اما ممکن است نخواهد که هر کسی امکان دسترسی به گرهها، تأیید معاملات و تراکنش ها، ماینینگ یا خدمات امنیت شبکه را به دست آورد. این موضوع یک وضعیت رقابتی و انتخابیست که توسعه دهندگان بلاک چین با توجه به کاربردها و اهداف شبکه در بستر های مختلفی ارائه می کنند.
همچنین بلاک چین میتواند برای نهادها و سازمان های مختلف خصوصی و یا دولتی مورد استفاده قرارگیرد. در این نوع از بلاک چین که بلاک چین خصوص انحصاری نام گذاری شده، افراد خاصی برای انجام فعالیتها انتخاب میشوند و فقط آن ها قادر به مشاهده اطلاعات ثبت شده هستند.
منبع:مرکز تحقیقات بلاک چین
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.