آموزش ترید و تحلیل تکنیکال - مرکز تحقیقات بلاک چین

پروتکل میمبل ویمبل (MimbleWimble) چیست؟

پروتکل میمبل ویمبل (MimbleWimble) چیست؟

 

میمبل ویمبل یک پروتکل حریم خصوصی (Privacy) است که مانع آشکار شدن اطلاعات خصوصی در بلاکچین می‌ شود. نام این تکنولوژی از یکی از طلسم های سری هری پاتر گرفته شده که مردم را از فاش کردن رازها باز می ‎داشت. سپیدنامه (white-paper) بیت‌ کوین دارای بخشی با عنوان حریم خصوصی است که در آن ساتوشی حریم خصوصی بیت‌ کوین را با حریم‎ خصوصی نقل و انتقالات بانکی مقایسه کرده و محدودیت‎ های آن را به‌ طور واقع بینانه‎ای توضیح داده است. امروزه محدودیت‌ های حریم خصوصی بیت‎ کوین بیشتر هم شده‌اند چرا که روش‌ های شناسایی کاربران بیت‌ کوین پیشرفت کرده و از طریق اطلاعاتی همچون مشخصات آنان در صرافی ها می‌ توان به هویت افراد پی برد. این امر باعث تعجب افرادی شده که فکر می‌ کردند بیت کوین به علت عدم آشکار کردن نام افراد دارای حریم خصوصی است.

بیت کوین 3 راز را در مورد هر تراکنش فاش می‌ کند:

  1. نشانی فرستنده
  2. مبلغ سکه های ارسالی 
  3. آدرس گیرنده

بیت کوین این رازها را به خاطر اینکه از حریم خصوصی نفرت دارد فاش نمی‌ کند. چرا که هر سیستم مالی باید دو نیاز را برآورده کند: 

  1. باید مشخص شود که مقدار دریافتی برابر با مقدار ارسالی است. 
  2. باید اطمینان حاصل شود که تراکنش توسط مالک پول و دارایی اتفاق افتاده است. 

نکته مهم:

  • بیت کوین این دو نیاز را با فاش کردن 3 راز بالا برآورده می‌ کند. 

تراکنش های بیت کوین شامل مقدار و آدرس گیرنده در یک متن ساده است. این برای براورده کردن نیاز اول کافی است، ما می‌ بینیم که ۵ بیت کوین وارد تراکنش شدند و ۵ تا بیرون آمدند. 

  • برای تأمین نیاز دوم، بیت کوین از آدرس‌ های عمومی جفت شده با کلید های خصوصی مربوطه استفاده می‌ کند. فرستنده یک امضا را با استفاده از کلید خصوصی مربوطه تولید می‌ کند و تراکنش (که، تکرار می‌کنم، شامل مقدار و آدرس گیرنده در متن ساده است) را با آن امضا می‌ کند. هر کسی می‌ تواند چک کند که تراکنش با کلید خصوصی مربوط به آدرس عمومی فرستنده امضا شده است. 

ادعایی که من می‌ خواهم از میمبل ویمبل درست کنم این است که آن دو نیاز را برآورده می‌ کند در حالی که هیچکدام از این سه راز فاش نمی‌ شود. اینجا قصد داریم این مطلب را با برخی از اعمال ریاضیات ساده، قابل درک برای یک فرد 10 ساله تحصیل کرده، و همچنین با برخی اعمال پیشرفته ریاضی، قابل درک برای یک فرد 12 ساله تحصیل کرده است، اثبات کنیم. 

 


پروتکل میمبل ویمبل به زبان ساده


بسیاری از مردم از ریاضیات می‌ ترسند و وقتی در یک مقاله آن را می‌ بینند، از آن صرف‌ نظر می‌ کنند. خب، آیا شما از ریاضیات زیر می‌ ترسید؟

 

پروتکل میمبل ویمبل به زبان ساده

اگر من یک قلم و کاغذ و دو دقیقه وقت به شما بدهم، می‌ توانید هر کدام از اینها را حل کنید، درست است؟ ضرب کردن اعداد برای مردم آسان است. در مورد کامپیوتر ها، حتی یک کامپیوتر جیبی هم می‌ تواند میلیون‌ ها عملیات ضرب را در کسری از ثانیه انجام دهد. 

اما بیایید یک تغییر کوچک ایجاد کنیم و این سوال را به طرف دیگر منتقل کنیم:

 

پروتکل میمبل ویمبل به زبان ساده

حالا اگر یک خودکار و کاغذ و دو دقیقه زمان به شما بدهم می‌ توانید این ها را حل کنید؟ احتمالا نه. تنها کاری که کردیم این بود که مسیر عملیات را جا به‌ جا کردیم و مسئله خیلی سخت‌ تر شد. (در طول این مقاله برای فهم بهتر اعداد کوچک مثال زده شده‌اند. در حالی که کامپیوتر ها از اعدادی مانند این استفاده نمی‌ کنند؛ آن‌ ها از اعداد بسیار بزرگ استفاده می‌ کنند. در حقیقت، یک کامپیوتر می‌ تواند نشان دهد که من چند شماره را با هم جمع کرده‌ ام تا عدد کوچکی چون ۴۲۲۱ بسازم، اما حتی برای یک کامپیوتر قدرتمند مدرن هم یافتن این که چه چیزهایی با هم جمع می‌ شوند تا عدد خیلی بزرگی به دست بیاید بسیار سخت است)

