مبانی بلاک چین و معماری آن

بلاکچین
رمز ارز

مبانی بلاک چین و معماری آن

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

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

بلاک‌چین بیت‌کوین بلوک‌ها را در یک «زنجیره» خطی ذخیره می‌کند، جایی که هر بلوک به‌طور ریاضی به آخرین مورد اشاره می‌کند:

بلاکچین چیست؟

شکل1- شمایی خطی از زنجیره بلاکچین

بلاک چین بلوک ها را در یک زنجیره خطی ذخیره می کند. “txn” مخفف بیت کوین برای “تراکنش” است. هر بلوک به بلوک قبلی اشاره دارد، اما دانشمندان کامپیوتر معمولاً زنجیره‌هایی مانند این را با فلش‌هایی که از یک بلوک به بلوک بعدی نشان می‌دهند، می‌کشند تا بصری‌تر باشد.

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

تابع هش (Hash Function)

یک تابع ریاضی است که یک مقدار ورودی را به مقدار فشرده‌ شده دیگر تبدیل می‌کند. ورودی تابع هش یک مقدار با طول نامعلوم است؛ اما خروجی همیشه طول ثابتی دارد. توابع هش به شدت کاربردی هستند و تقریبا در همه کاربرد‌های امنیت اطلاعات حضور دارند. مقدار برگشت داده شده توسط یک تابع هش، یک «پیام خلاصه» یا به طور ساده «مقدار هش» نام دارد. شکل زیر یک تابع هش را نشان می‌دهد.

hash

شکل 2- تابع شماتیک هش

هش کردن یا هشینگ به فرآیندی گفته می‌شود که در آن یک عملگر ریاضی به نام «تابع هش» (Hash Function)، داده‌های ورودی مانند حروف و اعداد و تصویر و … را به خروجی رمزگذاری شده تبدیل می‌کند. به تابع هش، «تابع درهم‌ساز» نیز گفته می‌شود.

hash2

شکل 3- مثال هایی از هش کلمات و جملات

به عنوان مثال یک تابع هش می‌تواند کلمه «سلام» را دریافت کند و به عنوان خروجی این عبارت را تحویل بدهد:

«bda۱fa۴۸۳۴۵۳۳۶۶۱۸۷۴۱fd۲c۴bc۰۲۸۰۹eb۰۹۹c۴۹a۹b۰۲fb۵۰۵۶۴۰۱ab۶d۴dc۳e۶»

توابع هش معتبر، هر مقدار ورودی را تبدیل به یک رشته متنی با طول ثابت می‌کنند

هش کردن عبارات با استفاده از تابع هش SHA-256

مبانی بلاک چین و معماری آن

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

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

همانطور که در شکل 1 نشان داده شده است، چهار بلاک وجود دارد که هر بلاک به صورت زنجیره ای با بلاک های دیگر متصل است. در اینجا بلاک 1 به بلاک 2، بلاک 2 به بلاک 3، بلاک 3 به بلاک 4 و بلاک 4 به بلاک 1 متصل می شود و یک زنجیره را تشکیل می دهد.

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

تا آنجا که بلاک چین بیت کوین، هر بلاک از داده هایی تشکیل شده است که به تراکنش های بیت کوین، سربرگ بلاک، شناسایی بلاک و درختان مرکل اشاره دارد.

برخی از اصطلاحات معمولی استفاده شده از فناوری های بلاک چین که شامل طراحی معماری بلاک چین  است در شکل 2 به همراه توضیحات در زیر نشان داده شده است.

1

شکل 4- نمونه بلاک چین.

جدول 1 ساختار بلاک:

فیلد
شرح
انداره
اندازه بلاک اندازه بلاک بر حسب بایت 4 بایت
هدر بلاک چندین فیلد از هدر بلاک تشکیل شده است 80 بایت
شمارنده تراکنش فراوانی تراکنش 1-9 بایت
تراکنش تراکنش واقعی ثبت شده متغییر

البته بیت کوین نوتیشنی برای برنامه ریزی ندارد، بنابراین بلاک ها با ریاضی به یکدیگر ارجاع می دهند. به طور خاص، آنها از یک تکنیک ریاضی به نام هش استفاده می‌کنند، که در آن شما دسته‌ای از اطلاعات (کلمات، اعداد، بلوک‌های بیت‌کوین و غیره) را به الگوریتمی وارد می‌کنید که یک «اثر انگشت» کوتاه از اطلاعات را بیرون می‌دهد.

