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

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

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

نیاز به تأیید کارآمد

بیایید با اصول شروع کنیم. چرا ما به درختان مرکل نیاز داریم و چه چیزی آنها را در زمینه بلاکچین مفید می کند?

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

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

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

اگر به نظر عالی می آید ، به این دلیل است که هست. درختان مرکل یک اختراع رمزنگاری واقعاً جالب است. بنابراین ، اکنون س isال این است که آنها چگونه کار می کنند?

تازه کردن سریع هش کردن

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

بدون وارد شدن بیش از حد به علف های هرز ، هش نوعی الگوریتم است که هر ورودی ، بدون توجه به طول را می گیرد و یک خروجی با طول استاندارد و تصادفی را تولید می کند. به عنوان مثال ، در بیت کوین ، معامله “Alice sends Bob 1 BTC” به نظر می رسد مانند یک رشته از شخصیت های تصادفی است:

“3cbcf3e1075b0b3357140de438336733bd6927cd1e78d36cc278324fcce932ad”

این رشته از شخصیت ها هش است ، و قطعی است. این بدان معناست که «الف -> B 1BTC ”همیشه به همان خروجی هش می دهد.

با این حال ، هاش یک خاصیت عالی دیگر نیز دارد. حتی یک تغییر کوچک در بهمن ورودی به یک تغییر شدید در خروجی تبدیل می شود. اگر معامله را کمی به «A تغییر دهیم-> B 1.1BTC ، “سپس هش کاملاً متفاوت می شود. بنابراین ، اگر رکوردی حتی توسط یک شخصیت تغییر کرده باشد ، بلافاصله مشخص می شود.

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

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

مرکل درخت ساده است

یک درخت مرکل درختان بلاکچین مرکل شامل هزاران هش هستند. در اینجا فقط 8 تصویر شده است.

اکنون وقت آن است که درخت مرکل خود را بسازیم. ما معامله خود را با آلیس / باب بالاتر از “معامله A” صدا خواهیم کرد. وقتی آن معامله به بلاکچین اضافه می شود ، با سایر تراکنش ها به بخشی از بلوک تبدیل می شود. برای سادگی ، ما فقط معاملات را B ، C و D می نامیم.

هر یک از این معاملات هش خورده است ، بنابراین ما مجبور نیستیم جزئیات مربوط به چه کسی و مقدار معامله را حفظ کنیم. اما ، هنوز هم می توانیم ثابت کنیم که معامله دستکاری نشده است زیرا همه هش ها را داریم. اکنون ، ما H (A) ، H (B) ، H (C) و H (D) داریم.

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

اکنون ، H (A) + H (B) = H (AB) و H (C) + H (D) = H (CD). با ترکیب و هش کردن معاملات ، تعداد هش هایی را که باید ذخیره کنیم به نصف کاهش دادیم. ما می توانیم دوباره همین کار را انجام دهیم بنابراین H (AB) + H (CD) = H (ABCD). با این کار ، ما اکنون فقط یک هش برای ذخیره داریم که قطعی بر اساس هش همه معاملات اساسی است. این هش منفرد ریشه مرکل نام دارد.

تأیید معاملات با استفاده از ریشه Merkle

ریشه هش درخت Merkle قسمت اصلی هر بلوک بیت کوین است که به بلوک بعدی زنجیره پیوند می خورد.

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

merkle تایید tx

برای تأیید معامله D ، فقط باید دانش H (AB) ، H (C) ، H (D) و H (EFGH) را داشته باشید..

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

نتیجه

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