Update on personal coins. What needs to happen for mainstream use.

In the past month since I announced my own planned personal coin, there’s been some new tech journalists launching their own: such as Alex Hern, and Joe Weisenthal. I’ve also discovered the first personality currency was Cinnamon Coin based on Cinnamon Carter. Indirectly, the Coinye West coin (or rather Coinye Coin due to “legal pressure”) is also coming.

Matt Corrallo also launched an altcoin maker: coingen. I was planning to make something similar, but I veered off into a more esoteric level: thinking of baking in alt coins securely onto the Bitcoin blockchain.

Slowly, but surely, it is starting…

To mint personal currencies, there’s currently 2 ways I see it can happen:

Pure altcoin & colored coins.

Pure altcoin:

This is what we are seeing with Dogecoin, Litecoin, and new personal coins such as Herncoin and Stalwartbucks. The concept is fine, BUT it lacks security: both in terms of technical chutzpah required by developers AND the problem of having chains with small hashing powers.

With coingen, in some manner, Matt has made it easier to create one, but it is still difficult to maintain one. A pure altcoin unfortunately also suffer from low hashing power risk. Someone can quickly come and derail a coin (if they were so inclined).

Colored coins:

Colored coins is the process of using Bitcoin as a proxy for other assets: basically allowing anyone to mint anything on the blockchain. You ‘color’ some satoshi that represents new assets. These assets can then be traded similarly to Bitcoin: they just then don’t use the nomimal value of BTC, the currency. So I can mint 1 million Simoncoin. This works well, because it uses the security of the Bitcoin blockchain AND it is now starting to be relatively easy, thanks to development in the area.

The problem with colored coins however, are that it is centralised. Making a personal coin decentralized will breed more trust, as I can’t manipulate AND I have additional incentive to be continuously involved in order to sustain it. In other words, I’d rather get involved with someone willingly relinquishing their personal coin to a decentralized approach.

So how do you combine them? Colored alts. And that’s what I’ve conceptually designed. Using the Bitcoin blockchain, users can mint any decentralized currencies on top of it.

Here’s the concept I’ve posted on the colored coins Google group. And here it is quickly on the Bitcointalk forums. I’m still looking for comments, but I think I’m in the right direction.

I believe a future of personal currencies means stripping away the worry of managing the technical sides (for everyday users). As you can see, it is tech journalists and tech savvy people playing with personal coins. This means, removing the worry of security AND the worry of maintenance.

So, I’ll see how far I get with it, as I would like to technically design it as well. This way I feel Simoncoin will have the best rate of success (you don’t want people moving coins halfway through). Making it future-proof. It also means anyone can hopefully create a personal coin by just a tap on their phone.

Announcing Simoncoin - world’s first individual altcoin.

In the previous post, I explain how it came to this. I’m going to run this experiment, and it’s going to be risky, but I would love to see this future come to fruition.



Simoncoin is an investment in me, and my capability to make the world a better place.

It’s an experiment that I have conviction on! The cat is out of the bag. Whether this is how the future will look, it remains to be seen, but I do believe that individual cryptocurrencies lights up a path to a future where we can invest in each other’s capability to make the world a better place. Someone won’t have to work menial jobs just to get by. You can become a very ‘wealthy’ person simply by being altruistic: giving back to a community, helping elders across the street or fighting injustices.

Perhaps the future versions will be different: minting colored coins on the Bitcoin blockchain, or using systems such as Open Transactions. But for now, let’s start with this.

For now. Simoncoin is going to be launched in January 2014. I’m busy creating my own fork, setting the monetary policy, creating wallets, creating a block explorer, pools and so on, before the launch. Most of the basic altcoin code is done. I need to set up the rest of the infrastructure though, as well generate the merkle root. But I’m going on holiday with the family soon, and I want to be present and not want to worry about fixing bugs.

Allowing people to easily create their own cryptocoins is a next step: and then creating an exchange for all of them is what I want to work on for next year. If you like this idea and want to get in touch (as developer or investor, don’t hesitate to contact me).

After this, creating a system where each altcoin can float and make it possible to pay with any altcoin (no matter how new) at any store. (ie altcoin -> BTC -> Bitpay).

In the far future, if this idea takes off, creating a system where buying another person’s coins could simply be as easy as walking past them: making it possible to easily and quickly invest in small gestures of goodwill.

EDIT (23 January).