ما انسان ها همیشه از هش استفاده می کنیم، مثلاً با حروف اول. یک نام طولانی را می توان به راحتی به چند حرف خلاصه کرد: نام بلندی مانند “جان فیتزجرالد کندی” به چیزی کوتاه مانند “JFK” تبدیل می شود. شما یک ورودی دارید (نام کامل). تابع هش (فرآیند گرفتن حروف اول شخص)؛ و یک خروجی یا هش (حرف اول).

کامپیوترها از توابع هش جذاب تری استفاده می کنند – محبوب ترین آن ها الگوریتم های[ MD544] یا [ SHA-25645]هستند – اما ایده اصلی یکسان است: ورودی های بزرگ داده به خروجی های کوتاه تبدیل می شوند.

در بیت کوین، هر بلوک دارای یک هش مرتبط است. هش هر بلوک تا حدی بر اساس هش بلوک قبل از خود است. به این ترتیب، هر بلوک به بلوک قبل از خود اشاره دارد. بنابراین، اگر فهرست نامرتب بلوک‌ها و هش‌های مرتبط با آن‌ها را داشته باشید، می‌توانید به راحتی بلوک‌ها را مرتب کنید، درست مانند شخصی که می‌تواند با نگاه کردن به اتصالات طرح، صفحات را مرتب کند.

هش

شکل 5-بلوک ها با استفاده از هش های خود به هم متصل می شوند. هر هش از هش بلوک قبلی محاسبه می شود

بنابراین، بیت کوین تراکنش ها را در بلوک ها دسته بندی می کند و آنها را به صورت زنجیره ای به یکدیگر مرتبط می کند. بلوک، ملاقات زنجیره ای.

درخت بلوک

در نتیجه، بلاک چین نباید یک زنجیره خطی باشد. در واقع، معمولاً اینطور نیست. بلاک چین بیشتر شبیه یک «بلاک درخت» با یک «تنه» و «شاخه» است:

blockchain tree

شکل 6- زنجیره بلوکی می‌تواند شاخه‌های زیادی داشته باشد، درست مانند یک درخت (تصور کنید بلوک پایینی در سطح زمین است و این نمودار بسیار شبیه یک درخت است.) طولانی‌ترین شاخه، شاخه «رسمی» در نظر گرفته می‌شود.

زمانی که دو ماینر همزمان یک بلوک را تولید می کنند (یا “ماین کنند”) درخت بلوک، شاخه جدیدی رشد می کند. این نادر است، اما اتفاق می افتد. وقتی این کار انجام شد، دو تراکنش وجود دارد که آخرین تراکنش را جدا می کند و شاخه جدیدی از درخت بلوک متولد می شود.

اما، مانند سیستم rai stone، بیت کوین نیاز به یک تاریخچه خطی و منفرد از معاملات دارد. شما نمی توانید اجازه دهید چندین شاخه با هم وجود داشته باشند. (آیا می توانید تصور کنید به کسی بگویید “در یک نسخه از تاریخ، من 500 دلار دارم، اما در نسخه دیگر، 600 دلار دارم”؟)

طولانی ترین قانون زنجیره ای

برای داشتن تاریخچه رسمی خطی، بیت کوین از یک قانون سرانگشتی به نام قانون طولانی‌ترین زنجیره استفاده می‌کند که می‌گوید شاخه‌ای از درخت بلوک با بیشترین بلاک در آن، بلاک چین رسمی است. طولانی ترین زنجیره تعیین می کند که واقعا چقدر پول دارید، چه تراکنش های گذشته اتفاق افتاده است و غیره. اگر در طولانی ترین زنجیره نباشد، عملاً اتفاق نیفتاده است.

