Bitcoin Forum
November 05, 2024, 07:10:09 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: [VIDEO] Future of Money: Bitcoin and autonomous agents  (Read 5558 times)
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
September 29, 2013, 08:40:20 PM
 #21

I uploaded the slides here:

   http://www.slideshare.net/mikehearn/future-of-money-26663148

Theymos, you might also enjoy the talk on contracts that I gave last year:

   http://www.youtube.com/watch?v=mD4L7xDNCmA

It's in a similar style.

Thanks for the slides, the video should had 2 stop negative exposure Smiley
Perhaps someone could add the sides in a video editor?

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
jgarzik (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
September 29, 2013, 08:40:39 PM
 #22

IMO the basic building blocks of TradeNet are

  • Digital identity.  My proposal, "SIN", is https://en.bitcoin.it/wiki/Identity_protocol_v1 (alas, this is spec is a jumble, and difficult to read)
  • Decentralized market software: anyone should be able to create their own market, or join another market.  This software permits multiple market types to be created or managed: classified ads, auctions, kickstarter-like funding, commodity exchange/short/option/future and more.  This must be open source, available for all.  Open-Transactions "could have been" this, but I am not happy with its format specifications, quality of code and other features and factors.  OT would also need to be upgraded to support SINs.
  • Decentralized messaging: some method for humans and agents to communicate with one another.  BitMessage is a nice attempt, but riddled through design and implementation problems today.  Maybe B.M. will fill this role, maybe something else will arise, time will tell.

Digital identity and reputation ties everything together.  A human or agent may be participate in a market by identifying themselves, and exchanging digitally secure messages.

Can you narrow this down to something minimal? A very basic prototype that would fulfill at least the base functions. Lets say you had to sit in a room for a month and build something that works. How would you go about it? 

Well, for identity (SIN), the basics needed to generate a new SIN, and verify something signed with an ECDSA key, already exist in https://github.com/gasteve/node-libcoin   I have been committing code there (SIN.js, SINKey.js) and more is coming soon, including test vectors.

A SIN is so close to a bitcoin address that much of the bitcoin verify/sign infrastructure may be easily reused.

For markets, the goal is that users -- humans or agents -- may (1) discover markets that already exist or (2) create a new market and advertise its existence.  Once a market is active, users must be able (3) advertise goods for sale, (4) view advertised goods, and (5) offer to purchase goods.

So, answering "how would you go about it?" for TradeNet, creating a platform where agents could talk to each other,

An off-the-cuff, five-minute, you-could-do-better, something-that-works design might then be:
A) Clone the low-level P2P bitcoin network protocol, and create a flood-fill, address-gossip network.  Mostly done, here: https://github.com/jgarzik/smartcoin
B) Change protocol buffer definition at https://github.com/jgarzik/smartcoin/blob/master/codec.proto to include obvious messages derived from paragraphs above:  "create-market", "get-market-info", "advertise-market"

This accomplishes the goal of #1 and #2, above.  Humans and agents then choose a market they need, and connect directly to that market.

C) Create protocol, client and server, with messages:  "advertise-item", "list-advertised-items", "item-info", "item-offer"
D) To sell something, an agent logs onto the P2P network, chooses a market ("cars in Austin, Texas") or creates one, and advertises their good for sale.
E) To buy something, an agent logs onto the P2P network, chooses a market ("cars in Austin, Texas"), and searches that market for desired items.  Purchase information (bitcoin payment address, payment protocol URL, ...) is obtained, and bitcoin payment process begins.

All messages are digitally signed with your SIN (identity).

Assuming that all agents conform to the same protocol when naming markets and items, one may easily see how agents may locate one another, and participate in open markets.

That would be my minimal get-it-working decentralized TradeNet.  Possibly rather than P2P, the cjdns protocol should be considered.


Answering "how would you go about it?" for a StorJ-like agent itself...  it's just a freaking HUGE problem that involves a lot of work, quickly getting into the weeds.

F) Create a daemon with a bitcoin wallet, that may understand digitally signed messages sent to it.
G) Create the file download module described in StorJ.
(so far, it just looks like a basic bitcoin web service)
H) Create a proxy module, whereby you send work A->B->C and return results C->B->A, and verify that the results match those locally generated, from local data storage.
I) If local site is profitable, search on TradeNet for required OS/mem/cpu/storage/bandwidth/API requirements, and purchase service
J) Or advertise on TradeNet for someone to create an API etc...

Past "H" you start getting incredibly complex, and an "it just works" implementation quickly becomes a herculean task you must break up into much smaller pieces.  For example, step "I" might require creating a business that resells AWS/Rackspace cloud services for bitcoins, complete with the API necessary for an agent to load itself onto a VPS.

