موږ د Monero blockchain په اړه زموږ لړۍ ته دوام ورکوو، او د نن ورځې مقاله به د RingCT (د حلقوي محرم لیږد) پروتوکول باندې تمرکز وکړي، کوم چې محرم لیږدونه او نوي حلقې لاسلیکونه معرفي کوي. له بده مرغه، په انټرنیټ کې لږ معلومات شتون لري چې دا څنګه کار کوي، او موږ هڅه وکړه چې دا تشه ډکه کړو.
موږ به په دې اړه وغږیږو چې څنګه شبکه د دې پروتوکول په کارولو سره د لیږد مقدار پټوي، ولې دوی د کلاسیک کریپټونټ حلقې لاسلیکونه پریښودل، او دا ټیکنالوژي به څنګه نوره وده وکړي.
څنګه چې دا پروتوکول په مونرو کې یو له خورا پیچلي ټیکنالوژیو څخه دی ، نو لوستونکی به د دې بلاکچین ډیزاین لومړني پوهه او د ایلیپټیک وکر کریپټوګرافي تیرې پوهې ته اړتیا ولري (د دې پوهې د برش کولو لپاره ، تاسو کولی شئ زموږ لومړی فصلونه ولولئ. په اړه پخوانۍ مقاله
د RingCT پروتوکول
په کریپټوټو اسعارو باندې یو له احتمالي بریدونو څخه د لیږل شوي لیږد مقدار او وخت د پوهې پراساس د بلاکچین تحلیل دی. دا اجازه ورکوي
د یادولو وړ ده چې د پیسو د پټولو مفکوره نوې نه ده. د Bitcoin کور جوړونکی ګریګ میکسویل یو له لومړیو څخه و چې دا یې په خپل کې تشریح کړ
د نورو شیانو په مینځ کې ، پروتوکول د دوړو محصولاتو مخلوط کولو سره ستونزې لرې کولو کې مرسته کوي - د لږ مقدار محصول (معمولا د لیږد څخه د بدلون په توګه ترلاسه کیږي) ، کوم چې د ارزښت په پرتله ډیرې ستونزې رامینځته کوي.
د جنوري په 2017 کې، د Monero شبکې سخت فورک ترسره شو، چې د محرم معاملو اختیاري کارولو ته اجازه ورکوي. او لا دمخه د ورته کال په سپتمبر کې، د 6 هارډ فورک نسخه سره، دا ډول لیږدونه په شبکه کې یوازې اجازه ورکړل شوي.
RingCT په یوځل کې ډیری میکانیزمونه کاروي: څو اړخیزه تړل شوي ناڅاپه نامعلوم ګروپ لاسلیکونه (د څو اړخیزو تړلو وړ ناڅاپه نامعلوم ګروپ لاسلیک، چې بیا وروسته د MLSAG په نوم یادیږي)، د ژمنې سکیم (پیډرسن ژمنې) او د حد ثبوتونه (دا اصطلاح په روسیه کې تاسیس شوی ژباړه نلري) .
د RingCT پروتوکول دوه ډوله نامعلوم لیږدونه معرفي کوي: ساده او بشپړ. بټوه لومړی تولید کوي کله چې معامله له یو څخه ډیر ان پټ کاروي ، دوهم - په مخالف حالت کې. دوی د لیږد مقدار او د MLSAG لاسلیک سره لاسلیک شوي ډیټا په اعتبار کې توپیر لري (موږ به لاندې پدې اړه نور خبرې وکړو). سربیره پردې، د بشپړ ډول لیږدونه د هر شمیر معلوماتو سره رامینځته کیدی شي، هیڅ بنسټیز توپیر شتون نلري. په کتاب کې
د MLSAG لاسلیک
راځئ چې په یاد ولرو چې د لاسلیک شوي لیږد معلومات څه دي. هره معامله مصرفوي او ځینې فنډونه تولیدوي. فنډونه د راکړې ورکړې محصولاتو رامینځته کولو سره رامینځته کیږي (مستقیم مشابه بانکنوټونه دي) ، او هغه محصول چې معامله مصرف کوي (په هرصورت ، په ریښتیني ژوند کې موږ بانکنوټونه مصرف کوو) ننوت کیږي (محتاط اوسئ ، دلته مغشوش کیدل خورا اسانه دي) .
یو انپټ ډیری محصولاتو ته اشاره کوي، مګر یوازې یو مصرف کوي، پدې توګه د "سګریټ سکرین" رامینځته کوي ترڅو د ژباړې تاریخ تحلیل ستونزمن کړي. که چیرې یو لیږد له یو څخه ډیر ان پټ ولري، نو دا ډول جوړښت د میټرکس په توګه ښودل کیدی شي، چیرې چې قطارونه داخل شوي او کالمونه مخلوط محصول دي. شبکې ته د ثابتولو لپاره چې معامله په سمه توګه خپل محصول مصرفوي (د دوی پټ کیلي پیژني)، معلومات د ګوتو لاسلیک سره لاسلیک شوي. دا ډول لاسلیک تضمین کوي چې لاسلیک کونکی د هر کالم د ټولو عناصرو لپاره پټ کیلي پیژني.
محرم معاملې نور د کلاسیک څخه کار نه اخلي
دوی ته ملټي لییر ویل کیږي ځکه چې دوی په یوځل کې څو آخذې لاسلیک کوي، چې هر یو یې د څو نورو سره مخلوط شوی، د بیلګې په توګه یو میټرکس لاسلیک شوی، نه یو قطار. لکه څنګه چې موږ به وروسته وګورو، دا د لاسلیک اندازه خوندي کولو کې مرسته کوي.
راځئ وګورو چې د حلقې لاسلیک څنګه رامینځته کیږي ، د لیږد مثال په کارولو سره چې 2 ریښتیني محصول مصرفوي او د مخلوط کولو لپاره د بلاکچین څخه m - 1 تصادفي کاروي. راځئ چې د محصول عامه کیلي په ګوته کړو چې موږ یې مصرف کوو
، او د دې مطابق د دوی لپاره کلیدي عکسونه: په دې توګه، موږ د اندازې میټرکس ترلاسه کوو 2 x m. لومړی، موږ اړتیا لرو چې د هرې جوړې تولید لپاره تش په نامه ننګونې محاسبه کړو:
موږ محاسبه د پایلو سره پیل کوو، کوم چې موږ د دوی عامه کیلي په کارولو سره مصرف کوو:او تصادفي شمېرېد پایلې په توګه، موږ لاندې ارزښتونه ترلاسه کوو:
، کوم چې موږ د ننګونې محاسبه کولو لپاره کاروو
د محصول راتلونکی جوړه (د دې لپاره چې دا اسانه کړي چې پوه شي چې موږ چیرته ځای په ځای کوو، موږ دا ارزښتونه په مختلفو رنګونو کې روښانه کړي دي). ټول لاندې ارزښتونه په یوه دایره کې محاسبه کیږي چې په لومړي انځور کې ورکړل شوي فورمولونه کاروي. د حساب کولو وروستی شی د ریښتیني محصولاتو جوړه لپاره ننګونه ده.
لکه څنګه چې موږ لیدلی شو، ټول کالمونه پرته له دې چې اصلي محصول ولري په تصادفي ډول تولید شوي شمیرې کاروي. لپاره π- کالم موږ به دوی ته هم اړتیا ولرو. راځئ چې بدلون وکړوپه s کې:
لاسلیک پخپله د دې ټولو ارزښتونو یوه برخه ده:
دا ډاټا بیا په لیږد کې لیکل کیږي.
لکه څنګه چې موږ لیدلی شو، MLSAG یوازې یوه ننګونه لري c0، کوم چې تاسو ته اجازه درکوي د لاسلیک اندازه خوندي کړئ (کوم چې دمخه ډیر ځای ته اړتیا لري). سربیره پردې، کوم انسپکټر، د معلوماتو په کارولو سره، د c1، …، cm ارزښتونه بحالوي او دا چک کوي. په دې توګه، زموږ حلقه تړل شوې او لاسلیک تایید شوی.
د بشپړ ډول د RingCT معاملو لپاره، یو بل کرښه د مخلوط محصولاتو سره میټرکس ته اضافه کیږي، مګر موږ به لاندې په دې اړه وغږیږو.
د پیډرسن ژمنې
د مونرو ژمنې د لیږد مقدار پټولو لپاره کارول کیږي او ترټولو عام انتخاب کاروي - د پیډرسن ژمنې. په هرصورت، یو په زړه پورې حقیقت - په لومړي سر کې پراختیا کونکو وړاندیز وکړ چې مقدارونه د عادي مخلوط په واسطه پټ کړي، دا د ناڅرګندتیا معرفي کولو لپاره د خپل سري مقدارونو لپاره محصول اضافه کول دي، مګر بیا دوی ژمنو ته مخه کړه (دا حقیقت ندی چې دوی خوندي کړي. د راکړې ورکړې اندازه، لکه څنګه چې موږ به لاندې وګورو).
په عموم کې، ژمنې داسې ښکاري:
چیرته C - پخپله د ژمنتیا معنی، a - پټ مقدار، H د بیضوی وکر (اضافی جنراتور) په اړه یو ثابت ټکی دی، او x - یو ډول خپل سري ماسک ، یو پټ فاکتور په تصادفي ډول رامینځته شوی. ماسک دلته اړین دی نو دریم اړخ نشي کولی په ساده ډول د ژمنې ارزښت اټکل کړي.
کله چې نوی محصول تولید شي، بټوه د هغې لپاره ژمنې محاسبه کوي، او کله چې مصرف شي، دا یا د نسل په جریان کې حساب شوي ارزښت اخلي یا د لیږد ډول پورې اړه لري، بیا یې حسابوي.
RingCT ساده
د ساده RingCT معاملو په صورت کې، د دې لپاره چې ډاډ ترلاسه شي چې راکړه ورکړه د انډول مقدار سره مساوي مقدار کې تولیدات رامینځته کړي (د پتلی هوا څخه پیسې نه تولیدوي)، دا اړینه ده چې د لومړي او دویمې ژمنې مجموعه یو شان وي، دا دی:
د ژمنې کمیسیونونه دا یو څه توپیر په پام کې نیسي - پرته له ماسک:
چیرته a - د کمیسیون اندازه، دا په عامه توګه شتون لري.
دا طریقه موږ ته اجازه راکوي چې تکیه کونکي ګوند ته ثابته کړو چې موږ ورته مقدارونه پرته له دې چې افشا کړو.
د شیانو د روښانه کولو لپاره، راځئ چې یو مثال وګورو. راځئ چې ووایو یوه معامله د 10 او 5 XMR دوه محصولات مصرفوي (په دې معنی چې دوی داخلیږي) او د 12 XMR ارزښت درې محصول تولیدوي: 3، 4 او 5 XMR. په ورته وخت کې، هغه د 3 XMR کمیشن ورکوي. په دې توګه، د مصرف شوي پیسو مقدار او د تولید مقدار او کمیشن د 15 XMR سره مساوي دی. راځئ هڅه وکړو چې ژمنې محاسبه کړو او د دوی مقدارونو کې توپیر وګورو (ریاضی په یاد ولرئ):
دلته موږ ګورو چې د معادلې د یوځای کولو لپاره، موږ اړتیا لرو چې د ننوتلو او محصول ماسکونو مقدار یو شان وي. د دې کولو لپاره، والټ په تصادفي توګه تولیدوي x1، y1، y2 او y3، او پاتې نور x2 داسې محاسبه کوي:
د دې ماسکونو په کارولو سره ، موږ کولی شو هر تصدیق کونکي ته دا ثابته کړو چې موږ د مصرف کولو څخه ډیرې فنډونه نه رامینځته کوو ، پرته لدې چې مقدار افشا کړو. اصلي، سمه ده؟
RingCT ډک دی
په بشپړ RingCT معاملو کې، د لیږد مقدار چیک کول یو څه ډیر پیچلي دي. په دې معاملو کې، والټ د آخذو لپاره ژمنې نه حسابوي، مګر هغه حسابونه کاروي کله چې دوی تولید شوي. په دې حالت کې، موږ باید فرض کړو چې موږ به نور د صفر سره مساوي مقدار کې توپیر ونه ترلاسه کړو، مګر پرځای یې:
دا z - د ننوتلو او محصول ماسکونو ترمینځ توپیر. که موږ غور وکړو zG د عامه کیلي په توګه (کوم چې دا په حقیقت کې دی)، بیا z شخصي کیلي ده. په دې توګه، موږ عامه او ورته خصوصي کیلي پیژنو. د دې ډیټا په لاس کې سره، موږ کولی شو دا د MLSAG حلقوي لاسلیک کې د ګډ شوي محصول عامه کیلي سره وکاروو:
په دې توګه، یو باوري حلقه لاسلیک به دا یقیني کړي چې موږ د یوې کالم ټولې شخصي کیلي پیژنو، او موږ یوازې په وروستي قطار کې شخصي کیلي پیژنو که چیرې معامله د مصرف کولو څخه ډیرې فنډونه تولید نکړي. په هرصورت، دلته د دې پوښتنې ځواب دی چې "ولې د ژمنو مقدار کې توپیر صفر ته نه رسیږي" - که zG = 0، بیا به موږ کالم د اصلي پایلو سره پراخه کړو.
د پیسو ترلاسه کوونکی څنګه پوهیږي چې څومره پیسې هغه ته لیږل شوي؟ دلته هرڅه ساده دي - د لیږد لیږونکی او د ترلاسه کونکي تبادلې کیلي د Diffie-Hellman پروتوکول په کارولو سره ، د لیږد کیلي او د ترلاسه کونکي لید کیلي په کارولو سره او شریک راز محاسبه کوي. لیږونکی د محصول مقدارونو په اړه معلومات لیکي، د دې شریک شوي کیلي سره کوډ شوي، د لیږد په ځانګړو برخو کې.
د حد ثبوت
څه پیښیږي که تاسو په ژمنو کې د مقدار په توګه منفي شمیره وکاروئ؟ دا ممکن د اضافي سکې نسل رامینځته کړي! دا پایله د منلو وړ نه ده، نو موږ باید تضمین وکړو چې هغه مقدارونه چې موږ یې کاروو منفي نه دي (د دې مقدارونو افشا کولو پرته، البته، که نه نو ډیر کار شتون لري او ټول بې ګټې دي). په بل عبارت، موږ باید ثابته کړو چې مجموعه په وقفه کې ده [0، 2n - 1].
د دې کولو لپاره ، د هر محصول مجموعه په بائنری ډیجیټونو ویشل شوې او ژمنې د هرې عدد لپاره په جلا توګه محاسبه کیږي. دا غوره ده چې وګورئ دا څنګه د مثال سره پیښیږي.
راځئ چې فرض کړو چې زموږ مقدارونه کوچني دي او په 4 بټونو کې مناسب دي (په عمل کې دا 64 بټونه دي)، او موږ د 5 XMR ارزښت تولید کوو. موږ د هرې کټګورۍ لپاره ژمنې محاسبه کوو او د ټولې اندازې لپاره ټول ژمنې:
بیا، هره ژمنه د سروګیټ سره مخلوط کیږي (Ci-2iH) او د بورومیو حلقوي لاسلیک (د بل حلقوي لاسلیک) سره په جوړه کې لاسلیک شوی، په 2015 کې د ګریګ میکسویل لخوا وړاندیز شوی (تاسو کولی شئ د دې په اړه نور ولولئ
یوځای اخیستل شوي، دا د رینج ثبوت بلل کیږي او تاسو ته اجازه درکوي چې ډاډ ترلاسه کړئ چې ژمنې په حد کې مقدار کاروي [0، 2n - 1].
څه راتلونکو؟
په اوسني تطبیق کې، د رینج ثبوتونه ډیر ځای نیسي - په هر محصول کې 6176 بایټس. دا د لوی لیږد لامل کیږي او له همدې امله لوړ فیسونه. د Monero راکړې ورکړې اندازه کمولو لپاره، پراختیا کونکي د Borromeo لاسلیکونو پر ځای بلټ پروفونه معرفي کوي - پرته له bitwise ژمنو څخه د رینج ثبوت میکانیزم.
خپلې پوښتنې وپوښتئ، د کریپټو کارنسي په برخه کې د ټیکنالوژیو په اړه د نوو مقالو لپاره موضوعات وړاندیز کړئ، او همدارنګه زموږ ګروپ کې ګډون وکړئ
سرچینه: www.habr.com