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.

image

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.

image

(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.

image

(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.

Average:

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.

image

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.

Enjoy!

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.

Training your algorithm through Reddit comments: Bitofnews.com case study.

On Reddit lately, I’ve started seeing a bot posting summarised content from articles (mainly from the r/worldnews sub-reddit). Here’s an example from the news of the 7.2 Earthquake hitting the Philippines.

Sometimes it sucks a bit, and sometimes it is quite accurate. What’s interesting about it, is that it is a service to another site, bitofnews.com, that serves to send summarised news every morning. Really cool.

I’m not entirely sure if they use this method, but I suspect they do (or rather then, they should). Reddit comments serve as a signal for the skill of the summarisation skill of the bot, as well a metric for overall popularity of the story.

If it gets a lot of upvotes relative to the stories’ popularity, it means it is a high signal summarisation, giving that iteration of the summarisation algorithm additional weight. If the story is popular AND the summarisation was great, it gets included in the daily morning news mail.

Either way. I really like the idea of plugging your algorithm into existing feedback loops (such as reddit comments) to gauge its performance. Think there are some more ideas to exploit around this.

Language, Bitcoin & Streaming Payments

I was listening to an EconTalk podcast recently with Nassim Taleb, where he talked about Antifragile. He explains how he came up with the term. It’s quite interesting. Previously when you asked what’s the opposite of ‘fragile’, you would imagine words/terms such as ‘robust’. But it doesn’t quite describe systems that benefit from ‘chaos’ or ‘stressors’, rather than systems that break down when encountering ‘stressors’. When he thought of the term, he created a new ‘thought tool’ in his mind: a new way of looking at systems. When he did he kept seeing examples of antifragile systems around him. This was fascinating. And you can see different examples of how using new words enact different ways of looking at what exists right in front of you.

He used the example of how the Greeks didn’t have a word for “Blue”. They only classified hues based on lightness vs dark. In our culture and language we have a word for specific hues, which makes us think differently about it.

The same exists in music and genres. Once a different enough sound emerges (that could still exist within the old paradigm quite nicely), people start labelling it differently. When you label it with a new term, you place it in a new box. You create a new space for it flourish, as a new meaning/idea. EDM is one of the better examples, as you go deeper and deeper into subgenres. Some might only hear drum and bass, but others will hear and understand the differences between techstep and liquid dnb. Go on long enough and you will venture into completely new territory, and create entirely new genres. A recent great example is dubstep. The changing sounds grew from the 2-step garage scene in London, until the Forward> events started labelling it ‘dubstep’. With a new term, it opened up ways to think about creating new rhythms and combinations.

—-

When I think about Bitcoin (and cryptocurrencies in general), it feels like we need new ways of thinking about what it can enable. I’m particularly interested in its potential for frictionless payments (for example, not really needing human actors to conduct trade). Chris Dixon uses the words “snacking”, “micropayments” and “programmable money” to explain what can be possible. They are descriptive, but I feel there could be a better term? Money can now flow like information.

Examples of what I’ve read are (don’t recall the sources):

1) Cars paying for cars to bypass them on freeways.

2) Paying for how long you have access to wifi.

3) Bitcoin Agents: “An agent is an autonomous program that is able to survive by selling services for Bitcoins, and using the proceeds to rent server capacity. Agents that are profitable enough may replicate themselves by spawning additional instances on other servers.”

So. I was thinking of new words (in the same vein as Nassim Taleb) to describe potential new use cases, where we think about cryptocurrencies as money that can flow like information. Here’s some examples I jotted down:

Flowing Money

Programmable Flow

Frictionless Payments

Flowing Exchange

Streaming Money

Streaming Transactions

Bitstreams

I finally came to “Streaming Payments”. I quite like it.

What do you think? Are there other terms we can use? Is micropayments or programmable money enough? Or frictionless payments?

Ideas #6

This is a continuation of my plan to come up with 1-5 new ideas/projects a day while I’m #funemployed (taking time to figure out what to do next after my Masters degree).

6.1) Global citizen passport.

This is an old idea, but I think it’s worth discussing. I’m keen to hear some opinions on this. This is an admittedly #firstworldproblem. Being from South Africa, I have to get visas for a lot of countries. It is annoying. I was wondering if there could exist an idea such as a “global citizen” passport? You are given access to move freely about the world. But this only works through a vetting process. Admittedly, this can be exploited, because there has to be some authority that gives these passports away. Also, it creates this “elite” class of people that seems on the surface a bit unethical. What do you think about it?

6.2) Remittance search.

I’m in the process of looking at options of how I can use my money in Asia, as I’m going to visit my brother. It’s all a very convoluted process. There are massive amounts of options, each with differing rates, different cuts, etc. I want a simple tool that tells me: If I am in South Africa and I want money in Taiwan, what’s the best way? Credit cards? Traveller cheques? Bitcoin?

6.3) Proper package tracking.

I installed Uber recently (they launched in Cape Town) and was wondering what else would help to be tracked. I’m not entirely clued up on how package tracking works, but it seems possible that you could simply insert a 'tile' into the package to see where it is in the globe? Is this feasible? Are there risks to logistics companies to do this? Thoughts are appreciated.

—-

I’m going away for the weekend and then leaving on Tuesday to visit my brother and his girlfriend in the East. So I won’t be posting new ideas for quite some time. I’ll probably spend the downtime in airports and planes to think up new ideas.

Cheers!