Follow Us
Facebooktwitteryoutube
YouTube
Promo
banner
Promo
banner

راهنمای درختان مرکل

آیا هنگام بحث در مورد فناوری بلاکچین درباره درختان مرکل چیزی شنیده اید؟ این بدان دلیل است که درخت مرکل هسته اصلی این فناوری است. 

خوب دقیقا چیست?

در این مقاله ، ما درخت Merkle را به طور عمیق مرور خواهیم کرد و نقش آن را در موفقیت فناوری بلاکچین درک خواهیم کرد.

بیایید شروع کنیم.

 

درخت مرکل چیست?

Merkle tree یک ساختار داده است که برای تأیید ایمن داده ها در یک محتوا بزرگ استفاده می شود. همچنین هنگام تأیید داده ها کارآمد و سازگار است.

Ethereum و Bitcoin هر دو از Merkle Trees استفاده می کنند.

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

راه حل: Merkle Trees بلاک چین های غیرمتمرکز را قادر می سازد داده ها را به اشتراک بگذارند ، آنها را تأیید کنند و قابل اعتماد کنند. داده ها را به گونه ای سازماندهی می کند که برای به اشتراک گذاری و تأیید داده ها ، قدرت پردازش زیادی لازم نیست. همچنین به لطف استفاده از توابع هش و رمزنگاری معامله امن را تسهیل می کند.

Satoshi Nakamoto اولین شخصی بود که درختان مرکل را از طریق بیت کوین در فناوری بلاکچین پیاده سازی کرد. استفاده وی شاخه جدیدی از علوم کامپیوتر را در جایی گشود که نیازی به مرجع متمرکز نیست. وی همچنین از درختان مرکل به میزان بیش از حد استفاده کرد و از درختان Fast Merkle استفاده کرد.

با این حال ، این مفهوم برای اولین بار توسط رالف مرکل ، که آن را در سال 1979 به ثبت رساند ، معرفی شد.

همچنین ، Hyperledger Cactus: A New Hyperledger Framework را بخوانید


توابع هش رمزنگاری

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

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

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

هش کردن چندین کاربرد دارد از جمله

  • محافظت از رمز عبور
  • بررسی و تأیید صحت پرونده
  • ارز رمزنگاری شده

چندین خانواده هش وجود دارد از جمله Message Direct (MD) ، Secure Hash Function (SHF) و RIPE Message Direct (RIPEMD).

اگر از الگوریتم هش SHA256 استفاده کنید و 101Blockchains را به عنوان ورودی عبور دهید ، خروجی زیر را خواهید گرفت

fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

به طور خلاصه ، خصوصیات اصلی توابع هش عبارتند از:

  • مصمم
  • مقاوم در برابر تصویر
  • از نظر محاسباتی کارآمد
  • نمی توان مهندسی معکوس کرد
  • مقاومت در برابر برخورد

اگر می خواهید در مورد توابع هش رمزنگاری بیشتر بدانید ، مقالات دقیق را در اینجا بررسی کنید: 

درختان مرکل چگونه کار می کنند?

اکنون که تا حدودی درک خوبی از توابع Hash داریم ، اکنون وقت آن است که درباره Merkle Trees اطلاعات بیشتری کسب کنیم.

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

این همچنین بدان معنی است که درخت مرکل در جایی معکوس می شود که گره های برگ پایین ترین گره هستند. 

برای درک بهتر آنچه می خواهم انتقال دهم ، بیایید نگاهی به مثال درخت مرکل بیندازیم:

منبع: ویکی پدیا

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

  • ریشه مرکل
  • گره های برگ
  • گره های غیربرگی

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

برای اینکه درختان مرکل کار کنند ، از هش استفاده می شود. این به سادگی جفت هش کردن گره ها را به طور مکرر انجام می دهد تا زمانی که فقط یک مقدار هش باقی مانده باشد. مقدار هش سمت چپ به عنوان شناخته می شود Merkle Root یا Root Hash. این درخت از پایین به بالا و با استفاده از هش های معاملاتی منفرد ایجاد می شود. هش های تراکنش منفرد با نام Transaction IDs نیز شناخته می شوند. 

گره های برگ گره هایی هستند که حاوی هش داده های معاملاتی هستند. در مورد گره های غیربرگ ، آنها هش دو هش قبلی را ذخیره می کنند.

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

 

یک مثال

بیایید سعی کنیم با یک مثال آن را درک کنیم.

مثال درخت مرکل

در اینجا ، می بینیم که چهار معامله در بلوک انجام شده است. این معاملات X ، Y ، Z و W. نامگذاری شده اند. تراکنش ها سپس هش می شوند و سپس در گره های برگ ذخیره می شوند که ما آنها را با نام های Hash X ، Hash Y ، Hash Z و Hash W ذخیره می کنیم.

پس از اتمام ، گره های برگ Hash X ، Y ، Z و W دوباره هش می شوند و به صورت یک هش ترکیبی از XY و ZW ایجاد می شوند. سرانجام ، از این دو هش برای ایجاد Merkle Root یا Root Hash استفاده می شود.

