Bitcoin Forum
April 24, 2024, 02:19:00 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Self-replicating autonomous agent  (Read 9201 times)
niniyo (OP)
Member
**
Offline Offline

Activity: 118
Merit: 10


View Profile
March 09, 2014, 06:40:48 AM
 #1

Hi,

I have an idea for a project, which doesn't have a lot of purpose other than being a proof-of-concept, and I'm wondering if anyone would be interested in contributing.

In some ways it would be a like a distributed autonomous organisation, but in another sense it's almost like a virus.  Essentially it's a piece of software that has the following objectives:

1) reproduce (it does this by purchasing VPS's with bitcoin, spawning another instance of itself, and sending it seed money to get it started).
2) earn money (in order to survive and reproduce)

The general principle would be that it pays humans to do things that it can't do, so people are incentivised to work for it when it needs work.  For example, the software would need to adapt to new VPS providers with different APIs, so the software could offer money to anyone who can sell it a plugin that connects it with a new VPS provider.  This would ensure that it could move between VPS providers even if they disappeared.  (things like receiving some plugin code from a user, testing it, and paying them if it works, could all be feasibly automated).

As for making money, that would be difficult at first, and perhaps as a proof-of-concept it is only capable of begging, but a far-fetched example would be something like drone advertising.  It could fly drones around, and could allow anyone to purchase advertising time on it with bitcoin.  Again this can all be automated.  It could even offer comissions for people who suggest good locations where it can go to make money.  In order to obtain drones, it would follow the same principle as the VPS procurement, which is to pay humans to do things it can't.  For example, it could offer a price on drones, and so humans can work for it by buying the drone, setting it up, then transfering control to the software who then pays the person for the drone.  The software could adjust its offer price according to profitability and demand.

It's a bit of a crazy idea and it even raises ethical questions about how far such a system could go (God forbid that the machines obtain all the wealth and humans end up slaving away for them).  So I'd be interested to hear any feedback and see if anyone would be interested in working on a proof-of-concept idea.

Thanks.
1713925140
Hero Member
*
Offline Offline

Posts: 1713925140

View Profile Personal Message (Offline)

Ignore
1713925140
Reply with quote  #2

1713925140
Report to moderator
1713925140
Hero Member
*
Offline Offline

Posts: 1713925140

View Profile Personal Message (Offline)

Ignore
1713925140
Reply with quote  #2

1713925140
Report to moderator
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
March 09, 2014, 06:52:16 AM
 #2

Have a look at these to see other work in this space, might be of help:

https://bitcointalk.org/index.php?topic=53855.msg642768#msg642768
https://bitcointalk.org/index.php?topic=60198.0
https://bitcointalk.org/index.php?topic=214332.0



Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
niniyo (OP)
Member
**
Offline Offline

Activity: 118
Merit: 10


View Profile
March 09, 2014, 07:06:08 AM
 #3

Thanks.  Those threads are definitely of interest.

Reading them made me realise that a really good application of this idea would be to build a distributed altcoin exchange.  Altcoin exchanges are essential because trading from BTC into an altcoin and back is almost like the zerocoin concept, so long as the exchanges are black boxes.  Imagine a distributed exchange that replicated itself with the profit!

The obvious weakness here is that people with physical access to the hardware can steal its wallet or manipulate the software, and it would be easy to trick an autonomous agent into purchasing a VPS from you for this purpose.
b!z
Legendary
*
Offline Offline

Activity: 1582
Merit: 1010



View Profile
March 09, 2014, 07:35:22 AM
 #4

http://en.wikipedia.org/wiki/Skynet_%28Terminator%29
fuW19dxlim16
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
March 09, 2014, 08:35:07 AM
Last edit: March 09, 2014, 10:54:07 AM by fuW19dxlim16
 #5

I am very interested in this, I've been thinking a lot about it (but sadly I don't have a lot of free time to put in it).

Some applications :

- obviously, host files (that is the StorJ idea) like Mega, but also images like imgur, and videos like Youtube

- it can serve as TOR relays

- run bitcoind instances

