Differences

This shows you the differences between two versions of the page.

Link to this comparison view

currency-agnosticism [2018/03/27 22:17] (current)
cryptoguard created
Line 1: Line 1:
 +=====Currency Agnosticism=====
 +A decentralized privacy platform focused on free market cannot be limited by its own built-in token system, especially now that there are so many coins out there. Our goal is to lower barriers to entry and reduce friction in eCommerce, allowing for easier adoption by buyers and vendors anywhere in the world. ​
 +
 +The Particl platform is designed in such a way that it can accept almost any currency using two different methods. However, as the platform (marketplace,​ extended messaging, future Dapps, etc) requires PART to function in a private way (CT and RingCT), all incoming currency transactions are automatically converted into PART. 
 +
 +====Atomic Swaps====
 +[[https://​github.com/​particl/​atomicswap|Atomic swaps]] are decentralized and trustless trade between two users of different cryptocurrencies. As the blockchains are not related and transactions cannot be reversed, this provides no protection against one of the party never honoring their end of the trade. One common solution to this problem is to introduce a mutually-trusted third party for escrow, however, this represents a scalability and privacy problem. It also does not offer any protection against collusion. Atomic swaps solve this problem without the need for a third party by using timed smart-contracts on both chains.
 +
 +[[https://​github.com/​particl/​atomicswap|Atomic swaps]] involve each party paying into a contract transaction,​ one contract for each blockchain. The contracts contain an output that is spendable by either party, but the rules required for redemption are different for each party involved.
 +
 +One party (called counterparty 1 or the initiator) generates a secret key and sends the intended trade amount into a smart-contract. The second party (called counterparty2 or the participant) can only redeem the funds by knowing the secret key. If a pre-determined period of time (typically 48 hours) expires after the smart-contract transaction has been mined or staked and the funds have not been redeemed by the participant,​ the funds can be refunded back to the initiator'​s wallet.
 +For simplicity, we assume the initiator wishes to trade Particl for Decred with the participant. The initiator can also trade Decred for Particl and the steps will be the same, but with each step performed on the other blockchain. At this point, the participant is unable to claim the funds from the initiator'​s Particl smart-contract because the secret key is unknown to them. If the initiator revealed their secret key at this moment, the participant could claim the funds from the contract without ever honoring their end of the trade, leaving the initiator at a loss.
 +
 +To avoid this, the participant creates a similar smart-contract but on the Decred blockchain and sends the intended Decred amount into it. However, for the initiator to redeem the output, their own secret must be revealed to the participant. For the participant to create their smart-contract,​ the initiator must reveal not the secret key (since the participant could still claim funds and not honor their end of the deal), but a cryptographic hash of the secret key to the participant so that the smart-contract can be properly deployed. The participant'​s contract can equally be refunded after a pre-determined period of time.
 +
 +The initiator then redeems the participant'​s Decred funds by revealing the secret key to the participant’s smart-contract. The secret key is then extracted from the initiator'​s redeeming Decred transaction providing the participant with the ability to redeem the initiator'​s Particl contract.
 +
 +This procedure is atomic (with timeout) as it gives each party a set period of time to redeem their coins on the other blockchain before a refund can be performed. This is the best option for people requiring privacy and is also probably going to be the cheapest to use.
 +
 +====Third-Party Integrations====
 +Using the very flexible and modular Particl Wallet, third-parties can easily be integrated to enhance the user experience and provide services. One such example is the integration of account-less exchanges] such as Changelly, Shapeshift, or Altcoin.io. As these accounts do not require any account or KYC/AML verifications,​ they can easily be integrated directly into the Particl Wallet.
 +
 +While not as private and cheap than atomic swaps, third-party services do offer some advantages over their decentralized counterpart. Liquidity and volume, for one, can be much better on centralized exchanges with more users. Some of these services (such as Changelly) also offer fiat options and pairs which allow the Particl Wallet to offer in-wallet fiat trading. The data fetched from these services’ APIs can also be used to facilitate many future wallet functions such as displaying fiat balances, setting listings in fiat prices, offering credit card deposits, etc.