Simoncoin is on hold for now. I’m trying to figure out the best way implement this idea. I believe the current way is probably not the best implementation.

In the future, everyone will have their own cryptocurrency.

Everyone in the next 10 - 20 years will have their own altcoin (or derivative of it). I’ll have a simoncoin.

In what sounds like an odd turn of events, recently launched dogecoin made me think deeply of how we ascribe value. Due to the ease of launching currencies (thanks to Bitcoin), it was inevitable that something like dogecoin would come along. However, looking at all the previous cryptocoins, all of them have been centered on some an idea: that is for the most part arbitrary. You have ‘feathercoin’, ‘worldcoin’, ‘litecoin’, ‘sexcoin’ etc. The strength of these coins as currency is its ability to kickstart and sustain a network effect (big or small). Having stronger concepts (and backing), allows it to sustain and continue to have value.

With Dogecoin however… there’s no lofty theme, or concept, other than doge: the meme. It’s currently very big on the net. Doge harnesses a strong existing network effect. Its usefulness as a currency is exactly that. It seems as if ‘money’ (or value) is a correlation to a network effect. Speaking to Bryce Weiner on twitter, he mentioned the idea of creating a cryptomarket based on celebrities.

And then the next step fell in place. What if Justin Bieber decides to back and launch his own altcoin? Buying and owning a part of Biebercoin is an investment in his network effect. There will be many teenagers wanting to pay and use Biebercoin as currency, and it will make sense for vendors to adopt and use it (in stores, in apps, etc). As investors, you’ll want to be a part of his success and thus own some of it. In other words, what if you saw Justin Bieber in his video ages ago, you could’ve bought some Biebercoin and took part in his success?

Jokingly, I told me friends about this, and they mentioned: imagine if there was there was a Mandelacoin right now?

And then it dawned on me…

Why not mint a cryptocurrency for each person? Mandelacoin and Biebercoin will be valuable by virtue of their achievements. But there are lesser (and other achievements) in life as well… and its value will be directly tied to the person’s ability to generate a network effect.

The beauty of this concept goes into another direction as well. We are continuously living in a world being eaten by software, where people are losing jobs left, right and center. Valuing the work being done, and getting paid for it is becoming a cock-up. If your net worth is simply tied to your network effect, you can become anything!

If you live a life of altruism, simply helping people in grand ways, you’ll generate a network effect and your net worth will grow as a result of it. You can be an artist. You can be a great mother in a community. You can contribute to open source software. All of the previously pure altruistic gestures will now generate wealth for an individual.

It also goes for the inverse. If you behave evil (what people perceive as evil), you will lose your net worth, as your money will be a direct vote on other people’s behaviour: a fluid ‘vote’ on people’s actions. In South Africa, our president Zuma, is squandering tax funds to build himself a massive home. The problem is: due to inefficiencies with how money and value flows, he’s locked up that net worth and power. Even if he behaves badly, ‘karma’ will take longer to decrease his power. It will have to lead to a breaking point, where the populace will get up and revolt. With this system, the populace can discreetly sell the Zumacoins they’ve accrued (when he was a more genuine leader), and let his wealth and power plummet.

So here’s an idea: create platforms, tools and suites to make it easy for people to launch their own coins. And then allow them easily exchange value between all the different coins. Make it float easily, so that I can pay with simoncoin at a store, even if they do not accept it explicitly. Or rather, fluidly spend the value of the coins I own of several people (ie spending Biebercoin for now, due it to having increased in value). Tipping and buying parts of other people could also be made extremely easy. Meet a kind stranger on the street one day, you can immediately then and there, discreetly buy some of their coins.

Value for now will probably be tied to its value in Bitcoin (as most altcoins are currently being valued) or the current reserve currency in the world: ie USD. However, into the future due the fluidity of the network of value, prices would probably be start being displayed specifically to you, perhaps as a percentage? ie, this beer will cost 0.0003% if your current net worth (whatever coins you hold).

Who’s in? Let’s do this!

For now, the going will be slow. We will start seeing (mostly tech) people slowly but surely minting their own coins (probably creating litecoin/scrypt forks), until a platform exists for anyone to easily create one, and allowing easier and quicker exchange between them.

Ideally, people would start minting their coins when they are born. At that stage, family would most likely be mining it for the first few years: allowing the child to eventually own their wealth when they come of age. If there is sign of genius, others could start buying some of the coin. But for now, we’ll have to go from here. Hopefully I get the most of my own coins. ;)