- share some torrents (I'm thinking linux images, not the latest Hollywood movie)

- it could procure VPN services to its clients (although I'm not sure it could compete with professional VPNs)

- mail servers (again, if it's not free it may not be interesting to a lot of people)

- if there is a web front-end with interesting content (a forum for its users?), monetize it with ads (but I just made a quick search and it seems that, currently, advertisement networks which pays in BTC are not so good)

- host blogs

- IRC server

- maybe some game servers, but I'm not really into that so I don't know if it is needed

For the decision-making part, my idea was to let users vote, using the Bitcoin technology : The agent would be kind of like a company, issuing "shares". People who put some coins in the agent capital gain voting power. No need for ID or passwords, they can sign their vote with the BTC address they used to send funds. That's less autonomous, but can also avoid IA fatal mistakes and helps fund the agent.
Parts of the agent's master bitcoin key (separated with Shamir's secret sharing system) could also be given to each shareholders in case the agent crash down and the coins need to get recovered.
Actually, to avoid hacks, it may be a good idea to let the agent only with a multi-sig wallet, requiring a minimum of 50%+1 shareholders to verify and sign each transactions made.

Is there already some VPS/dedicated servers providers who have an API good enough for this purpose ? Else we can always teach the agent to go through the host website and subscribe like a human, but some kind of universal protocol would be so much better for error handling and to later plug-in more providers.

Damn this is so full of possibilities, I think I'm gonna start really working on it during my free time. (I may not have all the competences required, I mainly do web development)

edit : and thanks organofcorti, I'm gonna read these threads too

edit 2 : it can also serves as oracles for bitcoin contracts (https://en.bitcoin.it/wiki/Contracts#Example_4:_Using_external_state) and be the third-party for this https://gist.github.com/gavinandresen/5616606

edit 3 : Namecheap takes BTC and has an API for domain names and SSL certificates : https://www.namecheap.com/support/api/intro.aspx
No hosting and I think it has to be linked to a funded account, but that's a start
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1002


100 satoshis -> ISO code


View Profile
March 09, 2014, 10:07:37 AM
 #6

Thanks.  Those threads are definitely of interest.

Reading them made me realise that a really good application of this idea would be to build a distributed altcoin exchange.  ...

http://mastercointalk.org/index.php?topic=108.0

Not a DAC but it will be interesting to see how it does.

bitcoinrat
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
March 09, 2014, 11:48:32 AM
 #7

.

really interesting ideas niniyo

I have also been thinking alone similar lines too. i'm not a coder but an Arts Grad, but would love to help out in developing some of these idea further- and seeing where they might go.

I added some comments on an article in businessinsider.com on a classic 'bitcoin is a bubble' FUD post on 3rd March.

http://www.businessinsider.com/bitcoin-and-the-south-seas-bubble-2014-3?pundits_only=0&comments_page=1#comment-5314cd7eeab8ea5f5a60618b

my last couple of paragraphs read

"All their attempts to try and define where bitcoin fits therefore in our existing money-market structures will never understand that it is the FUTURE where bitcoin actually lives. ie it is an idea well ahead of the curve - so far ahead that they can't understand its relevance.

The real relevance of the blockchain lies in the future - when "intelligent machines" driven by algorithm controls will wander the world of the internet and will use 'electronic decentralised currency' to trade, gain access, share data etc.

bitcoin , or its off-springs, have to be that payment mechanism - as only decentralised incorruptible currency will be universally accepted by trans-national wandering bots.
"

Get in touch via twitter if you wish  @Bitcoinrat
.
BitHub
Sr. Member
****
Offline Offline

Activity: 253
Merit: 250


View Profile
March 09, 2014, 02:15:47 PM
 #8

https://www.youtube.com/watch?v=mD4L7xDNCmA
ktorn
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
March 09, 2014, 02:47:14 PM
 #9

You've been listening to Andreas on the Let's Talk Bitcoin podcast right? Wink

If you haven't then do. He spend a significant portion of one episode describing such self-sustaining and replicating autonomous agents, paying for their own existence through cryptocurrency.

Very cool stuff, and something I'd have loved to have got into around 15 years ago, when I was doing my masters in AI, except there was no Bitcoin back then. Now I've moved on to even more interesting stuff Wink
kordless
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
March 09, 2014, 03:22:40 PM
 #10

@fuW19dxlim16 I've been thinking and working on this concept as well.  To get what you want, you need a highly distributed infrastructure: https://github.com/StackMonkey/xovio-pool/blob/master/whitepaper.md.  I need help, if anyone is interested and has the time.
Operatr
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


www.DonateMedia.org


View Profile WWW
March 09, 2014, 04:48:24 PM
 #11

This is an interesting concept.

You might look at Ethereum, it is a blockchain driven contract engine with a turing-complete language for scripting. You can do anything you can mathematically define. This contracting language goes far beyond Bitcoin's abilities.

Since a computer virus isn't much different being code at the core, you could very likely build a self-replicating contract that can auto-execute other functions. Ethereum contracts are essentially autonomous agents that can perform many functions.

Part of the Ethereum project is to have compilers that you could translate viruses written in another language into Etherum LLL.

ethereum.org




super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
March 09, 2014, 05:24:47 PM
 #12

I am working on Storj. If you want this to work properly you need to build a decentralized storage network. We did this and it was presented at the Texas Bitcoin Conference Hackathon, which we won. We have a working web app that allows you the upload and download data to our decentralized storage network. An agent could be developed in a weekend or so once we clean up our codebase.

I have a whitepaper about this somewhere on this forum. I'm purposely not talking about some details because I'd rather present you guys with a working solution than a bunch of 2 weektm promises.

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?"
DanielleEber
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
March 09, 2014, 06:19:45 PM
 #13


Essentially it's a piece of software that has the following objectives:

1) reproduce (it does this by purchasing VPS's with bitcoin, spawning another instance of itself, and sending it seed money to get it started).
2) earn money (in order to survive and reproduce)


There is a project to do this in the physical world (self-reproducing automation): http://www.seed-factory.org/ book: http://en.wikibooks.org/wiki/Seed_Factories

Sherman
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
March 09, 2014, 06:26:36 PM
 #14

Since a computer virus isn't much different being code at the core, you could very likely build a self-replicating contract that can auto-execute other functions. Ethereum contracts are essentially autonomous agents that can perform many functions.

Wouldn't that be very expensive in terms of ether fees? As I understand Ethereum favours short programs because it charges fees per executed line of code. https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White-Paper#wiki-fees
virtualmaster
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500



View Profile
March 09, 2014, 06:55:10 PM
 #15

Beam me up, Scotty!

Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
Namecoinia.org  -  take the planet in your hands
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba   |  NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
March 09, 2014, 08:31:12 PM
 #16

Since a computer virus isn't much different being code at the core, you could very likely build a self-replicating contract that can auto-execute other functions. Ethereum contracts are essentially autonomous agents that can perform many functions.

Wouldn't that be very expensive in terms of ether fees? As I understand Ethereum favours short programs because it charges fees per executed line of code. https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White-Paper#wiki-fees
Yes, this was my main criticism for Ethereum's current solution. You can store a movie in their blockchain, but its going to cost you $1,000. When I implement this in the Ethereum chain I'm going to use my metadata solution. Essentially you only store where the stuff is not the actual stuff.

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?"
Sherman
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
March 14, 2014, 10:10:57 PM
 #17

The general principle would be that it pays humans to do things that it can't do, so people are incentivised to work for it when it needs work.  For example, the software would need to adapt to new VPS providers with different APIs, so the software could offer money to anyone who can sell it a plugin that connects it with a new VPS provider.  This would ensure that it could move between VPS providers even if they disappeared.  (things like receiving some plugin code from a user, testing it, and paying them if it works, could all be feasibly automated).

You're assuming the program is not smart enough to write the plugins.  This is a very reasonable thing to assume.  Nevertheless, the problem of determining what plugins it needs is actually harder than writing these plugins itself.  Think about it.  So you don't need a program that can outsource plugins to humans: you need a super-intelligent program that can do everything itself.
fuW19dxlim16
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
March 18, 2014, 04:12:21 AM
 #18

Nevertheless, the problem of determining what plugins it needs is actually harder than writing these plugins itself.

That is very arguable.

You can have unit tests, speed execution tests and all kind of tests to see if a plugin is good or not.

A program writing programs? I think we don't have that yet (well, there is https://en.wikipedia.org/wiki/Evolutionary_algorithm but from what I read in another thread DAC-related, it takes huge computational power).
Sherman
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
March 24, 2014, 10:21:42 PM
 #19

That is very arguable.

You can have unit tests, speed execution tests and all kind of tests to see if a plugin is good or not.

Yes, you can test plugins for everything you want.  That is easy, as long as the "what you want part" is well defined.  Finding out what exactly you want these plugins to do is very difficult.  OP says the program "pays humans to do things that it can't do".  In order to ask humans to do such things, it must be able to get a grasp of what it cannot do, which is actually harder than doing these things in the first place.  Here's a book that offers some good insights on this matter http://en.wikipedia.org/wiki/I_Am_a_Strange_Loop

A program writing programs? I think we don't have that yet (well, there is https://en.wikipedia.org/wiki/Evolutionary_algorithm but from what I read in another thread DAC-related, it takes huge computational power).

Evolutionary algorithms are just one kind of learning algorithms.  There are many others, such as neural networks, swarm techniques, etc.  They mostly fall short for really hard problems because they cannot handle sufficient complexity yet.
super3
Legendary
*
Offline Offline

Activity: 1094
Merit: 1006


View Profile WWW
March 25, 2014, 04:08:53 PM
 #20

Nevertheless, the problem of determining what plugins it needs is actually harder than writing these plugins itself.

That is very arguable.

You can have unit tests, speed execution tests and all kind of tests to see if a plugin is good or not.

A program writing programs? I think we don't have that yet (well, there is https://en.wikipedia.org/wiki/Evolutionary_algorithm but from what I read in another thread DAC-related, it takes huge computational power).
Basically this. Your core modules will have to have near perfect, and have the best unit tests. From there its just evolution and experimentation.
The solution is to built from solid parts.

Some people think this is highly complex. It is, but not unobtainable. The fundamental of computer science is take one big problem you can't solve, and split it into many small problems that you can solve.

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?"
Pages: [1] 2 »  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!