Алиса участвует в каком-то веб-оф-trustish рейтинг сообщества (например, # Bitcoin-OTC или форум рейтингов доверия), и хотел бы занимать деньги у людей, но, как правило хочет, чтобы держать ее торговую практику частного. Люди хотели бы одолжить ей деньги, но не хотят _aggregate_ количества кредитов она взятые по всем сторонам превышают некоторый порог терпимости риски. Управление рисков может быть решено путем Алисе публикаций всех своих кредитов (и с кредиторами, убедившись, что их показывают в списке), но это не является частным.
Я предлагаю:
Как Алиса принимает кредиты она формирует сообщения, как "[Lender_onetime_pubkey, Nonce / Н (срок), сумма]" и сохраняет его в виде двоичного дерева хэш-дополненной с некоторыми из дочерних количествах во внутренних узлах, но с общим количеством пропущенной от корневого узла.
Сначала аккумулятор дерево начинается пустым, то Элис могут добавить кредиты, и каждый раз, когда она добавляет кредит она выполняет обновление внутри публично проверяемой нулевого знание доказательства системы. Она публикует в системе общественного рейтинга окончательный корневой хэш, наряду с доказательством того, что это было действительным обновление в соответствии с правилами.
Никто не узнает ничего о кредитах Алисес кроме верхней грани на сколько она (и если обновление партии допускается, может быть даже не верхняя граница).
Когда кто-то хочет сделать кредит, но обеспокоено тем, что Алиса слишком рискованна, они просят Алису создать доказательство того, что баланс ее накопительном дерева меньше некоторое количество (достаточно компактная задача доказательства, так как это только испытание части прообраз хэша). Они не узнали бы ничего другого, кроме двоичного результата теста.
Когда кто-то делает ее новый кредит, они просят ее предоставить доказательство того, что она обновила дерево, чтобы включить его. (Это может быть побочным эффектом процесса обновления, если он дает список H (добавленный [lenderpubkey, Nonce / H (термины), сумма])).
Когда кредит закрыт, она производит доказательство правильного удаления кредита, и доказательство включает в себя список pubkeys, для которых были удалены. Доказательство не считается действительным кем-либо, однако, если он не приходит с подписями на pubkeys, которые были удалены. (Это ведет проверку ECDSA из нулевого knoweldge доказательства).
Это своего рода системы может быть продлен, чтобы сделать такие вещи, как условия кредита трековых и даты. Например. "Докажите, что вы не имеют просроченных кредитов", Хотя в идеале запросы, что только прикосновение журнал (п) узлы будут приводить к более эффективным доказательствам.
Если кредиты могут быть удовлетворены Bitcoin сделок, например "выплата X для решения Y; данное время" эти термины могут быть хэшированные и включены в записи по кредиту. Это позволило бы Алисе удалить кредиты из списка без помощи кредитора. Тогда после удовлетворения кредита Алиса может произвести удаление доказательства, которое открывает хэшированное условие для получения кредита удаляется, и вдоль стороны это Алиса могла идти собирать SPV доказательства из сети Bitcoin, "По крайней мере, 6 блоков blockhash 0xDEADBEEF члены с хэш-X выполнены"... и сверстники в сети репутации будет принимать пару доказательств, пока блок 0xDEADBEEF находится в текущем blockchain.
Нечто подобное можно было бы сделать, чтобы предотвратить поддельные кредитор от обманывая Алисы в добавлении кредитов они не делают добро. (Например, поставить спецификацию платежа по кредиту в записи, и позволит Алисе обратно кредиты, которые не были оплачены какой срок) ... за исключением того, что компактное доказательство неуплаты не представляется возможным. Так что вместо того, чтобы вы хотели бы Алису, чтобы доказать, что сделка проводить конкретную монету не была правильная согласована в кредите, или что конкретная монета неизрасходованная (которая нуждается в utxo доказательстве).
Поскольку все это не требует доказательств только над хешами, добавлением и сравнениями доказательство должно быть _feasible_ с описанным в настоящее время состояния техники искусства, по крайней мере, не меньше, чем любое реальное приложение.