الگوریتم اثبات زمان سپری شده یا PoET چیست و چه کاربردی دارد؟
الگوریتم اثبات زمان سپری شده در اصل برای رقابت و بهبود عملکرد الگوریتم اثبات کار راه اندازی شد. تأیید تراکنشها توسط نودها (Nodes) در بلاک چین به کمک الگوریتم های بلاکچین انجام میشود. این الگوریتمها در واقع الگوریتمهایی برای اجماع هستند که انواع متفاوتی دارند. به طور مثال، بلاک چین بیت کوین (Bitcoin) از الگوریتم اثبات کار (PoW) پیروی میکند.
در این مقاله از بلاگ والکس، قصد معرفی کامل و نحوه کارکرد الگوریتم اثبات زمان سپری شده “PoET” را داریم.
الگوریتم اثبات زمان سپری شده چیست؟
الگوریتم اثبات زمان سپری شده (Proof of elapsed time) با نام اختصاری “PoET”، برای اولین بار در سال ۲۰۱۶ توسط شرکت اینتل (Intel) راه اندازی شد. این الگوریتم یکی از الگوریتمهای اجماع برای مدیریت شبکه است که در حال حاضر، بلاک چین (Blockchain) از آن استفاده میکند. الگوریتم “PoET” برای تأیید تراکنش و ایجاد یک بلاک جدید توسط بلاک چین مورد استفاده قرار میگیرد.
نودها (Nodes) به تمامی تراکنشها دسترسی دارند و باید قبل از اضافه شدن هر تراکنشی به بلاک چین، آن را بررسی کرده و همه نودها آن را تأیید کنند. این عمل در بلاک چین توسط الگوریتمهای اجماع اتفاق میافتد که یکی از این الگوریتمها، اثبات زمان سپری شده (PoET) است. این الگوریتم به منظور جلوگیری از مصرف انرژی بالا و استفاده از منابع زیاد طراحی شد.
به طور خلاصه، نحوه کار الگوریتم “PoET” بر اساس یک زمان مشخص شده است. هر نود ارز دیجیتال، یک زمان مشخص شدهای دارد که بلافاصله بعد از اتمام آن زمان، برنده میشود. برنده شدن در این الگوریتم، به معنای امکان ایجاد بلوک جدید و افزودن آن به بلاک چین است.
عملکرد الگوریتم اثبات زمان سپری شده
این طور تصور کنید که در مکانیسم اجماع اثبات زمان سپری شده، یک انتخاب تصادفی در میان نودها انجام میشود. بعد از انجام انتخاب، با توجه به میزان شانس هر نود، زمان مشخص شدهای برای آنها در نظر گرفته میشود. تمامی نودها به خواب میروند و نودی که زودتر از خواب بیدار شود (زمان کمتری را برنده شده باشد)، میتواند تراکنش را تأیید کرده و یک بلاک جدید بسازد.
سیستم انتخاب تصادفی انجام شده میان نودها، کاملا منصفانه عمل میکند. یعنی هر نود به یک اندازه شانس برنده شدن کوتاهترین زمان را دارد. بلاک چینی که بر اساس الگوریتم اثبات زمان سپری شده فعالیت میکند، برای تأیید هر تراکنش باید از این سیستم انتخاب تصادفی استفاده کند. به این ترتیب، در هر دور، یکی از نودها برنده شده و موفق به ایجاد بلاک جدید میشود.
لازم به ذکر است، در حال حاضر تنها بلاک چین “Hyperledger Sawtooth” از الگوریتم اثبات زمان سپری شده پیروی میکند. عملکرد این بلاک چین در زمینه توسعه قراردادهای هوشمند (Smart Contract) و دفتر کل توزیع شده (Distributed Ledger) است.
تفاوت الگوریتم “PoET” با “PoW”
قبل از بررسی تفاوتهای الگوریتم اثبات زمان سپری شده (PoET) با الگوریتم اثبات کار (PoW)، بهتر است کمی بیشتر با عملکرد الگوریتم اثبات کار آشنا شوید.
الگوریتم “PoW” بر اساس محاسبات هش (Hash) عمل میکند. یعنی برای تأیید تراکنشها توسط نودها و ارسال پیام به کل شبکه، نیازمند محاسبات است. این محاسبات باید توسط سخت افزار استخراج حل شود. سخت افزار استخراج، ابتدا محاسبه مورد نظر را حل کرده و سپس، استخراج بلوک بعدی را برای بلاک چین انجام میدهد. این سخت افزار استخراج برای حل محاسبات به برق زیادی نیاز دارد و از این رو، پیروی الگوریتم “PoW” هزینه زیادی به همراه خواهد داشت.
ولی عملکرد الگوریتم اثبات زمان سپری شده خیلی متفاوتتر از الگوریتم اثبات کار است. الگوریتم “PoET” برای صرفه جویی در انرژی و هزینهها، از یک تایمر یا سیستم انتخاب تصادفی استفاده میکند. هر نود یک تایمر جداگانه در اختیار دارد. این تایمرها، زمانهای تصادفی را به هر نود اختصاص میدهند که بر اساس آن زمان، نودها باید به خواب بروند. آن نود که زمانش خوابش زودتر به پایان برسد و بیدار شود، برنده الگوریتم اثبات زمان سپری شده خواهد بود.
امنیت الگوریتم “PoET”
امنیت الگوریتم اثبات زمان سپری شده نیز توسط شرکت راهانداز آن، یعنی اینتل، برقرار میشود. از آن جایی که الگوریتم “PoET” برای شبکههای بلاک چین مورد استفاده قرار میگیرند، این الگوریتم برای ورود به شبکه، به تأیید از سوی یک نود نیاز دارد.
فناوری (Intel’s Guard Extension) با نام اختصاری (SGX) در سال ۲۰۱۵ توسط شرکت اینتل طراحی شد. با کمک این فناوری، الگوریتم اثبات زمان سپری شده، یک تأیید بر روی یک قطعه کد به دست میآورد. از این طریق، امکان ورود به شبکه بلاک چین را خواهد داشت. از طرفی، این کد ارائه شده، توسط (SGX) از دسترسی خارجی محافظت میشود.
مزایای الگوریتم “PoET”
الگوریتم اثبات زمان سپری شده، به جای فشرده سازی منابع مانند الگوریتم “PoW”، امکان استراحت را برای پردازنده ماینر ایجاد میکند. این روند، کمک میکند که پردازنده ماینر بتواند در زمان استراحت، به کارهای دیگری سوئیچ شده و کارایی آن افزایش یابد.
یکی دیگر از مزایا الگوریتم “PoET”، کاهش مصرف انرژی است و از آن جایی که الگوریتم “PoW” به برق زیادی نیاز دارد، جایگزین خوبی خواهد بود. همچنین، این الگوریتم هزینه اجماع را به طور کامل کنترل و مدیریت میکند.
مکانیسم اجرای کد برقرار در این الگوریتم، این اطمینان را میدهد که کد در یک محیط بسیار امن اجرا میشود. شرکت کنندگان خارجی نیز امکان دسترسی به این کد را ندارند.
معایب الگوریتم اثبات زمان سپری شده
معایب الگوریتم “PoET” به نحوه اعتمادسازی و امنیت “SGX” برمیگردد. پیشرفتهای این روزهای اینتل در خصوص “SGX” در مورد حل مسائل آسیب پذیری آن است. معایب که به وجود میآید، در زمینه اعتماد ضروری به امنیت سخت افزار است.
از آن جایی که SGX به طور کامل توسط شرکت اینتل طراحی و راه اندازی شده است، اعتماد به آن نیز در واقع اعتماد به شرکت اینتل یا هر شرکت شخص ثالث دیگری خواهد بود. از طرفی، بلاک چین به دنبال از بین بردن واسطهها برای انجام تراکنشهای خودش است که این موضوع کاملا بر خلاف خواسته بلاک چین عمل میکند.
“PoET” جایگزینی مناسب برای “PoW”
از آن جایی که الگوریتم اثبات زمان سپری شده به دلیل بهبود و ارائه یک جایگزین مناسب برای الگوریتم اثبات کار راه اندازی شد، میتوان بر روی الگوریتم “PoET” به عنوان یک جایگزین حساب کرد. “PoET” یکی از الگوریتمهای اجماع برای بلاک چینها است که در حال حاضر تنها در بلاک چین “Hyperledger Sawtooth” استفاده میشود.
سؤالات متداول
در حال حاضر تنها بلاک چین “Hyperledger Sawtooth” از الگوریتم “PoET” پیروی میکند. این بلاک چین در زمینه ساخت و توسعه قراردادهای هوشمند (Smart Contract) و دفتر کل توزیع شده (Distributed Ledger) فعالیت میکند.
به دلیل وجود سیستم انتخاب تصادفی در الگوریتم اثبات زمان سپری شده، امنیت بالایی در این الگوریتم برقرار میشود. از این رو، الگوریتم “PoET” حتی با نداشتن مجوز نیز میتواند وارد بلاک چین شود. ولی ورود “PoW” بدون مجوز به بلاک چین ممکن نیست.