Silk Road has demonstrated that it's possible to run an anonymous online marketplace. While technologically it wasn't that bad, there was a critical point of failure — its centralized nature. Capture administrator and everything is doomed.
Here is my proposal of a distributed anonymous marketplace that doesn't have a single point of failure.
This concept does not focus on moral issues of participating in a voluntary anonymous trade nor does it endorse a specific use of a system it describes. It is more of a concept of decentralization of current marketplaces.
Let us start by looking at some of the problems that centralized marketplaces (like Silk Road) do have and try to figure a solution for them.
Internal account balances
On most of centralized markets, every account got its internal balance. Users deposited money by sending them to DPR's wallets and the system credited the amount to their balance. On transactions between buyers & sellers, just the balances were updated and no actual money transfers took place. Moreover, the users didn't own these Bitcoin wallets so they were never in control.
It is, however, a bad idea to rely on a single person and trust all the money to them. Even if they are a good person themselves, there are violent third parties that can try to interrupt the operation any moment and try to seize the money.
So, that is a problem. Now. Problem, meet solution.
The solution is seemingly obvious. Let the parties transact directly without passing the money through the wallets of 3rd parties that can be compromised.
You own your money and don't have to trust anyone with it. Perfect, right?
But there is a reason they needed the money to pass through its wallets. It's because there was a need in arbitration. Luckily, there is a way to arbitrate without rising your money to someone...
So, arbitration. It's needed to resolve disputes the buyer and seller might have. Like the item arriving not in time. Or not arriving at all.
The way it worked on SR was like this: you buy something, the payment is held in a "pending" state, unless you finalize the order. You finalize it if you got your item and you have no concerns about it.
If you do, however, you can dispute with the buyer. If you are unable to meet an agreement, the administrator steps in and tries to resolve your conflict. Depending on outcome, the money may be transferred to the seller, refunded to the buyer partially, or refunded to the buyer fully.
And that is why it was needed for the money to be held by this trusted third party. Relying on them is, again, a bad idea, and luckily, there is another solution to this problem.
The solution is Bitcoin transaction scripts. Without digging into much detail, there is a way to allow mediation of Bitcoin transaction. There is even an example on Bitcoin wiki.
Basically, it works this way:
the sender adds a public key of a mediator to the transaction, so that there are 3 people involved in transactiononce transaction is broadcast, it kind of stays in the "pending" state unless two of these three cast their vote on transaction
There are three possible outcomes:
the buyer and the seller do agree about the transaction, cast their "yes"-s and money goes to the sellerthe buyer does not agree and asks the mediator to help:the mediator decides the seller didn't fulfill their part of agreement (e.g. didn't deliver) and casts a "no", and so does the buyer, then the transaction is no longer pending and the money is returned to the buyerthe mediator decides the seller did fulfill their part of agreement and casts a "yes", and so does the seller, then the transaction is no longer pending and the money reaches the seller
There are a few benefits to this scheme:
you do not have to trust your money to the mediator. At worst, the money ends up being in seller's/buyer's possession — but definitely not mediator since there is no way the mediator can change the output of transactionthe mediator doesn't have to be an admin or representative of the marketplace. It can be anyone that both the buyer & the seller trust
Inviting a third party mediator is an interesting idea, as it also removes the dependency on marketplace owner to mediate your dispute... but how would it work?
A reputation system. Everyone can be an arbitrator and they get chosen based on their reputation. Which is what the next chapter is about.
A system like Namecoin could be used to maintain identities and reputation of buyers, sellers, mediators, and marketplace owners.
Federated distributed marketplaces
There is yet another reason that relying on a single entity is bad. Even if your money always transfers to the buyer directly, and mediation is done by a third party, there is one more thing that isn't distributed — the marketplace itself. If someone arrests or otherwise intimidates the owner, everything goes down. Boom. The money is still yours but the operations had stopped. You can no longer buy or sell.
As a solution, something like this might be proposed: marketplace app is OSS and everyone can run their own. And, indeed, it's a good solution. If some marketplace owner gets arrested, the others are still functioning and almost no harm is caused to everyone else.
Yet, there is a little thing that makes this approach far from desirable: discoverability, for one thing. You will have to manually discover a variety of marketplaces and signup for all of them. What if there was a better way?..
In fact, there is. There is this project called Diaspora. Basically, it's a social network that everyone can run. The key idea is that instead of tens or hundreds of separate social networks that everyone runs, there is one. Everyone can merely run a node that will host its user accounts, posts, and associated data.
It also enables for easier discovery. You can subscribe to users from various other nodes, see their posts, and so on. So it's a federated distributed social network.
A similar concept can be applied to anonymous marketplaces as well. Everyone can run their own node, and that node will store its users' account data and its own catalog.
From the user perspective though, there will be a single unified catalog of various goods. You visit "Catalog" and you see items from all federated marketplaces.
The solution I propose will allow to get rid of centralization so that there won't be a single point of failure (central authority). The federated distributed marketplace will be much more difficult to shut down. And even in the case of shut down, no one is losing their money.
These are basically my thoughts on how such a system could be implemented. It's very likely that I missed something important or didn't fully think it through. All feedback would be highly appreciated.
Geofrey van Hecke's insight:
Un projet Silk Road 2.0 nouvellement créé sur Github. Contrairement à sa version 1.0 qui a été fermée par le FBI car souffrant d'une très mauvaise réputation, cette version 2.0 consistera principalement à rendre la plateforme d'échange décentralisée et plus éthique.
Android/OS X/Windows: Tresorit is one of our favorite privacy-protecting cloud storage services. They encrypt your data, protect your privacy, and have even challenged hackers to break their security so they can improve it.
Il arrive souvent que vous tombez sur un livre sur Google Books. Sauf qu'il n'est possible que de le lire sur le site, vous être donc obligés d'avoir une connexion à chaque fois pour y accéder et vous contenter de le lire sans l'imprimer.Dans la suite, je vous propose de découvrir un moyen simple et gratuit pour télécharger les livres de Google Books sous format PDF.
The move towards Single Page Apps and RESTful services open the doors to a much better way of securing web applications. Traditional web applications use browser cookies to identify a user when a request is made to the server. This approach is fundamentally flawed and causes many applications to be vulnerable to Cross-Site Request Forgery (CSRF) attacks. When used correctly, RESTful services can avoid this vulnerability altogether
Geofrey van Hecke's insight:
"We’ve been working on Project Ara for over a year. Recently, we met Dave Hakkens, the creator of Phonebloks. Turns out we share a common vision: to develop a phone platform that is modular, open, customizable, and made for the entire world"
In the coming two weeks I will do a series of talks at various conferences in Austria and Germany. I will speak about AngularJS, TypeScript, and Windows Azure Mobile Services. In this blog post I publish the slides and the sample code.
Windows: Using Libraries in Windows to collect folders in one place is nice, but it would be even nicer if you could reach your Libraries from any computer. With a light bit of trickery, you can do that with SkyDrive.
Les contenus web se sont très nettement améliorés en qualité depuis ces derniers mois étant donné le durcissement du règlement intérieur de l’établissement Google ! Le contenu est devenu la priorité en matière de référencement à tel point qu’il est dorénavant au cœur de toutes les stratégies marketing des entreprises qui souhaitent un minimum de visibilité.Mais plus précisément, comment optimiser un contenu pour le positionner dans les premiers résultats de recherche et quels sont les critères qui permettent de mieux référencer un contenu et la page web où il se trouve ?
Lorsque vous cherchez une information, il vous faut une réponse immédiate. Pas moyen d’attendre ou de chercher pendant 10 minutes, vous faites tout voler au bout de 2 minutes ! Pour vous, “recherche” rime avec “résultats précis et rapides”. Obtenir la bonne information au bon moment, voilà une mission devenu de plus en plus compliquée. Pourtant, en vous équipant de bons outils, je suis certain qu’il ne vous faudrez plus que quelques secondes pour trouver ce que vous recherchez. Voici 5 sites pour trouver la bonne information… au bon endroit… au bon moment !