Как Воландеморт мог бы помочь Биткойну

Тот-кого-нельзя-называть создал криптографический протокол, который способен изменить принцип организации Биткойна, сделав систему масштабируемой и более конфиденциальной.

Протокол генерирует «ослепляющий эффект», который дает возможность подтвердить права собственности на биткойны, избавляя от необходимости хранить приватные ключи, при этом поддерживает баланс между конфиденциальностью и свободой распоряжения средств, в то же время, предлагая решение проблемы масштабирования, — о чем свидетельствует техническое описание, подписанное псевдонимом, которое мистическим образом появилось на сайте, посвященном исследованиям в области криптовалют. Автор называет себя «Том Элвис Жедюсор» ( Tom Elvis Jedusor — по фр. «Je suis Voldemort») — именем из романов о Гарри Поттере. А само его предложение по улучшению сети, отправленное в августе на один из чат-каналов, озаглавлено ‘Мимблвимбл’ (Mimblewimble), — это проклятие, которое связывает язык противника, лишая его, тем самым, дара речи.

Проблема с верификацией в Биткойне

Биткойн — первая финансовая система в мире (из тех, что получили широкое распространение), в которой вся необходимая информация для подтверждения статуса системы может быть криптографически подтверждена кем угодно, — говорится в техническом описании.

Это качество достигается, за счет хранения всех транзакций в публичном регистре под названием блокчейн. Кто-либо, кто захочет сверить данные, должен будет загрузить всю цепочку, и отследить все транзакции, одну за одной.

Было бы проще, если бы аудитор мог бы проверить только данные на выводе, но это невозможно, так как результаты являются действительными только в случае, если находятся в конце действительной цепочки. Весь блокчейн должен быть достоверен, чтобы данные в конце цепи оказались верны.

Учитывая то, что транзакции — это криптографические атомы, данные на вводе и на выводе проверить не сложно. Граф «транзакции», являющийся результатом, содержит много информации и может являться объектом анализа для многочисленных организаций, чья специализация заключается в мониторинге и контроле над нами, смертными.

Этот аспект превращает блокчейн в крайне небезопасную и зыбкую среду.

Предлагаемое решение

Путь решения этой проблемы уже существует, как заявляет Темный лорд.

Грэг Максвелл придумал, как зашифровать данные таким образом, чтобы граф «транзакции» был обезличен, но при этом отображал бы верную сумму. Максвелл придумал также CoinJoin, систему для интерактивного смешивания пользователей биткойна, затрудняющую путь отслеживания транзакции. Николас ван Саберхаген разработал систему для «затемнения» вводных данных, с последующим размытием графа «транзакции». Шэн Ноэфер объединил два подхода для того, чтобы добиться конфиденциальности транзакций, как у Максвелла и, вместе с тем, эффекта «затемнения», как у Саберхагена.

Эти решения помогут сделать биткойн более безопасным, признает Жедюсор. Однако, слишком большой объем данных может излишне нагрузить систему. «Конфиденциальные транзакции» Максвелла потребуют дополнительных мультикилобитов подтверждений для каждого ввода. Алгоритм ван Саберхагена требует, чтобы каждый ввод данных хранился вечно, так как невозможно предсказать, когда эти средства будут потрачены.

CoinJoin Максвелла потребует интерактивности. Юань Хорас Мутон адаптировал его алгоритм так, чтобы транзакции смешивались более свободно, но он использовал крипто-схему на основе спаривания (pairing-based), поэтому его алгоритм работает медленнее и менее надежен. Он назвал его OWAS (one-way aggregate signatures).

OWAS объединяет транзакции в блоки. Можно комбинировать их и между блоками (допустим, при помощи дополнительных кодов) так, чтобы выводы создавались и разрушались, будто бы их никогда не было, отмечает Жедюсор.

Затем, для того чтобы подтвердить всю цепь, пользователям нужно будет знать только когда деньги появились в системе (как в биткойне или Monero) и финальную сумму непотраченных выводов. Остальное можно удалить и забыть.