کل فرآیند هش کردن را می توان در یک مجموعه داده بسیار بزرگ انجام داد که باعث می شود ساختار داده های Merkle Trees در مورد شبکه های غیرمتمرکز مفید باشد..

همانطور که قبلاً بحث کردیم ، استفاده از الگوریتم های هش به اجرای آن بستگی دارد. با این حال ، یکی از رایج ترین توابع هش که استفاده می شود شامل عملکرد هش رمزنگاری SHA-2 است. 

بنابراین ، اگر تراکنش های قبلی قابل تأیید باشند ، به لطف مقادیر هش ، یک تراکنش قابل تأیید است.

 

چه در مورد یکپارچگی داده ها?

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

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

همه اینها می توانند کمی شبیه لیست های هش باشند ، با این حال ، این درست نیست. برای لیست هش ، برای تأیید معاملات یا داده ها ، باید لیست کامل را بارگیری کنید.

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

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

همچنین می توانید پایتون درخت مرکل – اجرای درخت مرکل در پایتون را بررسی کنید مقاله.

 

نحوه کار درختان مرکل در بیت کوین

بیت کوین اولین ارز رمزنگاری شده بود که درختان مرکل را به طور م employedثر به کار گرفت. برای اطمینان از اینکه مقادیر هش محافظت می شوند و به راحتی قابل برگشت نیستند ، از الگوریتم معروف Secure Hashing SHA-256 استفاده می کند. این همچنین بدان معنی است که مقادیر هش خروجی 256 بیت طول دارد. در هسته اصلی ، درختان مرکل برای ذخیره داده ها و همچنین هرس معاملات استفاده می شوند.

همچنین ، نحوه شروع کار با بلاکچین را بخوانید

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

  • Merkle Root Hash
  • شماره نسخه مسدود کنید
  • مهر زمان
  • غیرطبیعی
  • هدف دشواری معدن
  • قبلی Block Hash

برای درک بهتر ، بیایید نگاهی به نمودار زیر بیندازیم. از آن گرفته شده است کاغذ سفید بیت کوین خودش.

شرح: درختان مرکل در بیت کوین

همانطور که مشاهده می کنید ، لازم است ماینرها تراکنش ها را در بلوک قرار دهند. پس از اتمام ، هش شده و بخشی از درخت مرکل می شود.

به این ترتیب استفاده از Merkle Trees می تواند مزایای متعددی را به همراه داشته باشد. این شامل یک مزیت قابل توجه است ، به عنوان مثال ، تأیید پرداخت ساده (SPV). این SVP ها گره هایی هستند که می توان آنها را به عنوان مشتری های سبک وزن نیز نامید. پس چه کار می کنند؟ آنها به سادگی طولانی ترین هدرهای بلوک زنجیره ای را بارگیری می کنند و از این رو نیازی نیست که کل بلاکچین را بارگیری کنند. برای انجام همه اینها ، آنها باید تأیید کنند که آیا دارای سرآیند بلوک ذخیره شده برای طولانی ترین زنجیره است. این روش پیاده سازی درخت مرکل در بیت کوین است.

در پایان ، یک SPV می تواند از Merkle Proof of Map استفاده کند و یک معامله را با استفاده از هش ریشه درخت Merkle تأیید کند. 

نحوه استفاده از Merkle Trees در Ethereum

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

اگر می خواهید در مورد نحوه کار درختان مرکل در Ethereum بیشتر بدانید ، پست مفصل را بررسی کنید اینجا.

اجرای سایر درختان مرکل: از موارد استفاده کنید

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

یکی دیگر از کاربردهای مفید در سیستم پرونده بین سیاره ای – پروتکل توزیع شده نظیر به نظیر. همچنین منبع باز است و دستگاه های محاسباتی را قادر می سازد تا از یک سیستم فایل همه گیر استفاده کنند.

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

آخرین مورد مورد استفاده که ما در مورد آن بحث خواهیم کرد ، سیستم های پایگاه داده مانند Amazon DynamoDB و Apache Cassandra است. این پایگاه های داده توزیع نشده-SQL ناسازگاری ها را با استفاده از درختان مرکل در طی فرآیند تکثیر داده کنترل می کنند. در صورت بروز هرگونه مشکل ، می تواند داده ها را با استفاده از فرآیند ترمیم ضد انتروپی به روز یا تعمیر کند.

به طور خلاصه ، استفاده از موارد درختان مرکل شامل

  • همگام سازی داده ها
  • تأیید داده ها
  • تأیید سازگاری

مزایای Merkle Trees

در این بخش ، نگاهی گذرا به مزایای درخت مرکل خواهیم انداخت.

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

نتیجه

درخت مرکل یکی از مفاهیم مهم در علوم کامپیوتر است. این در بسیاری از موارد استفاده گسترده است و استفاده از آن در ارزهای رمزپایه باعث ایجاد یک فناوری انقلابی می شود – بلاکچین.

بنابراین ، شما در مورد درختان مرکل چه می دانید؟ نظر خود را در زیر وارد کنید و به ما اطلاع دهید.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Adblock
detector