Remember, "load itself onto another VPS" is quite complex, by itself.  You must verify that the OS environment matches the requirements for your agent:  Does it need a compiler?  Does it require a specific Linux version, or will OSX/Windows work also?  What versions of libraries are needed for the agent to successfully run?  Once the basic environment is verified as "suitable for agent life," you have to write all the code that is involved in basic system administration.  You must set up OS firewall, root passwords, SSH keys, and many other installation details besides that of copying the agent software itself.
 
Therefore, my general advice is:  pick a small part of this problem, work on that, complete it and test it, and then pick another small piece of the puzzle.  Iterate and repeat.  Eventually an agent will emerge!


Quote
As far as making a StorJ like system everything seems pretty straight forward, except the actually hosting part. I can't really find a nice "cloud service" with nice APIs that takes Bitcoin listed in the Trade wiki. Instances need to be able to launch new nodes, preferable without human help.

RE APIs:  in theory, an agent would hire a human to build an API, where none exists today.  An API is always possible, even if it is an ugly screen-scraping unofficial API.

Or, someone can build a business by reselling Amazon Web Services or Rackspace Cloud API via bitcoin payments.  5% markup, just have to filter out service abusers to make sure you don't get cut off.
Yes, you can do this but you run into twoone major hurdles.
1) Cost. Even a small node is going to run you $44 a month. Ran the per GB numbers again, and actually that might just work. Thanks for that.

"5%" was a pulled-out-of-my-ass number.

I am certain there is some price at which this is a profitable business plan.  (whether customers appear at that price is another question...)  It is the standard business problem.

Just calculate the cost to do this, including possible support costs (your time is valuable), and add 10%.

Quote
2) Filtering out services abusers is going to be pretty hard. Even for services like Paypal the abuse rate is pretty high for VPS hosts. This is why my main hosting provider, Digital Ocean, would not accept Bitcoin. They feared that the abuse rate would be too high. Maybe someone who owns a Bitcoin host can chime in? If Amazon decides that there is abuse within the account they might just shut it down, so you might have to do some leg work to actually let them know you are only reselling their services, and that abuse requests should dealt with on a case by case.

It is not as difficult as you might think.

Remember, SINs are digital identities that build reputation.  You may whitelist SINs that previously were good customers, or blacklist SINs that are abusers.

Further, there is time cost for criminals and abusers, and this plays in your favor:  a simple 24-hour delay after setting up a new account for an unknown user can do wonders.  Or a simple phone call + 24 hour wait.  Most abusers want to strike immediately, then disappear.  Normal, good customers do not have this pattern necessarily.

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
September 29, 2013, 10:04:32 PM
 #23

Thanks for taking the time to type that up. I sent 0.02BTC your way for the help. Lots of good stuff and ideas in there that I'm going to have to read through it a few times and digest.

Quote
"5%" was a pulled-out-of-my-ass number.

I am certain there is some price at which this is a profitable business plan.  (whether customers appear at that price is another question...)  It is the standard business problem.

Just calculate the cost to do this, including possible support costs (your time is valuable), and add 10%.

As far as the Amazon or Rackspace part, up until that point I had thought that it would not be cost effective use. My numbers were calculated per instance. For a low spec VPS you can run $5 month, but for an AWS EC2 w/ storage $20+ month. For something like a VPS re-seller, this is bad, BUT with something like StorJ you only really care about the $/Per GB which is actually about the same. Considering the AWS is much more easily scaled, it might be worth using AWS instead. Understood the percentage part, just saying you helped me realize something I missed.

Quote
Further, there is time cost for criminals and abusers, and this plays in your favor:  a simple 24-hour delay after setting up a new account for an unknown user can do wonders.  Or a simple phone call + 24 hour wait.  Most abusers want to strike immediately, then disappear.  Normal, good customers do not have this pattern necessarily.