برای جلوگیری از پیچیده شدن مطلب وارد بحث درباره منحنی‌ های بیضوی نمی‌ شویم، اما باید متذکر شد که در عمل، سیستم‌ های رمزنگاری از هر عددی استفاده نمی‌ کنند، بلکه از اعداد خاص و معتبری روی منحنی‌ های بیضوی بهره می‌ برند. اما ماهیت مطلب تفاوتی نمی‌ کند و خاصیت ساده ریاضی در کار است: ضرب آسان، فاکتورگیری سخت است. 

 

استفاده از ویژگی‌ های ضرب برای پنهان کردن اطلاعات و تایید مالکیت در میمبل ویمبل

اگر از شما اعداد مجهول تساوی زیر را سؤال کنیم

 

استفاده از ویژگی‌ های ضرب برای پنهان کردن اطلاعات و تایید مالکیت در میمبل ویمبل

شما نمی‌ توانید به سادگی جواب دهید، چون علامت سوال در سمت چپ است. فهمیدن فاکتورهای گمشده سخت است. این اعداد ۲۳ و ۸۳ هستند. حالا می‌ خواهید چک کنید که آیا واقعا ۲۳ و ۸۳ است؟ برای تایید این ادعا، شما یک مسئله ضرب دارید و ضرب آسان است. شما می‌ توانید به سرعت آن را حل کنید و ببینید که، بله، آن‌ ها در واقع عواملی هستند که تساوی فوق را برقرار می‌ کنند. این فقط یک ضرب است. دانش آموزان ۱۰ ساله تحصیل‌ کرده هم این را می‌ دانند. اما ما دو کار بسیار مهم را برای رمزنگاری انجام دادیم.

  1. ما می‌ خواستیم اطلاعات را پنهان کنیم و حالا می‌ دانیم که چگونه این کار را انجام دهیم: ما می‌ توانیم اطلاعات را با ضرب کردن در اعداد مجهول پنهان کنیم. این کار باعث می‌ شود به سختی رمزگشایی شوند.
  2. و همچنین می‌ خواستیم ثابت کنیم که کلیدهای خصوصی را داریم و مالک کوین‌ ها هستیم. خوب، حالا ما می‌ دانیم که چطور این کار را هم انجام دهیم: با آشکار کردن عوامل اعداد بزرگ. ما تمام این کارها را با استفاده از ویژگی‌ های اساسی ضرب انجام دادیم.

 

پنهان کردن مقدار تراکنش ها در میمبل ویمبل

اجازه دهید از ترفند خود برای پنهان کردن اطلاعات با ضرب آنها در اعداد بزرگ و محرمانه استفاده کنیم. یکی از سه قسمت از اطلاعات فاش شده بیت کوین مقدار سکه‌ ها است. وقتی پنج بیت کوین را از طریق بلاکچین بیت کوین فرستاده می‌ شود، این عدد در متن ساده با عنوان «5» نمایش داده می‌ شود. پس اجازه دهید آن را با ضرب کردن چند عدد دیگر پنهان کنیم. شما نمی‌ توانید به سادگی این مقدار را حدس بزنید:

 پنهان کردن مقدار تراکنش ها در میمبل ویمبل

رابطه فوق کمی شبیه به این است که مقادیر چگونه در میمبل ویمبل نمایش داده می‌ شوند (اما دقیقا همان نیست). در میمبل ویمبل، فرستنده و گیرنده هر کدام با اعدادی همانند تصویر زیر حضور می‌یابند:

 

پنهان کردن مقدار تراکنش ها در میمبل ویمبل

که یک تعهد پدرسن نامیده می‌ شود. نکته ی مهم این است که تعهد پدرسون شامل دو قسمت است: قسمت مبلغ (که مبلغ در آن با اعداد بزرگ مخفی شده است) و قسمت کلید خصوصی

  • توجه داشته باشید که فرستنده و گیرنده هر دو در ایجاد تراکنش مشارکت دارند که این امر کاملا متفاوت از بیت‌ کوین است. لذا نیاز است که فرستنده و گیرنده هر یک تعهد پدرسون خود را با هم به اشتراک بگذارند. کوین Beam شامل یک سیستم BBS (تابلو اعلانات امن) جدا از بلاکچین Beam است تا فرستنده و گیرنده را قادر به تبادل تعهدات پدرسون خود کند. 

 

خاصیت توزیع پذیری ضرب نسبت به جمع

حتما با خاصیت توزیع‌ پذیری ضرب نسبت به جمع آشنا هستید. یعنی وقتی که ما می‌ خواهیم دو عدد را در یک عدد سوم ضرب کنیم، می‌توانیم آن ها را با هم جمع کنیم و سپس در عدد سوم ضرب کنیم یا می‌ توانیم ابتدا عدد اول را در آن عدد ضرب کنیم و سپس عدد دوم را در آن ضرب کنیم و آن ها را با هم جمع کنیم. این دو فرایند معادل یکدیگر هستند.

 

