Вы ищете примитив справедливого обмена (справедливое восстановление долей — немного более сложный вариант, в этом ответе я сосредоточусь на первом). На эту тему было проведено много исследований. Суть в следующем:
- В стандартной модели вычислений без честного большинства и без какой-либо доверенной третьей стороны честный обмен невозможен (основной результат здесь, некоторые более свежие работы здесь).
- Однако с очень ограниченной формой TTP (который ничего не видит и используется только тогда, когда что-то идет не так) это становится возможным. Ключевое слово оптимистичный честный обмен (здесь или же здесь).
- При строго честном большинстве сторон возможны общие справедливые безопасные вычисления.
Кроме того, есть и другие оригинальные решения, отклоняющиеся от стандартной модели вычислений:
- Вы можете использовать допущения о времени и примитивы, такие как головоломки с блокировкой времени или временные обязательства. Позвольте мне привести вам упрощенный пример: предположим, что у Алисы и Боба есть соответствующие секреты. $а$ и $b$. Сначала они обмениваются обязательствами $c_a$ и $c_b$ к своим входам. Тогда они будут постепенно ослабевать открытие обязательства - подумайте, например. высвобождение информации открытия по крупицам, по раундам. Тогда вы получаете следующую гарантию, которая не совсем справедлива, но может быть достаточно хорошей: предположим, например, что Боб прерывает работу досрочно и ему удается восстановиться. $а$ перебором недостающей части отверстия во времени $Т$. Тогда у Алисы всегда будет почти столько же информации, сколько у Боба, вплоть до одного бита (поскольку стороны обмениваются одним битом за раунд). Поэтому она может сама восстановиться $b$ самое большее во времени $2 трлн $.
Более сложные конструкции пытаются гарантировать, что «время грубой силы» обязательно будет последовательным, так что даже если мошенник обладает большой вычислительной мощностью, он не сможет значительно ускорить ее. Подробнее здесь - много продолжений.
Недостатком этого решения является то, что нет верхней границы мощности, которую могут вложить честные стороны: если противник готов потратить очень много времени $Т$, то честные стороны должны потратить в два раза больше времени, чем это. Это можно несколько исправить, если вы готовы согласиться на частичная справедливость, где вы согласны с небольшой вероятностью $1/n$, куда $n$ является полиномиальным, что противник нарушает справедливость. В этой обстановке мы показали в Эта бумага что вы можете получить (частично) честный протокол обмена с четкими границами максимальных вычислений, которые могут вложить участники (даже если кто-то жульничает).
Или вы можете заменить TTP, используя блокчейн в качестве предположения о доверии. Это в некотором смысле децентрализует ТТП. Некоторые предложения в этом направлении могут быть реализованы на практике на блокчейне Ethereum. Отправной точкой для этого направления работы является Эта бумага.
Варианты вышеизложенного используют денежное поощрение со смарт-контрактами, которые гарантируют, что вы либо играете честно и честно, либо теряете деньги (здесь является образцом из этого направления работы, хотя я не думаю, что это явно касается справедливости).
Предисловие к моей статье здесь содержит более подробные обсуждения и указатели, которые могут вас заинтересовать.