Decentralized Marketplace Manifesto
There seems to be a craze over revolutionizing the world of E-commerce across the internet. The consensus model that the invention of the blockchain brought seemed to re-invent many traditional markets with more efficient, trustless and productive means to the same ends. We are seeing an example of this market re-invention through the creation of decentralized marketplaces which aim to target uncensored and uninterrupted sales channels of products/services (offers). There are no centralized exchanges to worry about, the exchange of goods and service’s happen without interference of any authority or sculpturous entities wishing to take down the services for whatever reason. The need for a decentralized marketplace stems all the way to Satoshi Nakamoto himself who had stub code of a marketplace implementation from within the initial bitcoin reference client code. Syscoin was developed on top of the Bitcoin blockchain, perhaps completing what Satoshi was initially designing.
About me, I have over 15 years experience in the software industry. Work includes topics such as artificial intelligence, gaming, image processing, general software development (structure/OOP), client/server applications. Last few years I have found myself to be completely absorbed in the crypto-community industry because I recognize the need to solve problems that are solvable via the emergence of blockchain technology. Over the years if I can sum up the most important thing that I learned in the industry that I can carry over to any project I work on is this saying: “A generalized problem should be best solved by a generalized solution”. There is some subtlety about that quote that I hope you will catch especially later on when I’m talking about vision and E-commerce plugins. I would imagine that solving the decentralized marketplace problem is a general issue and not specific to any demographic or types of people (dark-market or real businesses etc.). The solution should help everyone. I find very typically in the technology sector, especially in the open source environment, that developers tend to try to assume who the stakeholders of a project are (since there rarely is any Software Requirements Specification to fall back on) and the resulting technology derived based on those assumptions ends up targeting a subset of potential users and thus falls short of the global optimum solution when trying to optimize for maximal network growth. In this case because we are dealing with subjective feedback cycles of how a technology benefits users, there never will be a global optimum solution but many general local optimum solutions that asymptotically tend towards the perfect solution but never truly getting there. This is why network affect matters so much, since the first “good” enough solution which captures the interest of the most people will be seen as the perfect solution to satisfying the need for a decentralized marketplace, until of course it is superseded by a better local optimum solution which is head and shoulders above the previous, and the previous solution was not able to evolve at a fast enough pace. I have found from experience that simpler is better (user experience perspective) when trying to resolve requirements from the maximal amount of stakeholders.
The scope of this blog will be targeted to the different implementations of marketplaces out there and some of the benefits they bring to the table. I am targeting a semi-technical audience who understand Crypto-currency basics. Those that know their basic “Bitcoin” fundamentals will have no trouble understanding this blog post, in fact I encourage feedback to further our knowledge in this space as we all continue to strive towards the common goal (I think you know what that is if you are in the Bitcoin community).
All of these technologies that implement decentralized marketplaces try to solve similar problems all with different approaches. As Darwin theory gets put to the test, let the strongest ones survive through the process of evolution! I did my best to try and get a technical understanding of the projects described below but some projects are either unavailable for source review (NXT FreeMarket, ShadowCoin Market) so I did my best to scour through forums and blog posts to try to gain as much of an understanding as possible in a sensible time-frame. However one of the main aspects of these markets is that they fall into 2 categories, either they are P2P based marketplaces relying on technologies such as BitMessage for message relaying between nodes or are based on the implementation of the invention of the blockchain by Satoshi Nakamoto. There are pros and cons with either approach.
List of technologies:
- Still in development, no source code
- P2P marketplace built on top of BitMessage. Similar to OpenBazaar but with anonymity in mind.
- P2P marketplace built on top of BitMessage using Bitcoin as the medium of exchange.
- P2P marketplace built on top of BitHalo which uses BitMessage to relay messages.
- 3rd party app for NXT, Closed source, only binary app distributed. Developers have claimed they will open source sometime in the future.
- Blockchain based marketplace built using NXT core (Java)
- Blockchain based marketplace for Digital Goods only built on top of NXT core, released within the NXT wallet (Java)
- Because it only allows for sale of digital goods we won’t consider this as part of the marketplace comparisons.
- Blockchain based marketplace built on top of Satoshi’s blockchain implementation in Bitcoin (C++)
That’s all you really need to know. Under each category, the marketplace features one project completes can probably be usable by other projects. Syscoin is the only blockchain implementation based on Bitcoin’s blockchain. The main thing for investors is to assess the ability for each project to live up to its potential as well as try to maximize the chance of taking network effect so investors can be happy with their decision. Whichever project you choose, the decisions made by the developers are the key indicators of future success. If you believe in Syscoin it’s because of the decisions we are making to introduce features in such a way that we would maximize the chance of achieving user acceptance, not only in the crypto-community but in the business community which is much larger and potentially more impactful on the value of Syscoin. The goal is for a business to be able to use Syscoin’s marketplace in a few clicks and enjoy all of the benefits of the blockchain marketplace implementation. The less clicks the better, although if they wanted they can go in and configure things endlessly just as any other marketplace allows. Because our model is so much different than the model of any of the other projects even without regard of the core technology, I believe it puts Syscoin in a great position to achieve maximal network growth within the shortest amount of time. In reality, investors are buying the decisions that developers make. If those decisions lead to more users, happier users then the investors as well as the general population of users will reap benefits of further improvements that build upon those decisions. In the cut-throat crypto-community and technology sector, a market edge once had will be hard to overcome for any competitor (see Bitcoin vs Altcoins). Syscoin is targeting itself to be a service, that also comes with all of the benefits of using it as a currency analogous to Bitcoin. Those services are what will gain traction in the market as the goal is not to overthrow Bitcoin as a leader in a decentralized payment mechanism (but you never know!).
Breakdown of categories (P2P vs Blockchain), some pros and cons:
P2P (ShadowCoin Market, BitBay Market, OpenBazaar)
- Must be online to serve your store
- Must use built in software and ui, cannot use plugins or extend to arbitrary front-ends
- Short window of time before you must update your listing to ensure it stays up
- No token needed because all offers only live for a little while… Less bloat issues
- Offers only alive while node is up unless you assign trust via 24/7 nodes used to host auctions or offers while seller is not online, like a backup but costs a fee.
- Arbiter fees and low incentives to become one. Fees won’t scale because they should be based on demand supply and if not changed in decentralized way then won’t scale with the growth of user base.
- No Fee scaling issue
- Alot of settings and complexity in setting up, using and maintaining.
Blockchain (NXT FreeMarket, NXT Marketplace, Syscoin Blockmarket)
- Incentivized by a token to secure network
- No need to enter manual seeds which may always change.
- As decentralized and secure as it can get
- No need for Ricardian contracts
- No need to transfer auctions or offers to trusted nodes for a fee.. Fee for offer in blockchain may be offset by this fee
- Can sell while offline, hold a single key, no need to backup your listings
- Pruning may be possible to cut bloat down to linear from exponential
- Allow for partnerships to allow decryption of offers to certain partners for reselling, linking to your offers (drop-shipping, wholesaler to retailer relationship)
- Can use built in multi sig and other tools from bitcoin.. No need to invent cross utilizing tools, leverage developers work from bitcoin to benefit blockchain project. Easier to solve problems going forward. Faster development cycles.
- Fees must scale with price of underlying token.
- Bring technology to people instead of the person to the technology… With ability to encapsulate technology at a higher level and create offline tools that allow you to work without understanding underlying platform would increase user adoption and satisfaction.
- Globalize offers instead of just local markets.. Secure via encryption if desired.. No custom services or scraping needed, no need to worry about people stealing your offers or undercutting you, is less likely.
Paypal and popular credit card companies charge upwards of 3% per transaction to merchants, as well as currency exchange fees to consumers which are way out of whack from the the spot rate. These all add up costing merchants/consumers in aggregate upwards of over 10% per transaction in some cases. Ebay has similar fees for merchants. The credit card companies alone cannot compete with the blockchain transaction capability in terms of fees because they are one-way transactions. One of the main reasons credit card companies fees are so high is because they are forced to add insurance costs to their transactions and their business model forces them to compensate for fraudulent or charge-back transactions which spreads the cost to merchants and consumers of the credit card service. The only benefit of using a credit card is the use of credit or money you won’t have, but that may not really be a benefit to users of an economy as a whole as people are now finding out the hard way that the 20%+ interest rate or cost of credit in the short term is simply not worth the value it brings. Across the world people are avoiding the use of credit cards to purchase on credit, or are only paying with money they have and paying off their cards immediately to avoid the high fees. People are starting to refuse to use their cards to live beyond their means as was seen prior to the credit bubble of 2008. The high fees which force people to change are simply inefficient and unproductive to anyone but the credit card companies which rake in billions of dollars of revenue per annum.
Society deserves better. But without the charge-backs and fraud protection of credit card companies how would something like a crypto-currency which acts like cash, win people over? In software, a problem is resolved by separating into subset problems. However the module that solves 1 problem shouldn’t be responsible for solving the other ones- especially a subset problem. We like to call this a separation of concerns. Perhaps if we think about the need for insurance as a separation of concerns from the need to transact with low fees we can arrive to a globally accepted conclusion in a trust-less design which is miles ahead of any solution out there today.
Perhaps the problem of protecting the merchant/consumer from bad actors can be handled by a trust-less escrow design and a feedback mechanism that would help in deciding who to pay for products/services as well as resolving issues on when consumers/merchants don’t agree on a transaction. This would negate the need for costly insurance or chargeback mechanisms in the first place. Now that we have the ability to construct these features into our marketplace solutions, we have the ability to offer comprehensive solutions with less fees at the same time providing peace of mind that the consumers receive services/products as described and merchants receive payments in full and on time.
Fee Scalability Issue
Openbazaar claims that it offers free marketplace which is actually wrong. The escrow feature is a value added service that you must pay an arbiter a rate commensurate of demand/supply of an arbiter’s job at the time for them to become an “escrow agent”. NXT FreeMarket costs about 10 NXT between the buyer/seller per transaction. BitBay is based on BitHalo which charges 0.001 BTC per transaction. Syscoin BlockMarket costs 0.2 SYS to create a new offer on the market. The P2P implementations should have no issue adjusting the fee price based on current rates which would make sense… ie: if Bitcoin rises to $10000/BTC then BitBay and OpenBazaar would adjust their fee structure without affecting their respective networks too much.
The blockchain implementations will have a bigger issue to resolve because the fees are built-in to the transactions which form a part of the consensus that is verifiable from any of the nodes that are running. This is what allows the ability to have offline payments which P2P nodes do not support (unless you assign trust to an online node for a fee). In Syscoin we have designed a solution which uses a dynamic fee structure which would adjust to a base currency such as USD or BTC and it would continue to update in real-time, so users know exactly how much they need to pay without understanding the exchange rate of Syscoin/BTC or Syscoin/USD. It’s a problem that is not solved (or planned to be solved) by NXT FreeMarket and not applicable to any other implementations. It will not affect us in the short to medium term but may cause issues if not solved once the price of the underlying token (NXT, SYSCOIN) rises in value. In our opinion it’s still a valid trade-off to have the marketplace living on the blockchain for the many benefits it brings over P2P implementations.
Reputation systems can be gamed therefore we believe the system should provide an intrinsic form of establishing and building reputation based on actual transaction history and data – such as escrow data. This would result in a series of objective metrics related to a merchant upon which “reputation” can be derived. Consumer systems which display this information can then determine which factors they deem most valuable in terms of a reputation calculation. We don’t believe that subjective reputation (aka: user reviews) is something that should be a native part of the solution due to its ability to be gamed and manipulated by groups of malicious users conspiring to enable disreputable merchants with positive reputations, or vice versa- discrediting reputable merchants with malicious and inaccurate negative feedback as leaving feedback has no recourse (positive or negative). The intrinsic form of reputation differs from any other approach. BitBay will develop a reputation system based on statistics and behavioural analysis of actors in the system. OpenBazaar’s approach is based on voting in a pseudonymous trust system for a decentralized anonymous marketplace (read more here). These systems try to indicate a level of trust to the user based on system parameters. We decided to essentially give the merchant the ability to see these parameters (escrow historical data) so users can derive their own reputation system. Maybe all the user cares about is looking at the escrow data and judge for themselves. The key here is that since we are blockchain based, we can easily show historical data while with the P2P approach you have a small window of time before messages are deleted forever. The simplicity of the blockchain approach makes solving the problem of a reputation system that much easier.
As far as I have read Shadow Market is the only project not planning to offer escrow for buyer protection. OpenBazaar has an arbiter implementation which is a node that is paid to become a regulator or escrow agent for a transaction. They will sign off on the transaction and handle any dispute. BitBay has a trust-less escrow system which holds the amount of Bay that equals the cost of the offer bought for the buyer and seller. If neither party is happy, both buyer and seller lose the escrowed funds. ShadowMarket is planning something similar however uses a 2 of 3 multi-sig approach where the 3rd key would be market key. Market automatically signs the auto-generated key so seller can retrieve funds after X days. Buyer can always request X day extension to prevent this from happening. NXT FreeMarket plans to use Concorde, an open source escrow software that allows any escrow agent to connect to the NXT FreeMarket and publish themselves as escrow agents available to be used when offers are sold. The Seller in this case has the option to use Concorde as the escrow for an offer. There are no locked funds from the Seller with this approach other than the funds from the buyer who is purchasing the service/item
Concorde is a centralized service that the core of NXT FreeMarket would rely on in resolving transaction disputes and normal business transactions. It opens up an attack vector that may cause issues for both buyers and sellers because once funds are locked, the seller must trust Concorde to release funds once buyer agrees. If buyer does not sign off for 1 month the seller gets the payment. There is an assumption that 1 month is the maximal amount of time required to resolve a dispute or non-payment.
Syscoin’s escrow is a value added service still in the design phase, usable at the buyers discretion. Buyers pay a fee to use the service if they feel they cannot trust the seller or would prefer additional security within the transaction. Once the buyer pays for an offer they will create an escrow service request which the seller must agree to within the configured amount of time given to them, determined by the buyer. If the seller times out or does not agree the buyer is refunded in full. Once the seller agrees a buyer-configured percentage of Syscoins relative to the cost of the purchase will be held as escrow (these parameters are configured by the buyer when creating the escrow service request). The coins stored as escrow funds in Syscoin’s model can be variable like 10% of the total value of goods or even 10x the value of goods. The goal is to allow the market to decide what they want the escrow to be in terms of value. Too high and the seller is less likely to agree to do business because of having to tie up funds in escrow. Once the buyer receives the item/service they release the escrow and funds are unlocked to both buyer and seller. If the buyer does not receive item or seller wishes to extend the time before (needs completed escrow flow escrowextend info)
A big push in the industry has been towards creating not only markets that can’t be shut down but perhaps the ability to uncensor them so you can buy/sell anything without worrying about being shut down. Anonymous transactions allows for this and has been a big ticket feature since the deep web marketplace known as “Silk Road” was brought down. Although in the grand scheme of things, it may not bring much value to the business world currently it certainly has potential to make waves in the future because many people feel that they cannot do business because of regulatory requirements/procedures within their jurisdictions. This is a double-edged blade, it increases creativity and organic growth of our economy as a whole however at the cost of possibly creating “dark markets” with stuff that truly shouldn’t be sold on the open market. As technology creators we only provide the foundation for this creativity, we don’t believe we or any other party should have centralized authoritative control over that creativity.
BitBay is dependent on BitHalo so it offers message encryption through PGP, IP anonymity comes from encrypting all peer IPs with a super moderator key that the developer of BitBay holds which makes it an authoritative anonymity scheme. Further improvements will be made with i2p and mesh support. It also has the ability to moderate offers via a central authority node (super moderator key). I find it an interesting design and will follow its progress to see how well the community responds to it. ShadowCoin’s marketplace plans to offer anonymous transactions via encrypted messaging and stealth addressing, I would say it is the leader in anon innovation of all competitors at this point. Syscoin/NXT FreeMarket will leverage anonymous services integrated into SuperNET to achieve 100% anonymous transactions. I think the market for legitimate uses of a decentralized marketplace far outweigh the added complexity needed for a marketplace with anonymity built-in. NXT FreeMarket and Syscoin offload this concern to an external entity (SuperNET) to handle the demand for anonymity. The BlockMarket interface offered by the Syscoin team which comes as a package downloadable with the Syscoin wallet will serve as the global marketplace- completely uncensored, used by people who do not wish to have their IPs tracked, and to be able to send/receive payments anonymously. This anonymity can be further enhanced by Syscoin’s ability to run on the i2p network and leverage stealth addresses (upcoming release).
I believe developers, entrepreneurs and investors in the decentralized marketplace community are thinking about this problem in the wrong way. Instead of bringing technology to people, they are bringing the people to the technology. There is a dangerous assumption here that people are expected to learn the technologies’ guts/configurations and nuances to be able to overcome the liability of managing it and increasing profits for merchants. For example, forcing people to use a certain custom front-end and configure a complex system which hardly anyone would fully understand is fundamentally wrong for user adoption IMO as implementing UI’s can be cumbersome and are not where the core expertise of most of these teams lie. In fact there are multiple examples of E-commerce platforms that have discovered and solved the problems of creating a good UI design and user experience to attract users, and have done so through multiple feedback cycles with users, something that takes man-years of development time to tweak and perfect. In Syscoin, BlockMarket is analogous to the UIs other projects have made, however we want to take it a step further. We are developing plugins to common E-commerce software packages to leverage the work others have already done with UI design (Full shipping configuration, inventory management, sales analytics and reporting, payment gateway support, responsive web designs and more for free!), so we can focus on what we are good at and that is the functionality and core underpinnings of a decentralized marketplace. The underlying “API” will work with any UI just like how a REST interface connects a web-service to a front-end seamlessly (most application you use today probably leverage Twitter or Facebook’s APIs, Syscoin’s is no different). In the development world, not separating the data model/data layer and the view (front-end) is an anti-practice and will cause nightmares for scalability as the feature list grows, or even for something as simple as fixing bugs and debugging issues that are not possible to be caught with unit/blackbox testing.
Syscoin E-commerce Integration Plugins and E-commerce Payment Gateways
With the aforementioned vision in mind, we are developing the “API” such that the development model is as easy as possible and extendible for other developers to contribute without needing to reinvent the wheel; being able to develop applications immediately rather than working on “the plumbing” to talk to Syscoin. The Syscoin Blockmarket implementation was developed using this API and acts as a reference web front-end for demo purposes. The real power lies in the ability to tie in an E-commerce platform with a large user-base to the Syscoin Blockmarket/Decentralized Marketplace service with a few simple clicks. Such a connection can be achieved by creating a plugin for that [E-commerce] platform which communicates with the Syscoin API to monitor and react to a simple set of configurable triggers that will not only allow your website to synchronize with the global marketplace on Syscoin’s network, but will also allow it to remain bi-directionally (configurable) synced. This means your website will be able to “push” or make changes to offers through the Syscoin API. It not only enables the existing infrastructure and web technologies to “connect” to the Syscoin blockchain but it would extend Blockmarket by adding offers based on what you currently have for sale on your E-commerce platform prior to installing the Blockmarket Syscoin plugin. It becomes plug and play, no need to recreate all of your offers manually. It is important to note that the token used in Syscoin blockchain to ensure security of the network (Syscoins) may not be necessary to use the technology with these plugins, the payment mechanism presents a different set of requirements than the decentralized marketplace itself. By separating these issues we can essentially allow any form of payments that these E-commerce packages currently support to be able to purchase offers on the Syscoin network allowing people to use and benefit from the technology without forcing users to understand underlying fundamentals.
For example, someone in South Africa might understand about how to pay with PayU and the website they do their shopping at (which now is decentralized via the Syscoin E-commerce integration plugin) offers a PayU payment gateway. They may pay with PayU but the integration plugin would update your offer in the blockchain in the background, in sync with your E-commerce platform. In this way, the consumer is not forced to have a Syscoin balance to be able to shop on a website that is backed by the Syscoin blockchain, it functions as normal while still leveraging the benefits of using a decentralized marketplace. In order to leverage the technology to the fullest and minimize your transaction fees however, the merchant would install and enable the Syscoin payment gateway which enables the merchant to accept payment in Syscoin as well as track payments via the blockchain, saving the high fees of traditional payment gateways or processors. The merchant in this case benefits from additional information stored on the chain that helps track payments, although their E-commerce package already would do this, it allows for simple redundancy and allows merchants to restore the payment receipts upon request which are simply obtainable via your blockchain private key. For example, if you install another E-commerce platform you would be able to import not only your offer listings but payments on those offer listings as well, which would help maintain the state of the old site while starting with the new one. Of course enabling the Syscoin payment gateway would mean that the consumer would assume to have Syscoins to be able to make a purchase… however as user adoption grows so to will awareness of paying with the crypto-currency to reduce transactional costs. Once a transaction is confirmed (within 1 minute) the merchant can be assured that they can send the buyer the item, or allow digital downloads etc. With traditional systems, you not only have to deal with charge-backs but other forms of fraud that sometimes leave you no choice but wait until funds fully clear within 5-7 business days on more. You also would have to deal with currency exchange fees and other fees from custom payment gateways such as Paypal and PayU to be able to use their services. The goal is to not force people (merchants or consumers) to use the technology- but offer the option so that when they do, since they have a financial incentive to do so, that they will stand to benefit and see real tangible results immediately.
Syscoin Dropshipping/Reseller Support
We are working on the ability to link offers together to enable users to resell the original offer for a commission. The commision would be set by the reseller and the original seller would create the offer as resellable if they wish to enable this capability on the offer. It would be enabled by default- why not after all – it would drive in more revenue for the original seller! If they want to further control who can resell we will have a way to link Syscoin certificates to the offers so that the reseller must be issued a certificate that they would enter when trying create the “resale” offer. Only those resellers that were issued a certificate may resell that offer. These certificates may be distributed without a legal contract- for example to give to a friend or family member, or other trusted agent. This allows for a truly flexible reseller program. Read more about Syscoin Certificates here.
Pegging allows for people to understand the price of goods and services in a currency with which they’re most familiar. For example if 1 Bitcoin was worth $250 USD, some people would rather see an item listed for $250 rather than 1 Bitcoin because they do not know the rate Bitcoin trades at, and the rate may be different by the time they go to checkout. By pegging the rate you would simply show offers with understandable prices like $250 USD and when it comes time to checkout or buy, the rate is converted to the token of choice based on the peg exchange value. In BitBay pegging is implemented by controlling supply. By freezing a percentage of the BAY in everyone’s wallet the supply is reduced to a level where it meets demand at the peg price that is desired. It can be argued that a price peg of this manner would not hold, although that is a complex topic and out of the scope of this article. I know that Daniel Larimer successfully achieved a market price pegged asset implementation in the Bitshares project with price feeds (from M of N oracles, where N represents the total number of nodes on the network) for their pegged assets. To read more about oracles read this section about using oracles in a decentralized blockchain system. Never the less, I believe it is an extra complication that is not needed. I’m not sure as to how NXT FreeMarket will implement its price pegging feature although it is planned. Syscoin offers a price peg tool, external to the marketplace application, which aggregates all of the exchange price data so that web front-ends can reference this tool via a web-service and apply the price information to the final amount of Syscoins required to purchase an offer while delivering the seller the desired peg value. Again the idea is that you would list things in the currency you desire and the tool will simply convert it on demand (usually when you want to pay in Syscoins). You may not even accept Syscoins for payments, although your website may be a decentralized marketplace on the Syscoin blockchain. It makes sense to make the Syscoin payment gateway responsible for such features and not make it a part of the core marketplace code, so that if the consumer does checkout with Syscoin, they will be able to see how many Syscoins the offer must be paid for which is calculated at the time by the Syscoin price peg tool. Although ShadowMarket plans to have a price peg mechanism, details are still unknown.
Overall P2P Design vs Blockchain Design and Security Concerns
Although the main benefit of using the blockchain approach of decentralizing a marketplace may be its simplicity due to not needing Ricardian contracts to sign an agreement between buyer and seller as well as the need for central or authoritative nodes to publish information on the network about offers which may expire if not updated and the author is not online. These things add extra overhead for the user to simply understand the system especially if they need to configure some settings regarding the operation of these features. In the blockchain approach, everything about the contract between buyer/seller and the transactions that occur between them is pretty much given to you out of box and helps ease users in because of the simplicity and less moving parts which leads to tighter security and ultimately a more robust system.
If we trust Bitcoin core to be the most secure/tested form of decentralization technology (and its been heavily vetted and peer reviewed at this point) and we leverage the development prowess of software engineers around the world who contribute to that project we start with a leg up from competition that does not harness it. Syscoin is the only coin that leverages this fact and stands to benefit from it in the long run. If we look past the simplicity factor we may begin to look at ways that the blockchain approach is more secure than P2P. P2P networks which are not fully anonymized can fall victim to DDOS attacks (the classic TCP SYN ACK network flood attack). Given the fact that even TOR is not fully anonymized due to security vulnerabilities in exit nodes, I have a hard time believing that any of these projects claiming full anonymity with their P2P designs would actually stand the test of a reasonable length time on their claims. A network poison attack is also possible which allows the attacker to inject garbage, useless data into the network because of the fact that these networks don’t charge any fees to list offers on their respective marketplaces. The blockchain approach makes it easy to charge fees on transactions, enforced by the network so it is easy to mitigate garbage flooding the system.
A P2P marketplace would also use more network bandwidth than the blockchain approach because there needs to be constant monitoring of offers that may expire within hours through a keep-alive approach which will not scale well once the user base grows at a non-linear pace because of the sheer amount of messages that each node will be processing to simply update the state of their listings regarding which offers exist and which don’t (expired, qty, or offline node). It’s important to note that P2P marketplaces must have this keep-alive feature to ensure offers (and payments on those offers) are still existent on the marketplace as the P2P messages are only cached for hours, that is just how the design works, it does resend every 2, 4 then 8 days if node has been offline and comes back but there are these gaps in time for resends and average users will think that once the node is offline, pretty much that offer is not in business.. The blockchain stores all transactions in its database. Thus offline payments come out of the box in the blockchain approach while they must be designed, tested and qualified as a value added feature in the P2P approach (someone will take fees or payment for publishing that your offers are still alive, and this node must be trusted to do that). The arbiters in OpenBazaar for escrow and the moderators in BitBay for censorship are examples of another attack vector on the P2P based marketplace. These nodes can be singled out and attacked because they are relied upon in a trustful design. Of course there are tradeoffs and certainly some benefits to adding centralized components to an overall design, like for example where a centralized web wallet service/node may help ease new users into the system or help to make payments to offers more convenient, however this type of centralization makes sense because its providing a service on top of the existing core decentralized technology. The technology can still rely on system inherent fall-backs to function with 100% capacity should the central service node not work for any reason. By building centralized features into the core of a decentralized system, it begs the question if the system is robust enough to even be called a truly decentralized system at all.
Proponents of P2P Marketplace
Proponents of P2P marketplaces will claim that the blockchain approach will lead to unmanageable bloat (the size of the chain will grow too big too fast to make it feasible for new people to join the system and synchronize with the network). This is the biggest criticism of the blockchain approach that the critics have. The rebuttal to this is to be able to harness SPV technology to be able to synchronize new users to the system who do not have outstanding offers or coins in the system to synchronize much quicker than normal. This would solve the bandwidth issue of synchronization as only the block headers are downloaded. To manage disk size bloat you may prune blocks that are fully spent as was done in a recent commit to the bitcoin codebase (https://github.com/bitcoin/bitcoin/commit/f9ec3f0fadb11ee9889af977e16915f5d6e01944) which will allow for users to only have to keep the last few hundred blocks (based on statistical analysis) in memory and/or hard-disk and prune the rest which have been spent. I’m not sure if NXT FreeMarket has a notion of expiring offers but Syscoin does and thus we can find a way to prune spent coins as well as “expired” offers from the marketplace without sacrificing security. This will allow the service use to scale exponentially and not cause issues with blockchain bloat. If you need to see your expired offers again for some reason you can simply reindex and resync the whole chain. This may be useful if you have a private key and need to import your offers from the blockchain from scratch, or from a very long time ago. Finally to make things a whole lot simpler for average Joes to use our service and not have to worry about synchronizing at all, we are working on a web wallet which will allow users to simply login with an alias (or create one) of their choosing and start using Syscoin, similar to NXT’s web wallet. They will also be able to import their existing offers through into the web wallet. This will be a huge step forward to help ease onboarding non-technical users. Those that value security will always be able to synchronize locally just the same on their own node, or may host their own web wallet via a server so they may integrate web services into it for E-commerce solutions such as their own custom payment gateways.
Bandwidth considerations of P2P vs blockchain marketplace
Bandwidth is the amount of network resources used to keep the marketplace running or synchronized amongst peers. In the blockchain approach bandwidth is minimized by using SPV to synchronize the blockchain. The bandwidth issue is much bigger in the P2P design because of the “keep-alive” messages that must be sent to every peer about every offer that is still online. This is because there is no storage of offers in the P2P design, everything must be kept in a memory pool of offers. If there was storage of offers in the P2P design, it would pretty much be leading up to the design of what the blockchain approach is, a storage of offers in a ledger with a P2P message relay between peers of new/updated offers. If we let K be the amount of time before messages are deleted in the P2P design, N be the number of offers and M be the number of nodes, we would send(N*M every K interval) messages across the network for the marketplace while with the blockchain approach you would broadcast just N*M messages once. N*M message essentially considered N broadcast messages to the entire network. You have an order of magnitude higher requirement of bandwidth in a P2P marketplace over a blockchain marketplace. To combat the bandwidth issue, the BitBay project has plans to attempt to create subset markets running on different network ports such that N changes to the number of offers in that subset market. Only nodes connected to that market would get those messages. This creates design concerns for consumers however. Consumers will need to continually switch networks to see offers which do not display in certain markets they are viewing. For example a global search will take a long time because it will have to synchronize and span across all subset networks. If you’re connection is to only a specific set of networks, you will need to receive all offers across all subset networks to be able to find the offer you are looking for globally. Bandwidth will be reduced the most if people tend to sell things in single subset markets and not span across multiple subset markets. It also complicates the configuration of each person connecting to the marketplace. The usability from consumer perspective suffers as a result however.
Benefits of Syscoin over competitors
- More closely aligns with business model of websites that are currently in operation and are successful, don’t change the way people work drastically, can link websites to blockchain via export/import features so that customer may not have to even know underlying tech, with p2p must go to custom UI no re-branding or merchant uniqueness, UI problems and quirks.
- Allow multiple front-ends (websites, apps) linked to offers on the same decentralized database (blockchain) and be synchronized across updates and payments to those offers. For example you may want to have a mobile app as well as a website showing your offers as web stores. If someone pays for one of your offers via the app, your website inventory is updated, back-end processing is done and vice versa, all locations the offer is displayed are updated automatically via the blockchain. No need for the app to link to an online MySQL database of the website, or any other custom web service to update a centralized store of information which may be a potential source of failure if the service is down. The decentralized blockchain is always running, when the plugin inside of the website running on a CRON job notices there is an update it will pull it immediately from the blockchain.
Another example is if you wanted to resell items from another “store” which has a group of offers. If that store allows their offers to be resold. You would simply link your offers to theirs and put up your website and charge a commission for each sale as your revenue model. The payment goes to the main seller and you keep your commission. You can choose to drop ship items or ship directly for branding purposes. One may create endless links one on top of another to drive merchant adoption. This model is analogous to how some travel websites work for example by aggregating data from other websites, bringing users to the airline or travel agency website and charging a fee. Note that the fee would have a contractual agreement ahead of time rather than simply allowing for the aggregator to decide what he wants his commission to be, a far better value proposition to someone who wishes to aggregate data and resell items.
- Anonymity using SuperNET. No need to add complexity to core code. Separation of concerns. Reuse developer power, and technologies from within SuperNET to Syscoin’s advantage.
- With plugins it becomes more viable to grow front ends at a quicker pace allowing for faster network growth attracting more devs in a cycle to do more integrations faster.
- A blockchain based implementation with scalable fee structure. Simple, everyone understands cost of doing business, and it’s less than using traditional payment processors which gives incentive to make the switch.
- With the ability to link/resell offers (the ones that allow it) and sell those offers via drop-shipping with a percentage commission you are able to sell other user’s inventory all tracked on the blockchain.
We are working hard on satisfying the vision above and completing features that will put us above any other solution out there. I hope that many of you reading this blog who are looking to make a difference will join our active Syscoin team to help solve problems to better our world! There are many more features in Syscoin we did not talk about (certificates, aliases, decentralized data storage/decentralized websites, assets and more). This blog just touched the surface of the power of using the blockchain to solve tomorrow’s problems.
We believe the benefits of using the blockchain for a marketplace among other services (certificates, escrow, assets, aliases) are going to be a driving force behind the popularity and intrinsic value of Syscoin. The technology back-end has been developed to a point most of the integration work can now be done and you are starting to see the value of what we are doing become priced into the exchange rate of Syscoin. We are at the beginning stages of an exciting development cycle full of amazing features which will put Syscoin far ahead of any other marketplace technologies because of the vision and direction we took which we believe closely aligns with the goals and motivations of businesses around the world today. We wish to achieve network effect by making it easy to integrate into the world of business and then work on setting the standards of how E-commerce applications should work in the long term. This will help carve a unique market position for Syscoin as the de facto solution for a decentralized marketplace and possibly many other decentralized services Syscoin provides
Comparison of Marketplace Technologies in the Crypto-currency Community
|Technology||Type||Offline Sales||Buyer Protection (Escrow)||Price Pegging||Reputation System||Anonymous Transactions||Fee Scalability||E-commerce integration||E-commerce payment gateways||Dropshipping/Reseller support||Offer Expiry|
|NXT FreeMarket||Blockchain – POS||Yes||Yes*||Yes*||Yes*||Yes||No||No||No||No||No|
|Syscoin BlockMarket||Blockchain – POW (MergedMine)||Yes||Yes*||Yes||Yes*||Yes||Yes*||Yes*||Yes*||Yes*||Yes + Pruning*|
* In development for release in the near future
^ Offline sales may be a value added feature which will cost a fee and place some trust in third party nodes while your node is offline