Is it possible to send conditional transactions in ethereum? For, e.g., Alice wants to send five ethers to bob. Alice has initiated a transaction for this transfer, but these five ethers will be credited to bob only when bob completes some task given by Alice. Once Bob completes the task, the transfer will complete; otherwise, these five ethers will be refunded to Alice.
1 Answer
Smart contracts are conditional transactions.
Alice has initiated a transaction for this transfer, but these five ethers will be credited to bob only when bob completes some task given by Alice.
However, in this case, Ethereum blockchain cannot know if the tasks are correctly completed. You would need a real-world dispute manager, who decides if the tasks were correctly completed or not. You can use Ethereum as an escrow where Alice, Bob and the dispute manager holds keys for 2 out of 3 to an escrow smart contract. However it does not make any system much more efficient, as the problem is not the transaction efficiency but the efficiency of real world dispute system.
The only risk Ethereum would eliminate is the credit risk making sure Alice has the money upfront.