For established people, this process might be a bit more difficult. If Bieber releases his Biebercoin, he will have to contend with miners coming in and usurping his coin. But having a strong network effect could mean, he could either pre-mine some of it (to a reasonable degree), or simply through the wealth that he has buy it up as it comes into circulation.

There are some flaws to having millions of small coins: mainly security of the chains. Perhaps this idea will take some other form, in colored coins on the Bitcoin blockchain (best security) or through Open Transactions.

All I know is. It’s going to be a very interesting road ahead. And thus, I’m announcing Simoncoin. Launching in January 2014.


@gvrooyen, the director of the MIH Media Lab where I was at for the past 3 years, added a follow-up post: Cryptocurrencies as public shareholding, which is also worth a read.

Thoughts about Dogecoin (and altcoins).

On the 8th of December, Dogecoin was released. wow.

It’s market cap is already at $1 million USD and it’s the 4th largest scrypt altcoin in terms of hashing power.

Looking at the altcoin market there’s already 45 of them (if not more). A lot of them are turning into complete copy-cat coins, with no discerning difference: the long-tail of competing virtual currencies.

I recently read a response from Erik Voorhees (creator of satoshi-dice and prominent early adopter of Bitcoin) on Litecoin (and altcoins).

Here’s a quote with which I disagree with:

Speculating on altcoins, in general, is pure greater fool theory in action, because there is no significant fundamental utility, no “improvement delta” over Bitcoin itself.

If you think about the technical benefits, then yes, this holds true. Litecoin’s improvements aren’t that much more beneficial over Bitcoin. If you look at other altcoins, they might provide other technical experimentations such as Peercoin’s use of proof-of-stake algorithm which will end up being much more energy efficient into the future.


A feature of money is its network effect: being a medium of exchange. IF an altcoin is just being speculated, it kickstarts its network effect, improving its “improvement delta” beyond its technical merits. Once it reaches escape velocity (people coming on board due to a lot people already being on board, like Litecoin), it’s in the clear. Being in the right place at the right time is often enough. A great example in another realm is Javascript’s lunge into the spotlight. It’s not of one the best languages around, but due to it being well-placed (being a client-side browser language), it became unexpectedly popular due to the proliferation of apps built into browsers: even becoming the backbone of server-side frameworks such as the popular Node.js.

Looking at Dogecoin, a clear jokecoin (or memecoin), it’s added social features is the backing of a massive meme, AND the fact that people see it as a joke/lighthearted… which might be enough to kickstart its network effect into escape velocity.

I won’t be surprised if dogecoin becomes a top 10 coin (> $10 million market cap).

It also brings about an interesting question. Due to cryptocurrencies making it so very easy to launch money, does it unbundle value to simply being a network effect?

If you liked this post, do drop me some dogecoins: DFVzezccAsdq1LQwrPTDe1nMXKrL7aEUWY. wow.

How regions can create their own altcoin: incentivizing community-based altcoins.

I found Allahcoin the other day. It’s essentially a Litecoin clone, but with one interesting distinction: 10% of each block goes to the Muslim Brotherhood.

I’ve always wondered if it was possible to in some way design community-based altcoins (either, governmental, regional (like a city), or whatever delineation you want). The problem however: it’s purely digital. Creating a Bosch-coin (for Stellenbosch), for example, means anyone in the world can mine it, and still use it, kind of defeating the purpose of delineating it to a region.

Seeing how Allahcoin donates 10% of each block to a central authority is the clue here. I’m not going to bother with Allahcoin, because I don’t want to mine something where 10% of it gets donated to a religious organization I don’t support. But I’ll be more likely to mine and contribute to a coin which donates part of the money to an organization or entity that supports a goal I align with.

And this means you can easily see regional (or community) coins start popping up. “Boschcoin” could have 10% of the proceeds of each block donated to the municipality (of Stellenbosch). This is a public address, and then you can see where they spend the money.

Other (of the top of my mind) options:

- “Gamecoin”: where 10% of each block goes to Child’s Play.

- “Govcoin”: 10% of each block is the ‘tax’ imposed on the nation.

- “Bankcoin”: There’s no fees. The bank makes it money by getting 10% of each block. And anyone wanting to deposit money with them, has to use “bankcoin”.

The benefits:

In a cryptocurrency world, tax is a thorny issue. If you think ‘tax’ is a good thing, this is a much better way to impose it. It’s built into the money protocol. The city doesn’t have to forcefully extract tax from its citizens. It’s saying: “Here’s how you transact in our area. Go crazy, it’s already been ‘taxed’.” vs saying: “Do what you want with money, but please pay us tax, otherwise we will come get it.” It’s push vs pull.

The value of the coin is also directly correlated to adoption. If “Boschcoin” wants to succeed, the city will have to visibly show how well it is doing. Its proceeds (ie tax) is correlated to its success. It’s like holding stock in the city.

Transparency: if a city decides that it wants its citizens to use the currency, it will have to use the coins donated to it, in a similar fashion. The good thing about this: it’s a public address, and it can be mandated that each transaction that the municipality spends has to be labeled and visible in the blockchain.

The disadvantages:

Centralization. However, this is not ‘such’ a big deal. If the central authority dicks around, then faith in the coin will be lost, and its value will decrease. But it’s still an added vulnerability.

Not as secure as Bitcoin. Bitcoin’s security comes from it’s big infrastructure. A regional coin will always be less secure, and is more prone to attacks. The only way I see this can be improved is through Mastercoin or Colored Coins, where the regional coin is minted on the Bitcoin blockchain, but then I’m not sure how to impose the 10% fee to the central institution. Another way protect against this is to used centralized checkpointing (already being employed in newer altcoins to keep it secure until the infrastructure improves).


Is this something that is needed (or wanted)? Not sure yet. The only benefit I see is that it can increase transparency to a region (such as a city), decrease some of the inefficiencies related dealing with the current financial system and add the idea of a ‘stock’ to a region (ie owning “Boschcoin” is an investment in the city of Stellenbosch). Otherwise, just using another coin will do a similar job.

Thoughts? Advantages? Disadvantages?

Stellenbosch Bitcoin Meetup

So, after Switchless acquired BitX, the Stellenbosch Bitcoin community came out of the woodworks, and it was determined that a meetup should happen.

So it did.


Quite a turnout. We had to move to a larger venue to accommodate all the people. People from Cape Town were also in attendance, as well as some others from the international community that were around.

A crowdsourced beer fund was set up, totalling R760 worth of beer: https://blockchain.info/address/1NbVeKEByNDocze7Nf99B3G38rhuU8r4Ph. Fun.

First up was Timothy, from BitX.

He spoke about how it started, and how it turned into what it is today. They’ve done more than R1 million worth of trades. The first trade on BitX was for R490. The current price now is R10000+. They also recently switched to a system where you have to deposit before-hand to keep the market more liquid and moving.

Next up was Marcus, from Switchless.


(photo by caravdv)

He spoke about what benefits Bitcoin can bring to existing financial institutions, and that they are working on tools and software to make it easier for these institutions.

Also relevant was the turnout. He’s been to other meetups in places like Palo Alto and Hong Kong and he mentioned how great it is to see the turnout here in Stellenbosch.

Then, I spoke about low-trust protocols, micropayment channels and Bitcoin’s ability to facilitate autonomous agents.


(photo by frederickjlutz)

I’ve spoken about this on my blog. I also demo-ed PayFile, which I’ve been busy working on with Mike Hearn, adding bug fixes and features: learning how the code and nitty gritty works. I’m planning to upload a web version of the talk when I get back from holiday.

Finally, GJ van Rooyen from Custos Tech.

(I can’t find a photo from his talk).

He demo-ed their very innovate new DRM system built on top of the Bitcoin, which uses clever social engineering incentives to keep media from being shared irresponsibly. Not sure how much of it is supposed to be fully public, yet. You’ll have to e-mail him. ;)


All in all. Very eventful. Met awesome people, had beers and pizza afterwards. Bitcoin’s future looks bright, even just looking at such a portion of people willing to come together in Stellenbosch.

My average daily internet usage statistics.

So, I recently installed an extension that tracks how long I browse certain sites. Each day, it resets. It ticks along if that tab is the focused one.

Here are the stats. Considering I’m “funemployed”, I do still spend considerable time on the internet.


The top 4 are surprisingly equal. Reddit (mostly r/Bitcoin, r/worldnews, r/askreddit), Twitter, Facebook and GMail. I spend 5 - 6 hours a day on the Internet.

Total stats (past 44 days):

In total I’ve spent a quarter of my time online. If you take away sleep, it’s almost %40.

It feels okay… Don’t quite know what to feel. I think a better metric would be how much time I spent in front of my laptop (+ coding + making music).

Anyway. It’s interesting either way. Thought I’d share.

Rethinking organisations: hat-tips from open-source and decentralization.


As I’m busy working on furthering the development of autonomous agents (by building a proof of concept for storage), I’m wondering how I can continue pursuing this next year? I love the area, and I absolutely love the concept.

Asking for seed funding is an idea. Before I do that, it feels I need more conviction on how I will make money, or at least have a roadmap that will get there. At the moment I’m just exploring it. I do however have conviction that the future will entail rapid automation of programs, and building tools and service to facilitate this, is exciting, and needs to happen. (Thanks to new innovations like Bitcoin).

However, going the approach of a traditional company feels perhaps outdated. You sometimes have to keep some part closed, perhaps destroying potential innovation from the larger open source community. As a company you have to provide something on top of the open source technology. This is the current open-source model that we see being employed. Look at Ubuntu, Meteor or Mongo. Ubuntu is open-source, but Ubuntu provides support. Meteor is open-source, but plans to in the future to provide enterprise level deployments for Meteor apps within companies. 10gen (makers of Mongo DB), provide management services, as well consulting and training.

What their competitive advantage is, is that these companies are usually the experts in the area… because they developed it. I can run my own Mongo management service, but I’ll probably have to get Mongo experts… which 10gen already has.

However, these companies are still a central “entity”, with an open-source tool. Going even further decentralized, you find you are actually veering into interesting territories: you have Bitcoin. (This is not my idea. I don’t recall where I first read this analogy).

The shareholders are the owners of Bitcoin. It is just very liquid stock. The products are not just Bitcoin itself, but all the applications that are being developed on top of it (exchanges, wallets, etc). The employees are the contributors to this ecosystem (all the other companies, and open source projects). The customers are the people at the end of the chain that gets benefits from the technology (they can thus also be stakeholders. In the future people might use Bitcoin without ever owning any). Starting something like Bitcoin back in 2009, you can make to make money if you had enough ‘burn rate’ to last you to 2011/12. If Bitcoin was started by a group of developers that are ‘open’, much like Meteor for example, then the capital investment from seed funding or a Series A, would’ve already paid off. If that was the case as well, development would’ve been sped up considerably, and Bitcoin could’ve taken off perhaps sooner. (There is a separate argument where you can say that the fact that Bitcoin had no real ‘figure’ or ‘group’ or ‘profit incentive’, it got to where it is today, but I’ll discuss that perhaps in a later blog post).

Bitcoin as a business model is an interesting one. In order to create something, or bring it into existence, investors will pay money to be an early part of it (perhaps owning some stock in it, such as Bitcoin), but they will mostly pay to keep the developers employed until the whole idea got a greater network effect and can flourish on its own. And through the process of this, they gained value.

Any altcoin functions in a similar way. Launching an altcoin requires the ‘leaders’ to convince the community (its ‘employees’) to get on board.

These are the type of companies that BitAngels are looking for. (Much of this post came from thoughts of this document).

Have a look at Mastercoin (another link). It functions in a similar way to Bitcoin. Mastercoin is a protocol layer on top of Bitcoin attempts to solve issues such distributed exchanges and colored coin functionality, such as smart property. Mastercoin is an organisation is a combination between the extreme of Bitcoin, and the traditional open-source company. Mastercoin, if successful, will also be a ‘currency’. ie, it’s stock will be liquid. There is however a ‘foundation’ behind Mastercoin that as any foundation, directs and steers the development of it. Funding this foundation is what BitAngels have done. They can now thus ‘speed’ up its natural development process by providing things such as 300 BTC coding bounties. The investors can thus own Mastercoins before they get successful (by minting them), and keep the idea going, giving it a kickstart.

This type of company mitigates a lot of what usually ‘kills’ companies. They have immediate access to developers who buy into your product, and you can now even pay them. The developers can also be equally apart of its success by getting their own Mastercoins. They come and go, it is amorphous. Which means, technically… you don’t have such a thing as a traditional employee. The ‘employee’ is basically working for you on a very flexible job contract. They can take as much leave as they want. They can work their ass off. Their incentive is purely: the more stuff is built, the more value their investment will hopefully become. Much like how anyone can be a part of Bitcoin’s success, but just buying some Bitcoin. If, I as a developer, build a web-app that works to the benefit of the whole internet… the internet isn’t giving me money. But with Bitcoin, the incentive is greater. If I build a Bitcoin-related app, not only do I create value for other people, my attribution to Bitcoin as technology is also gaining in value. It is like as if the internet would’ve paid Facebook for being huge.