«Конфиденциальные транзакции» прячут остальные данные, чтобы размыть граф транзакции и используют меньше места, чем биткойн.

Мимблвимбл смешивает между собой эти технологии. «Связанный язык» или Mimblewimble, предотвращает использование пользовательской информации, хранящейся в блокчейне, объясняет его создатель.

Конфиденциальные транзакции

Для начала придется отказаться от скриптов биткойна. Они слишком жесткие, поэтому не удастся смешивать транзакции, используя изначальные скрипты. «Конфиденциальных транзакций» Максвелла достаточно, чтобы авторизовать трату выводов и также создать комбинированные транзакции без привязки к пользовательским данным. Этот набор функций идентичен тому, что предлагает OWAS, который предполагает, что ретранслирующие узлы берут небольшую плату за транзакции, либо получатель повышает комиссию за транзакцию. Биткойн не способен на эти дополнительные сценарии.

Если «Конфиденциальные транзакции» работают надлежащим образом, суммы кодируются с помощью следующего уравнения: C = r*G + v*H.

C — это схема обязательства Pedersen (Pedersen commitment), G и H — образующие группы на основе эллиптических кривых (безо всяких тузов в рукаве), v —сумма , и r — секретный случайный «ослепляющий» ключ-код.

К выводу прикреплен диапазон доказательств, подтверждающий, что v — в диапазоне [0, 2^64], так что пользователи не могут использовать «ослепляющий код», например, для атаки переполнения.

Для подтверждения транзакции, контролер подтверждает все выводы, плюс F * H (F — комиссия за сделку, которая дается в явном виде) и вычитает все подтверждения вводов. Результат должен быть 0, доказывая, что сумма не была изменена или уничтожена вовсе.

Чтобы создать подобную транзакцию, пользователь должен знать сумму значений r для ввода подтверждений. Поэтому r-значения (и их суммы) служат в качестве секретных ключей. Если значения r для вывода, будут известны только получателю, система аутентификации сработает.

К сожалению, соблюдая правило, которое обязывает уравнение стремиться к нулю, эта схема работать не будет, так как отправитель будет знать сумму всех его значений для r, а, следовательно, и сумму значений для r получателя, так как в итоге должен получиться ноль.

Поэтому транзакция сводится не к нулю, а вместо этого к значению k*G и в качестве ключа требует подпись этим значением пустой строки.

Эти транзакции могут иметь сколь угодно много значений k*G, каждое с подписью, затем они суммируются во время верификации.

Создание Транзакций

Для того, чтобы создать транзакцию, отправитель и получатель должны сделать следующее:

1) Договориться о сумме транзакции, назовем ее b.

2) Отправитель создает транзакцию со своими вводами и изменяет выводы, отправляет получателю общий «ослепляющий код» (r-значение изменения за минусом r-значений вводов) вместе с транзакцией. Теперь схема обязательств выглядит так: r*G – b*H.

3) Получатель выбирает случайные значения r для своих выводов, указывает, что сумма = b минус комиссия, и добавляет данные к транзакции (включая диапазон доказательства). Теперь обязательства выглядят так: k*G – комиссия*H, причем k известно только получателю.

4) Получатель прикрепляет подпись с «k» — к транзакции с конкретной комиссией.

Создание транзакций подобным образом уже создает основу для OWAS.

Чтобы продемонстрировать это, возьмем две транзакции c k1*G and k2*G с прикрепленными подписями. Затем совместим списки вводов и выводов из двух транзакций, добавив к комбинации k1*G and k2*G, и это вновь будет действительная транзакция. Исходя из этого списка, невозможно вычислить, какие вводы и выводы соответствуют оригинальной транзакции.

Таким образом, вместо блоков биткойна, пубично будет доступна следующая информация:

1) Точное количество новых денег, поступивших в систему (как награда за блок или из связанного сайдчейна) со всеми прочими данными, которые для этого потребуются. Для связанных сайдчейнов возможна ссылка на биткойн-транзакцию, включающую избыток значения k*G.

