Насколько я понял Bulletproofs, это просто другой алгоритм кольцевой подписи. В новом алгоритме размер транзакции получается меньше.
Короче погуглил и все равно не понял, как это кольцевание в принципе может работать?
Вот биткоин, у отправителя есть пара: публичный+приватный ключи (ПубКей1+ПривКей1), у получателя есть своя пара ПубКей2+ПривКей2. Если первый отправляет второму транзакцию, то там должно быть написано (на специальном языке, здесь перевод): "эти мои битки имеет право потратить тот. кто подпишется так, что подпись будет валидна для ПубКея2, а я эти битки имею право потратить потому что подписываю эту транзу так, что подпись валидна для ПубКея1". Сеть проверит подпись и если все ок, то транза будет помещена в блокчейн.
То есть в классической, самой простой транзакции есть подпись и два публичных ключа: один для проверки подписи в этой транзе, второй для проверки подписи в будущей транзе.
Теперь кольцевая непонятка: как там оно работает вообще? Там чего, в транзакции пишут? Пишут типа: "коины может потратить тот кто подпишет транзу одним из этих 11 ключей которые мы выбрали случайно у случайных чуваков в сети"?? Ну дак а что мешает левому чуваку, случайно оказавшемуся одним из владельцев одного из фейковых ПубКеев, взять и подписать чужую транзу на перевод себе любимому?
На мой взгляд, по любому должен быть какой-то маркер, который абсолютно однозначно даст понять всем, что коины посылает тот кому они принадлежат, а не какой-то другой вася.