سیستم بلاکد(Blockd)
آقای فورستر در روز ۳ام ژانویه اقدام به ارسال یک واحد رمزارز اتریوم به این کیفپول کرده است، در همین زمان وی با انتشار یک بیانیهی عمومی کلید خصوصی خود را هم در اختیار عموم قرار داد. حدود ۲۰ دقیقه بعد داراییهای موجود در این آدرس انتقال یافت.
فردی که با استفاده از این کلید خصوصی قصد جابجایی دارایی موجود در کیفپول آقای فورستر را داشته و سعی کرده تا این رمزارز را به کیفپول خود انتقال دهد، در رابطه با این آدرس اطلاعات جالبی را به اشتراک گذاشته است. وی در ابتدا با انتشار یک تصویر به اشتراکگذاری جزئیات مربوط به تراکنش ناموفق خود پرداخت و اعلام کرد که نسبت به این موضوع تحت تاثیر قرار گرفته است، زیرا این تراکنش هرگز به شبکهی اتریوم راه نیافته است.
همانطور که در تصویر فوق مشاهده میکنید، رمزارزها به یک آدرس با پیش کد 0x25 ارسال شدهاند، نه یک آدرس 0x4e2. فورستر در بیانیهی خود اعلام کرد که 0x25 پیش کد کیفپول امن خودش است و رمزارزها نیز به این آدرس ارسال شدهاند.
به گفتهی اقای فورستر این ویژگی امنیتی به دلیل فرایندی به نام «جایگزین شدن توسط کارمزد» یا « Replace by Fee» و ترکیب آن با سایر فرایندهای عملیاتی نسبتاً جدید به وجود آمده است.
یک سادگی بسیار پیچیده
ایدهی این ویژگی امنیتی بسیار ساده است. شما یک تراکنش را امضاء میکنید، اما در رابطه با آن هیچ اطلاعاتی در اختیار شبکه قرار نمیدهید و آن را به عنوان یک پشتیبان نزد خود نگه میدارید.
زمانی که با مشکلی مواجه شدید(مانند آنچه در تصویر فوق رخ داده و کاربری با نام مستعار Gucards قصد جابجایی داراییهای آقای فورستر را داشته است)، سریعا تراکنش پشتیبان را منتشر میکنید، با فرض اینکه کارمزد پرداخت شده توسط شما بیشتر از کارمزد پرداختی هکر باشد، تراکنش مربوط به کیفپول امن شما بالاتر از تراکنش هکر قرار گرفته و داراییها به کیفپول امن منتقل میشود.
در این حالت تراکنش مهاجم از شبکه خارج میشود، به همین جهت نمیتوانیم تراکنش ایجاد شده توسط Gucards را مشاهده کنیم.
البته به آنچه توسط آقای فورستر و Gucards گفته شده نمیتوان اکتفا کرد و باید این روش توسط کاربران مورد بررسی و امتحان قرار بگیرد. گرچه این روش ابتکاری و جدید به شمار میآید، اما سادگی آن به ما اجازه میدهد که به سادگی نمونهی مشابه را کدنویسی کرده و این فرایند را مورد تجزیه و تحلیل قرار دهیم.
یک قانون نانوشته
همانطور که ممکن است بدانید «جایگزینی توسط کارمزد» یک قانون و قاعدهی ضمنی است. هنگامی که دو تراکنش کاملا یکسان در شبکه وجود دارد و در صف انتظار برای اضافه شدن به شبکه به سر میبرند، ماینرها ابتدا تراکنشی که کارمزد بیشتری پرداخته کرده است را بررسی و پردازش میکنند.
البته ماینرها میتوانند خلاف این کار را انجام داده و تراکنشی را انتخاب کنند که کارمزد کمتری پرداخت کرده است، اما در این صنعت بیرحم که اساسا همهچیز برپایهی رقابت جلو میرود، چه کسی چنین کاری را انجام میدهد؟ با در نظر گرفتن تجربیات پیشین میتوان گفت که در اغلب موارد ماینرها با صرف نظر از این که تراکنش مورد نظر چندمین «کلون» یا کپی در صف انتظار است، تراکنشی که بیشترین کارمزد را پرداخت کرده را انتخاب میکنند.
بنابراین، زمانی که هکر یک تراکنش جدید برای سرقت دارایی کاربر ایجاد میکند، سیستم بلاکد تراکنشی که قبلا امضا شده و کارمزد بیشتری پرداخت میکند را انتخاب کرده و به جای کاربر منتشر میکند.
در رابطه با اتریوم باید یادآور شد که پس از هاردفورک اخیر، زمان تولید بلاک به ۱۲ ثانیه کاهش یافته است، بنابراین چه در زمان انباشت تراکنشها و چه زمانی که شبکه نسبتا خلوت شده، سیستم بلاکد باید با سرعت بسیار بالایی کار کند زیرا هکرها همیشه میتوانند کامزد تراکنش خود را افزایش دهند. پس میتوان گفت که راز موفقیت این روش احتمالا افزایش سریع میزان کارمزد است.
یک نقطه ضعف
البته یک نقطه ضعف بسیار آشکار هم وجود دارد. درصوتی که هکر و مالک دارایی پس از تلاشهای پیدرپی کارمزد تراکنش را آنقدر بالا ببرند که این کارمزد به اندازهی ارزش دارایی موجود در کیفپول شود، نه تنها دارایی کاربر به عنوان کارمزد مصرف شده و دیگر در اختیار وی قرار نخواهد داشت، بلکه هکر نیز میتواند خودش را از هرگونه اتهام تبرئه کند زیرا چیزی برای اثبات باقی نخواهد ماند.
زمانبندی و نحوهی اجرا در این روش بسیار مهم است، بنابراین نمیتوان به آن تکیه کرد. البته آقای فورستر اعلام کرده است که بجای امضاء تراکنش منتشر نشده از طریق رابط کاربری که ممکن است خیلی ایمن نباشد، کاربران میتوانند به طور بالقوه تراکنش امضاء شدهی آفلاین که خودشان ایجاد کردهاند را ارائه کنند که توسط سرویس اصلی آنها آشکارا تحت نظارت است و در صورت وقوع هرمشکلی سریعا واکنش نشان خواهد داد.
کلیدهای خصوصی عمومی
همانطور که میدانید، امضاء رمزنگاری شده روشی برای احراز هویت و نشان دادن مالکیت بدون افشاء مشخصات شما است. کلیدهای خصوصی همانند آنچه آقای فورستر منتشر کرده است، ترکیبی از حروف و اعداد گنگ و نامفهوم هستند که مالکیت داراییهای رمزارزی را اثبات میکنند.
نمونهی کلید خصوصی منتشر شده توسط رابرت امسی فورستر:
درصورتی که این اعداد و ارقام را منتشر کنید، قدرت کامل کنترل داراییهایتان را در اختیار مهاجم قرار دادهاید. از آنجا که قصد اشتراکگذاری کلید خصوصی را ندارید و تنها میخواهید تراکنشهای خود را به استفاده از آن امضاء کنید، عملکرد سیستم به آن فرایندی که امضاء شده است محدود خواهد شد.
در مثال فوقالذکر، چیزی که امضاء شده «حق جابجایی و انتقال دارایی به آدرس عمومی یک کیفپول امن» است. این دستور غیرقابل تغییر است و اگر جزئیات مربوط به سفارش این تراکنش امضاء شده را منتشر کنید، سایرین تنها میتوانند این دستور را دنبال کنند و از روند کار مطلع شوند(که ارسال مقداری رمزارز اتریوم به یک کیفپول امن میباشد).
حفظ حریم خصوصی یکی از دلایل ظهور رمزارزهاست
این توانایی، یعی ثبت دستور بدون فاش نکردن هویت کاربر یکی از بخشهای مهم و قابل توجهی اختراع بیت کوین است، و بدون وجود آن صنعت رمزارزها عملا به محبوبیت فعلی خود نمیرسید؛ اما با تمام این تفاسیر باید به یاد داشته باشید که هر امضاء میتواند بخش کوچکی از کلید خصوصی کاربر را فاش کند. از این رو، توصیه میشود که پس از هر مبادله آدرس خود را تغییر دهید.
در واقعیت هیچکس چنین کاری انجام نمیدهد، زیرا روند بازگشت به کلید خصوصی از طریق امضاء مجاز شده در حال حاضر تنها یک تئوری است.
نگرانیهای موجود
برای زمان حال و آیندهای که در حال حاضر قابل پیشبینی است، سیستمی که در پیش روی ماست از لحاظ مفهوم رمزنگاری موجب نگرانی است. این سیستم به نظر از لحاظ اعتماد مناسب میآید، اما دیدبانی اطلاعات شما به نظر مشکلساز میباشد و دلیل آن این است که شما در حال انجام تراکنشی هستید که به صورت مستقیم به شبکهی بلاکچین مخابره نشده و شما باید به سیستم آنلاین خود و این شرکت اعتماد کنید!
شما باید به این سیستم اعتماد کنید، زیرا برای امضاء کردن نیاز دارید تا کلید خصوصی خودتان را فاش کنید. زمانی که این امضاء صورت گرفت، در صورت تمایل میتوانید جزئیات مربوط به تراکنش را به اشتراک بگذارید و اجازه دهید که تمام شبکه روند سفارش مذکور(مثلا انتقال اتریوم به کیفپول امن) را دنبال کنند.
اگر در روند امضاء تراکنش کلید خصوصی فاش شود(با فرض اینکه پیش از راهاندازی و عملیاتی شدن سیستم بلاکد این اتفاق رخ داده است)، داراییهای رمزارزی سریعا به کیفپول دیگری به غیر از کیفپول امن مورد نظر شما انتقال خواهد یافت.
ترکیب و عملیاتی شدن این جوانب و فرایندها در سیستم بلاکد بسیار جالب است، زیرا با وجود آنکه هیچ یک از سیستمهای ساخته شده توسط دست بشر تا به امروز کامل و تمام عیار نبودهاند و این سیستم هم امنیت کامل و همه جانبهای را ارائه نمیکند، اما با ارائهی یک راهکار بسیار ساده و در عین حال پیچیده میتواند سطح بالاتری از امنیت را به وجود آورد که در آن هکرها سایر هکرها را هک میکنند!
نظر شما در رابطه با سیستم بلاکد چیست؟ آیا میتوان از این سیستم به عنوان یک لایهی امنیتی اضافه استفاده کرد و یا تنها در موارد خاص کاربرد خواهد داشت؟ نظرات و پیشنهادات خود را با تیم کوینیت در میان بگذارد.