Ok, that seems like a pretty easy thing to implement. Might have it work something just like Coinbase's verification levels.

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
jgarzik (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
September 29, 2013, 10:20:33 PM
Last edit: September 29, 2013, 10:41:07 PM by jgarzik
 #24

Amazon spot instances can be pretty cheap, and they are on-demand too.

If an automated system is being constructed, it could query spot instance prices and take these things into account.  Example:  AWS normal price is X, spot instance price is X*0.75.  You can bid X*0.9 for a spot instance, be likely (but not guaranteed) to have the instance keep running, and probably come out with a cost below the normal AWS price pretty consistently.

Anyway, don't get too distracted by that, just wanted to point out that Amazon already has a nifty, dynamic pricing system in there.

ETA:

Another anti-fraud trick is a deposit (or, getting more complicated, a fidelity bond).  Require a 0.5 BTC deposit, or a certain amount of pre-paid service, if you do not have a SIN with a good reputation.




Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
September 29, 2013, 11:05:35 PM
 #25

Amazon spot instances can be pretty cheap, and they are on-demand too.

If an automated system is being constructed, it could query spot instance prices and take these things into account.  Example:  AWS normal price is X, spot instance price is X*0.75.  You can bid X*0.9 for a spot instance, be likely (but not guaranteed) to have the instance keep running, and probably come out with a cost below the normal AWS price pretty consistently.

Anyway, don't get too distracted by that, just wanted to point out that Amazon already has a nifty, dynamic pricing system in there.

ETA:

Another anti-fraud trick is a deposit (or, getting more complicated, a fidelity bond).  Require a 0.5 BTC deposit, or a certain amount of pre-paid service.


I mean you could essentially just write a wrapper for it. Let the user decide if they want a spot instance, reserved, etc. All you are doing is re-writing the AWS website priced in Bitcoin, adding your "10%" Bitcoin convenience fee, using BitPay Wink to receive your gross, paying off the big AWS bill at the end of the month.

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
jgarzik (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
September 29, 2013, 11:28:23 PM
 #26

I mean you could essentially just write a wrapper for it. Let the user decide if they want a spot instance, reserved, etc

Certainly.  My message about spot instances was mainly about a possible business opportunity.
* jgarzik wrenches self back on-topic...




Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
September 29, 2013, 11:53:19 PM
 #27

I mean you could essentially just write a wrapper for it. Let the user decide if they want a spot instance, reserved, etc

Certainly.  My message about spot instances was mainly about a possible business opportunity.
* jgarzik wrenches self back on-topic...




Fair enough. Are there any other Autonomous Agents concepts floating around? I've only really seen StorJ held up as the shining example. Just really want more to read on the topic.

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
jgarzik (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
September 30, 2013, 01:16:20 AM
 #28

I mean you could essentially just write a wrapper for it. Let the user decide if they want a spot instance, reserved, etc

Certainly.  My message about spot instances was mainly about a possible business opportunity.
* jgarzik wrenches self back on-topic...




Fair enough. Are there any other Autonomous Agents concepts floating around? I've only really seen StorJ held up as the shining example. Just really want more to read on the topic.

In the fiction world, I highly recommend Daemon by Daniel Suarez, and its sequel.  All other fiction seems to present an unrealistic, Hollywood, human-level AI, if it is a robot spending money.

I've only ever seen the links referenced in the OP, referring specifically to narrow-AI agents that can spend money.

Now, there is plenty of research outside of the economic realm, on autonomous vehicles and swarms.  Just about any vehicle imagined -- submarine, boat, airplane, helicopter, car, tank, ... -- can be autonomous, and communicate with other non-human objects in its environment.

It seems like our community is the only one actively researching this area, robots + money + markets.

(Correct me if I'm wrong, please!)


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
johba
Member
**
Offline Offline

Activity: 68
Merit: 10



View Profile WWW
September 30, 2013, 01:48:04 AM
 #29


what about an autonomous agent running a hosted wallet, for humans that are not autonomous enough to operate one securely? Cheesy
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
September 30, 2013, 03:27:33 AM
 #30

I mean you could essentially just write a wrapper for it. Let the user decide if they want a spot instance, reserved, etc

Certainly.  My message about spot instances was mainly about a possible business opportunity.
* jgarzik wrenches self back on-topic...




Fair enough. Are there any other Autonomous Agents concepts floating around? I've only really seen StorJ held up as the shining example. Just really want more to read on the topic.

In the fiction world, I highly recommend Daemon by Daniel Suarez, and its sequel.  All other fiction seems to present an unrealistic, Hollywood, human-level AI, if it is a robot spending money.

I've only ever seen the links referenced in the OP, referring specifically to narrow-AI agents that can spend money.

Now, there is plenty of research outside of the economic realm, on autonomous vehicles and swarms.  Just about any vehicle imagined -- submarine, boat, airplane, helicopter, car, tank, ... -- can be autonomous, and communicate with other non-human objects in its environment.

It seems like our community is the only one actively researching this area, robots + money + markets.

(Correct me if I'm wrong, please!)


I read those over the summer. They remain the best books I've read so far, hands down. Still have to read Daniel Suarez's Kill Decision. Ha ha. Maybe I should make a Bitcoin Google Glass app called Darknet credits.

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1134


View Profile
September 30, 2013, 10:21:05 AM
 #31

Quote
Fair enough. Are there any other Autonomous Agents concepts floating around? I've only really seen StorJ held up as the shining example. Just really want more to read on the topic.

You mean apart from the examples I gave in my talk? (self driving cars, quadrocopters)?

Most obviously, you could split StorJ into two - have one set of agents that buys scripts from humans to install themselves into VPS providers, and then expose a standardised API for buying computation time that is then resold to other agents.

Other examples: Tor relays (that charge per kilobyte of data relayed on a circuit), spam filtering agents, IRC server agents, bitcoin nodes ... basically any kind of reasonably compact server can be envisioned as an agent.
Ola
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


View Profile
September 30, 2013, 01:57:19 PM
 #32

I uploaded the slides here:

   http://www.slideshare.net/mikehearn/future-of-money-26663148

Theymos, you might also enjoy the talk on contracts that I gave last year:

   http://www.youtube.com/watch?v=mD4L7xDNCmA

It's in a similar style.


Thanks for the slides..another inspiring presentation. I would recommend the talk on contracts to anyone..it was what motivated me to begin to actively contribute in the bitcoin space...

Nxter,Bitcoiner,Ether highlevel developer working to improve the world.
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
September 30, 2013, 08:33:13 PM
 #33

Quote
Fair enough. Are there any other Autonomous Agents concepts floating around? I've only really seen StorJ held up as the shining example. Just really want more to read on the topic.

You mean apart from the examples I gave in my talk? (self driving cars, quadrocopters)?

Most obviously, you could split StorJ into two - have one set of agents that buys scripts from humans to install themselves into VPS providers, and then expose a standardised API for buying computation time that is then resold to other agents.

Other examples: Tor relays (that charge per kilobyte of data relayed on a circuit), spam filtering agents, IRC server agents, bitcoin nodes ... basically any kind of reasonably compact server can be envisioned as an agent.
The thing that is nice about StorJ is that Gregory Maxwell gave us a really great technical definition of what a Bitcoin agent would look like. In essence StorJ is really a collection of highly automated (even intelligent) scripts. You can probably break it down into many more subparts. I'm looking for more examples like StorJ, or maybe we can come up with a concept of our own.

Tor relays is any interesting concept, there is already a demand for anonymizing internet usage. Using Bitcoin to monetize an agent to do so would only expand and strengthen that network. Now the real question is how could you deal with microtransations on that scale? Also, even harder, how do you protect anonymity if you also have to pay the nodes?

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
October 01, 2013, 12:35:48 AM
 #34

Started a new topic on my attempt at the basic implementation of a rudimentary StorJ node. https://bitcointalk.org/index.php?topic=305476.0

Bitcoin Dev / Storj - Decentralized Cloud Storage. Winner of Texas Bitcoin Conference Hackathon 2014. / Peercoin Web Lead / Primecoin Web Lead / Armory Guide Author / "Am I the only one that trusts Dogecoin more than the Federal Reserve?"
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 510



View Profile
October 01, 2013, 03:01:36 AM
 #35


And just wait, artificial intelligence via neuromophic computing technology will allow for smart autonomous swarms.
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1134


View Profile
October 01, 2013, 09:11:10 AM
 #36

The micropayment channel protocol we built this summer is designed to be embedded into other protocols. You'd extend the Tor protocol with a new cell type and run the protocol to each relay.

Whether this hurts privacy or not depends on how private you believe Bitcoin to be.
jgarzik (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
October 01, 2013, 03:10:35 PM
 #37

Tor relays is any interesting concept, there is already a demand for anonymizing internet usage. Using Bitcoin to monetize an agent to do so would only expand and strengthen that network. Now the real question is how could you deal with microtransations on that scale?

Micropayment channels can scale to multiple agents and such.

I do not think it is really a big deal, though.

For a Tor relay, I would just want to pay a $entity, and have that payment support "the network."


Quote
Also, even harder, how do you protect anonymity if you also have to pay the nodes?

It would be a poor user interface, if the user must manually select node 123 and pay node 123.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1134


View Profile
October 02, 2013, 09:08:15 AM
 #38

You obviously wouldn't change the UI. You'd just have a Tor client that ran a local wallet that paid the relays it used behind the scenes. From the users POV all you'd have to do is send some money from your regular wallet to your Tor client.

When I release the file downloader sample I think this kind of design will become much clearer.
Phinnaeus Gage
Legendary
*
Offline Offline

Activity: 1918
Merit: 1570


Bitcoin: An Idea Worth Spending


View Profile WWW
October 02, 2013, 12:39:55 PM
 #39


Vitalik Buterin is really pissing me off! I wish I could write like he.  Wink
jbreher
Legendary
*
Offline Offline

Activity: 3038
Merit: 1660


lose: unfind ... loose: untight


View Profile
October 02, 2013, 07:59:18 PM
 #40

This thread introduced me to the novel "Daemon". Picked up a copy - about 2/3 through. While the mechanics of the author's writing aren't very developed, the storytelling is very engaging.

Anyone with a campaign ad in their signature -- for an organization with which they are not otherwise affiliated -- is automatically deducted credibility points.

I've been convicted of heresy. Convicted by a mere known extortionist. Read my Trust for details.
Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!