2) Вводы всех транзакций.

3) Выводы всех транзакций.

4) Превышение значений к * G для всех транзакций.

Все эти данные будут сгруппированы с себе подобными, поскольку неважно, какие границы транзакций были установлены изначально. К тому же, списки, означенные в пунктах 2, 3 и 4 будут закодированы в алфавитном порядке, поскольку так их легче проверить, а также это помешает создателю блока устроить утечку данных о транзакциях.

Выводы идентифицируются по их хэшу, а не по местоположению в транзакции, которое легко может измениться. Поэтому будет запрещено иметь одновременно два идентичных непотраченных вывода — во избежание путаницы.

Объединение транзакций

«Конфиденциальные транзакции» Максвелла уже использовались при создании не-интерактивной версии CoinJoin. Была необходима другая идея. Не-интерактивная версия была спроектирована для демонстрации того, как система может работать с несколькими блоками.

Каждый блок может быть представлен как одна большая транзакция. Для подтверждения транзакции, необходимо сложить подтверждения выводов и вычесть обязательства вводов значений, и точные значения k*G – H раз.

Транзакции из двух блоков могут объединяться в единый бок, в конечном итоге являя собой действительную транзакцию.

Разница заключается в том, что обязательства вывода равны обязательствам ввода, и вывод первого блока тратится во втором блоке. Оба обязательства могут быть удалены, и транзакция по-прежнему останется действительной. Даже нет необходимости проверять диапазон потраченного вывода.

В качестве развития этой идеи могло бы последовать следующее: начиная от генезис- блока до последнего найденного, все не явно указанные, не первоначальные вводы удаляются вместе с соответствующими выводами. Все, что останется — это непотраченные выводы, точные значения первоначальных вводов и значения k*G.

Весь этот хаос можно было бы разложить по полочкам, будто бы это одна транзакция, сложив все непотраченные обязательства по выводам и вычтя значения k*G, сопряженные с точными значениями вводов, H раз. Если уравнение равно 0, значит, вся цепь верна.

Когда пользователь загружает цепь, от каждого блока необходимы лишь следующие данные:

1) Явно указанные значения новых вводов.

2)Непотраченные выводы всех транзакций (с учетом доказательства Меркла о том, что каждый вывод происходит от первоначального блока).

3) Избыток значений k*G для всех транзакций.

Сейчас в цепи Биткойна около 423000 блоков, в совокупности занимающие примерно 80 Гб на жестком диске, которые необходимо хранить для подтверждения транзакций. Всё это данные о 150 миллионах транзакций и 5 миллионах непотраченных неконфиденциальных выводах.

Каждый непотраченный вывод цепи Мимблвимбл будет занимать около 3 Кб, с учетом диапазона доказательств и доказательства Меркла. Каждая транзакция добавляет около 100 байтов: значение k*G и сигнатуру.

Заголовки блоков и данные, указанные явным образом, можно отбросить. В общей сложности, получится около 30 Гб — включая размытый граф транзакций и конфиденциальность.

Вопросы и предположения

В связи с вышесказанным, возникают ряд вопросов и возможных ответов.

Вопрос: Если удалить вывод транзакции, пользователь не сможет подтвердить диапазон доказательств, и возможно даже будет создано отрицательное значение.

Ответ: Это допустимо. Для того, чтобы вся транзакция была признана действительной, все отрицательные значения должны быть погашены.

Вопрос: Если удалить все вводы, станет возможна двойная трата, разве нет?

Ответ: По сути, возникновение двойной траты будет означать, что кто-то заявляет, что захотел еще раз потратить непотраченный вывод, на самом деле, уже давным давно потраченный. Однако это невозможно, иначе совокупная сумма объединённых транзакций не была бы равна нулю.

Исключением является тот случай, когда вывод равен нулю, тогда можно создать два вывода, которые будут дублями друг друга, и эта пара сможет непротиворечиво сосуществовать. Таким образом, во избежание проблем с консенсусом нулевые выводы должны быть запрещены. Надо просто добавить H в каждый вывод.

