It's really exciting to see such a positive response here on BCT. And I also appreciate all of the thoughtful questions -- and the constructive feedback. I'm even more proud to see members of the Merit community chiming in and answering before a core team member has even had the chance to!
Anyway, I'll try to start knocking out a couple answers now.
How do MeritMoney Links Work? - From @scambuster and steener83
First, MeritMoney links are the same as the "Escrow" links that we put in the title and in the main announcement. We used the term "Escrow" because we thought that it would be clearer and easier to understand for a more advanced audience like the one here on BCT. (We are still working to build awareness around MeritMoney Links as a concept.)
MeritMoney Links have some interesting properties that enable people to easily send/receive MRT, even when the recipient does not have a wallet yet. The tricky part in doing this, of course, comes down to doing it without centralization.
We actually implemented this at the protocol level with the creation of a new OPCODE that we call EASYSEND. The idea here is that the user is able to use a decentralized (blockchain-based) escrow for any transaction they wish. These transactions are signed by the sender, like any normal transaction, and sent to an intermediary escrow address, where they wait to be claimed or cancelled (if cancelled, they will be reclaimed by the sender.)
When a MeritMoney link is being created, Merit is creating a SecretKey under the hood will be used as part of the payload to claim the Escrow from the blockchain. When creating the Escrow on the blockchain, the sender also has the option to add a timeout as well as a secondary password. These will be assembled together to create the Escrow on the blockchain.
The recipient simply must produce the relevant secrets needed to claim the Escrow from the blockchain. This will, at the very least, include the SecretKey and the expiration blocktime. This same mechanism is used by the sender if they are going to cancel and reclaim the MeritMoney link.
So, if you, as a user are creating a MeritMoney link without adding a secondary password, then the
link is as good as the money! This is, of course, the way that fiat works -- a dollar bill is spendable as soon as you pick it up off the street. The ultimate design of this on-blockchain escrow is to make it easy for people to send small amounts of money to eachother. If you are sending a large amoutn of money to someone, then it's a good practice to add a secondary password. This way, if the link is intercepted, the bad actor cannot actually access the funds.
----
To make these escrows portable, we simply create a standard URI structure that can be used via the Web (as we do in our Web Wallet) or via a desktop protocol handler. The application just needs to know how to assemble the MeritMoney link's secrets together to attempt to claim the escrow on the blockchain. Today, our mobile wallets (Android + iOS), our Desktop LightWallet, and the WebWallet all know how to do this.
You can find more detail in the BluePaper in section
6.1 - Frictionless Transactions.I hope that helps!