بلاکچین چیست؟ بخش دوم: ساختار بلاکها
در بخش قبل تاریخچه و خلاصهای از فناوری بلاکچین مطرح و بیان شد یک فهرست دیجیتالی توزیع شده است که از به هم پیوستن بلاکها ایجاد شده و از امنیت بالایی بهره میبرد.
در این بخش مباحثی مانند محتوای داخل هر بلاک و نحوهی تشکیل آنها مطرح شده است.
-
چه چیزی داخل بلاکچین قرار دارد؟
به عبارت ساده در داخل هر بلاک دادههایی شامل عدد صحیحی قراردادی وجود دارد که برای تولید اثبات کار ضروری است. بلاکچین بیتکوین حاوی اطلاعات هدر و دادهی هِدر و دادههای تراکنش است. این مجموعه یک «درخت درهمسازی یا مرکل1» از معاملات را ایجاد میکند که کد هش آن در ریشه قرار دارد.
درخت درهمسازی، درختی باینری، از مقادیر هش است. در پایینترین سطح درخت، به هر تراکنش گرهی شامل مقادیر هش تعلق میگیرد. در لایهی بالایی یا گره پدر مقادیر هش فرزندان با یکدیگر ترکیب شده و ارزشی جدید ایجاد میکنند و این عمل تا رسیدن به ریشه ادامه مییابد. این ساختار درختی اجازه میدهد تا عملیات اعتبارسنجی از گره فرزند تا ریشه با سرعت بالاتری صورت بگیرد. همچنین از آنجایی که هر خروجی بیتکوین تنها یکبار تولید میشود تا زمانی که رها شده باشد میتوان درخت را از طریق الگوریتمهای هرس سازی کوتاه کرد تا سرعت عملیات افزایش یابد.
-
چگونه زنجیرهی بلاک تشکیل میشود؟
هر بلاک شامل کد هشی است که به بلاک قبلی اشاره میکند. در بلاکچین بیتکوین، هِدر بلاکها بخشی مخصوصی به کد هش بلاکهای قبلی دارند. در نتیجه هر کدام به نمونهی قبلی خود اشاره کرده و زنجیرهای پیوسته ایجاد میکنند. بعضی مواقع در این زنجیره یک انشعاب (fork) رخ میدهد و این موضوع به دلیل پردازش دو بلاک در فاصلهی زمانی بسیار کوتاه است. در این شرایط بلاکهای بعدی ممکن است روی هر دو انشعاب قبلی ادامه پیدا کنند و با وجود این معتبر باقی بمانند. البته در فرآیندهای بعدی یک انشعاب از دیگری طولانیتر خواهد شد و شبکه انشعاب بزرگتر را میپذیرد و انشعاب دیگر تا زمانی که طولش بیشتر از دیگری نشود مورد بازبینی قرار نمیگیرد.
همچنین هر تراکنش یک کد هش 64 کاراکتری تولید میکند. این کد با کد هش قبلی ترکیب میشود تا یک بلاک جدید ایجاد کند.
آجای ویج (Ajay Vij)، معاون مدیر و رییس بخش خدمات مالی شرکت «اینفوسیس» (Infosys)، گفت:
هر بلاک با استفاده از بلاکهای جدید، یک ترتیب خطی، زمانی و رشته کاراکترهای یکبار مصرف تولید میکند. به همین دلیل دستکاری و ایجاد اطلاعات نادرست و غیرقابل ردیابی، تقریباً غیرممکن است.
-
زمان ایجاد بلوکهای کنترل شده
بلاکچین به گونهای طراحی شد که میانگین زمان برای تولید یک بلاک ثابت باقی بماند. به عنوان مثال این زمان برای بیتکوین 10 دقیقه است. این در حالی است که دیگر ارزهای دیجیتالی دارای زمانهای متفاوتی مانند 30 ثانیه یا 5 دقیقه هستند. زمان تولید بلاک با اضافه شدن مقادیری متفاوت به داخل آن به دست میآید.
در بیتکوین، مقدار هش بلاک باید به شدت کمتر از ارزش وارد شده باشد تا مورد پذیرش قرار گیرد. این عدد با توجه به قدرت کامل محاسباتی شبکه متفاوت است. هر چه قدرت پردازشی بیشتر باشد ارزش کسب ارائه شده کمتر خواهد بود و تولید بلاک سختتر خواهد شد.
-
ذخیرهسازی اطلاعات
تراکنشها از عملکردهایی مانند ارسال پیام از طریق اسکریپت «OP_RETURN2» در هنگام معاملات بیتکوین پشتیبانی میکنند. این ویژگی باعث میشود تا معاملات بیتکوین بیش از نمونههای دستی گسترش پیدا کنند. یک فرستنده انتخاب میکند که متنی در داخل تراکنش جایگذاری شده و این تراکنش به بخشی از زنجیرهی بلاکها تبدیل میشود. این پیام را به راحتی میتوان بازیابی کرد؛ اما تغییر آن تقریباً غیرممکن است، مگر این که تمام بلاک از ابتدا نوشته شود. در نتیجه این بستر میتواند قابلیتی را برای ذخیرهسازی پیامهای کوتاه ارائه بدهد.
برای نمونه کد هش یک فایل میتواند در یک تراکنش قرار بگیرد. به همین علت کاربران میتوانند محتوای پیام را بررسی کرده و اصلی بودن و دستکاری نشدن آن را مورد تأیید قرار بدهند.
-
تفاوت بین بلاکچین آزاد و مجوزدار
همانگونه که در بخشهای قبل گفته شد بلاکچین بر پایهی سه فناوری کلیدهای رمزنگاری، شبکهای توزیع شده و پروتکلهای خدماتدهی شبکه کار میکند. بیتکوین یکی از اصلیترین بسترهای این فناوری شناخته میشود. هر شخصی قابلیت استفاده از کلیدهای رمزنگاری آن را داشته و همه میتوانند به شبکهی آن ملحق بشوند. همچنین افراد قابلیت تبدیلشدن به ماینرهای شبکه و دریافت جایزهی آن را دارند. به علاوه ماینرها میتوانند در هر زمانی که بخواهند شبکه را ترک کرده و بعد از مدتی به آن بازگردند و به علت دسترسی کاملی که دارند، از تمام فعالیتهای شبکه در زمان غیبت خود با خبر شوند.
به طور کلی هر شخصی تا زمانی که به مقررات پایبند باشد میتواند به مطالعهی شبکه پرداخته، در آن تغییرات قانونمند یا بلاک جدیدی در زنجیر ایجاد کند. به همین دلیل به آن بلاکچین عمومی گفته میشود؛ اما راههای دیگری نیز برای ساخت بلاکچین وجود دارد.
بلاکچین میتواند به گونهای ایجاد شود که خواندن اطلاعات در آن به مجوز نیاز داشته باشد، در نتیجه گروههایی که میتوانند به انجام تراکنش در آن پرداخته یا بلاک جدیدی در آن ایجاد بکنند، محدود خواهند شد.
برای مثال ارز دیجیتالی «ریپل»، در بستر یک بلاکچین مجوزدار شکل گرفته است. یک استارتآپ تعیین میکند چه کسی میتواند در شبکهی آنها تراکنش انجام بدهد. برای نمونه میتوان به «CGI3»، «MIT» و مایکروسافت اشاره کرد که علاوه بر تأیید تراکنشها، گرههای خود را نیز در نقاط مختلف جهان ایجاد میکنند.
یک توسعه دهندهی بلاکچین ممکن است بخواهد همهی افراد امکان مطالعهی اطلاعات را داشته باشند؛ اما نخواهد که هر کسی امکان دسترسی به گرهها، تأیید معامله، ماینینگ یا خدمات امنیت شبکه را به دست آورد. این موضوع یک وضعیت رقابتی است که کارآفرینان آن را در بسترهای مختلف تجربه میکنند.
-
مقایسهی بلاکچین با ویکیپدیا
بسیاری از مردم با استفاده از بلاکچین میتوانند رکوردی از اطلاعات را ایجاد کنند و دیگران نیز روی نوع ذخیرهسازی و بروزرسانی آن نظارت خواهند داشت. به طور مشابه نوشتههای ویکیپدیا محصول یک ناشر نیست و هیچکس رویدادههای آن کنترلی ندارد. با وجود این بلاکچین و ویکیپدیا با یکدیگر چندین تفاوت اساسی دارند. درست است که هر دوی این بسترها توسط سامانههای توزیع شده اجرا میشوند؛ اما ویکیپدیا در «شبکهی جهانی اطلاعات» و با استفاده از مدل شبکهی «مشتری-خدمات دهنده» فعالیت میکند.
در اینجا مشتری با توجه به مجوزهای خود میتواند به اطلاعاتی که در یک سیستم مرکزی ذخیره شده دسترسی پیدا کرده و محتویات ویکیپدیا را تغییر بدهد. زمانی که کاربر به صفحهی ویکیپدیا دسترسی پیدا کند، یک نمونهی بروزرسانی شده از نسخهی اصلی محتویات این بستر دریافت میکند و مدیریت پایگاه داده در اختیار ادمین باقیمانده و دسترسی و مجوزها در اختیار یک مقام مرکزی به جا میماند.
زیرساخت دیجیتالی ویکیپدیا به سامانههای محافظت شده و پایگاه دادههای مرکزی مورداستفادهی دولتها، بانکها و بیمهها در عصر حاضر، شباهت بسیار دارد. مدیریت این مراکز، بروزرسانی، دسترسی و اقدامات محافظتی در برابر حملات سایبری، توسط مدیران و صاحبان آنها صورت میگیرد. در مقابل ستون فقرات فناوری پایگاه دادهی توزیع شدهی بلاکچین کاملاً متفاوت است. پایگاه دادهی آن هیچ مدیری ندارد و هیچکس نمیتواند کنترل آن را بر عهده بگیرد.
بلاکچین بیتکوین یک زنجیرهی عمومی به اشتراک گذاشته شده است. این موضوع بیان میکند همهی افراد به زنجیره و بلاکها دسترسی کامل داشته و نه تنها میتوانند اطلاعات آن را مورد مطالعه قرار دهند؛ بلکه میتوانند بلاک جدیدی را نیز به آن اضافه بکنند.
هر کاربر میتواند گرهی کامل را با دریافت یک کپی از تمام بلاکچین را که شامل دادههای تمام تراکنشها و رکوردها است، اجرا کند. سپس هر گره خود به صورت مستقل میتواند معاملات ورودی را پردازش کرده و آنها را گسترش بدهد.
هیچ گرهی مرکزی وجود نداشته و دادهها به صورت توزیع شده هستند؛ اما هر گره میتواند به صورت مستقل عمل کرده و اقدامی را که موردپذیرش قرار گرفته است در سراسر شبکه منتشر بکند.
نسخهی اصلی ویکیپدیا روی سرور بروزرسانی شده و همهی کاربران به نسخهی جدید آن دسترسی دارند. در بلاکچین نیز همین عمل صورت میگیرد، با این تفاوت که هر گره به صورت مستقل پردازش میشود و در نتیجه هر گره نسخهی خود را از رویدادها ایجاد کرده و برورزسانی میکند. این موضوع نیاز به وجود یک رابط قابلاعتماد را از بین میبرد.
اصل اعتماد یکی از مهمترین موضوعات برای برقراری ارتباط دو گروه با یکدیگر است. این اصل در دنیای دیجیتال با احراز هویت و بررسی مجوزها بررسی میگردد. به عبارت سادهتر در دنیای مجازی سؤالاتی مانند «آیا شما همان فردی که ادعا میکنید هستید؟» و «آیا شما مجاز هستید کاری را که میخواهید، انجام بدهید؟» مطرح میشود.
کلید رمزنگاری خصوصی (private key cryptography)، در زمینهی فناوری بلاکچین، یک ابزار مالکیت قدرتمند است که نیازهای احراز هویت را فراهم میکند. داشتن یک کلید خصوصی به معنای مالکیت است. با وجود این تأیید اعتبار تنها کافی نیست. بلکه شبکهای توزیع شده و همتا به همتا مورد نیاز است تا خطر جعل و شکست دادهها از بین برود. این شبکه باید نسبت به حسابداری و امنیت معاملات متعهد باشد. تأیید اعتبار تراکنشها، نتیجه تأیید آن توسط کل شبکه است. (پروتکل بلاکچین)
تأیید اعتبار راهی است که به شیوهی یاد شده در فضای دیجیتالی نیاز به اعتماد گران قیمت را از بین میبرد. در دنیای امروز کارآفرینان صنایع مختلف در سراسر دنیا با پیامدهای این پیشرفت آَشنا شده و ارتباطات بینالمللی جدید و قدرتمندی را ممکن ساختهاند.
فناوری بلاکچین در بیشتر موارد به عنوان ستون فقرات لایهی تراکنش در اینترنت شناخته میشود.
- درختهای درهم سازی (Hash Tree) شاخهای از فهرستهای درهم سازی هستند. به این درختها درختهای مرکل (Merkle Tree) نیز میگویند. در رمزنگاری و علوم رایانهای، درخت درهم سازی نوعی از ساختارهای داده هستند که شامل یک درخت که خلاصهی اطلاعات یک دادهی بزرگتر را در خود جای داده است و برای تشخیص محتویات آن داده به کار میرود.
- کد اسکریپت «OP_RETURN» به منظور نشانهگذاری نامعتبر خروجی تراکنشها مورد استفاده قرار میگیرد. از آنجایی که همهی خروجیهای همراه با این اسکریپت قابلاعتماد هستند، میتوان از آن برای از بین بردن بیتکوین استفاده کرد.
- سیجیآی یک شرکت فناوری اطلاعات کانادایی و چند ملیتی است که در زمینه ارائه خدمات مشاور مدیریت، مشاوره اطلاعاتی، فناوری اطلاعات و ارتباطات، مدیریت فرآیندهای تجاری و برونسپاری فعالیت میکند.