Будущие исследования

Есть несколько вопросов, на которые сейчас сложно дать ответы:

1) Какой скрипт подходит для этих сценариев? Все операции со скриптом еще предстоит перевести на язык дискретных логарифмов.

Еще читать  Неминуемый Марш Техно-Анархии

2) Пользователям придется проверять все значения k*G, хотя, по сути, нужно доказать лишь то, что сумма имеет вид k*G. Помимо подписей, существует ли другое доказательство из области дискретноых логарифмиров, которое можно было бы здесь применить?

3) Один из зыбких моментов, когда система может выдать «отказ в обслуживании» — во время загрузки цепи. Если пир предоставит гигабайты данных и список неверных непотраченных выводов, тогда расчёт не сойдется к нулю, и пользователь не сможет определить в чем проблема. На сегодняшний день, лучше загружать блокчейн из Torrent или другой платформы, где информация распределяется между многими пользователями и, следовательно, с большей вероятностью будет достоверна.

Источник: Hacked.com

Источник

  • (function(){
    darx.addEvent(document, ‘ok’, function () {
    setTimeout(function () {
    OK.CONNECT.insertShareWidget(
    «okapi_share_27»,
    «http%3A%2F%2Fnewsfolk.ru%2Fkak-volandemort-mog-by-pomoch-bitkoiny%2F»,
    «{width:145,height:30,st:’oval’,sz:20,ck:1}»
    );
    }, 0);
    });
    })();


