wumpus changed the topic of #bitcoin-wizards to: This channel is is for discussing theoretical ideas with regard to cryptocurrencies, not about short-term Bitcoin development | http://bitcoin.ninja/ | This channel is logged. | For logs and more information, visit http://bitcoin.ninja
Mably has quit [Ping timeout: 250 seconds]
kmels has quit [Ping timeout: 240 seconds]
jtimon has joined #bitcoin-wizards
Newyorkadam has joined #bitcoin-wizards
bigreddmachine has joined #bitcoin-wizards
adam3us has joined #bitcoin-wizards
alpalp has joined #bitcoin-wizards
droark has quit [Quit: ZZZzzz…]
darklord_ has joined #bitcoin-wizards
bigreddmachine has quit [Remote host closed the connection]
jaekwon has quit [Remote host closed the connection]
darklord_ has quit [Ping timeout: 260 seconds]
nwilcox has joined #bitcoin-wizards
hdbuck has quit [Quit: hdbuck]
dEBRUYNE has quit [Ping timeout: 255 seconds]
Dizzle has quit [Quit: Leaving...]
dgenr8 has joined #bitcoin-wizards
sparetire_ has quit [Quit: sparetire_]
adam3us has quit [Quit: Leaving.]
StormDev has quit [Read error: Connection reset by peer]
<maaku>
gmaxwell: hah! that's a great picture
<maaku>
i bruised a rib doing that in middle school :\
blackwraith has joined #bitcoin-wizards
blackwraith has quit [Read error: Connection reset by peer]
priidu has quit [Ping timeout: 272 seconds]
mrkent has quit []
NewLiberty has quit [Ping timeout: 250 seconds]
droark has joined #bitcoin-wizards
Anarcho has joined #bitcoin-wizards
Dr-G has joined #bitcoin-wizards
Dr-G has joined #bitcoin-wizards
Dr-G2 has quit [Ping timeout: 260 seconds]
roxtrong_ has joined #bitcoin-wizards
AlphaTech is now known as TechnoLithium
belcher has quit [Quit: Leaving]
mrkent has joined #bitcoin-wizards
kmels has joined #bitcoin-wizards
adam3us has joined #bitcoin-wizards
NewLiberty has joined #bitcoin-wizards
GGuyZ has quit [Quit: GGuyZ]
roxtrong_ has quit [Remote host closed the connection]
GGuyZ has joined #bitcoin-wizards
kmels has quit [Ping timeout: 245 seconds]
TechnoLithium is now known as AlphaTech
nwilcox has quit [Ping timeout: 240 seconds]
frankenmint has quit [Remote host closed the connection]
adam3us has quit [Quit: Leaving.]
<gmaxwell>
There is a picture of me doing that too, but I dunno where it is.
mrkent has quit []
zooko has joined #bitcoin-wizards
GGuyZ has quit [Quit: GGuyZ]
kyuupichan has quit [Ping timeout: 244 seconds]
kyuupichan has joined #bitcoin-wizards
GGuyZ has joined #bitcoin-wizards
snthsnth has joined #bitcoin-wizards
copumpkin has joined #bitcoin-wizards
GGuyZ_ has joined #bitcoin-wizards
GGuyZ has quit [Ping timeout: 260 seconds]
GGuyZ_ is now known as GGuyZ
snthsnth has quit [Remote host closed the connection]
snthsnth has joined #bitcoin-wizards
TheSeven has quit [Disconnected by services]
[7] has joined #bitcoin-wizards
jrayhawk has quit [Ping timeout: 256 seconds]
moa has joined #bitcoin-wizards
jrayhawk has joined #bitcoin-wizards
NLNico has joined #bitcoin-wizards
TheDarkLord has quit []
jtimon has quit [Ping timeout: 245 seconds]
snthsnth has quit [Ping timeout: 255 seconds]
alferz has joined #bitcoin-wizards
snthsnth has joined #bitcoin-wizards
kmels has joined #bitcoin-wizards
GGuyZ has quit [Quit: GGuyZ]
psgs has joined #bitcoin-wizards
gavinandresen has quit [Ping timeout: 272 seconds]
snthsnth has quit [Ping timeout: 246 seconds]
snthsnth has joined #bitcoin-wizards
zooko has quit [Ping timeout: 244 seconds]
Cory has joined #bitcoin-wizards
GGuyZ has joined #bitcoin-wizards
Giszmo has quit [Quit: Leaving.]
Logicwax has quit [Ping timeout: 244 seconds]
GGuyZ has quit [Quit: GGuyZ]
GGuyZ has joined #bitcoin-wizards
Logicwax has joined #bitcoin-wizards
NewLiberty has quit [Read error: Connection reset by peer]
dgenr8 has quit [Read error: Connection reset by peer]
NewLiberty has joined #bitcoin-wizards
dgenr8 has joined #bitcoin-wizards
GGuyZ has quit [Quit: GGuyZ]
snthsnth has quit [Ping timeout: 256 seconds]
kmels has quit [Ping timeout: 240 seconds]
snthsnth has joined #bitcoin-wizards
kmels has joined #bitcoin-wizards
NewLiberty has quit [Ping timeout: 265 seconds]
PaulCape_ has joined #bitcoin-wizards
PaulCapestany has quit [Ping timeout: 246 seconds]
PaulCapestany has joined #bitcoin-wizards
PaulCape_ has quit [Ping timeout: 240 seconds]
jtimon has joined #bitcoin-wizards
adam3us has joined #bitcoin-wizards
psgs has quit [Quit: Leaving]
nwilcox has joined #bitcoin-wizards
polyclef has quit [Quit: polyclef]
adam3us has quit [Quit: Leaving.]
Madars has quit [Ping timeout: 240 seconds]
Madars has joined #bitcoin-wizards
nwilcox has quit [Ping timeout: 250 seconds]
adam3us has joined #bitcoin-wizards
p15_ has joined #bitcoin-wizards
p15 has quit [Ping timeout: 245 seconds]
Newyorkadam has quit [Quit: Newyorkadam]
frankenmint has joined #bitcoin-wizards
Newyorkadam has joined #bitcoin-wizards
mjerr has joined #bitcoin-wizards
priidu has joined #bitcoin-wizards
snthsnth has quit [Ping timeout: 240 seconds]
shesek has joined #bitcoin-wizards
stevenroose has quit [Ping timeout: 264 seconds]
ThomasV has joined #bitcoin-wizards
stevenroose has joined #bitcoin-wizards
kmels has quit [Ping timeout: 250 seconds]
jtimon has quit [Ping timeout: 250 seconds]
dEBRUYNE has joined #bitcoin-wizards
dEBRUYNE has quit [Ping timeout: 244 seconds]
jtimon has joined #bitcoin-wizards
<fluffypony>
so I tried taking a pic like that, but I can't find a passage small enough in my house
frankenmint has quit [Remote host closed the connection]
kmels has joined #bitcoin-wizards
hdbuck has joined #bitcoin-wizards
smellymoo has joined #bitcoin-wizards
<smellymoo>
I have a really big idea. want to talk it through with some people that ACTUALLY understand :)
<Eliel>
well, this is the right channel if you want to talk to people who actually understand.
<smellymoo>
hard to explain... it will be a decentralized anonymous supercomputer / server / smart contract... like ETR + TOR + TORRENT
<Eliel>
you could start by explaining what's the problem you're trying to solve with it.
<smellymoo>
so like eth, it can run scripts in a VM, but it can also make inbound and outbound connections, like tor.
<smellymoo>
ok... it will be a decentralized dark-cloud hosting / smart contract
<Eliel>
no no, not what it is. What problem(s) it solves
<smellymoo>
ok, millions!
<smellymoo>
list is endless.
<psztorc>
Should be very easy to come up with one!
Newyorkadam has quit [Quit: Newyorkadam]
<smellymoo>
censorship, servers being taken down by law enforment, needing processing power on demand...everything.
ThomasV has quit [Ping timeout: 272 seconds]
<smellymoo>
ok, I'll try and explain my invention step by step.
<smellymoo>
you have clients and hosts, clients want to do use the cloud for example: dos attack, silk road server, crack encryption keys, smart contracts, indestructible sites... oh anything
<smellymoo>
hosts want to get paid for their spare processing / ram / network capability... as it would be asic resistant they would get a fair price, like maid-safe.
<smellymoo>
the whole network forms a massive supercomputer that can run scripts that it shares in a torrent style way, and each client gets paid to run scripts like eth...
<smellymoo>
scripts run on a VM, so your computer is safe from them. and the scripts can make inbound / outbound connections, if you enable that ability. so you could host your site on this dark-cloud
<psztorc>
Compared to TOR, how does this help with your first problem of "censorship"?
<smellymoo>
so it's like tor+eth+maidsafe kind of. but it's so much more, as it's only limited by your imagination, it's P2P cloud computing :D
<smellymoo>
it's way way better than tor...
Newyorkadam has joined #bitcoin-wizards
<smellymoo>
as you host the site ON the network... so they kill you, the site is still there running.
<smellymoo>
to access the site, you only need to put a add-on on your browser that does the DNS.
<Eliel>
To be perfectly honest, the system you're describing sounds more ambitious than is possible for at least short term future.
<smellymoo>
as where the site would "be" would be constantly changing as different hosts ran the script (maybe every 10 minutes)
<smellymoo>
right, I am explaining it rather vaguely, as I need to explain what it is and why... before we can talk details... but actually it's not too complex... not more than eth.
<fluffypony>
scripts can make outbound connections, so you can distribute a script that DDoS attakcs a site?
<smellymoo>
fluffypony, yes
<smellymoo>
when you install the client, it would have a page where you select what you will share, each thing gets you different money... so it's like you are getting paid to be a zombie on a botnet... you can choose to allow / or not connections... as it also has millions of other uses... like all the uses of eth, and a lot more...
<smellymoo>
for example you want to crack an encryption key, you upload the script and it runs massively parallel on the dark-cloud network.
Newyorkadam has quit [Quit: Newyorkadam]
<smellymoo>
or you want to do protein folding, weather sim.... ANYTHING
<smellymoo>
it would be a massive super-computer that you pay to run scripts on.
<psztorc>
Can't you already do that, though? AWS, university supercomputer, etc.?
<smellymoo>
like a botnet, but more ethical, as the zombies would opt in, and choose what they wanted to allow the sandboxed scripts to do.
<psztorc>
Are you aware that Eth has been compared to a 1990's smartphone.
<psztorc>
by them?
<smellymoo>
lol
<isis>
s/TOR/tor/
<smellymoo>
right, but this is not like that.
<isis>
*cough*
<smellymoo>
tor is not the same as this in any way.
adam3us has quit [Quit: Leaving.]
<psztorc>
Well, I mean you just said it WAS "like tor+eth+maidsafe kind of".
<smellymoo>
the way it would work is a custom assembler code, that has opcodes that are designed to stay within the sandbox (so any memory access is kept within bounds for example)... then you can compile any programming language into this virtual assembler and run it... so right your scripts in c++, compile them, then it runs in this process VM... so it would be fast... maybe java speed. not like eth.
<smellymoo>
psztorc, look, when you need to explain something that doesn't exist, you must use things that do.
<psztorc>
I agree, but you said it was "like tor" and then you said it was "not the same in any way", so what am I supposed to learn from that?
<smellymoo>
I am not the best at explaining, but I will try, and hopefully I can get you all understanding how ground-breaking this is, and then we can talk about the technical aspects.
<smellymoo>
psztorc, ok, it's got a similar use to what tor does, but it doesn't function like it in any way... so for example it will run silk road ON it, not hide silk road
<psztorc>
ok
<smellymoo>
lets start again.. just too excited :D.
<smellymoo>
my idea is: a massively distributed cloud computer, that the nodes get paid to run scripts.
<psztorc>
All the nodes must run all of the scripts?
<smellymoo>
this would allow anything from dead man switces, ddos attacks, websites that run and can't be killed, smart contracts, data proccessing, .... everything
<smellymoo>
psztorc, no... it's like torrent, not like block-cahin
<smellymoo>
each node says what they will share, then the software decides what scripts match, and tells the network and it's arranged.
<fluffypony>
so what if I claim I'm going to run a script
<fluffypony>
and then don't
Newyorkadam has joined #bitcoin-wizards
<smellymoo>
fluffypony, first thing I thought about ;)
Newyorkadam has quit [Client Quit]
<smellymoo>
which I have mostly solved (now this is getting good, talking technical :D)
<smellymoo>
there are a number of ways...
<smellymoo>
one is in your script you make a way to check it has been run, like a check sum, or what ever you like, for example you ask at the end it connects to your ip and sends you a digest..etc
<fluffypony>
sure, so let's say you need exactly 1 node to run the script, it takes 6 hours, and then it returns to you
<smellymoo>
other way is the network has a tron script that sends scripts to people and asks them to run them, checks they did it right.
<fluffypony>
after 6 hours you realise my node is lying, and so you send it out again
<fluffypony>
another one of my nodes picks it up and pretends to run it
<smellymoo>
no...
<smellymoo>
ok...
<smellymoo>
the jobs would be split into small jobs...
<smellymoo>
at a guess maybe 1-10 minutes.
<smellymoo>
there is a queue.
<fluffypony>
not always possible
<smellymoo>
and after each job clients and hosts get ranking points, either by the tron script from mystery shopping.
<fluffypony>
if the state required to process a script is large, then it's extremely inefficient to move the job around
<smellymoo>
or by the clients proving their work.
<smellymoo>
fluffypony, right...
<fluffypony>
if it takes 20 minutes to update that state and have it ready for the next processor then what good is 1 minute of processing time
ThomasV has joined #bitcoin-wizards
<smellymoo>
fluffypony, ok... but that wouldn't be something that would be good on this cloud.
<fluffypony>
also how do you avoid Sybil attacks
adam3us has joined #bitcoin-wizards
<fluffypony>
I can just send out a bunch of jobs, pay for them, and then rate all participants poorly
<smellymoo>
the payments are not direct.
adam3us has quit [Client Quit]
<fluffypony>
and thus make nodes under my control the only ones with a positive rating
<smellymoo>
they go into escrow, tron holds them.
<fluffypony>
doesn't matter, I'm still participating 100% honestly
<fluffypony>
I'm just giving them a bad rating
<smellymoo>
tron mystery shopping
<smellymoo>
when you pay, you also pay a small amount of tax, then goes to tron, and he mystery shops everyone.
<fluffypony>
still doesn't matter, I can put up 20 000 jobs, pay for them, and rate the participants with -10
<fluffypony>
tron is centralised, which means it isn't censorship resistant
<smellymoo>
would be a problem if you did 20000 jobs from 20000 accounts.
<smellymoo>
tron would have the ability to mascerade as any other account.
<fluffypony>
still centralised
<fluffypony>
which means it can be controlled by an attacker
<smellymoo>
yes
<smellymoo>
no
<fluffypony>
so you're going to run it on a hack-proof box
<fluffypony>
completely cordoned off from all physical access
kmels has quit [Ping timeout: 255 seconds]
<smellymoo>
tron script would be run by the dev team
<fluffypony>
and you're somehow impervious to rubberhose cryptanalysis
<fluffypony>
oh and it's 100% bug free
<smellymoo>
lol
<smellymoo>
ok, their now we are talking the problems ;)
<smellymoo>
*there
<smellymoo>
it would be open source, so it would have similar problems to bitcoin.
<fluffypony>
the problem with ANY decentralised system is that you either have to have a central command structure, in which case it isn't decentralised at all, or you have to have real value at stake to prevent Sybil attacks
<fluffypony>
you're describing an extremely convoluted and inefficient central command structure
<fluffypony>
if you're going to have a centralised element controlled by the dev team just make the whole thing simpler
<smellymoo>
right...
<fluffypony>
trusted directory servers or something
<smellymoo>
but actually its simple.
<smellymoo>
it would be 1 user is dev, and their scripts would have extra powers.
<fluffypony>
so you've reinvented BOINC
<smellymoo>
also, the bitcoin going in, goes to the dev account, and their scripts distribute the coins for work.
<smellymoo>
BOINC? *checks*
<smellymoo>
you guys are being really helpful :)
paveljanik has joined #bitcoin-wizards
<smellymoo>
oh, btw, the tron script only runs when someone is marked as bad, so sybil wouldn't work?
<fluffypony>
so then I'm tying it up the whole time by marking good nodes as bad
<smellymoo>
boinc is 60%, but I am talking about cloud-hosting capabilites, and smart contracts in bitcoin too.
<fluffypony>
the reason BOINC works is because it's not incentivised, except by karma / gamification / rankings on a website
<smellymoo>
fluffypony, it would just make scripts maybe 1-10% more expensive to run during the attack.
<fluffypony>
incentivising anything is hard, to the point where 99.9999% of the time you'll over-incentivise or under-incentivise
<smellymoo>
also accounts would get ratings over time, so in an attack it would just fall back to more trusted nodes.
<fluffypony>
any accumulated rankings model is open to Sybil attacks and gaming
<smellymoo>
fluffypony, actually, it would be free market... as they get paid by the people offering a price.
roxtrongo has joined #bitcoin-wizards
<fluffypony>
I can create a special script with actual work in it, but a flag that indicates (to my nodes) that they can skip the work and just send me a confirmation of completion
<fluffypony>
so my nodes appear to be able to process that script thousands of times in a second
<fluffypony>
where normal nodes take 10 minutes
<fluffypony>
I create a completely closed circle of ratings
<smellymoo>
fluffypony, ok, so do you get my idea a bit? what would your solution be to that? as I think the tron mystery shopper + tron holding all funds in escrow would stop sybil
<smellymoo>
fluffypony, interesting.
<fluffypony>
the only two ways to stop Sybil attacks are qualitative trust networks, or making it too expensive to attack (ie. high barrier to entry, high barrier to participation, long timelines and lots of effort required to even start getting paid)
<smellymoo>
but what advantage would that cause? maybe I should have used the word flag not rating... people get flagged for extra mystery shopping.
<fluffypony>
you can't do the first option programmatically, since by its nature it requires human interpretation of the WoT relationship
<fluffypony>
and two is just Bitcoin mining
<psztorc>
In principle, if there is no cost to becoming a node, then everyone has simultaneously infinite nodes (relative to themselves) and zero nodes (relative to others).
<fluffypony>
^^
<smellymoo>
true...
<fluffypony>
the nothing-at-stake problem
<smellymoo>
but...
adam3us has joined #bitcoin-wizards
<smellymoo>
if your script you post has it's own checks you code in that are unique, then each script would have a different weakness, so it would be more work than just to process the scripts properly.
<smellymoo>
a client can only make an account with a 1$ minimum deposit.
hdbuck has quit [Quit: hdbuck]
<fluffypony>
no no, it just has a little note at the top of the script that effectively tells my nodes "if you are a fluffy-node then just skip to the end of the script and contact my IP with the secret password"
<smellymoo>
a host can only get paid after a delay for tron to verify them with mystery shopping.
<fluffypony>
so to any observer, including your mystery shopper, my nodes are processing my own script thousands of times in a second
<smellymoo>
fluffypony, yes, I understnad.
<fluffypony>
as well as genuinely processing other scripts
<smellymoo>
ok...
<smellymoo>
but I made a mistake... not a rating system.
<smellymoo>
a flagging system.
Mably has joined #bitcoin-wizards
<smellymoo>
it flags black nodes, and withholds their payment.
<smellymoo>
you guys are pumping out great arguments at a massive speed, this is so helpful :D
<fluffypony>
ok so then flagging has its own set of problems
<fluffypony>
I can just flag genuine nodes as being bad
<smellymoo>
so, if you have nodes not doing the processing, and skipping to the end, the scripts that handle their own protection, figure it out, and the ones that don't the tron mystery shopper marks the node as bad and doesn't pay.
adam3us has quit [Client Quit]
<fluffypony>
making the mystery shopper pointlessly tied up
<smellymoo>
right, but you flag good as bad, the mystery shopper script tries, and doesn't find a problem and pays out.
<smellymoo>
think about it with an example...
<fluffypony>
still tying up your central command structure in pointless effort
p15_ has quit [Ping timeout: 256 seconds]
<fluffypony>
plus I fail to see how you'd verify the work
<fluffypony>
you'd have to send the same script, in which case it could behave because it's seen this script before and knows it's probably the mystery shopper now
<fluffypony>
or you'd send a different script, in which case you're proving nothing
<smellymoo>
a hash cracker... the node runs a few thousand cycles. with lots of other scripts running too, one being the mystery shopper.
<smellymoo>
fluffypony, thought about that....
<smellymoo>
the mystery shopper could work in so many ways...
<fluffypony>
so then I behave when asked to crack hashes, and misbehave when aggregating data
<smellymoo>
one is it puts in arbitrary code from any script on the network that doesn't have outbound connections, then adds some code that is mutated.
<fluffypony>
worst case scenario I lose out on not being paid for 10 minutes of computing time, and I have to switch to a different IP
<smellymoo>
every single account has certain barriers.
p15 has joined #bitcoin-wizards
<smellymoo>
the hosts would be like google-adsense... they hold your money, show you how much you have earned, and sneakily verify your work and then cancel your account before payout if you cheat.
<smellymoo>
the clients would get the accounts taken, and the money too if they flagged to many white nodes.
<fluffypony>
who controls the money
<smellymoo>
tron.
<smellymoo>
under dev control/
<fluffypony>
so then why all the complexity
<smellymoo>
so people would need to see that everyone was getting paid properly to trust it.
<fluffypony>
you control the money
<smellymoo>
yes.
<fluffypony>
you control the network
<fluffypony>
just have a proper centralised control system
<smellymoo>
but it's better that it's controlled by a script on the network.
<fluffypony>
all this mystery shopper stuff is overly complex and can be cheated
<smellymoo>
it would defend aggainst attack a million times better if its a script running on the network itself, would scale better.
<smellymoo>
it's not complex.
<smellymoo>
a script runs, and verifies it was executed, if someone flags a hsot.
<smellymoo>
it would have central command... this would make a lot of things better... like if the network is being attacked it could be switched into a mode to resist... tron script changed, etc...
<smellymoo>
but there is great reason for tron...
<smellymoo>
this network would actually be dentralised as script would run on the network, a dead man switch, that if I didn't report for deity, every client could nominate a replacement dev.
<fluffypony>
so then I DDoS the script and everyone nominates me
<smellymoo>
there are many reasons for tron being in charge, not the owners / devs directly. it would guard against the problem of attacking the weakest link, the owners of the network.
<smellymoo>
yeah... ;)
<smellymoo>
lol.
<smellymoo>
that one needs thinking about.
<fluffypony>
plus it means you have to have the script open-sourced, along with its checks, which means that I can recognise mystery shopper checks and act accordingly
<smellymoo>
well, everything except the mysteryshopper would be open.
<fluffypony>
but then there's no possibility of handover in the even of your demise
<smellymoo>
that's fine. they right a new one.
<fluffypony>
well I don't even need to, I just need to get everything handed over to me, and I'll pretend I've got a mystery shopper for a few weeks
<fluffypony>
and then cut and run with the money I've accumulated
<smellymoo>
or I share the mysteryshopper with the possible future devs?
<smellymoo>
*write not right... dyslexic
<smellymoo>
well...
<smellymoo>
maybe the vote is only out of the list of possible future admins :)?
<smellymoo>
so when I prove I'm still alive, I also give a list of possible successors (private keys).. then when I die, everyone votes for a new core dev.
<smellymoo>
so the drift to evil would be slow and difficult.
<smellymoo>
so think about this, you only withdraw at a 1$ or after a time limit... so to earn that, you would need to run many scripts a lot of times... so just say 10'000, out of them, one script run would be a test. that would work right?
<smellymoo>
also a person could accept work done or not... so if it's rejected, it flags the person for more checks, but "more" would only still be 0.1%... so it would no attack.
<smellymoo>
people could post their own jobs that they do easier, but it would gain nothing.
<smellymoo>
people could flag white nodes, but it would also not stop anything.
mjerr has quit [Ping timeout: 240 seconds]
<smellymoo>
only way to cheat it, would be to only process the mystery shopper script, but to do that, would be difficult, as the devs job would be to keep that script very hard to desern... so for example it would copy random scripts and modify them to add a check of some type.
<smellymoo>
ok... got a great example...
<smellymoo>
the mystery shopper, it would set a one time magic sequence into the storage of it's process. then the tron script having admin powers, later would run and search the storage of the whole sandbox environment for the magic sequence starting tag, then return the value. if the value matches what the mystery shopper set... then it would know the node ran everything.... as how would you filter the scripts for one setting ram with a unknown pattern?
<smellymoo>
there are a million ways it could mystery shop, and it would be the devs job to keep them interesting ;)
<smellymoo>
fluffypony? are you busy writing the white paper to take credit? :D
<fluffypony>
lol no, I'm busy having breakfast
<smellymoo>
when you are done, please review my ramblings... I really am onto something :D
hdbuck has joined #bitcoin-wizards
<smellymoo>
also it could easily mystery shop just by sending a script that has already completed and checking it gives the same value on an other node. variation in methods would be important to make it secure.
<fluffypony>
tbh I'm still not seeing the value in the complexity
davec has quit [Read error: Connection reset by peer]
<fluffypony>
and more importantly, it doesn't make it easier to scale, it makes it harder
<fluffypony>
a proper centralised system with checks and balances will scale significantly better
davec has joined #bitcoin-wizards
<fluffypony>
and will be able to catch outliers
<fluffypony>
the whole setup is decentralised theatre, better to just eschew that and do it properly
<fluffypony>
scripts are submitted to a single, central controller, and that controller is responsible for dispatching them to participants, and paying them
<fluffypony>
additionally you could distribute a script to multiple participants (say, 3) and then if any of them have differences in returned data you get one more participant to run it, and so on until you have 3 that agree
<smellymoo>
hmmm
<fluffypony>
certainly not failsafe, but easier to control and respond and blacklist naughty participants
dEBRUYNE has joined #bitcoin-wizards
<smellymoo>
not disagreeing with you about centralisation, actually, the reason for admin scripts on the network doing most of it would be for speed and scalability. a big attack would be handled mostly automatically.
<smellymoo>
maybe payment would be best handled manually...
AaronvanW has joined #bitcoin-wizards
<smellymoo>
but the tron script / mystery shopper (be it asking to do the script 3 times, or random checks or what ever) helping the process of black listing / accepting.
<smellymoo>
as it has the idea of running hosts ON the network, like tor hidden services.
<smellymoo>
one reason for wanting the network to handle the verification is to stop me being the weak link that the NSA / etc can disable.
<fluffypony>
what happens if the data gets deleted by the node hosting it?
<smellymoo>
what happens when that happens on torrents?
<fluffypony>
a torrent has multiple seeders that all host the data, but the checksum on that data is publicly known
<fluffypony>
there's little point in hosting a website with static data
<fluffypony>
and if the data is dynamic then you're at risk of it being lost
<smellymoo>
all nodes that are running a certain script connect together with each other and keep state up to date... there is a queue that times events... hard to explan.
sparetire_ has joined #bitcoin-wizards
<fluffypony>
Bitcoin is literally the first thing in history to solve the problem of "keeping state up to date" in an adversarially-heavy, decentralised system
<smellymoo>
so steal from it.
<fluffypony>
and it requires the entire network to keep the same state in order to be trustless
<smellymoo>
so each group of nodes that are hosting a script do that.
<fluffypony>
they can collude
<smellymoo>
...
<fluffypony>
they can lie and say they're keeping the data without actually keeping all of it
<fluffypony>
that way they can participate in hosting "more"
<fluffypony>
and get paid more
<smellymoo>
mystery shopping?
<fluffypony>
they just store the data for a month and then figure out which parts of it are requested most often, and drop the rest
<fluffypony>
how is the mystery shopper going to know they're keeping the actual data unless it has the actual data as well?
<fluffypony>
in which case the mystery shopper has to have EVERY piece of data
<smellymoo>
no, it checks if they store the mystery shopper data.
<smellymoo>
or it checks a checksum of the data.
<fluffypony>
so then I just store checksums and not the data
<fluffypony>
hell I'll even store salted checksums as a rainbow table
<smellymoo>
ok, give me one second to process.
<smellymoo>
it's statistical
<smellymoo>
the mystery shopper verifies that a host does it's job.
<fluffypony>
how
<smellymoo>
by running a script and verifying it did.
<fluffypony>
let's take data storage as a basic example
<smellymoo>
right.
<fluffypony>
it has to verify that the host is storing that data
<fluffypony>
how
<smellymoo>
easy.
<smellymoo>
store this... later... checksum this... does the answer match
<fluffypony>
is the mystery shopper retaining the checksum or the actual data to check with my node later?
<smellymoo>
could do either.
<fluffypony>
ok so then I just store the checksum, not the actual data
<fluffypony>
you request the checksum, I give you the checksum
PaulCape_ has joined #bitcoin-wizards
<smellymoo>
point is, you don't know which script is verifying you.
<smellymoo>
but!...
<fluffypony>
doesn't matter, if it asks for a checksum I give it a checksum (that I already have)
<smellymoo>
you don't know how the second script will calculate the checksum!
<fluffypony>
how would I not know that
<smellymoo>
as in it asks a test question, that you would have needed the data for.
<fluffypony>
virtually any tests you can come up I can store data for that is less than the actual data
<smellymoo>
not true.
<fluffypony>
and, more importantly, you have to either devise those tests at the outset when you actually have the data
<fluffypony>
or you have to keep the data
<smellymoo>
but that's easy.
<fluffypony>
which part, keeping the data or devising the tests?
<smellymoo>
you are the person testing...
<smellymoo>
so for you you pre calculate the answer.
<smellymoo>
but the test is something that varies. so the host can't.
<fluffypony>
ok so here's an easier scenario: I run 30 000 nodes that claim to store data, but only 1 node that actually stores it
PaulCapestany has quit [Ping timeout: 240 seconds]
<fluffypony>
every time you give me a data test I just ask that 1 node for it
<fluffypony>
what makes you think it won't work for your scheme
<smellymoo>
look, you generate a random test data, for each storage mystery shop, and you generate the result. then you do one to a node, then the test script.
<smellymoo>
with a delay.
<smellymoo>
so...
moa has joined #bitcoin-wizards
<fluffypony>
and you think that if I'm running 30 000 nodes I can't figure out that the same (or similar) script is being sent to the bulk of my nodes over a period of time
<fluffypony>
and thus figure out the mystery shopper's behaviour
<smellymoo>
data: 123456789 ... random test... 5th character... store (5) in mystery shop script) send to node data... 1 hour later... do test.
<fluffypony>
you are not as random as you think you are
<fluffypony>
*holds up spork*
<smellymoo>
hmm
<fluffypony>
remember, smellymoo, an attacker has both virtually unlimited time and virtually unlimited resources
<fluffypony>
your model is classic security-through-obscurity
<smellymoo>
that is why I said about copying code from random scripts, then adding a mutated part that can be checked later.
<fluffypony>
you assume that an attacker cannot know who the mystery shopper is, but they can
<smellymoo>
true.
<fluffypony>
which means your entire model is dependent on the mystery shopper or it's patterns not being "discovered"
<smellymoo>
then maybe steal from the bitcoin model, and make one state shared by all that is for verification?
<fluffypony>
well done, you've just reinvented Ethereum :-P
<fluffypony>
at least you're inheriting the Bitcoin network's security
<smellymoo>
ok...
<smellymoo>
but you see the validity of my idea.
<fluffypony>
oh sure, I definitely think that there's scope for distributed programming and distributed storage etc., I just think that doing it securely is extremely hard
<smellymoo>
instead of torrents outliving their orignal seeders, scripts including websites could.
<smellymoo>
that's why it's been good talking it through with you.
<fluffypony>
100%
jtimon has quit [Ping timeout: 252 seconds]
<smellymoo>
mystery shopping is security-through-obscurity, if done right, it would work, but would always be waiting to be hacked, so maybe some form of bitcoin style security must be done... but can't understand how it would work yet.
spinza has quit [Excess Flood]
<smellymoo>
how will counterparty help verify that a host has executed the code or not... can't see the connection.
spinza has joined #bitcoin-wizards
<fluffypony>
counterparty is built on top of Bitcoin, and all counterparty nodes execute the same scripts (that shared state thing we were talking about)
<fluffypony>
spinza: dag sê
<smellymoo>
the way I see it, there are only 3 ways to verify if the host has run the script: mystery shop, run more than once and check the outputs match, inbed checks in the script that verify (eg: post checksum to this webserver, which the script owner owns ... or post onto the network the checksum, or what ever)
drwin has joined #bitcoin-wizards
<smellymoo>
dunno... as the power of my idea is that you can use it different ways, having the same script ran on all nodes is weak...
<smellymoo>
if there was a way to have 1% of it being a script that is run on all, and blockchain secured, that then secured the different scripts running... but don't see it.
shesek has quit [Ping timeout: 244 seconds]
<fluffypony>
1 has problems, 2 is possibly workable (but then it's just a decentralised version of MongoDB), and 3 is open to the owner cheating (ie. lying and saying that the work hasn't been completed, so that can get a refund)
<smellymoo>
but if 1 and 3 are combined.
<smellymoo>
actually, all 3?
<fluffypony>
you can't stop the owner from cheating by "mystery shopping"
<fluffypony>
it's literally his word against the node that processed it
<smellymoo>
ok... so use the blockchain tech to keep one version of data, and that data is the digest replies from running scripts.
<smellymoo>
but client flags, then it triggers mystery shop
<fluffypony>
ok so then let's say that the script evaluates the outcome of a sports game and awards Better A or Better B the total bet of 50 Wafflecoin
<smellymoo>
yes
<fluffypony>
to do this it pings api.somesportsresultssite.com/outcome?gameid=7
<smellymoo>
right
AaronvanW has quit [Remote host closed the connection]
<fluffypony>
so Better A colludes with somesportsresultssite.com to change the outcome in their API when the bet is resolved
<fluffypony>
but then give the actual result to any requests thereafter
<smellymoo>
for what end?
<fluffypony>
script runs, pays out to Better A (who then splits the profits with the site)
<fluffypony>
Better B loses
<smellymoo>
don't get how anyone benefits from that?
<fluffypony>
because Better A isn't the legitimate winner
<smellymoo>
as it's about getting scripts processed.
<smellymoo>
but that doesn't matter, that's gaming something else.
<smellymoo>
it's a massive processor... not a currency
<fluffypony>
sure, but what I mean is that your mystery shopper setup won't catch that
<smellymoo>
but it's a closed loop...
<fluffypony>
that relies on external data
<fluffypony>
and posts to an external system
<smellymoo>
client and host are the same person.. so no one gains anything
<fluffypony>
so it's not a closed loop at all
<smellymoo>
who gains? it's a processor, not a currency.
<fluffypony>
you're missing the point
<fluffypony>
if your mystery shopper runs the same script it'll have a different result
<fluffypony>
because the data it relies on has changed
<smellymoo>
right
<fluffypony>
so now what do you do
<fluffypony>
not pay out?
<smellymoo>
but that would be a shit mystery shopper
<smellymoo>
a good one would be something like...
<smellymoo>
copy another random script, add somewhere X=DFG_65443... later run admin script that checks all sandbox memory for DFG_*
ThomasV has quit [Ping timeout: 260 seconds]
<smellymoo>
match 65443 against stored check value.
<smellymoo>
then they most keep all memory from all scripts to pass.
<fluffypony>
forever?
<smellymoo>
no.
<smellymoo>
just for the run cycle.
<smellymoo>
whatever that might be
<smellymoo>
wait wait wait...
<smellymoo>
maybe, there is one shared state, using blockchain tech...
AaronvanW has joined #bitcoin-wizards
AaronvanW has joined #bitcoin-wizards
<smellymoo>
each script has a digest value...
<smellymoo>
they are all written to this ledger.
<smellymoo>
then after it is trivial to check a flagged script.
<fluffypony>
so my naughty nodes will behave and keep the shared state
<smellymoo>
right...
<fluffypony>
but will evaluate scripts to their benefit
<smellymoo>
but they must add to the ledger a digest to get payment.
spinza has quit [Excess Flood]
PaulCape_ has quit [Ping timeout: 240 seconds]
<smellymoo>
so for example, the digest could be a checksum of the final ram state of that scripts vm.
PaulCapestany has joined #bitcoin-wizards
<smellymoo>
what about that? :D
airbreather has quit [Remote host closed the connection]
<smellymoo>
so, tax is taken out of the payments, to pay for the scripts to double check flagged hosts execution of scripts, if the digest of execution in the blockchain matches then the host is paid.
spinza has joined #bitcoin-wizards
<smellymoo>
so it would be important to make fairly big "execution allotment blocks" otherwise the digest blockchain would be too big. so the smallest unit would need to be quite big, like 1 minute of processing, or a non-trivial amount, probably best if it was quantified by payout.
<smellymoo>
fluffypony, what about that :D? that would fix it no?
roxtrongo has quit [Remote host closed the connection]
p15 has quit [Max SendQ exceeded]
p15 has joined #bitcoin-wizards
p15 has quit [Max SendQ exceeded]
p15 has joined #bitcoin-wizards
p15 has quit [Max SendQ exceeded]
p15 has joined #bitcoin-wizards
<smellymoo>
fluffypony, now you are definitely off writing the write paper to take the credit ;)
p15 has quit [Max SendQ exceeded]
<smellymoo>
ok, gtg, bbl
moa has quit [Quit: Leaving.]
smellymoo has quit [Ping timeout: 260 seconds]
GGuyZ has joined #bitcoin-wizards
PRab_ has joined #bitcoin-wizards
PRab has quit [Ping timeout: 244 seconds]
PRab_ is now known as PRab
<fluffypony>
lol because that's what I do with my Saturdays in sunny South Africa
polyclef has joined #bitcoin-wizards
gill3s has joined #bitcoin-wizards
dc17523be3 has quit [Ping timeout: 246 seconds]
dc17523be3 has joined #bitcoin-wizards
ThomasV has joined #bitcoin-wizards
Mably has quit [Ping timeout: 250 seconds]
shesek has joined #bitcoin-wizards
dEBRUYNE has quit [Ping timeout: 244 seconds]
Mably has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
roxtrongo has joined #bitcoin-wizards
smellymoo has joined #bitcoin-wizards
<smellymoo>
fluffypony, back
roxtrongo has quit [Ping timeout: 250 seconds]
<smellymoo>
still on? thought about it, and if you have one blockchain for digests (processing proofs), then you still have the problem of hosts faking and saying they did the work or using it as an attack and spaming it with fake digests. so it only fixes the problem of no proof of the claims.
dEBRUYNE has quit [Ping timeout: 265 seconds]
<smellymoo>
but, the client side bad actors are easy to mitigate, each script posted needs a minimum amount in the account, like 0.1$ which the change could be returned if no foul play... so posting 10000 scripts would be 1000$ and you would lose it.
ThomasV has quit [Quit: Quitte]
rusty has joined #bitcoin-wizards
NewLiberty has joined #bitcoin-wizards
afk11 has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
chmod755 has joined #bitcoin-wizards
GGuyZ has quit [*.net *.split]
stevenroose has quit [*.net *.split]
jrayhawk has quit [*.net *.split]
copumpkin has quit [*.net *.split]
stonecoldpat1 has quit [*.net *.split]
gielbier has quit [*.net *.split]
CodeArtix has quit [*.net *.split]
jrayhawk has joined #bitcoin-wizards
CodeArtix has joined #bitcoin-wizards
gielbier has joined #bitcoin-wizards
copumpkin has joined #bitcoin-wizards
stonecoldpat has joined #bitcoin-wizards
chmod755 has quit [*.net *.split]
coryfields has quit [*.net *.split]
lmatteis has quit [*.net *.split]
digitalmagus has quit [*.net *.split]
sparetire has quit [*.net *.split]
binaryatrocity has quit [*.net *.split]
AlphaTech has quit [*.net *.split]
gmaxwell has quit [*.net *.split]
epscy has quit [*.net *.split]
jonasschnelli has quit [*.net *.split]
iddo has quit [*.net *.split]
gmaxwell has joined #bitcoin-wizards
digitalmagus has joined #bitcoin-wizards
iddo has joined #bitcoin-wizards
chmod755 has joined #bitcoin-wizards
chmod755 has quit [Changing host]
chmod755 has joined #bitcoin-wizards
binaryatrocity has joined #bitcoin-wizards
binaryatrocity has quit [Changing host]
binaryatrocity has joined #bitcoin-wizards
AlphaTech has joined #bitcoin-wizards
gmaxwell is now known as Guest46108
sparetire has joined #bitcoin-wizards
epscy has joined #bitcoin-wizards
coryfields has joined #bitcoin-wizards
rusty has left #bitcoin-wizards [#bitcoin-wizards]
lmatteis has joined #bitcoin-wizards
paveljanik has quit [Read error: Connection reset by peer]
spinza has quit [Excess Flood]
spinza has joined #bitcoin-wizards
afk11 has quit [Ping timeout: 265 seconds]
AlphaTech has quit [Changing host]
AlphaTech has joined #bitcoin-wizards
afk11 has joined #bitcoin-wizards
dEBRUYNE has quit [Ping timeout: 246 seconds]
AaronvanW has quit [Ping timeout: 246 seconds]
NLNico has quit [Quit: Leaving]
NLNico has joined #bitcoin-wizards
priidu has quit [Read error: Connection reset by peer]
hazirafel has joined #bitcoin-wizards
Guyver2 has joined #bitcoin-wizards
dEBRUYNE has joined #bitcoin-wizards
NLNico has quit [Quit: Leaving]
alpalp has joined #bitcoin-wizards
hdbuck has quit [Quit: hdbuck]
hdbuck has joined #bitcoin-wizards
Huxy- has quit [Quit: Huxy-]
Huxy has joined #bitcoin-wizards
Casper- has joined #bitcoin-wizards
hulkhogan_ has joined #bitcoin-wizards
drwin has quit [Ping timeout: 240 seconds]
Giszmo has joined #bitcoin-wizards
smellymoo has quit [Quit: see you.]
Casper- has quit [Read error: Connection reset by peer]
c0rw|zZz is now known as c0rw1n
stevenroose has joined #bitcoin-wizards
hdbuck has quit [Quit: hdbuck]
kmels has joined #bitcoin-wizards
chmod755 has left #bitcoin-wizards ["Ex-Chat"]
King_Rex has joined #bitcoin-wizards
King_Rex has quit [Remote host closed the connection]
drwin has joined #bitcoin-wizards
bedeho has joined #bitcoin-wizards
Casper- has joined #bitcoin-wizards
afk11 has quit [Ping timeout: 244 seconds]
afk11 has joined #bitcoin-wizards
Guyver2 has left #bitcoin-wizards [#bitcoin-wizards]
<kanzure>
"The "chain" isn't really a chain, it is a tree. However, normally, the main branch is the only one that is extended. The tree becomes a single branch with a few small orphan branches. When a fork happens, there are 2 branches that are being extended. Headers should be forwarded if they extend the tree, even if they aren't part of the main branch (and even if the blocks they represent are invalid)."
<kanzure>
"include the input value of the transaction in the transaction hash" hm
<Taek>
why do you want to forward headers that don't extend the longest chain?
<Taek>
"The ideal solution is that all miners switch to fork B, since 100% of miners consider it valid." ==> also, this just seems abusable to me
<Taek>
you essentially end up letting 25% of the miners dictate what counts as a valid block
eka808 has left #bitcoin-wizards [#bitcoin-wizards]
<Taek>
makes soft forks a lot easier, but also censorship a lot easier
Casper- has quit [Read error: Connection reset by peer]
Populus has joined #bitcoin-wizards
ielo has quit [Ping timeout: 264 seconds]
Populus has quit [Ping timeout: 240 seconds]
c-cex-yuriy has joined #bitcoin-wizards
Populus has joined #bitcoin-wizards
Populus has quit [Changing host]
Populus has joined #bitcoin-wizards
bedeho has quit [Ping timeout: 255 seconds]
Tiraspol has quit [Remote host closed the connection]
Tiraspol has joined #bitcoin-wizards
Tiraspol has joined #bitcoin-wizards
spinza has quit [Ping timeout: 246 seconds]
priidu has joined #bitcoin-wizards
spinza has joined #bitcoin-wizards
Quanttek has joined #bitcoin-wizards
eudoxia has joined #bitcoin-wizards
eudoxia has quit [Client Quit]
Guest46108 has quit [Changing host]
Guest46108 has joined #bitcoin-wizards
Guest46108 is now known as gmaxwell
afk11 has quit [Quit: Leaving.]
dexX7 has joined #bitcoin-wizards
dexX7 has left #bitcoin-wizards [#bitcoin-wizards]
PRab has quit [Remote host closed the connection]
N0S4A2 has quit [Ping timeout: 255 seconds]
NewLiberty has quit [Ping timeout: 246 seconds]
Mably has joined #bitcoin-wizards
nwilcox has joined #bitcoin-wizards
PaulCape_ has joined #bitcoin-wizards
PaulCapestany has quit [Ping timeout: 260 seconds]
nwilcox has quit [Ping timeout: 240 seconds]
bedeho has joined #bitcoin-wizards
andytoshi has quit [Ping timeout: 240 seconds]
scoria has quit [Ping timeout: 260 seconds]
nwilcox has joined #bitcoin-wizards
jaekwon has joined #bitcoin-wizards
adam3us has joined #bitcoin-wizards
spinza has quit [Ping timeout: 260 seconds]
jonasschnelli has joined #bitcoin-wizards
<kanzure>
"extended merkle tree: The merkle tree currently ends at the transaction level. This means that to prove that a particular output is valid, you need to provide the entire transaction. If the merkle tree continued down to the inputs and outputs of the transaction, then only a merkle path would be required to prove that an output is valid." https://bitcointalk.org/index.php?topic=844944.0
adam3us has quit [Quit: Leaving.]
<kanzure>
"[With the current system and not using sum-merkle-trees,] if blocks are 20MB, then spv fraud proofs could be 60MB or more."