Bulletproof ها ابتدا در مقاله ای پژوهشی با نام “Bulletproof ها: روشی برای اثبات تراکنش های محرمانه، بدون برملا کردن جزئیات آنها” معرفی شدند. این پروپوزال از یک روش مقیاس گذاری روی زنجیره (On-Chain) برای حریم خصوصی استفاده کرده و نیز راهی جدید، سریع تر و فشرده تر جهت تایید تراکنش های محرمانه با بهسازی حریم خصوصی ارایه می دهد.
Bulletproof ها می توانند حجم ممیزی و تایید چنین تراکنش هایی را شدیدا کاهش دهند. علاوه بر این، نویسندگان این مقاله که اعضای گروه رمزنگاری کاربردی دانشگاه استنفورد به مدیریت پروفسور Dan Boneh هستند، تا کنون موفق به استفاده از Bulletproof ها دراجرای مدل های کاربردی نیز شده اند.
Bulletproof ها چگونه کار می کنند؟
در حال حاضر تمام اطلاعات تراکنش ها، از جمله آدرس کیف پول ها و مقادیر بیت کوین های فرستاده شده، در بلاکچین بیت کوین قابل مشاهده هستند. این موضوع، حریم خصوصی همه کاربران را تحت تاثیر قرار می دهد. به طور مثال اگر بخواهیم دستمزد افراد را با بیت کوین بپردازیم، تمامی اطلاعات مربوط به حقوق تک تک آن ها در شبکه بلاکچین قابل مشاهده خواهد بود. این به مثابه این است که مثلا صاحبخانه شما می تواند به اطلاعات درآمدی شما دست یافته و بر اساس آن کرایه خانه را افزایش دهد.
تراکنش های محرمانه (Confidential Transactions) یا به اختصار CT چیست؟
برای افزایش حریم خصوصی بلاکچین ، نیاز شدیدی به تراکنش های محرمانه احساس می شود. این گونه تراکنش ها از چندین ترفند مختلف علم رمزنگاری استفاده می کنند به ترتیبی که تنها ارسال کننده و دریافت کننده ی یک تراکنش می توانند از مبلغ جا به جا شده مطلع شوند. با این که در این روش، مبالغ تراکنش به صورت مبهم در آمده و از دید بقیه افراد مخفی می ماند، ولی باز هم امکان انجام محاسبات ریاضی برای تایید تراکنش به استخراج کنندگان
به بیان دیگر هر کسی می تواند تایید کند که مجموع بیت کوین های فرستاده شده، بیشتر از مجموع بیت کوین های دریافتی است ( علت وجود این تفاوت، کسر کارمزد تراکنش است).
به طور کلی، تراکنش های محرمانه روشی هستند که در آن ها جزئیات مبالغ جا به جا شده در تراکنش از دید افراد ناظر مخفی می ماند؛ ولی امکان بررسی صحت تراکنش ها و جا به جایی مبالغ مجاز در آن ها توسط هر فرد دیگری امکان پذیر است. این نوع روش ها در دنیای رمزگذاری تحت عنوان “مدرک بدون دانش” یا zero-knowledge proofs شناخته می شوند.
با این روش می توان بدون در اختیار گذاشتن جزئیات، صحت یک تراکنش را ثابت کرد
با این وجود، همان طور که در مقاله Bulletproofs نیز آمده است: “پروپوزال های کنونی برای عملی کردن و تایید تراکنش های محرمانه تا کنون به نتایج مطلوبی دست پیدا نکرده اند.
برای تایید این تراکنش ها بدون انتشار جزئیات آن ها، یا به صرف وقت و هزینه ی بسیاری نیاز داریم و یا این که باید از ساختاری تقریبا متمرکز با توان پردازشی بسیار بالا استفاده نماییم؛ که هر دو نامطلوب هستند.”
اول از همه مسئله این است که در تراکنش های چند امضایی (multisig)، روند اثبات صحت تراکنش نیز باید چندگانه باشد. در این حالت سختی تایید این تراکنش ها با اضافه شدن تعداد امضا ها به صورت خطی افزایش می یابد. برای مثال اگر حجم مدارک تایید یک تراکنش یک امضایی ۲ کیلوبایت باشد، حجم یک تراکنش دو امضایی ۴ کیلوبایت، سه امضایی ۶ کیلوبایت و به همین ترتیب افزایش می یابد.
علاوه بر این، تراکنش های محرمانه برای تایید، به یک ساختار تقریبا متمرکز نیاز دارند و باید روند تایید آن ها توسط یک نهاد مورد اعتماد شروع شود.
اگرچه ویژگی های امنیتی تعریف شده در سیستم بیت کوین با متمرکز بودن هیچ بخشی از فرایند تایید تراکنش ها موافق نیست. دلیل این موضوع نیز آن است که یک نهاد مرکزی هر چقدر هم که مورد اعتماد باشد می تواند به دلایل مختلفی مدارک جعلی ای تولید کرده و تراکنش های اشتباهی را تایید کند. این مدارک جعلی می توانند منجر به ایجاد تورم، آن هم به صورت نامحسوس و غیر قابل کنترلی شوند.
Bulletproof ها می توانند این مشکل را حل کنند
با توجه به مطالب این مقاله: “در یک سیستم توزیع شده که اثبات صحت تراکنش ها از طریق شبکه منتقل شده و یا به مدت طولانی ذخیره می شوند، پایین آوردن حجم گواه صحت تراکنش ها باعث کاهش هزینه ها می شود.”
انتظار می رود که Bulletproof ها بتوانند حجم عملیات رمزنگاری در اثبات تراکنش ها را از ۸ کیلوبایت به تنها ۷۳۴ بایت کاهش دهند. البته شدت این کاهش به نوع تراکنش ها ن یز بستگی دارد.
مهم ترین مزیت استفاده از روش Bulletproofs در تایید تراکنش های چند امضایی است. در این تراکنش ها به جای این که حجم اطلاعات محاسباتی عملیات رمزنگاری با تعداد کلید ها به صورت خطی افزایش پیدا کند، تنها درصد کمی افزایش می یابد. علاوه بر این، Bulletproofs به یک آرایش متمرکز و مورد اعتماد نیاز ندارند.
آقای Andrew Poelstra، یکی از ریاضی دانان پروژه Blockstram که کمک بسیاری در گردآوری این پروپوزال نیز داشته است، استفاده از Bulletproof ها را بسیار عملی دانست و گفت: “در حال حاضر اولین نسخه Bulletproof ها را در کتابخانه libsec256k1 بیت کوین پیاده سازی کرده ایم. در تست های ما سرعت تایید تراکنش ها با این روش ۳٫۵ برابر روش های پیشین بود. این روش هیچ تداخلی با دیگر بخش های سیستم بیت کوین نداشته و به همین دلیل به کارگیری آن بسیار آسان است.”
تا همین اواخر تراکنش های محرمانه تنها یک مفهوم نظری تلقی می شدند؛ ولی با به کارگیری Bulletproof ها، احتمال پیاده سازی این تراکنش ها روی بیت کوین