Как RingCT скрива сумите на транзакциите на Monero

Публикувано:
By Diego Salazar

Поверителността на Monero не зависи от единичен механизъм който ако бъде повреден ще разкрие цялата транзакция а по-скоро от три различни принципа които работят в тандем за да осигурят цялостна поверителност като същевременно компенсират слабостите на другите части. Този триъгълен подход се състои от сигнатури на пръстена, RingCT и стелт адреси. Тези три технологии скриват съответно реалния изход (подател), сумата и получателя. Днес ще говорим за RingCT.

RingCT е може би най-техническият от трите и може да бъде труден за разбиране така че няма да описваме как точно работи а по-скоро ще покажем как е възможно да не знаете сума и въпреки това да потвърдите неща за нея . И не се притеснявайте както винаги ще използваме много примери.

Първо нека проучим защо е важно да проверяваме всичко относно сумите. Защо просто не можем да ги запазим в пълна тайна? Отговорът е че има хитри начини по които хората могат да създават пари от нищото ако имат възможност. Как може да работи нещо подобно? Нека да видим примери.

Ако искате да закупите нещо от ваш приятел и той иска десет долара за него тогава вие започвате с десет долара а той започва с нула. След като му дадете десетте долара той има десет долара а вие имате нула. Ти започна с десет а сега той има десет. При тази транзакция не са създадени или унищожени пари.

С криптовалутите един умен човек може да даде десет долара за нещото и вместо да получи нула долара ресто може да получи два долара обратно. Вместо 0 и 10 да водят до 10 и 0 (или 10=10), сега 0 и 10 води до 10 и 2 (или 10=12). Две Monero току-що бяха създадени от нищото. Можете да си представите, че ако индивидът трябваше да си причини това няколко пъти, той би могъл да натрупа гигантско състояние за кратко

С биткойн и други това би било лесно да се види. Разглеждате входовете влизащи в транзакциите и изходите които излизат и се уверете че изпратеното е равно на полученото. Ако тези суми са криптирани и не се виждат тогава потребителят няма начин да провери дали изпратеното и полученото е едно и също.

В опит да увеличи поверителността на биткойн, Грегъри Максуел създаде поверителни транзакции (CT), нова технология която би позволила криптирани суми като същевременно доказва, че нищо не е създадено или унищожено в процеса. Както при повечето технологии за поверителност тя не успя да се превърне в биткойн но Monero имаше желание да я приеме. Имаше само един проблем. Вече внедрената технология за пръстеновидни подписи беше несъвместима с предложената идея. И така един от изследователите на MRL по това време, Shen Noether модифицира CT в RingCT версия на CT която беше съвместима с подписите на пръстена

Още веднъж, начинът по който работи това е много технически и би било трудно да се обясни в уводна статия. За ентусиастите на криптографията които просто трябва да знаят има много задълбочени статии написани в интернет за вътрешната работа на CT. За останалите от нас тази статия ще покаже как е възможно да се скрият сумите но въпреки това да се докаже че нищо не е създадено или унищожено.

Да кажем че Иван е искала да изпрати пари на Георги. Иван ще изпрати 10 XMR на Георги който ще получи 10 XMR. 10=10 така че тук нищо не е наред. Но Иван не иска никой да знае колко изпраща. Така тя и Георги създават обща тайна. По принцип номер който само двамата знаят. Да кажем че това число е 22. Сега Иван умножава 10 (това, което наистина изпраща) по 22, за да получи 220. Това е числото което тя споделя с мрежата.

Самите миньори не знаят тайния номер. Ако го направят, биха могли да разделят числото което им се показва на тайното число и да получат истинската изпратена сума. Но тъй като не го правят не могат. Те обаче виждат че Георги ще получи 220, изпратени и получени. 220 = 220. По този начин мрежата може да провери дали не е създадено или унищожено Monero без да знае реалната сума която Иван е изпратила на Георги.

Тъй като Георги знае споделения таен номер когато получи парите той просто дели на 22 за да получи истинската сума която Иван е изпратила 10. Иван и Георги знаят колко е изпратено и колко е получено през цялото време всички останали получават фалшив номер.

Още веднъж това не е действителният начин по който CT работи но дава представа как нещо подобно може да е възможно. Истинският начин включва неща като ангажименти на Pedersen две изпратени суми (една криптирана сума към получателя и една сума към мрежата) и... да вече е лесно да се види как човек може да се изгуби във всичко това.

Едно нещо което трябва да се отбележи обаче е че макар RingCT да скрива сумата транзактирана между две страни в транзакция той не скрива два други набора от числа

Първата е транзакциите в coinbase. Ако този термин не ви е познат той основно означава наградата която копачите получават за намирането на следващия блок. Този номер не е скрит. Всеки може да види колко е наградил протоколът на миньор за тяхната услуга. По този начин текущото съществуващо количество Monero може да бъде известно чрез сумиране на всички транзакции на coinbase. Тяхната сума ще бъде равна на текущия Monero в обращение.

Второто число което не е скрито е таксата плащана на копачите когато потребител изпрати транзакция. Таксите трябва да са ясни така че миньорите да знаят на кого да дадат приоритет. Това обаче е начин по който потребителите могат да навредят на поверителността си тъй като ако някой използва уникална такса за миньор всеки път когато изпрати транзакция (като 0,12345), тогава техните транзакции могат да бъдат свързани.

Освен тези случаи, RingCT крие суми на Monero от 2017 г. и нашата колективна поверителност е още по-силна за това.


Допълнителна информация

© 2024 Blue Sunday Limited