zovirax finasteride and enlarged prostate side effects of lexapro in women cialis price finasteride 5mg tab lexapro dosages ciprofloxacin 500mg tablets azithromycin pregnancy online viagra lexapro for anxiety side effects of ciprofloxacin 500 mg viagra ohne rezept auf rechnung cost of viagra cialis for sale azithromycin liquid stopping lexapro canadian cialis when will cialis go generic finasteride tablets ciprofloxacin 500mg antibiotics azithromycin coverage ciprofloxacin nebenwirkungen finasteride side effects order viagra does lexapro cause weight gain weaning off lexapro what is finasteride viagra activate viagra 100mg ciprofloxacin for dogs lexapro 20mg how to wean off lexapro what is escitalopram what does azithromycin treat cialis alternative tamoxifen tamoxifen lawsuits celexa vs lexapro tamoxifen nebenwirkungen viagra alternatives lexapro generic viagra soft what is cipro used for is azithromycin penicillin buying viagra ciprofloxacin dose cialis online what is cipro generic cialis tadalafil azithromycin uses cialis coupons printable cialis coupon print azithromycin 250mg azithromycin 500mg escitalopram effets secondaires effects of stopping lexapro suddenly side effects lexapro viagra pill cialis prices cialis coupons levitra 20 mg cost walmart viagra pillen kruidvat levitra 20mg cost per pill zithromax z-pak generic viagra 100mg cialis azithromycin and alcohol how long does viagra last how does cialis work cialis coupons 2017 viagra costs generic for lexapro zovirax ointment cialis patent expiration cialis 20mg azithromycin for strep throat azithromycin 500 mg ciprofloxacin 500mg cipro drug class discount viagra cialis 10 mg ciprofloxacin azithromycin 250 mg what is finasteride used for levitra vs viagra what is ciprofloxacin prescribed for viagra tesco propecia vardenafil vs viagra viagra vs cialis vs levitra viamedic cialis azithromycine 250 mg cialis on line herbal viagra cipro dosage finasteride 5mg finasteride long term effects finasteride side effects in men buy cialis online ciprofloxacin hcl 500 mg side effects side effects of azithromycin viagra on line cialis effects cialis copay card tamoxifen and foods to avoid acyclovir vs valacyclovir zithromax 500 mg how to take cialis what does finasteride do vardenafil 20mg viagra 100 mg azithromycin without a doctor’s prescription lexapro side effects in men finasteride 5 mg azithromycin 5 day dose pack cialis cheap is ciprofloxacin a penicillin liquid cialis lexapro generic name is azithromycin cialis sample how long for lexapro to work cialis pills acyclovir 400 mg levitra 20 mg precio farmacia levitra dosage lexapro and weight gain in women cialis coupons from manufacturer viagra coupon viagra natural tamoxifen langzeitfolgen finasteride for women acyclovir 800 mg for shingles cialis free trial what is tamoxifen cilias ciprofloxacin eye drops cialis dosage recommendations acyclovir medication viagra 100 wellbutrin and lexapro free viagra viagra for sale uk cialis trial common side effects of ciprofloxacin 500 mg ciprofloxacin drops viagra samples lexapro dosing azithromycin three times a week ciprofloxacin 500mg antibiotics side effects viagra vs cialis vs levitra levitra coupon side effects of lexapro erectile dysfunction cialis is lexapro a controlled substance finasteride vs dutasteride buy levitra online cialis patent expiration 2017 viagra sex finasteride efectos secundarios cialis tadalafil viagra wikipedia what is azithromycin lexapro manufacturer website equipe argentine viagra viagra kaufen acyclovir 200mg azithromycin tablet viagra alternative lexapro side effects men zithromax levitra vs viagra for hardness zovirax dosage what bacteria does ciprofloxacin kill viagra medicine what is acyclovir for what does ciprofloxacin treat viagra effects viagra sans ordonnance 9 levitra at walmart acyclovir 800 mg 5 times a day side effects of acyclovir cost of cialis viagra vs cialis ciprofloxacin 500 mg for urinary tract infection what is lexapro how does acyclovir work cheap levitra acyclovir ointment 5 cialis 20 mg what is cipro usually prescribed for cialis 5mg daily cipro side effects in elderly lexapro 10mg acyclovir 800mg viagra tablets buy levitra viagra on line no prec lexapro overdose finasteride women viagra tamoxifen therapy lexapro coupons levitra without a doctor prescription azithromycin 250mg tablets 6 pack how does viagra work viagra 100mg tablets retail price ciprofloxacin dosierung escitalopram oxalate how to use viagra generic for cialis lexapro side effects how long for azithromycin to take effect viagra for sale cialis or viagra side effects of azithromycin 250 mg generic lexapro viagra generic viagra ohne rezept aus deutschland cialis 20mg directions cialis coupon 20 mg viagra without a doctor prescription usa cipro antibiotic levitra canada cialis azithromycin drug class post finasteride syndrome first few days on lexapro azithromycin pediatric dosing levitra vs viagra finasteride results best price viagra ciprofloxacin dosage ciprofloxacin side effects in women acyclovir 800 mg ciprofloxacin coverage canadian viagra finasteride 5mg side effects cialis pricing ciprofloxacin drug class zovirax pills lexapro withdrawal symptoms cialis professional acyclovir for cold sores revatio vs viagra viagra without a doctor prescription acyclovir dosage for cold sores acyclovir dosage cialis medication buy cialis azithromycin 500 tamoxifen and weight gain viagra cost viagra side effects cialis pharmacy prices cialis samples overnight side effects of ciprofloxacin acyclovir 400mg viagra uk what is ciprofloxacin used for azithromycin vs erythromycin ciprofloxacin spc online cialis cialis 30 day sample finasteride for hair loss cialis dosage strengths propecia side effects ciprofloxacin 500 mg tabletten cialis discount ciprofloxacin side effects after age 60 cialis canadian pharmacy pfizer viagra ciprofloxacin ophthalmic solution female viagra levitra erfahrungen azithromycin 250 cialis website cheap viagra daily cialis cialis 5 mg viagra for men ciprofloxacin bnf acyclovir is tamoxifen chemotherapy ciprofloxacin uses azithromycin for pneumonia finasteride dosage acyclovir dose cialis without a doctor’s prescription viagra tablet finasteride medication levitra rezeptfrei deutschland azithromycin lexapro and wellbutrin combination therapy azithromycin class buy generic viagra generic levitra vardenafil 20mg cialis from canada tamoxifen interaction lexapro and weight gain lexapro benefits for women finasteride hair loss cialis for men azithromycin cost cipro uses how to wean off lexapro without withdrawals lexapro dosage cyalis escitalopram 20 mg generic cialis at walmart antibiotic ciprofloxacin lexapro lexapro bula azithromycin z pak cialis coupon finasteride 1mg cipro and tendonitis cialas escitalopram cipro side effects lexapro vs wellbutrin what is tamoxifen used for tamoxifen side effects in women ciprofloxacin hcl 500 mg tab viagra prices cipro 500 finasteride effets secondaires viagra single packs viagra coupons viagra 50mg ciprofloxacin class sex viagra for women azithromycin 500 erfahrungen cipro for uti tamoxifen cost lexapro 5mg free cialis what does ciprofloxacin 500mg treat tamoxifen citrate lexapro withdrawal zovirax cream zoloft vs lexapro how does lexapro work side effects of tamoxifen zovirax for cold sores how to get off lexapro viagra lexapro vs celexa levitra online natural viagra what is lexapro for viagra bestellen sophia viagra viagra en ligne livraison 24h ciprofloxacin 500 where to buy viagra wholesale cialis viagra for women how much does cialis cost finasteride 5mg side effects mayo clinic cialis side effects what is lexapro used for acyclovir dosing buy generic levitra cipro dangers cialis voucher what is azithromycin for escitalopram nebenwirkungen what infections does ciprofloxacin treat what does viagra do cialis for daily use what is viagra azithromycine finasteride permanent side effects escitalopram side effects viagra price buy viagra what is azithromycin used for cialis otc price cialis viagra receptfritt levitra 20mg zithromax antibiotic cialis vs viagra thuoc azithromycin what works better than viagra what is ciprofloxacin cialis daily escitalopram 10 mg para que sirve 200 cialis coupon azithromycin eye drops azithromycin medscape ciprofloxacin 250mg lexapro vs zoloft viagra wiki acyclovir for shingles ciprofloxacin side effects viagra online cialis generic lexapro side effects in women cipro antibiotics levitra 20 mg von bayer azithromycin for uti side effects of viagra cialis generic tadalafil utilisation viagra cialis for bph cialis for women escitalopram 10 mg what is cialis side effects of finasteride 5mg levitra coupons azithromycin dosage cialis pills for sale levitra 10 mg prezzo lexapro para que sirve side effects of lexapro 10 mg ciprofloxacin 500 mg tamoxifen side effects canada viagra azithromycine eg 500 mg bijsluiter viagra canada acyclovir cream what is acyclovir side effects of finasteride what is acyclovir used for generic levitra cialis 30 day trial coupon ciprofloxacin used for lexapro reviews cialis patent expiration date extended ciprofloxacin hcl tamoxifen and bone pain viagra pills azithromycin 250 mg treatment viagra cialis ciprofloxacin hydrochloride ophthalmic cheap cialis viagra from canada cealis azithromycin tablets lexapro 10 mg acyclovir side effects azithromycin side effects cialis savings card cipro discount cialis cialis cost pfizer viagra coupons from pfizer cialis testimonials ciprofloxacin hydrochloride withdrawal from lexapro levitra generic zithromax dosage viagra dosage lexapro weight gain cialis canada effects of stopping finasteride levitra prices cialis reviews viagra generico nolvadex tamoxifen bijwerkingen viagra vs cialis cialis dosage escitalopram 10mg cialis samples ciprofloxacin hcl 500 mg acyclovir ointment tamoxifen side effects in women over 55 azithromycin pregnancy category ciprofloxacin 250 mg levitra prezzo in farmacia finasteride reviews viagra nebenwirkungen buy viagra online finasteride 5 mg tab cialis vs viagra lexapro medication levitra bayer 20mg meilleur prix generic viagra lowest cialis prices generic cialis levitra 20 mg viagra substitute side effects of cialis cialis 5mg cialis generic availability lexapro and weight loss over the counter viagra


Комментарии:

Добавить Комментарий

Яндекс.Метрика