Lords of a new economy (by )

Pondering Bitcoin, I recently opined:

Who sets the difficulty of the puzzle and all that? The computers in the network do - when the system was created, rules were agreed, and written into the software. As everyone runs software following those rules, anybody solving easier puzzles or trying to award themselves more bounty for doing so will have their bounty-claiming transaction rejected as invalid. To loosen the rules, a majority of the computers in the system will all need to accept the new rules - so it will require consensus from the community.

I've been thinking more about this. Read more »

Garden design (for geeks) (by )

When I was about 11, I designed a garden. I remember drawing a plan of it on a page of my spiralbound notepad. Sadly, that means the original design is now long gone, but that's irrelevant - the original design assumed a plot of land the exact same shape as a page of my notepad, which is unlikely.

The important thing is that I can remember the concept.

The idea was simple - I think of a garden as a fun place to relax. Be that a pleasant spot to read a book, or a venue for a party. Where, to me, "party" involves a buffet and background music and people mingling and chatting.

Therefore, I wanted to pack in a pleasing variety of spots to read/sit/chat into a limited space. Also, being a geek, I wanted it to be intellectually interesting.

So the answer was obvious - it had to involve a maze. But more than that. Two mazes. Why not have a stream and little ponds that forms a water-maze, and then overlay that with a maze you can walk, with little bridges and stepping stones and the like where it crosses the stream, to add interest? And use a variety of materials for the maze; hedges, walls, balustrades, the stream itself - all can form barriers of varying solidity. I love strings of lights in trees and bushes, so let's run lights around it. And have lights in the stream and its ponds. Lights are pretty at night.

One idea that appealed to me was that, for parties and the like, you could have little boats with candles in circulating around the stream. Of course, if it's an actual natural stream, then all the boats would end up stuck at the grating you'd need to put up to stop them all going downstream - but if it's an artificial one (in effect, a long thin pond that wriggles around the place) you could encourage a continuous current around it by putting pumps around the place, sucking in water then emitting it in a jet, with the jets and inlets all aligned around the circuit to push the water in the same way. Extra points for style: Computer control of the pumps so, at the end of the day, you can cause all the boats to congregate in one place for easy collection...

There would need to be a more open patio / lawn area joining the maze to the house, for when you need to gather everyone together to eat and so on. And it would be nice if the other end of the maze led into some more wild and natural terrain such as woodland, after all that order. But the maze would pack a lot of different little nooks into a relatively small space, creating a garden that seems a lot larger than it really is...

I'd draw up a plan, but of course, the actual implementation totally depends on what the land you have is like, and what bits of random architectural salvage turn up to build the maze out of!

AURUM (by )

My recent thoughts about bitcoin reminded me of earlier thoughts I'd had about digital currency.

Cryptographic digital currency is a way of transferring value without trusted third parties being involved in every transaction, but within a closed domain, it's easier to go for a trusted party and cut out all the crypto maths. Which is why we have printer credits managed in a central database when we use a shared printer. We may use a digital currency to buy a credit, but once we have credits, we're happy for the owner of the printer to just store our balance in a database and decrement it whenever we print.

And within a company, complex processes are used to transfer money in and out of the company's actual bank account, but budgets within departments are usually allocated by just asking somebody to update a spreadsheet. Money moves within the company using easier, faster, simple methods than bank transfers, writing cheques and letting them clear, or exchanging cryptographic keys.

It's the same story for "ulimit" mechanisms in computer operating systems, and language-level sandboxes, that allocate budgets of things like CPU time and memory space to software running in a computer.

So, when I set out to design AURUM, the resource limit system for ARGON, I decided to make a unified abstraction across all of the above. A process has a budget, which contains arbitrary amounts of arbitrary resources; and it can subdivided that budget into sub-budgets.

That's just an accounting system, though. It needs to integrate with actual resource managers. For something like CPU time, for efficiency, the scheduler probably wants a nice simple machine word reserved for "jiffies in the budget" attached to a process context in a hardcoded way. So the AURUM system probably needs a handler for "run out of jiffies" that takes more from the actual AURUM budget and "prepays" them into the process context - and when the process' balance is requested, knows to ask what's been prepaid and not yet used, so it can report honestly. If the process is stopped, any remaining balance needs to be put back in to be re-allocated to the parent process' budget. And so on.