So, now I’m thinking. For me to want to help usher in an era of autonomous programs, it is actually foolish to not have it completely open-source and thus gain benefit from the massive community out there. I just have to position myself so that I can get bread on the table each day, until it REALLY takes off. I must also position the idea in such a way that the value proposition (or vision) to fellow developers would be a no-brainer.

Lovely thought experiments!

P.S. Vitalik also wrote on autonomous corporations. On the more technical side of how they could function completely autonomously.

What am I’m busy with, where I’m going, and Bitcoin powered, low-trust storage.

The past 2 months (since I handed in my thesis on the 2nd of September), I’ve been busy thinking: what next? As any early 20-something probably experiences, you are suddenly faced with immense opportunity, and you frankly are overwhelmed. I don’t want to say this with any form of ‘bragging’ or ‘ego’ attached, but being a coder/developer/programmer, the opportunities are even more pronounced. In the past 2 months, I’ve already been approached to join amazing people, doing fucking cool shit. I’m grateful. Immensely.

I’ve been enjoying the #funemployed life, which has basically been the same stuff I’ve been doing anyway, except with 3-4hours each day working on a thesis. Those 3 - 4 hours has mostly been replaced with reading, which I’ve neglected. I’m still busy making music, trawling the web, hacking on something and trying to meet people and hear the stories they have to tell.

As I’m coming closer to to the end of the year, some roads are becoming more clearer, and some have disappeared (*romantic interests*). I need and want to make a decision coming closer to December and thus I feel when I wrote a blog post about (articulating my thoughts), I come closer to those decisions, and hopefully gather insight and advice from the great people I’ve met through the web.

So here’s what I’m thinking. Each day, I’m just absolutely enamored with Bitcoin (and cryptocurrencies in general). It is just so exciting. On every level (economics, philosophy, politics, computer science, systems). I feel empowered when I think about Bitcoin. The potential is immense, and it hasn’t even started yet. My daily routine when waking up, contains checking Twitter, Email, Facebook and then r/Bitcoin, Bitcointalk, prices (BTC and LTC) and Bitcoin Foundation forums.

One of these ideas pertain to Bitcoin’s potential to allow programs to function autonomously as agents (https://en.bitcoin.it/wiki/Agents). It allows programs to function on an equal level to humans (and other programs). Separated from the need of a human actor to exist, programs can fulfill new and exciting roles in our lives. Here’s some example that’s been discussed:

1) Electric self-driving cars not owned by anyone. They own themselves. They earn money by driving people around (and potentially goods). They spend these Bitcoins to charge themselves at stations. All done automatically without the need of humans.

2) A website that earns money by providing a service to humans. This website then automatically pays its hosting service in Bitcoin to ‘exist’. All automatically.

3) A coffee machine. You pay Bitcoin per coffee. Once empty, it automatically orders more coffee from the vendor. No need for a human (or credit card).

I’m sure this idea is also very new, and there could be some very interesting new use cases that come about from the question: What would be able if programs/machines didn’t need humans to function? What would they be capable of providing?

I’ve had the pleasure of discussing some of these possibilities with Mike Hearn, one of the Bitcoin core developers and creator of the Bitcoinj library.

There’s more, but this is just some of examples. Watch this video where Mike discusses some of this:

One of these possibilities towards creating this autonomous economy of programs, is the “low hanging fruit” of providing autonomous, low-trust storage.

What would a service look like that can provide storage to programs without the need of a human (with a credit card)? Can a program easily access cloud storage with just a Bitcoin wallet at their disposal? Theoretically, yes, because with Bitcoin, they don’t need a human actor.

So, for the past 2 weeks, I’ve been looking at all the ways in which this is possible (discussing some of it with Mike). Bitcoin’s very clever scripting language (in outputs), allows very, very interesting use cases.

