در بیت کوین عملی وجود دارد که تقریبا معادل پذیرفتن پرداختی است که هنوز توسط بلاک چین انجام نشده است و به آن پذیرش زیروکانف (zeroconf) میگویند. بحثهای زیادی در خصوص این موضوع وجود دارد که آیا زیروکانف یک عملکرد خیالی دارد یا عملکرد آن واقعا مهم است؟ اگر بگوییم که زیروکانف هیچ کاری انجام نمیدهد، اغراق کردهایم. عملکرد زیروکانف تاکنون خوب بوده است. اما اگر در مقیاس قابل توجهی مورد استفاده قرار گیرد، توطئهای به وجود خواهد آمد که گریبانگیر افراد استفاده کننده از آن میشود. به جای منتظر ماندن برای رخ دادن فاجعه، توسعه بیت کوین باید برنامه زمانبندی شده و منظمی برای حذف پشتیبانی از زیروکانف داشته باشد.
زیروکانف (Zeroconf)؛ تراکنش های تایید نشده سهم تمامی شبکه!
چطور میشود بدون آنکه نحوه کار بیت کوین را ندانست شروع به ایجاد سیستمی مشابه بیت کوین کرد؟ سریعترین پاسخ این است که بیت کوین بدون بلاک چین ایجاد کرد. سیستمی که در آن، تمام تراکنشها همه جا منتشر میشوند و هرگاه کوینی خرج شود توسط کوین جدید دیگری با کلید عمومی دریافت کننده جایگزین میشود. اسم این سیستم فرضی را بیت پزو(Bitpeso) میگذاریم. به نظر میرسد این سیستم در ظاهر عملکرد خوبی دارد. کاربران یا همان همتایان (Peer ها) میتوانند تایید کنند که پرداخت دریافت کرده اند و آن را به دریافت کننده خود ثابت کنند. فقط یک مشکل کوچک وجود دارد. اینکه هیچ محافظتی در مقابل دوبار خرج کردن وجود ندارد. اگرچه این مشکلی کوچک به نظر میرسد که اصلاح آن آسان است، اما کاملا میتوان گفت که تمامیت بلاک چین، ماینینگ، پاداش ماینینگ و غیره برای آن وجود دارند تا دیتابیس مناسبی برای جلوگیری از دوبار خرج کردن تولید شود. این حرف اصلا اغراق نیست و دقیقا همان مزیتی است که عملکرد بیت کوین نسبت به بیت پزو دارد.
صحبت درباره اینکه ماینینگ چیست و نحوه کار آن چگونه است از حوصله این مقاله خارج است. فقط نکات مهم را عنوان میکنیم که عبارتند از: نکات فنی مهمی در خصوص نحوه عملکرد ماینینگ وجود دارد، خروجی ماینینگ مجموعه جدیدی از تراکنشهای انجام شده است که هر چند دقیقه به بلاک چین افزوده میشوند و این تراکنشها توسط ماینرها افزوده میشوند. ماینرها بررسی دقیقی انجام میدهند که کدام تراکنش جدید وارد بلاک چین شود اما نمیتوانند تراکنش جدید ایجاد کنند و یا تراکنشهای انجام شده را برگردانند.
زیروکانف اقدامی برای استفاده از مجموعه عملکردهای بیت کوین برای امنیت بیت پزو است. هدف این است که اگر تراکنشی به نودهای بسیار زیادی ارسال کردید و تایید کردید که این تراکنش به طور گسترده توزیع شده است و تراکنش دوبار خرج کردن نیست، آنگاه میتوانید فرض کنید هر ماینری که بلاک بعدی را ایجاد میکند، تراکنش را نیز تایید خواهد کرد.
علیرغم این نکته که این موضوع تمام اقدامات ایمنی بیت کوین را در جهت محافظت محدود از بیت پزو مختل میکند، اما اکثر آن میتواند میتواند به صورت نیمهمنطقی انجام شود. تراکنشها میتوانند سریعا توزیع شوند. همتایان میتوانند اجتماعهایی در خصوص نپذیرفتن جایگزینهای متقلب تشکیل دهند. ماینرها نیز میتوانند سیاستی در خصوص استفاده از تراکنشهای نودهای کامل داشته باشند. این فرض هم قابل اعتماد است و هم در بلندمدت کاملا ضروری است.
نحوه به کار انداختن زیروکانف چگونه است؟
اولین قدم در به حداکثر رساندن امنیت بیت پزو، توزیع هرچه سریعتر تراکنشها است. شبکه بیت کوین این کار را به خوبی انجام میدهد. دومین قدم، بررسی بسیاری از همتایان نابرابر و تایید صحت تراکنشهای آنها است. هیچ گونه کتابخانه استانداردی برای این کار وجود ندارد اما تقریبا مهندسی سادهای دارد.
سپس باید همتایان را مجبور به پیروی از یک قرارداد اجتماعی کنید تا بدانند چه زمانی اجازه دهند که تراکنش جایگزین شود. این زمان در استاندارد فعلی “هرگز” است که مطابق میل نودهای بیت کوین است زیرا آنها هنگامی که تراکنش جایگزین با کارمزد بالاتر را نمیپذیرند، کوین ها را واگذار میکنند. پس از آنکه نرخ محدودیت تراکنش به این سیاست رسید، تراکنشهایی که کارمزد کمی دارند نخواهند توانست کارمزد خود را به مقدار مورد پذیرش افزایش دهند. این موضوع مشخصا موضوع بدی است. در مسیری که افزایش کارمزد را امکان پذیر میسازد تغییری به وجود آمده است اما اگر با امکان پذیر نساختن تغییر در ورودیها یا خروجیها بخواهیم از آسیب رسیدن به زیروکانف جلوگیری کنیم، آسیبهای جدیدی ایجاد میشود. این کار به حفظ زیروکانف کمک میکند اما باعث ایجاد تراکنش های بسیار بزرگتر میشود و اگر کیف پول، کارمزد را به قدری افزایش دهد که کوینهای جدید تمام شوند، این موضوع نیز از کار میافتد. مشخصا تنش شدیدی بین حمایت از کارمزد تراکنشها و حمایت از زیروکانف وجود دارد. این دلیلی است که از حمایت از زیروکانف چشم پوشی کنیم.
هم چنین اجرای نودهای کامل بیشتر و کاهش متمرکز بودن ماینینگ نیز نکته خوبی است. این دو موضوع نه تنها برای زیروکانف بلکه برای خود بیت کوین نیز مشکل به حساب میآید و متاسفانه بعید است که به زودی بهبود یابد.
در آخر، برای زیروکانف بسیار ضروری است که تمام ماینرها از تمام تراکنشهای نودهای کامل خود برای صدور یا ایجاد بلاک جدید استفاده کنند. این امر تقریبا به طور جهانی انجام میشود اما نقطه ضعف بزرگی است که باعث فروپاشی کل سیستم خواهد شد.
چگونه عملکرد زیروکانف را متوقف کنیم؟
روش بهره بردن از پذیرش زیروکانف توسط فروشنده، پرداخت مستقیم به ماینر است. تراکنش خوب را به تمام نودهای کامل بیت کوین منتشر کنید اما تراکنشهای جایگزین بد را مستقیما به ماینرهایی ارسال کنید که خروجی را بین افرادی که پرداخت انجام میدهند و ماینری که هیچ کاری برای خروجی انجام نداده اند تقسیم میکنند. در ابتدا این کار به نظر سخت میرسد. باید به نوعی هر ماینر را رصد کنید، خودتان و آنها را در خطر رسوایی عمومی یا تعقیب قضایی قرار دهید و باید این اقدامات را تقریبا برای هر ماینر انجام دهید.
اما تمام این اقدامات را میتوان با سرویس دارک نت به طور خودکار درآورد. ماینرها با این سرویس قابل شناسایی هستند و کیف پول نرم افزاری نیز به طور خودکار میتواند تراکنش جایگزینی برای ماینرها ارسال کند. سپس سرویس دارک نت این تراکنش ها را میپذیرد و به ماینر مناسب ارسال میکند. سپس تنظیم بازپرداختها ناشناس میشود. ما استفاده از این سرویس را توصیه نمیکنیم زیرا امنیت ندارد و به هیچ وجه مناسب نیست. نتیجه نهایی آن نیز، فروشندگانی هستند که زیروکانف را پذیرفته اند و در مقیاس کلان کلاهبرداری میکنند.
تراکنشهای زیروکانف قطعا هم چنان مزیتهایی دارند. برای مثال نشان میدهد هرکسی که تراکنشی انجام میدهد حداقل به کلیدهای مورد نظر و سایر تضمین های در سطح بیت پزو دسترسی دارد. اما امنیت قوی ای که بیت کوین ارائه میدهد در بیت پزو وجود ندارد.
چگونه باید برنامه ریزی کرد؟
باید برنامه زمانبندی از پیاده سازی مرجع بیت کوین در خصوص زمان شروع توزیع با پذیرش تراکنشهای جایگزین بدون محدودیت وجود داشته باشد. این امر فقط هنگامی رخ میدهد که پذیرش زیروکانف دیگر نیمه منطقی نباشد، بلکه قبل از شروع کارمزد تراکنش باشد.
آخرین به روز رسانی: ۱۳۹۹/۸/۱۵