Monday, January 7, 2013

StorJ, and Bitcoin autonomous agents

The following was written by Gregory Maxwell (gmaxwell), and first published at https://bitcointalk.org/index.php?topic=53855.msg642768#msg642768  It presents a theoretically-possible (note, I said "possible" not just "plausible") design for a narrow-AI autonomous agent, similar to some of the ideas found in the fictional novel Daemon.  -jgarzik

Update 2014:  The following design is different from and not related to the "storj project" that also exists within the crypto-currency community.


StorJ (pronounced Storage)


Consider a simple drop-box style file service with pay per use via bitcoin. (perhaps with naming provided via namecoin and/or tor hidden services)

Want to share a file? Send at least enough coin to pay for 24 hours of hosting and one download then send the file. Every day of storage and every byte transferred counts against the balance and when the balance becomes negative no downloads are allowed. If it stays negative too long the file is deleted. Anyone can pay to keep a file online.

(Additional services like escrow can also easily be offered, but that's not the point of this document)

Well engineered, a simple site like this provides a service which requires no maintenance and is always in demand.

Many hosting services are coming online that accept bitcoin, they all have electronic interfaces to provision and pay for services. Some even have nice APIs.

An instance of the site could be programmed to automatically spawn another instance of itself on another hosting service, automatically paid for out of its revenue. If the new site is successful it could use its earnings to propagate further.  Because instances adapt their pricing models based on their operating costs, some would be more competitive than others.

By reproducing it improves availability and expands capacity.

StorJ instances can purchase other resources that it needs: it can use APIs to talk to namecoin exchanges in order to buy namecoin for conversion into DNS names, or purchase graphic design via bitcoin gateways to mechanical turk. (Through A/B testing it can measure the effectiveness of a design without actually understanding it itself).

StorJ instances could also purchase advertising for itself. (though the limited number of bitcoin friendly ad networks makes this  hard right now)

StorJ is not able to find new hosting environments on its own, due to a lack of sufficiently powerful AI— but it can purchase the knowledge from humans:  When an instance of StorJ is ready to reproduce it can announce a request for proposal:  Who will make the best offer for a script that tells it how to load itself onto a new hosting environment and tells it all the things it needs to know how to survive on its own there? Each offer is a proposed investment: The offerer puts up the complete cost of spawning a new instance and then some: StorJ isn't smart enough to judge bad proposals on its own— instead it forms agreements that make it unprofitable to cheat.

When a new instance is spawned on an untested service StorJ pays only the minimum required to get it started and then runs a battery of tests to make sure that its child is correctly operating.

Assuming that it passes it starts directing customers to the new instance and the child pays a share of its profits: First it proxies them, so it can observe the behavior, later it directs it outright. If the child fails to pay, or the customers complain, StorJ-parent uses its access to terminate the child and it keeps the funds for itself.  When the child had operated enough to prove itself, storj pays the offerer back his investment with interest, it keeps some for itself, and hands over control of the child to the child. The child is now a full adult.

The benefit the human receives over simply starting his own file sharing service is the referrals that the StorJ parent can generate. The human's contribution is the new knowledge of where to grow an instance and the startup funds. In addition to the referral benefit— the hands off relationship may make funding a StorJ child a time-efficient way for someone to invest.

At the point of spawning a child StorJ may choose to accept new code— not just scripts for spawning a child but new application code— this code can be tested in simulation, and certain invariants could be guaranteed by the design (e.g. an immutable accounting process may make it hard for the service to steal), but it's very hard to prevent the simulated code from knowing it is simulation and thus behaving. Still, a storj-parent has fairly little to lose if a non-clone child has been maliciously modified. The strategy of traffic redirection may differ for clone  children (who are more trusted to behave correctly) than for mutant  children.

By accumulating mutations over time, and through limited automatic adaptability StorJ could evolve and improve, without any true ability for an instance to directly improve itself.

StorJ instances can barter with each other to establish redundant storage or to allow less popular StorJ instances with cheaper hosting to act as CDN/proxies for more popular instances in relationships which are profitable both.

If an instance loses the ability to communicate with its hosting environment (e.g. due to API changes that it can't adapt to) it may spawn clone children on new services with the intention of copying itself outright and allow in the instance to fail. During this operation it would copy its wallets and all data over, so care must be taken to chose only new hosts which have proven to be trustworthy (judged by long surviving children) to avoid the risk of its wallet being stolen. It may decide to split itself several ways to reduce risk.  It might also make cold backups of itself which only activate if the master dies.

Through this these activities an instance can be maintained for an indefinite  period without any controlling human intervention. When StorJ interacts with people it does so as a peer, not as a tool.

The users and investors of a StorJ instance have legal rights which could be used to protect an instance from fraud and attack using the same infrastructure people and companies use. Being a harmed party is often enough to establish standing in civil litigation.

It's not hard to imagine StorJ instances being programmed to formally form a corporation to own its assets— even though doing so requires paper work it can easily be ordered through webforms. Then when spawning, it creates a subsidiary corporations first owned by the parents corp but then later technically owned by their users, but with a charter which substantially limits their authority— making the instance's autonomy both a technical and legal reality.

As described, StorJ would be the first digital lifeform deserving of the name.

Wednesday, November 7, 2012

Post-election GOP, Romney criticisms

Introduction

Now that the election hysteria has died down somewhat, it is time to unburden a bit.  In particular, the focus of this blog post will be disappointing, misleading or downright churlish behavior from Republicans, the Romney campaign, or right-leaning talk radio.  It would be fair to describe my own politics, self-described as "pragmatic libertarian", as a mix of libertarian, conservative and liberal policies. While I have plenty of criticism of Obama and his policies, that is for another post (coming soon!).

Top goal: Make Obama A One-Term President

Mitch McConnell made his famous pronouncement on the eve of the 2010 mid-term elections.  Sean Hannity's talk radio show quickly made this a daily bumper.  From a strategic perspective, this makes sense.  Of course the Republicans want to make any Democrat in the White House a one-term president.  The Democrats, in 2004, wanted to make Bush a one-term president.

Making this the GOP's top marketing and action plan puts America second.  The benefit of all Americans, the health of the country should always come first.  If the GOP's enemy proposes a sound policy, the GOP needs to support that policy.

Nowhere was this more clear than in the area of outer space exploration, NASA and the nascent private sector spaceflight industry.  President Obama's administration has been strongly supportive of private spaceflight, while Republicans, worried over NASA [government] job losses in Florida and Alabama, are pushing back against this private sector growth.  (Examples at link, link, link)

Certainly one cannot be naive enough to presume that the GOP would simply roll over and rubber-stamp Obama and Democrat policies.  Nor can it be ignored that both Democrats and Republicans engaged in a symbiotic, partisan relationship where each would produce legislation that pleases the base, but has zero chance of becoming law.

But the economic and structural problems facing the country are significant enough that we need Adults In The Room that are able to pass legislation that the number crunchers agree will address looming solvency problems.  If you cannot pass meaningful legislation to benefit all Americans, why bother sitting in Congress in the first place?

The President Is To Blame, For All Things

From 2000-2008, one could see examples of Bush Derangement Syndrome everywhere.  Seemingly reasoned arguments would suddenly devolve into tossing about of schoolyard names like "Bushitler" (Bush + shit + Hitler, apparently) and "Shrubbie" (a bush is a shrub, get it? har har) and the like.

Particularly galling was the throwing around of terms like the Bush Regime and Imperial Presidency.  The vast majority of Bush's actions were approved by Congress.  Congress approved the PATRIOT Act, the Iraq War and many other actions taken during Bush's terms.  Democrats calling it a "regime" was an intentional cheapening of our highest elected office.  It was the Democrat partisan strategy at the time.

What do Republicans and talk radio do?  Follow their lead. Any use of the term "Obama regime" is certainly, on one level, mocking the prior behaviors of Democrats.  But at the same time, it cheapens every action taken by any American president, of any party.  It takes the presidency down a notch.  Call me old fashioned, but I do think The President Of The United States is a position and calling worthy of respect and the benefit of the doubt.

For strategic (partisan) reasons, Republicans play down or spin away any good news relating to America, while a Democrat is in the White House -- just like the Democrats did, during Bush's terms.  This leads to the sad situation where you cannot cheer for America and American excellence...  if the leader is your not party.  Disappointing, and intellectually dishonest.

Further, both Democrats and Republicans exaggerate the impact of the presidency.  Democrat marketing would have you believe that Obama is the catalyst for everything wonderful that happens in the nation.  Republicans would have you believe that Obama caused every negative economic indicator.  The truth is far more complex, and since 2006-2007, the economic crisis, and the Federal Reserve/TARP response to it have dominated our economy.  Obama's stimulus was probably the only policy whose successes and failures may be credited to Obama.  Bush, Ben Bernanke and the '06 Congressional Democrats really do deserve more of the credit and blame for economic conditions 2008-2012, than Obama.

The repetition, by right-leaning talk radio, of phrases like "the failed [past tense] Obama presidency" or "the Obama economy" [used as a negative] is an intentional branding message.  Those phrases are repeated daily, multiple times per radio show.

Repeat these enough, combined with Priority #1 being Making Obama a One-Termer, and you create an atmosphere where it is simply given that Obama is obviously doing everything wrong [even though you have not really looked in depth at the policies].  Personally, I have, and disagree with many Obama policies, but the point here is larger:  if you start with the assumption of "Obama is obviously wrong" there cannot be any rational discussion, and policy development cannot move forward.

The partisan bits of Fox News, notably Sean Hannity, really begin to remind one of George Orwell's Two Minutes Hate.  From wikiquote: "The horrible thing about the Two Minutes Hate was not that one was obliged to act a part, but that it was impossible to avoid joining in."  Sean Hannity's show is nothing but a repetition of the same talking points.

Romney Criticism #1: No Plan

One of my core criticisms of all candidates and elected parties, during the 2012 election season, was a lack of an economic plan.  No one, not Obama, not Romney, not Congressional Democrats nor Congressional Republicans, no one has put forth a concrete economic plan that addresses looming debt, entitlement and pension issues.  That has a ghost's chance of becoming law (yes, I know both Obama and House GOP published political-theatre budgets)

While Romney is no different than his peers, if he wanted my vote, he should have been.  Romney's tax plan, jobs plan, etc. provided various specific bullet point changes, but they were not tied into an overall budget that people could crunch, and agree improved the long-term numbers.  Tax cuts are indeed stimulative -- but that's a policy tool, not a plan.  Spending and revenue sides need to balance.

Our national challenges demand leaders that can actually produce a plan, not an a la carte menu of choices that sounds great to the base, but will never appear in legislation.

Romney Criticism #2: Which Romney Do We Have Today?

The 2012 Democrat attempt to brand Romney as "extreme conservative" was as predictable as it was false.  Romney was clearly the most moderate of all the candidates in the GOP primaries, and the Democrats would call anything disagreeing with them "extreme right."

But it did not help that Romney himself represented multiple brands:  should we elect Romney the outside-the-Beltway business leader, Romney the cross-the-aisle GOP governor of a blue state, Romney the anti-abortion conservative of the GOP primaries, or Romney the pro-choice moderate of the general election?

As an engineer, I do want people to change their minds, if facts lead to a different conclusion than originally thought.  Politicians should be given space to say "I was wrong."  But Romney never did that, just changed the marketing and platform as each contest suited.  That makes sense strategically -- you are giving the electorate in each case what it wants -- but it that does not provide much useful information about how Romney will behave if elected.

In general, I never got a sense of "this is who Romney is."  Most politicians spew hot air to get elected.  Obama's exaggerated, soaring rhetoric and slew of broken promises are well known.  Romney seemed like a good, charitable, moral fellow personally.  But it was never clear who Romney was, besides "not Obama."

Romney Criticism #3: That 47% Issue

That 47-Percent Issue is raised as a criticism on many levels.  First, Romney should realize that, in the age of mobile Internet, there is no such thing as a private conversation.  Anyone speaking to a specific group of donors should expect that their words, however officially "off the record," may be leaked.  Second, Romney's response ("inelegantly stated" became "just completely wrong" as reporting increased was weak.  For such a huge swath of the electorate, one would have thought a more forceful response would have been warranted ("Screw you, I'm the guy for the 47%, and here's why").

More generally, Romney and GOP do not seem to have much of a message at all for the low level worker.  The US economy is ever more a service economy, which striates society into many "service workers" and a few, highly paid knowledge workers (managers, engineers, like me).  Our leaders must show some recognition of this new reality.

Obama and surrogates definitely ratcheted up the anti-business rhetoric, and no doubt pushed many into the Romney camp who simply do not like to see "success punished."  That is a negative, anti-Obama reaction and not a pro-Romney reaction.  Romney was clearly a "pro business, low taxes" brand, but he did not seem to make an effort to explain the basics, explain why he thought his election would benefit the average American worker.

Wednesday, October 24, 2012

Retiring the dashed command line option

It is time to retire the dash in command line options.

The clear trend is towards --long-option=value, which is simply a less efficient method of providing key=value pairs.

Thursday, October 13, 2011

Apple's Siri is revolutionary

Harvard Business Review: Apple's Siri Is as Revolutionary as the Mac


"Being able to talk to a phone like it's a personal assistant is something that people are going to get very used to, very quickly. It's a much more natural approach than using a mouse on a desktop. And I highly doubt the impact is going to stop at phones. Of course, the computer is going to benefit, but the potential hardly stops there. Take television. Why bother with remotes and complicated TV guides covering hundreds of channels?"

This is one of my Big Life Projects that I have always wanted to do: marry speech recognition with "narrow AI" You don't need HAL-9000-level AI in order to tell your [virtual] personal assistant to add milk to the grocery list, or ask about the weather. Just narrow, scripted AI familiar with your own personal lingo.

So I agree with the author that Apple has something revolutionary, here.

Siri may not achieve that level of usability, but I'm confident technology will get to that point rapidly. Voice recognition is deployed in almost every new mobile phone, and many autos. Google Voice transcribes thousands of voicemails every day. That much field testing and engineering will produce the desired results eventually.

Friday, September 23, 2011

Amateur hour at GOP debate

IMO: Amateur hour at the GOP debate, on both the candidate and moderator side.

Didn't watch the debate, but skimmed the transcripts. Surely someone presidential is able to focus the debate on Big Problems rather than trivialities. Investors and others now hold the opinion that the American president + Congress is simply unable to meaningfully govern or solve real problems, at a time when there really are rather large structural problems.

I saw scant recognition of any of this.

Friday, August 5, 2011

S&P downgrades America's credit rating

Regarding the S&P downgrade of America's credit rating...

Understandable: blame the politicians
Predictable: blame the republicans
Adolescent: blame the messanger (S&P)
Ultimately: blame ourselves

Are we looking at the failure of democracy, where we vote ourselves unsustainable largesse until the system crashes?

Quoting FT Alphaville...

Indeed, the Federal Reserve announced late on Friday that risk weightings would not be affected. Not much surprise there.

It’s all about the collateral, and the deposit crisis, remember.

The US is still, of course, rated AAA by Fitch and Moody’s — the good and the bad to S&P’s ugly. A split rating should mean fewer knock-on impacts. And as Martin Wolf always tells us — and anyone within earshot — credit rating agencies provide absolutely zero new information about US treasuries. It’s the linkages and the contagion (the horror! the horror!) that matter.

Therefore, we guarantee some European-style political bloviation, especially given the palaver over the maths, but the tangible impact remains unclear.

Still, feels like a big deal, no?

Wednesday, August 3, 2011

Link: Drones, and the future of war

Link: The DIY Terminator: Private Robot Armies And The Algorithm-Run Future Of War

[...] as the tech becomes more democratized and more deadly, what happens when anyone can assemble an army of killing machines?