One of these methods are micropayment channels, that has been developed by Mike and recently put into the Bitcoinj library. What a micropayment channel allows, is a connection between a client and a server to transact on a pre-determined manner continuously without flooding the Bitcoin blockchain with small and large amounts of transactions. It does this by first locking up Bitcoin in multi-signature contract, and the creating a refund transaction back to client. The client then changes this refund transaction (more to server, and less to client) as time goes on, and the server verifies it. Once done, the server or client broadcasts this transaction to the Bitcoin network. It is a bit more technical, but that is the basic gist. Here is an example of what it allows:

You connect to a wifi router, and pay exactly for how long you are online. It is low-trust, because the transaction process immediately starts once you connect (and confirm), and you pay for each second, minute or hour you are using the wifi. No need to fund an account with a credit card, or sign up to a monthly service. All you need is a Bitcoin wallet, and you have immediate access to a wifi hotspot providing this service.

So, using micropayment channels, a form of low-trust connection can be created between a client (the program) and the server to store files.

Here’s how it would work (thanks to Mike for the help fleshing this out):

1) Open up micropayment channel between client and server.

2) Client pre-calculates a host of hash challenges of a file which it wants to upload. Hash challenges are used to make sure the server keeps the file, and does not immediately delete the file once it is uploaded.

3) Upload the file.

4) If server says, it is done, do a hash challenge to see if the file is there.

5) Client starts incrementing on the micropayment channel for the pre-determined amount of time it wants to keep the file on the server.

6) Server checks each increment to see if the client is behaving (paying for the correct amount of time the file is being hosted).

7) Clients does occasional hash challenges to see if the server is behaving (keeping the file).

8) If either misbehaves, they stop the connection, and broadcast the refund transaction as is at that point. If client misbehaved, the server revokes access to the file. If the server misbehaved, the client simply moves away (possibly to another file host that complies).

This allows programs to store files on a low-trust manner.

There are a lot of pieces towards creating an autonomous economy for programs, and I feel this is one such service that will have to exist: the AWS S3 for programs.

I’ve started working with the Bitcoinj library. Not very far, as I haven’t worked with Java in 4 years. I want to build such a service. But. This type of service is admittedly ‘far’ into the future. Autonomous programs have only recently started to become a possibility and all the puzzle pieces have to be built. The problem however, that I’m struggling with, is that such a service has to be both easier than requiring a human with a credit card, and relatively easy to implement for a programmer that wants to automate their program.

I’m very wary of creating something technical, that is cool to tech people, but does not really solve a problem. Creating a low-trust micropayment channel to host files autonomously is very cool, but if programmers rather just want to stick to hosting files on S3, then what is the point? Until programs can exist completely autonomously (a lot of puzzle pieces), using S3 will always be an easy option.

So. What I’m envisioning, on a code level is that just using something like (pseudocode), “file.upload(‘epic.txt’);”, it automatically connects to the Bitcoin wallet on that client, uploads to my service, initiates a channel and hosts the file for a day. THAT is much easier than having to require an S3 account, and requiring keys. So in that sense, it is hopefully easier for a human, and enables programs more mobility.

In this way, you solve the immediate need of making an easier alternative to S3, but also providing the scope for a future where programs will be fully autonomous.

So. Here I am. Trying to figure out this puzzle. I haven’t done something this technical since freshman year when I coded up a compiler. It is exciting, challenging and very, very interesting.

For November, I’m mainly planning on exploring this further, trying to reconcile the needs of such a service with programs and human users, and delving deeper into Bitcoinj, trying to create the technical side of it as well.

Once I’m further along with this, protruding this concept into existence, I can gather some more conviction on it. If it seems feasible, I want to continue with this, because it is just so fun and cool. Hopefully find some seed funding.

The other path is to anyway continue with this sort of experimentation… while I work for an awesome company doing epic shit with Bitcoin.

There’s always the distant other path of just making music, and disappearing into sunsets. ;)

New song + music video (Trip to Taipei, Tokyo and Hong Kong).

I recently took a trip to visit family, and travel to Taipei, Tokyo and Hong Kong with them. It was an amazing experience. I was planning to write a blog post about it, but instead I decided to just make a song and a music video about the whole experience.

Here it is. Simon Segfault - Feel That.


Here is the soundcloud link to download the song

Some tl;dr for the trip.

Foursquare is indispensable. Airbnb rocked. Food was amazing. Saw many great sights. Sumo was much more fun that I thought it would be. Life has too many stories to tell. I’ve got to keep moving.

"I was within and without. Simultaneously enchanted and repelled by the inexhaustible variety of life." - Nick Carroway in the Great Gatsby.