خاصیت توزیع پذیری ضرب نسبت به جمع

 

اثبات اینکه پول ورودی تراکنش با پول خروجی آن برابر است

به یاد داشته باشید که یکی از الزامات یک سیستم مالی این است که جمع مقادیر ورودی و خروجی هر تراکنشی باید صفر باشد. تراکنش میمبل ویمبل شامل دو تعهد پدرسن است: یکی برای پول ورودی تراکنش و یکی برای پول خروجی آن:

 

اثبات اینکه پول ورودی تراکنش با پول خروجی آن برابر است

به عنوان مثال تراکنشی را در نظر بگیرید که فرستنده ۵ سکه ارسال کند لذا گیرنده ۵ سکه به‌ دست می‌آورد:

 

اثبات اینکه پول ورودی تراکنش با پول خروجی آن برابر است

اما به جای جداگانه ضرب کردن مقدار ورودی در عددی بزرگ و سپس ضرب کردن مقدار خروجی در عددی بزرگ، می‌ توانیم آن ها را اینگونه جمع کنیم:

 

5 منهای 5 صفر است. آن را در عددی بزرگ ضرب کنیم باز هم حاصل صفر خواهد بود. 

 

لذا فقط قسمت دوم یعنی قسمت مربوط به کلیدهای خصوصی باقی می‌ ماند:

 

مشاهده می‌ شود که بخش مبلغ از بین رفت اما در هر قدم، مقدار آنها با ضرب شدن در اعداد محرمانه بزرگ مخفی ماندند. ما تأیید کردیم جمع پول ورودی و خروجی تراکنش صفر است بدون اینکه فاش شود مقدار چقدر است. اگر ورودی و خروجی تراکنش جمع ورودی و خروجی تراکنش صفر نباشد در قسمت مبلغ مقداری باقی خواهد ماند که با قسمت کلید خصوصی جمع خواهد شد.

 

 

بنابراین هسته (Kernel) تراکنش قابل تقسیم بر کلیدهای خصوصی ۲۳ و ۸۳ نخواهد شد. پروتکل Beam این تراکنش را به صورت نادرست رد می‌کند. (ممکن است شما در این مثال متوجه شوید، اگر مقدار عدد صفر نبود، اما چیزی که به 23 و 83 تقسیم می‌ شد مثل عدد 1909، پس هسته هنوز هم بر 23 و 83 قابل تقسیم بود. این تصادف ممکن است به خاطر انتخاب اعداد کوچک در مثال پیش آمده باشد. در عمل اعدادی که توسط پروتکل و کامپیوترها مورد استفاده قرار می‌ گیرد بسیار بزرگ است طوری که شانس این تصادف را به صفر نزدیک می‌کند.) 

لذا ما توانستیم دو نیازی را که در ابتدای مقاله برای سیستم مالی ذکر کردیم، تأمین کنیم بدون آنکه چیزی را فاش کنیم. 

  1. وقتی قسمت مبلغ صفر می‌ شود به این معناست که پول ارسال شده فرستنده با پول دریافت شده توسط گیرنده دقیقا برابر است. یعنی پولی به وجود نمی‌ آید و پولی از بین نمی‌ رود. 
  2. دومین نیاز هر سیستم مالی این بود که ثابت کنیم تراکنش توسط دارنده پول (کلید خصوصی) ایجاد شده‌ است. فرستنده با آشکار کردن کلید خصوصی خود نشان می‌ دهد که هسته تراکنش بر آن قابل تقسیم بوده و اثبات می‌کند که مالک پول است.

بنابراین مشاهده می‌ شود که میمبل ویمبل به اهداف بیت ‎کوین بهتر از خود بیت‌ کوین دست می‌ یابد (البته اگر حریم خصوصی یک هدف باشد).

 

بیشتر بخوانید:

ارز دیجیتال گرین (Grin) چیست؟ هر آنچه که باید بدانید

IPFS چیست؟ پلتفرم اشتراک فایل همتا به همتا و غیرمتمرکز

بلاک چین DeFi چیست؟ چشم انداز امور مالی غیر متمرکز

سرمایه گذاری بلند مدت در ارزهای دیجیتال

ترید و معامله ارزهای دیجیتال را چگونه شروع کنیم؟


منبع: مرکز تحقیقات بلاکچین


آموزش صفر تا صد ترید و تحلیل تکنیکال ارزهای دیجیتال، بورس و فارکس

درباره ما

"مرکز تحقیقات بلاک چین" به‌عنوان بزرگترین وب سایت تخصصی، پژوهشی و آموزشی بلاک چین در جهان توسط مجموعه ای از متخصصان حوزه بلاک چین و ارزهای رمزنگاری شده از سال 1396 به ‌صورت رسمی فعالیت خود را آغاز نمود.


ادامه درباره ما

 

ارتباط با پشتیبانی در تلگرام bircsupport1@

کانال تلگرام مرکز تحقیقات بلاکچین