Oltre ai servizi di deposito a garanzia menzionati da @tylerl, ci sono protocolli crittografici chiamati protocolli di scambio equo che cercano di ottenere questa proprietà. Vedi questa pagina per un elenco di riferimenti a articoli di ricerca pertinenti.
La maggior parte dei protocolli di scambio equo fanno qualcosa del genere:
- I due elementi di dati da scambiare sono crittografati, con prove di conoscenza zero che la crittografia è stata eseguita correttamente . I due tasti K a e K b hanno dimensioni n bit.
- Le due chiavi vengono scambiate un bit alla volta: Alice invia il primo bit di K a a Bob, Bob invia il primo bit di K b per Alice, Alice invia il secondo bit di K a a Bob, e così via.
- Se una delle parti protesta prima del completamento del protocollo, lo sforzo computazionale necessario per completare le chiavi parzialmente ottenute è simile per Alice e Bob (da qui la "correttezza").
Questi protocolli sono altamente tecnici perché hanno bisogno di prove ZK forti che ciò che inviano è "corretto". Se Alice intende salvarla, potrebbe anche provare a inviare bit inutili a Bob e ottenere così un vantaggio ingiusto. La matematica è coinvolta. Esistono anche varianti che cercano di spiegare un'asimmetria in termini di potenza di calcolo (se Alice ha un cluster da 20 PC e Bob ha solo uno smartphone, Alice potrebbe voler chiudere la connessione in precedenza). A mia conoscenza, nessuno di questi protocolli ha raggiunto la fase "standardizzata e implementata come libreria di facile utilizzo".