FAQ: Particl Open Marketplace
Common questions regarding Particl Open Marketplace
- For buyers: None (0%)
- For using the decentralize escrow system: None (0%)
- For vendors: Only a small, one-time listing fee designed to fight off spammers. The cost of the fee is dynamically adjusted depending on the listing size (i.e. amount of text, listing images size and number, etc) and is also dependent on the amount of days it stays listed as chosen by the vendor himself. The decentralized MAD escrow mechanism also does not require any fee except for the usual currency transaction fee.
All of the fees generated by the Open Marketplace are redistributed, in its entirety, to the coin holders actively staking their coins (stakers). Not only do stakers earn all of the fees generated by the marketplace, but also all the fees generated by the Particl platform (i.e. transaction or proposal fees) as well as their staking rewards.
No, once you have paid your listing fee, your listing will stay for as long as you’ve paid for.
Vendors can manually select the amount of time they would like their listings to stay on when creating them. Currently, the maximum amount of time is set at 7 days (1 week).
Not for the Beta version, but it is a feature that is planned for future releases.
An eCommerce platform built focused on the free market should not be limited by its own built-in currency. Our mission is to lower the barriers to entry into the cryptocurrency economy as well as reduce friction in decentralized shopping and online shopping in general.
For this reason, and in the spirit of connecting many different cryptocurrency communities together, Particl’s Open Marketplace is going to be designed in such a way that it can accept a wide variety of coins using either atomic swaps or third-party integrations (i.e. Changelly).
As the marketplace requires PART to function (MAD escrow, privacy capabilities etc.), all incoming non-PART transactions are automatically converted into PART in the background.
Not for the Beta version, but it is a feature that may come in future releases. The integration of this particular feature will be dependent on if a solution that does not infringe on Particl’s mission and vision (security and privacy) can be found and integrated into a user-friendly way.
The Open Marketplace is built from the ground up as a privacy and security focused platform. All of the features and integrations developed for the Open Marketplace are designed in such a way that it won’t leak any information about the platform’s users. Personal/business data and privacy are protected as various levels:
- Marketplace transactions: Purchases and sales made on the marketplace are all private by default. All transactions are made using a combination of both CT and RingCT privacy protocols.
- Communications: Communications are not currently integrated into the Open Marketplace, but when they will be, they will all be encrypted and secure by default. Particl uses the SMSG protocol to securely and privately relay messages between nodes.
- Network identity (IP address): Although this feature is currently not enabled by default (for security reasons), The Open Marketplace can be easily routed to exclusively function over the Tor network. The Particl team is also making research and development into alternative IP anonymization protocols.
- Metadata: All content uploaded on the marketplace (i.e. listing picture) is completely stripped of all its metadata before being relayed over the Particl network. This protects users from unknowingly leaking personal data over the network by adopting an aggressive stance on metadata stripping.
- Content upload: All content uploaded on the marketplace (i.e. listing picture) is encrypted and cannot be traced back to the uploader.
- Escrow: The Open Marketplace’s decentralized escrow system works without the intervention of any intermediary. This means that no other party other than you and the one you are making a transaction with has to read previous discussions to make a decision on an issue. This ensures both parties can carry on business in perfect confidentiality.
What will stop illegal listings from appearing on the marketplace?
The Open Marketplace is moderated by its community through a decentralized governance mechanism based on coin weight. To delete content off of the marketplace, users need to flag it enough times so that its flagging ratio goes over the determined ratio (which currently stands at 10% of all coins in circulation voting against). No member of the Particl team can censor or delete any content.
Particl uses a fully decentralized escrow smart-contract based on the Mutually Assured Destruction game-theory. It uses the BIP 65 opcode to lock funds in a secure multi-signature address until all of the parties (the buyer and the seller) sign off on the transaction.
Both parties initiate the escrow transaction by depositing an equal security deposit to symbolize a virtual handshake. This security deposit can be adjusted, if both parties agree, between 0 and 100 percent of the item’s purchase price, but optimal MAD odds are achieved when the insurance deposit equals 100 percent of the item’s purchase price. The buyer also includes in that same transaction the payment for the product being purchased.
The funds then stay in this escrow smart-contract and are not released to any party until both confirm that the transaction has been completed satisfactorily. Only after both parties confirm the release of the funds will the vendor receive his payment for his sale. Both parties also get refunded their security deposit in full, at no fee.
To avoid filibustering, the MAD smart-contract has a timer that runs for a pre-determined duration of time (which can be extended if both parties agree). Once the timer expires, the funds cannot be released anymore, making the transaction a net loss for both parties. This prevents willingly delaying and hindering the escrow process to game the system by introducing financially punitive measures.
Barely any. The MAD escrow mechanism in itself is free of charge, but there is still a regular cryptocurrency transaction fee that needs to be paid. This fee is currently fixed at 0.005 PART (pennies) per escrow transaction.
How does the marketplace deals with scalability issues? How are messages delivered between users?
SMSG, the protocol used to carry messages across the network, is the same network used by the Particl platform to store data.
SMSG is a decentralized P2P message mixnet where all nodes store a copy of everyone’s end-to-end encrypted messages and data for a duration of 48 hours (which can be increased for a fee). It is the default and [most private DSN](learn:market:data-storage-network] available for use on the platform. The reference implementation is developed in C++ and incorporated into the Particl daemon, allowing it to operate over the same peer to peer network as the Particl blockchain.
All nodes continuously attempt to decrypt every incoming message, but can only succeed if the node is able to recalculate the HMAC hash accompanying said message. If the hash check fails, then it can not be decrypted by the node, which means the message was either fraudulent, tampered with or meant for another node. SMSG messages and data are stripped from almost any metadata, therefore it is impossible for anyone to extract information such as IP addresses, sender or receiver. The only metadata accompanying data on SMSG are the hash, the encryption payload and a temporary public key.
Not for the Beta version, but it is a feature that is planned for future releases.
Not for the Beta version, but it is a feature that is planned for future releases. However, there already is a team of community members working on a web gateway (mubiz.com). This website will make Particl’s Open Marketplace available from the web and will allow buyers to use a wide-range of tools designed to make the marketplace as easy to use as any other traditional marketplace. For more information about Mubiz, we recommend reading Cryptoguard’s interview with their founder, Albin Cauderlier, on our blog.
There are many reasons why your instance of the marketplace may not be connecting with any peers. Usually, it has to do with either your firewall, your ISP blocking certain ports, or conflicts with files. The best way to figure it out is to check Support: Connection issues and/or join the #help channel.
First, make sure that you are properly connected to peers.
This should be displayed in the top right corner of your Particl Desktop. If you are properly connected to the network, then you may simply need to wait before the application syncs with the entire network. When syncing the marketplace, not only does the blockchain needs to be on the latest block, but the SMSG network (which carries listings) needs to be fully synced as well. This can sometimes take a bit longer than the blockchain itself. If you are connected and both networks are fully synced but listings are still not showing up, then you may want to do a clean installation of the marketplace to eliminate any issue related to the initial installation.
Bidding on an item requires entire “outputs” to be used. And because of how RingCT works, an output needs to mature for a period averaging 12 blocks after being used. Depending on how your outputs are structured, that may mean a larger number of coins than the price of an item may get locked for a short period of time. To better understand this behavior, let’s analyze three potential scenarios.
- Scenario 1
- Number of coins in anon balance: 1,000
- Total number of outputs in anon balance: 1
- Size of the output(s): 1,000 coins
- Price of item: 10 PART
- In that scenario, there is only 1 output that can be used to bid on the item. That means the entire output is going to be locked for a period averaging 12 blocks. In other words, bidding on this 10 PART item will lock 1,000 PART for roughly 30 minutes.
- Scenario 2
- Number of coins in anon balance: 1,000
- Total number of outputs in anon balance: 2
- Size of the output(s): 500 coins each (for a total of 1,000 coins since there are two outputs)
- Price of item: 10 PART
- In that scenario, 2 outputs can be used to bid on the item. But since the item is valued at 10 PART, it won’t require two outputs to be used as that sum can be covered by only one output. That means only one of the two outputs will have its full number of coins locked away for a period averaging 12 blocks. In other words, bidding on this 10 PART item will lock 500 PART for roughly 30 minutes.
- Scenario 3
- Number of coins in anon balance: 1,000
- Total number of outputs in anon balance: 10
- Size of the output(s): 100 coins each (for a total of 1,000 coins since there are ten outputs)
- Price of item: 150 PART
- In that scenario, 10 outputs can be used to bid on the item. But since the item is valued at 150 PART, more than one output will be required to cover the price of the item (as every output is 100 PART which is less than the value of the item). That means two of the outputs will have their full number of coins locked away for a period averaging 12 blocks. In other words, bidding on this 150 PART item will lock 200 PART (2 x 100 PART outputs) for roughly 30 minutes.
The more technical explanation is that spendable funds are basically a sum of the amounts available in unspent transactions. When needing to spend a specific amount, one or more of the wallet’s unspent transactions (UTXOs) are used as inputs into the transaction, where the sum of the amount of the UTXOs used is greater than or equal to that of the requested specific amount. The transaction itself sends funds to the target recipient, with any change going to another address, typically being returned as a new UTXO in the wallet (if not specified, the change is is consumed as part of the mining fee).
Because the inputs used for an escrow transaction need to match exactly the transaction amount the user must spend, a single UTXO that matches that exact amount needs to be found. Failing that (which is typically the case), a number of UTXOs (or a single large enough UTXO) needs to be used as input to a transaction to create a split: 1 amount being the required escrow amount, the other being the change. The first UTXO created is then used as input to the escrow transaction, and the 2nd is returned as change to the wallet. Now the transactions need to wait for the appropriate confirmations to mature.
There are 2 scenarios playing out when performing the bid action:
- Obtaining a single or more UTXO(s) to match the amount that will be used as input into the escrow transaction (the value of the item). There’s a second UTXO that gets generated from this step, which is the change UTXO, or the amount that’s over the listed price of the item you’re purchasing.
- Sending that exact amount UTXO to the seller to be used as part of the signing process for the escrow transaction.
The change UTXO from step 1 matures after the 12 blocks, or roughly 30 minutes. That gets unlocked and is available for spending again once it is matured. However, the UTXO used for step 2 actually remains locked as it needs to be used by the escrow system.
Similarly, the same concept applies when the seller accepts a bid: the same 2 steps mentioned above happen with regards to UTXOs getting locked.
The “delisting” threshold is the number of coins that needs to be voted against a listing before it gets deleted. That threshold is currently set at -9,000.
Particl’s decentralized moderation system can be compared to the Reddit upvote/downvote system. On Reddit, if 5 users downvote a post, and 3 users upvote it, the post has a score of -2. Usually, when it reaches a certain negative threshold (i.e. -10), the post is automatically hidden from other users. Reddit counts votes on a 1 user = 1 vote basis.
Particl’s listing moderation system is similar. Each user that flags and votes for a listing contributes to either increasing or decreasing the listing’s score. Flagging a listing also deletes it from the user’s personal instance of the client (hidden locally, but not globally until the listing reaches the delisting threshold). But because Particl is private by design and entirely decentralized, there is no real way for the platform to detect a user that created multiple addresses or used virtual machines to game the system and register fraudulent votes. The network cannot ban an account, blacklist an IP address, or manually adjust votes to try to fight off spam votes. Instead, Particl counts votes on a 1 coin = 1 vote, which makes it impossible to game the system.
Since the decentralized moderation mechanism is based on coin weight, will moving coins around affect my weight AFTER voting for a listing?
Yes. If you increase or decrease your public balance after flagging a listing, your weight will change accordingly.
The mechanism uses your public balance to determine your voting weight. That’s because it is impossible for another client/wallet (which is trying to calculate weighting on their local node) to know what another wallet’s blind and anon balances are. Yes, Particl’s private balances (blind & anon) are that much anonymous.
The more technical explanation is that to perform a voting weight calculation on your local node to determine whether a vote has reached a threshold or not, your client/wallet needs to re-query the spendable funds in the addresses (UTXOs) that were used to cast votes. That requires knowing the UTXO amounts, and for blind/anon balances, that is impossible by design. If it were possible, it would entirely defeat the purpose of keeping private balances.
It depends. When a user flags a listing that has never been flagged before, it creates a removal proposal. This proposal costs a very small flagging fee (usually less than 0.01 PART). The second step of the “flagging process”, which is the voting that happens from the same node at the same time, is free. As are the votes that are made on an already flagged item by other users.
The short answer is that if you’re flagging an item that has never been flagged before by anyone else, it’s going to cost you a small flagging fee. If you’re flagging an item that’s already been flagged by another user, then that vote is free.
Fees are paid using your public balance.
Since listing fees are paid using public balances, does it mean listed items can be traced back to the originator?
No. Listing an item is a 0 value transaction, except for the fee paid to send a paid SMSG message. The content of the message is encrypted and only a wallet with the relevant key enabled on the SMSG network would be able to know what the content is.
Listings are not published on the blockchain itself, but on a parallel P2P network called SMSG. The SMSG network takes a longer time to fully sync than the blockchain, and it syncs linearly, just like the blockchain. That means it has to sync from day 1 to the present day, hence why you will see listings gradually showing up on your client. Additionally, once the SMSG messages are received by the client/wallet, the marketplace itself needs to process them to generate and display any listings available within them. What you have to do is to wait until the SMSG network is fully synced and refresh the listings page to check for updated listings every now and then.
Once you first install Particl Desktop 2.0+, you need to create your first wallet. Not seeing the marketplace on there is the expected behavior.
To enable the marketplace, create a new wallet (by clicking on the small + icon on the left side-bar) and name it “Market” (without the quotation marks). Then, go through the usual wallet creation process. Once your wallet is done, you will now see a Market category on Particl Desktop. Keep in mind the marketplace database will then need to be synced, which could take several minutes. In future iterations of Particl Desktop, this process will be made simpler as it will likely be integrated right into a Settings page.
I’ve converted some funds from my public balance to my anon balance, but I still cannot buy anything on the marketplace
You need to wait until your anon balance matures. On average, this will take around 12 blocks, or roughly 30 minutes.