در این مطلب به بررسی الگوریتم Proof of Coverage و نحوهی عملکرد آن میپردازیم، اما پیش از معرفی آن، آشنایی با مفهوم دیگری به نام اثبات ایدهی کار (Proof of work)، برای درک بهتر این موضوع مورد نیاز است. با فکت کوینز همراه باشید.
اثبات کار (Proof of work) چیست؟
Proof of work، سیستمی را توصیف میکند که در آن ممانعت از استفادههای بیارزش یا مخرب از قدرت محاسبات، مانند ارسال ایمیلهای هرز یا انجام حملات مخرب، به تلاش نه چندان چشمگیر اما امکانپذیر نیاز دارد. این مفهوم سپس به وسیلهی هال فینی Hal Finney در سال 2004 از طریق ایدهی “اثبات کار قابل استفادهی مجدد” با استفاده از الگوریتم هش SHA-256 به کار گرفته شد.
پس از معرفی این ایده، در سال 2009، بیت کوین به اولین برنامهای تبدیل شد که برنامهی ایدهی Proof of work مربوط به فینی را به طور گسترده مورد پذیرش قرار داد. Proof of work اساس بسیاری از دیگر رمزارزها را نیز شکل داد و امکان اجماع امن و غیر متمرکز را فراهم کرد.
این توضیح بر اساس نحوهی عملکرد Proof of work در شبکهی بیت کوین ارائه میشود. بیت کوین یک ارز مجازی است که توسط نوعی فناوری توزیع تحت عنوان بلاک چین پشتیبانی میشود. این نهاد شامل ثبت تمام تراکنشهای بیت کوین است که در “بلاکهای” متوالی مرتب شدهاند. بدین ترتب هیچ کاربری اجازه ندارد تا موجودی خود را دو بار خرج کند. برای اینکه از دستکاری افراد جلوگیری شود، این فناوری، عمومی یا “توزیع شده” است. نسخهی تغییر یافتهی آن به سرعت توسط کاربران رد میشود.
روشی که کاربران در عمل دستکاری را تشخیص میدهند، از طریق هشها، یا رشتههای طولانی از اعدادی است که به عنوان Proof of work به کار میروند. میتوان مجموعه دادهها را در تابع هش قرار داد تا تنها یک هش ایجاد شود. به دلیل اثر انباشتی، حتی یک تغییر کوچک در هر قسمت از دادههای اصلی، منجر به یک هش کاملاً غیرقابل تشخیص خواهد شد. اندازهی مجموعه داده اصلی هرچقدر که باشد، هش تولید شده به وسیلهی تابع مفروض دارای یک طول خواهد بود. هش یک تابع یک طرفه است: نمیتوان از آن برای به دست آوردن دادههای اصلی استفاده کرد، بلکه تنها در بررسی اینکه آیا دادههایی که هش ایجاد کرده با دادههای اصلی مطابقت دارند یا نه، بهکار میرود.با این معرفی کوتاه از اثبات کار، به سراغ معرفی الگوریتم Proof of Coverage میرویم.
الگوریتم Proof of Coverage
بلاک چین هلیوم از الگوریتم کار جدیدی به نام اثبات پوشش (Proof of Coverage) استفاده میکند تا بتواند تائید کند که هات اسپاتها در نقاطی که ادعا میکنند، قرار گرفتهاند یا نه. به عبارت دیگر الگوریتم Proof of Coverage در صدد است تا به طور مداوم تائید کند که هاتاسپاتها موقعیت خود و پوشش شبکهی بیسیمی را که از آن موقعیت ایجاد میکنند، صادقانه نشان میدهند.
چرا الگوریتم Proof of Coverage؟
شبکهی هلیوم، یک شبکهی بیسیم فیزیکی است که با مستقر کردن دستگاههای متصل بر روی آن، بر اساس میزان پوشش قابل اعتمادی که میتواند به کاربران ارائه دهد، عمل میکند. بدین ترتیب این شبکه به یک الگوریتم کار نیاز دارد که برای این مورد استفاده، ایجاد شده باشد. الگوریتم Proof of Coverage، مزایای مربوط به ویژگیهای منحصربهفرد و غیرقابل انکار فرکانس رادیویی را بهکار میگیرد تا اثباتهایی را که برای شبکهی هلیوم و شرکتکنندگانش معنادار است، ایجاد کند. Proof of Coverage بهطور خاص بر پایهی ویژگیهای زیر استوار است:
- فرکانس رادیویی انتشار فیزیکی محدود و بنابراین فاصلهی محدودی دارد.
- قدرت یک سیگنال فرکانس رادیویی با مربع فاصله از فرستنده نسبت دارد.
- فرکانس رادیویی با سرعت نور (به نحوی موثر) بدون نهفتگی حرکت میکند.
بلاک چین با استفاده از این ویژگیها دائماً با استفاده از سازوکاری تحت عنوان “چالش اثبات پوشش” هاتاسپاتها رو مورد بررسی قرار میهد. قدرت نهایی الگوریتم Proof of Coverage در این حقیقت نهفته است که دادههای گردآوری شده به وسیلهی اثباتهای مدوام و ذخیره شده در بلاکچین هلیوم، تائید قطعی برای پوشش بیسیم تأمین شده توسط هات اسپاتها بر روی شبکه است.
چالشهای Proof of Coverage
“چالش” واحد مجزایی برای کار الگوریتم Proof of Coverage است. تا به امروز دهها میلیون چالش توسط بلاک چین هلیوم منتشر و پردازش شده است. این بلاک چین با هر چالش جدید دادههای بیشتری دربارهی کیفیت شبکه ثبت میکند. حال ببینیم که چالشها عملاً چگونه رخ میدهند.
نقش هات اسپاتها
چالشهای الگوریتم Proof of Coverage شامل سه نقش مجزا است:
- چالشگر (Challenger). که در واقع هات اسپاتیست که چالش Proof of Coverage را ایجاد و منتشر میکند. هات اسپاتها تقریباً به ازای هر 300 بلاک، یک چالش ایجاد میکنند.
- فرستنده. که گاهی زخوانده میشود. این هات اسپات هدف چالش Proof of Coverage است و مسئول انتقال یا روشن شدن بستههای شبکهی چالش در نقاطی است که قابلیت دیده شدن به وسیلهی هات اسپاتهای نزدیک از نظر جغرافیایی را دارا هستند.
- شاهد. هات اسپاتهایی که از نظر جغرافیایی به فرستنده نزدیک بوده و وجود بستهی شبکهی چالش را پس از آنکه ارسال شد، گزارش میدهند.
ساخت الگوریتم Proof of Coverage و انتخاب هدف
همانطور که در بالا ذکر شد، هات اسپاتها در حال حاضر مجازند تا تقریباً در هر 300 بلاک یک بار چالش ایجاد کنند. هات اسپاتها این عمل را با این اطمینان انجام میدهند که بخشی از پاداشهای رمزارز هلیوم HNT را که به چالشگرها اختصاص داده شده است، بهدست آورند. چالشگر ابتدا یک جفت کلید عمومی/خصوصی موقت را ایجاد میکند تا در چالش مورد استفاده قرار گیرد.
دریافت SH256 کلید عمومی و دریافت SH256 کلید خصوصی هر دو در هش بلاک فعلی به عنوان درخواست Proof of Coverage ارسال میشوند. اگر این درخواست معتبر بوده و بلاک چین آن را بپذیرد، هش بلاک که رسید در آن ظاهر میشود، با هش کلید عمومی موقت و هویت چالشگر برای ایجاد آنتروپی قابل تائید ترکیب خواهد شد. سپس از عدد یکنواخت تصادفی که از طریق این آنتروپی ایجاد میشود، برای انتخاب هدف از میان کل هات اسپاتهای موجود در شبکه استفاده میشود.
پس از آنکه بستهی شبکهی چالش ایجاد شد، از طریق شبکهی هلیوم همتا به همتا به فرستنده تحویل داده میشود. هدف، بستهی شبکهی چالش را دریافت کرده و بیرونیترین لایه را با استفاده از کلید خصوصی و کلید عمومی موقت، رمزگشایی میکند و بلافاصله بستهی شبکهی به دست آمده را به شبکهی هلیوم منتقل میسازد. هر تعدادی از هات اسپاتهای جغرافیایی نزدیک، آن را خواهند شنید و شاهد بستهی شبکه خواهند بود.
مطلب مفید: اثبات سهام چیست؟
شاهدها
الگوریتم Proof of Coverage نیزمانند HIP 15 بر پایهی سیگنال راهنما استوار است. یک سیگنال راهنما، یک انتقال واحد است که به وسیلهی هر هات اسپاتی مشاهده میشود. نسخههای قبلی از مسیرهای چالشی شامل چند هاب استفاده میکردند که هات اسپاتها را برای هدفی که برایش ایجاد شده بودند بهطور دقیق بررسی نمیکردند.
پس از اینکه فرستنده، چالش را دریافت کرد، به بستهی شبکهی چالش سیگنال میفرستد. هیچ گیرندهی خاصی برای این بستهی شبکه وجود ندارد و هر هات اسپاتی که از نظر جغرافیایی به فرستنده نزدیک باشد، واجد شرایط مشاهدهی آن است و بلاک را به بلاکچین گزارش میکند. پس از اینکه بلاکچین شاهد یک سیگنال از فرستنده بود، آن را به عنوان بخشی از رسید چالش الگوریتم Proof of Coverage ثبت میکند که توسط چالشگر Proof of Coverage گردآوری شده و به بلاکچین ارسال میشود.
جمعبندی
در این مطلب به بررسی الگوریتم Proof of Coverage پرداختیم و نحوهی عملکرد آن را در شبکه معرفی کردیم. این الگوریتم مورد استفادهی هلیوم قرار میگیرد و باید تائید کنند که هات اسپاتها در محلی که ادعا میکنند، قرار دارند. شما میتوانید با ارائهی نظرات خود، ما را در بهبود مطالب یاری نمایید.
مطلب مفید:ارز دیجیتال سولانا (SOL) چیست؟ اثبات تاریخ (Proof of history)