پرش به محتوای اصلی
Change page

الگوریتم های استخراج

آخرین ویرایش: @sipbikardi(opens in a new tab), ۲۳ فروردین ۱۴۰۳

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

استخراج اتریوم با استفاده از الگوریتمی به نام Ethash انجام می‌شد. ایده بنیادی این الگوریتم این است که ماینر تلاش می‌کند با محاسبات جستجوی فراگیر (brute force)، عدد منحصربفرد (nonce) ورودی را پیدا کند که نتیجه استفاده از آن، تولید هش کوچکتر از حد آستانه تعیین شده توسط سختی محاسبه شده است. سطح سختی به طور دینامیک قابل تنظیم است تا بدین وسیله ساخت بلوک در بازه‌های زمانی منظم اتفاق بیفتد.

موارد مورد نیاز

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

الگوریتم دگر هشیموتو (Dagger Hashimoto)

Dagger Hashimoto یک الگوریتم تحقیقاتی پیشرو برای استخراج اتریوم بود که الگوریتم Ethhash جایگزین آن شد. این الگوریتم از ادغام دو الگوریتم Dagger و Hashimoto ایجاد شده بود. این الگوریتم تنها یک پیاده‌سازی تحقیقاتی بود و در زمان راه‌اندازی شبکه اصلی اتریوم توسط Ethash جایگزین شد.

Dagger(opens in a new tab) شامل تولید یک گراف جهت‌دار غیرمدور(opens in a new tab) است که برش های تصادفی آن باهم هش شده‌اند. مولفه اصلی این است که هر نانس فقط به بخش کوچکی از درخت داده کل بزرگ نیاز دارد. محاسبه مجدد زیردرخت برای هر نانس در استخراج ممنوع است - و بنابراین نیاز به ذخیره درخت - اما برای تایید ارزش یک نانس مشکلی وجود ندارد. Dagger طراحی شده بود تا یک جایگزین برای الگوریتم‌های موجود مثل Scrypt باشد، الگوریتم‌هایی که حافظه سختی دارند اما زمانی که سختی حافظه آن‌ها به سطوح ایمن اصل افزایش می‌یابد، تأیید آن دشوار است. با این حال، Dagger در برابر شتاب سخت‌افزار حافظه مشترک آسیب‌پذیر بود و به نفع سایر روش‌های تحقیق کنار گذاشته شد.

هشیموتو(opens in a new tab) الگوریتمی است که با محدود بودن به I/O، ویژگی مقاوم بودن در برابر ASIC را به الگوریتم اضافه می‌کند (یعنی خواندن حافظه، عامل محدود کننده در فرآیند استخراج است). تئوری این است که RAM بیشتر از محاسبات در دسترس است؛ میلیاردها دلار تحقیق در حال حاضر بهینه‌سازی RAM را برای موارد استفاده مختلف بررسی کرده‌اند، که اغلب شامل الگوهای دسترسی تقریبا تصادفی است (از این رو به آن حافظه دسترسی تصادفی گفته می‌شود). در نتیجه، RAM موجود احتمالاً برای ارزیابی الگوریتم نسبتاً نزدیک به حالت بهینه است. هاشیموتو بلاک چین را به عنوان منبع داده استفاده کرده و همزمان مورد 1 و 3 در بالا را برآورده می‌کند.

Dagger-Hashimoto از نسخه‌های اصلاح یافته الگوریتم‌های Dagger و Hashimoto استفاده کرد. تفاوت بین Dagger Hashimoto و Hashimoto این است که به جای استفاده از بلاک چین به عنوان منبع داده Dagger Hashimoto از یک مجموعه داده سفارشی تولید شده استفاده می‌کند که این مچموعه داده بر اساس داده‌های موجود در بلوک‌ها در هر N بلوک به روز می‌شود. این مجموعه داده‌ها با استفاده از الگوریتم Dagger تولید می‌شود، که امکان محاسبه مؤثر زیرمجموعه‌ای خاص برای هر نانس را برای الگوریتم تأیید کاربر سبک فراهم می‌کند. تفاوت بین Dagger Hashimoto و Dagger این است که برخلاف Dagger اصلی، مجموعه داده استفاده شده برای استعلام از بلوک نیمه دائمی است و فقط در فواصل زمانی گاه به گاه (به عنوان مثال یک بار در هفته) به روز می‌شود. این بدان معناست که بخشی از تلاش برای تولید مجموعه داده نزدیک به صفر است، بنابراین استدلال‌های سرجیو لرنر در مورد افزایش سرعت حافظه مشترک قابل چشم‌پوشی می‌شود.

اطلاعات بیشتر درباره‌ Dagger-Hashimoto.

یک الگوریتم اثبات انجام کار برای اتریوم ۱. ۰

Ethash در واقع همان الگوریتم استخراج بود که در الگوریتم اثبات کار استخراج شبکه‌ اصلی اتریوم که اکنون منسوخ شده، استفاده شده بود. Ethash در واقع نام جدیدی بود که به نسخه خاصی از الگوریتم Dagger-Hashimoto و پس از به روز رسانی قابل توجه آن داده شد، در حالی که هنوز اصول اساسی نسخه قبلی خود را به ارث می‌برد. شبکه‌ اصلی اتریوم تاکنون تنها از Ethash استفاده کرده است - Dagger Hashimoto یک نسخه در حال &توسعه از الگوریتم استخراج بود که قبل از شروع استخراج در شبکه‌ اصلی اتریوم، جایگزین شد.

مطالب بیشتر درباره Ethash.

بیشتر بخوانید

در مورد جامعه منابعی که به شما کمک می کنند بدانید? این صفحه را ویرایش کنید و آن را اضافه کنید!

آیا این مقاله مفید بود؟