This paper: (Link to paper) introduces a blockchain based platform entitled
PriWatt claiming (in Section 2.5 MultiSignatures, page 3):
"PriWatt provides the means to form agreements or contracts without trusting other party via blockchain."
"This is achieved through multi-signature transaction where minimum m of n keys must sign a transaction before tokens can be spend."
(Similar to what we have in Bitcoin n-of-m transactions.)
However, my question is how to remove totally the trust when one party is payer and another party is payee?
I mean multi-signature transactions can be helpful when all of parties are payer. Assume for example a wallet in which a pay out transaction needs minimum m of n signatures. In this case that works.
But, if we consider the example of the paper (same section 2.5) as follows:
"For example, assume that a customer Alice wants to buy a product from a merchant Bob. They make a contract where Bob will not get paid until Alice gets a product. Similarly, Alice cannot get a product and keep her payment."
However, in this scenario, merchant (Bob) signs 2-of-2 transaction, where it has not been signed yet by customer (Alice). At this point:
(1): If customer (Alice) before receiving the product, signs 2-of-2 transaction, then transaction is payable for merchant (Bob), but what happens if merchant (Bob) does not send the product to customer (Alice)?
(2): What happens if customer (Alice) denies to sign 2-of-2 transaction before receiving the product, and after receiving the product also does not sign the transaction?
Does Multi_Signature transactions can fix this problem? Or merchant and customer need to trust each other?
Edit: In my opinion, a Multi_Signature transaction can remove the trust, IF AND ONLY IF : all exchanged values between parties are internal (for example coin or any other parameter or token etc defined in the code as a variable.) Otherwise if one of values that is exchanged between parties would be an external asset (for example: a product or service like energy in the paper) then parties need to either trust each other or use a trusted arbitrator (trusted Chuck).