نرم‌افزار بیت‌کوین که بر روی رایانه‌های کاربران بیت‌کوین اجرا می‌شود، تنها با پرداخت پول استخراج‌کنندگانی که یک بلوک به طولانی‌ترین زنجیره اضافه کرده‌اند، طولانی‌ترین قانون زنجیره را اجرا می‌کند. این معمولا برای نگه داشتن ماینرها در صف کافی است. (البته یک عارضه جانبی ناخوشایند دارد. اگر دو ماینر همزمان یک بلوک را استخراج کنند، دو شاخه متولد می شود و تنها یک شاخه برنده می شود و طولانی ترین زنجیره می شود. شاخه دیگر “یتیم” می شود و بیرون انداخته می شود، و معدنچی بدشانس که بلوک را در پایه آن شعبه استخراج کرده است، پولی دریافت نمی کند. این “یتیم شدن” چند بار در روز اتفاق می افتد.

چارت نگار

شکل 7- چگونه یک مهاجم می تواند بلاک چین را با ماینینگ سریعتر از دیگران ربوده باشد.

انواع بلاک چین:

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

نود (گره ) :

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

الگوریتم اجماع:

الگوریتم اجماع به توافق بین بلاک چین و کاربر نیز گفته می شود. در چارچوب با هدف تایید تصمیمات برای گره ها یا ماشین ها استفاده می شود. برخی از الگوریتم‌های اجماع آشنا عبارتند از: اثبات کارPoW، اثبات سهام PoS اثبات سوختن PoB و غیره.

2

شکل 8- معماری بلاک چین.

بلاک:

یک بلاک به عنوان تصمیم تراکنش که پس از رضایت مؤثر در زنجیره جاری گنجانده شده است، نامیده می شود.

سربرگ (Header ):

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

شمارنده تراکنش:

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

داده های تراکنش: معنای این فیلد، یعنی داده های تراکنش بر اساس قابلیت استفاده تغییر می کند. این یا به تراکنش بیت کوین، سوابق، اطلاعات شخصی کاربر، اطلاعات مربوط به مراقبت های بهداشتی و غیره اشاره دارد.

 سربرگ بلاک

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

شبکه بلاک چین از یک هدر منحصر به فرد تشکیل شده است. هر بلاک با کمک هش هدر بلاک شناسایی می شود. مشخصات هدر شامل یک رشته 80 بایتی است که از شماره نسخه بیت کوین 4 بایتی با نسخه قبلی 32 بایت پشتیبانی می کند.

هش بلاک همچنین شامل یک ریشه مرکل 32 بایتی است که از یک مهر زمانی طولانی 4 بایتی با یک nonce طولانی 4 بایتی پشتیبانی می کند که توسط استخراج کنندگان رمزنگاری استفاده می شود. همراه با توضیحات بالا، هدر بلاک شامل موارد زیر است:

  • هش رمزنگاری
  • رقابت ماینینگ
  • ساختار داده برای خلاصه کردن معاملات در بلاک
 شناسه های بلاک

شناسه های بلاک به طور خاص هش رمزنگاری هستند. با استفاده از این شناسه های بلاک، بلاک خاص به روشی منحصر به فرد شناسایی می شود. معمولاً گفته می شود که دو شناسه بلاک وجود دارد – هش هدر بلاک و ارتفاع بلاک. تا آنجا که به هش هدر بلاک مربوط می شود، هش بلاک توسط هر گره به محض دریافت بلاک از شبکه ارزیابی می شود. روش دوم برای به دست آوردن یک بلاک از طریق موقعیت آن در زنجیره بلاک است که به سادگی ارتفاع بلاک نامیده می شود.

 درختان مرکل ( Merkle Trees )

درخت مرکل به چارچوب تراکنش ها در بلاک خاص برای بلاک چین مربوطه اشاره دارد. درخت Merkle برای ذخیره خلاصه تمام تراکنش ها در بلاک استفاده می شود و به یک ساختار داده ای اشاره دارد که برای خلاصه کردن و تأیید یکپارچگی مجموعه داده حاوی هش های رمزنگاری استفاده می شود. همچنین روشی برای خلاصه کردن کل تراکنش‌های مربوط به یک بلاک، تضمین فرآیند کارآمد برای تأیید اینکه آیا تراکنش در یک بلاک گنجانده شده است یا خیر. شکل 3 ارائه شده در زیر نمونه درخت مرکل بلاک چین را نشان می دهد.​

3

شکل9-درخت مرکل

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • نویسنده
  • قسمت
  • زبان
Click outside to hide the comparison bar
مقایسه