P2P trading enabled by smart contracts using token holders as dispute resolvers

The lack of an “on-chain” P2P trading protocol happens to be the single biggest obstacle standing between crypto and total independence from traditional finance services, essentially centralized on-boarding channels.

A lot of people are of the opinion that decentralized exchanges are used less by people because there isn't a big enough liquidity on there but the reality is that decentralized exchanges are used less because they are never the “first option” on the table for “purchasing or selling” crypto as it lacks the protocol to facilitate crypto-to-fiat or fiat-to-crypto transactions, flexibly.

PancakeSwap product lead, Chef Momo, for example, claims that the lack of options trading liquidity is one of the most pressing issues of current DeFi protocols.

Whilst it is indeed one of the problems, it isn't what DeFi protocols should be focusing on right now, for what's the use of a supposedly “decentralized finance” network if it relies on centralized entities to get the “finances” in?

So far, all crypto on/off ramps available in the space are built on independent centralized layers from market protocols like the dexes or wallets. This extra layer(which is often less efficient) demands an additional layer of trust as users move funds simply in hopes that transactions will be finalized as quoted on trading screens.

As such, it's either users go through that or adopt a standard exchange of which those on/off ramp services rely on at the end of the day too.

The problem of low dex adoption is clear, at this point, to be as a result of the lack of a protocol to facilitate the movement of value into or out of the crypto ecosystem, flexibly.

Smart Contracts and Proof Of Stake Can Solve This

In theory of course.

What we call on/off ramps and quite simply promote as a “requirement” for crypto mass adoption is really just the use of centralized entities to gain access to the decentralized finance world.

This poses a great amount of privacy risks for crypto investments as all transactions within crypto are public and can be traced back to those centralized entry channels.

To solve this flaw, crypto's only solution is to turn to peer-to-peer transactions. Whilst this can generally occur offline, there are significant limitations and risks - the first is that it is hyper easy to get scammed, and the second is that legitimate traders could be world's apart and limited by “fiat” restrictions on international transactions.

At the end of the day, a system that enables matches to be made by the right parties without restrictions is required and it ought simply to be built on-chain.

Designing a p2p protocol that requires no centralized “escrow” feature is the reason this system has not existed till date and I think, in theory, we can solve this with smart contracts and proof of stake consensus algorithm.

How?

If I were in any position to build a p2p protocol, I would build it like this:

A maker creates an on-chain order either to buy or sell by typically sending a certain amount of crypto(fee) to a smart contract(with a minimum requirement set).

The smart contract proceeds to post the order on the protocol market. If a taker finds the order favorable, it initiates a “take” order by sending a transaction to the smart contract with the order ID.

The smart contract will at this point post on-chain messages of taker’s info, requesting the maker to transfer assets required to facilitate the trade.

The assets are transferred later in the scenario of the maker selling to ensure that the smart contract does not always hold more assets than it needs to at a given time to avoid high impact from potential attacks.

It's important to note that if the maker is selling an asset, then this above sentence is the valid process but if it is buying, then the taker is typically in place to move the necessary assets to the smart contract.

Once the smart contract has the funds, the payment address(for fiat) will be sent as an encrypted message. Once payment has been made, the payer simply needs to send another transaction to the smart contract signaling for asset release.

This is typically where it gets tricky.

Well, tricky if either or both participants are fraudulent, otherwise, once the other party confirms receiving payment via an on-chain transaction to the smart contract, the asset will be released.

If not, a dispute will be initiated on-chain, seeking stakeholders in the protocol to resolve.

This is where proof of stake consensus comes in. The stakeholders will assess all transaction details, look at payment proof(if there's one) or the lack of one and decide on.

Of course, this is going to be an incentivized process where stakeholders involved are rewarded the fees paid by transacting parties over a period of time(
either in paid assets or as protocol tokens obtained from buy-ups from fees accumulated).

The process could require at least 5 stakeholders to vote an on-chain poll to either support the maker or the taker.

Each participating stakeholder must hold a certain minimum stake and have committed it to the protocol as a pledge to be honest.

Once the poll has gained 5 or move stakeholder votes, the greater will be awarded the tokens.

Both transacting parties could be required to commit some assets to the network as well as a pledge to be honest and the poll may have an additional option meant only for the transacting parties to vote on, this is typically a third option that could mean that the transacting parties have resolved the issue without the need for stakeholder votes along the line.

This is important for cases of delayed bank transactions that may have caused any party to feel the other was being fraudulent.

Of course, transactions involving disputes will typically stay frozen over an extended period of time if stakeholders' votes are not enough for the smart contract to release assets.

That said, to ensure that people do not have to wait days to get access to their assets or money, the smart contract will be designed to release the tokens if all stakeholders voting for a release have collectively committed assets worth at least 80% of the transaction value.

If you look at it closely, the system is designed to ensure that at all times, transactions are smooth and secure.

The stakeholders are incentivized for being honest and penalized when dishonest.

The process of penalizing stakeholders would be easy, the victim simply needs to initiate a call out transaction to the smart contract, leading to a public poll being launched for other members of the community to assess the victim's plea and decide if the stakeholders that voted against him were indeed unjust.

In an event where it is concluded to be true, participating stakeholders will be penalized in excess of the value lost by the victim in the process and a temporary ban will be placed on their addresses from participating in dispute resolution.

If it is found that the stakeholders were honest, the call out will be neglected. If the victim decides to reinitiate the call out, he would have to commit a specific amount of tokens to the smart contract which will be charged to him if the call out is neglected again.

The max call outs for a specific transaction can be set to 3-4 with each call out requiring a higher fee which will be paid back to the victim in excess in an event where at the latter call outs, the victim emerges as a victor.

The idea is to build a whole network on p2p trading, where stakeholders are essentially working to ensure all transactions are finalized justly where autonomy fails.

Using a combination of smart contracts and proof of stake ensures that transactions require no “central” third-party other than a piece of code following predefined rules set to leave control in the hands of a “decentralized network of users”.

Blockchain has proven that the single best way to ensure a system works is to introduce rewards and at the same time, enforce significant risks for bad actors.

Such a protocol would be void of government control as literally anyone can be a participating stakeholder(validator in a sense) and no one validator can be charged by a state as they don't singlehandedly control the protocol but only voice their stance on matters through poll votes within - a very basic right.

Posted Using InLeo Alpha



0
0
0.000
0 comments