Suppose I identify myself with a private key by signing the matching public key. I can then also sign a statement saying that I vouch for the owner of a different public key with an amount of some currency (BTC, for Bisq). The statement means that if an obligation (in default) signed by the other owner is presented to me, I will pay it.
Of course that opens me to the risk of the other ownerās key being compromised, but my statement can be more complicated to address this. If we establish a good protocol for the structure of the statements, they will become machine readable. The current implementation of Bisq puts the single arbitrator (Manfred, most of the time) in control of everything (when trading partners disagree), but it doesnāt provide any vouching - only a kind of escrow.
If we build out the vouching, then knowing someone in the network would give newbies some recourse in the case of cheating.
A simple example:
<identification owner="1XYZabc123..." type="ID" timestamp="2017-07-30T03:17:00Z" ...>Signature1</identification>
<voucher guarantor="1XYZabc123..." for="1Friend1..." max="1" currency="BTC">Signature2</voucher>
Signature1 is the signature produced by signing the opening identification tag (with attributes) using the public key represented by the owner attribute. The āā¦ā in there is for attributes providing other data that the signer wishes to prove, such as real-name, physical-address, telephone-number, etc. The signer could then take a picture of themselves holding a copy of the signature, like I did with my phone number at http://imgur.com/T1RFboi
Signature2 is the signature produced by signing the opening voucher tag (with attributes) using the public key represented by the guarantor attribute.
A voucher could be tiered so that for higher amounts, the potential victim may be required to verify that the friendās key has not been compromised:
<voucher>
<guarantee guarantor="1XYZabc123..." for="1Friend1..." currency="BTC">
<max amount="1"/>
<max amount="5" verifier="1Friend2..."/>
<max amount="10" verifier="1Friend3..."/>
</guarantee>
Signature
</voucher>
This XML represents that the owner of 1XYZabc123ā¦ will send up to 1 BTC to anyone (āVictimā) who can produce a (timestamped) āPromiseā message signed by 1Friend1ā¦ which shows a promise to pay (say, by a certain block height or timestamp) up to 1 BTC to Victim (if the block height or timestamp has already passed). It shows that for amounts up to 5 BTC a āverificationā message must also be produced that is signed by a third person (owner of 1Friend2ā¦) which includes an identification message from 1Friend1ā¦ with a timestamp that is after the āPromiseā timestamp. For amounts up to 10 BTC, a second extra verifier is required.
With this in place, Bisq could provide a multisig address into which any trader could deposit some BTC to be used in the event that he has to pay according to one of these vouchers. When that happens, it basically means that guarantor can go to the trader he vouched for to collect.
I like bitrated.comās model too, but Iām interested in seeing if a voucher-guarantee system might emerge when the technology makes such a thing easy.