Introducing Darkleaks

The blackmarket running on the bitcoin block chain for leaking confidential secrets, hollywood movies, software exploits and so on.

Zozan Cudi
Jan 28, 2015 · 4 min read

by Zozan Cudi (@ZozanCudi)

Cryptocurrencies existed for ages but all had the same issue that is common in the world of information technology: the double-spending problem. Bitcoin, introduced in 2009, solved this issue thanks to the block chain technology.

The block chain is a massive distributed data base all over the bitcoin protocol which can do so much more. Indeed, the two first applications of bitcoin which are the decentralized currency and the peer-to-peer payment network are just the tip of the iceberg for all the possibilities bitcoin can deliver.

Distributed blackmarkets can be built on top of this block chain and Darkleaks is one of these new applications.

Image for post
Image for post

Sell and buy information anonymously

The software uses Bitcoin’s block chain to encrypt files which are released when payment is claimed by the leaker. Files are split into segments and encrypted. These segments are unlocked only when the leaker reveals the key by claiming his Bitcoins.

There is no identity, no central operator and no interaction between leaker and buyers. We encourage everyone to download Darkleaks now and start building. The code can be found here.

Image for post
Image for post
Alpha 1.1 from January 2015

Unstoppable Leaks

Image for post
Image for post

Darkleaks is the best tool to trade any kind of media, information, video, data and documents that have value.

  • Hollywood movies
  • Trade secrets
  • Government secrets
  • Proprietary source code
  • Industrial designs like medicine or defence
  • Zero day exploits
  • Stolen databases
  • Proof of tax evasion
  • Military intelligence
  • Celebrity sex pictures
  • Corruption

Developer Information

Command line tools

git clone

Follow the instructions in the README.

Python API

import darkleaks

source_filename = …

number_chunks = 20

release_chunks = 12

block_hash = …

darkleaks.start(source_filename, “output_segments”, number_chunks)

proofs = darkleaks.prove(source_filename, number_chunks, block_hash, release_chunks)

secret_keys = darkleaks.secrets(source_filename, number_chunks)

See the for more info.

How does it work?

Image for post
Image for post
How Darkleaks works.

To prove the authenticity of the document, the system uses a trustless provably fair mechanism. When announcing the leak, the leaker chooses a date and number of the chunks to be released. Based on the Bitcoin block hash at that time, some provably fair random numbers are chosen to select segments to be unlocked. This allows the community to verify the veracity of the file and decide whether they want to pay for the remaining encrypted segments.

The buyers then send Bitcoins to these addresses. When the leaker decides to claim the Bitcoins from the private key, due to how Bitcoin is designed he must release the public key which allows the buyers to decrypt the document.

Because the leaker cannot pre-choose which segments are released, the buyers can verify the addresses are correct, and the segments can be decrypted. This makes for an authenticatable and trustless mechanism for selling information on the decentralised black market.

So what’s next?

The gloves are off. The revolt has begun.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store