Similarly, interfaces to actual electronic banking (spend money in a budget by causing an actual bank transfer, or bitcoin transaction, or whatever to happen), and interfaces for incoming budgets from external sources (a bank account interface that fires off a handler when an incoming payment is detected - with that payment as the handler's budget so it can then allocate it appropriately), and so on, can be built.

And a power-constrained mobile device might have joule budgets - and operations such as driving motors, transmitters, and lights might use them up. That would be neat for handheld computers and deep space probes, which can then run less-trusted code in a sandbox with controlled access to expensive resources.

That's all well and good as a way to manage finite resources in a system, but the next level is to take a step back, look at the system as a whole, and see how this facility can be used to do other cool stuff.

This leads naturally to the semi-forgotten discipline of Agoric computing which seeks to make marketplaces and auctions a core tool to solve resource allocation problems. This has scope within an ARGON cluster, if it's shared between multiple organisational units, which can then use budgets purely within AURUM to manage their shared use of the computer resources and to contribute towards its upkeep accordingly.

But, more excitingly, with mechanisms like Bitcoin allowing for money to be transferred across trust boundaries, it starts to become practical to think about allowing our computers to participate in economies between them. What if my desktop PC and servers rented out their space disk space, CPU time, and bandwidth to all comers? And with the money they accumulated from doing so, in turn rented offsite disk space for their backups, and when I gave them a particularly tough job to do, hired some extra CPU and bandwidth to do it, dynamically? Without me having to hand-hold it all as the middleman, pulling my debit card out to pay for resources... If I wanted to do lots of resource-intensive work I might put more money in from my own pocket to give it more to hire extra resources with; if I tend to under-use my system and it makes profits from renting out spare capacity, then I could take cash from it from time to time.

I guess the first step would be to create standard protocols in AURUM for things like auctions and commodity markets, to facilitate transferring between different 'currencies' such as CPU time, bitcoin, fiat currencies, printer credits, disk space, and the like. And a standard interface to bank accounts, where balances and transaction histories can be queried, and transfers requested. A bank account in the context of AURUM would be a third party that holds control of some budget on your behalf, so it should look like an ordinary budget in every way possible. That would make it practical to have software that needs a given resource to find a way, through a registry of trusted markets, to convert them into the resources it wants.

That'd be neat...

Bitcoin security (by )

I've been learning about Bitcoin lately.

It's an electronic currency. I've seen electronic currency before - in the late 90s there were efforts to create them based on virtual banks issuing coins. The coins were basically long random serial numbers which, along with a statement of the value of the coin, were then signed by the bank. The public key of the bank is published, so people can check they're valid coins issued by the bank. The idea was that rather than withdrawing a bunch of notes from the bank, you can ask the bank to mint you a bunch of these signed numbers instead; and anyone who sees them can check their value, and eventually, return them to the bank (which can also check their value in the same way) to get their account credited.

Read more »

Well done Britain :/ (by )

As an expected but highly depressing result sorry but Britain but collectively we are thick as two short bricks or votes are tampered with either I concede is possible but I feel the first option is the most likely.

And so as always change is feared and people opt for a system that allows compound error via rounding up maintaining a two party system which has lead to MP's believing they can take the funny bone out of the population.

The worse bit is that those who actually think and reason are starting to think that they have been the stupid ones for voting - as if my generation wasn't stressed out and disillusioned enough as it is.

Interestingly I know to people who were vocal about voting NO and at least they did it because it was part of their politicial beliefs - I don't agree with them but I respect them. I feel that the voting has been done by panic and scare mongering and that most people have followed like sheep. But that's the thing isn't it - most people are sheep and that means those that aren't have to look out for the majority which is why I still went around reminding people to vote even when I knew they would vote against what I wanted.

I am getting that twinge again that makes me want to go into politics to sort things out - I'm not going to as it is extremely stressfull and I think it would be just too depressing.

p.s. (I really wonder if there is an age democratic here with how people voted after all don't the 'greys' heavily out way all the other democratics?)

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales