Search content
Sort by

Showing 20 of 60 results by Newton
Post
Topic
Board Bitcoin Discussion
Topic OP
So 20th century
by
Newton
on 16/08/2011, 19:02:33 UTC
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 04/08/2011, 20:24:06 UTC

The problems may be entirely due to my paranoia which assumes the host cannot be trusted so communications must be done in such a way that the host gains limited information even when compromised.


That's my goal too!   Wink

Quote
The front end definitely should be open sourced and flexible, I was thinking more of a reference API built on top of library of core functions. This would allow custom front end by implementing custom top level functions to replace the reference API without the need to change the core functions. The core functions could be hosted on public servers, which reduces the amount of "suspicious" code to be verified to only the custom frontend.

Right, a sort of 3 tier approach: data backend, Javascript core functions, presentation front end.

The presentation tier should allow anyone else to play with the UI without changing the core security.


Quote
We might be getting seriously off topic for this sub-board though Cheesy

Should this go to a development thread?  I started the post here as a very general topic that I think is of interest to the community- how does the community move forward with web services they can trust?

But if we can get some like minded developers who also are thinking of this open source in browser concept, lets take it somewhere and start the serious nerd talk Tongue
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 04/08/2011, 19:40:34 UTC

Yes, anonymity is still achievable, and more backup options are always better.

The strongest point I'd like to make is: retain the password and all unencrypted data within the browser.  If you're willing to work on a system to do this, I'm willing to contribute to the open source ajax part of the solution.

I'm researching and working on something along those lines but there are still issues with trying to do encryption within the browser. Not to mention the backend problem.

I would suggest that maybe we can work together on a common browser front end, that would work with different backend. This way, we always have the option to switch between different backend solutions if one proves to be better or worse.


What are the issues you're finding?  I know there are open source javascript encryption libraries, but I haven't researched how well they perform or are vetted.

Given that you can interact with the user, accept the password, etc entirely within the browser, and assuming that a suitable and trusted existing encryption library can be used, the rest is just standard ajax between js/server.  A lot of work of course, but no new ground.

I think you're right that we should work on the common browser front end and treat the JS code as inherently separate from the backend code (we'd define an API I suppose).  I would prefer the JS to be hosted separate from the server operator, but I would still accept a one host system, since its still a big step forward.  But as long the browser front end is treated separately, its the right road map.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 04/08/2011, 18:23:55 UTC
> One of the cornerstone of Bitcoin is anonymity. Tying the wallet to a Google account?
> Com'on man, might as well just put out a public list of which transaction belongs to which passport number

Intersango Bitcoin Exchange already do that!! It is not a big deal... Not for me at least...

Also, you can create a google account only for that purpose...   Wink

Honestly, I don´t care too much about anonymity, only my balance is a secret and it will remain a secret in that system...

BTW, you raised good points here... I´ll take all of it in consideration...

Best!!   Grin
Thiago


Yes, anonymity is still achievable, and more backup options are always better.

The strongest point I'd like to make is: retain the password and all unencrypted data within the browser.  If you're willing to work on a system to do this, I'm willing to contribute to the open source ajax part of the solution.
Post
Topic
Board Bitcoin Discussion
Re: How to find "Tom Williams" ...
by
Newton
on 04/08/2011, 17:14:45 UTC
Alright, I've had enough of al this nerd bullshit. Let's just go and find this guy and lynch him up by the balls. Angry

Anyone up for a nice week-long vacation in the tropical island of Nevis?

Umm... You know the shell company is in Nevis, and not the actual perpetrator, don't you?


Idle thought here, but has anyone sent a tweet or anything to Anonymous?  They stuck up for Wikileaks out of principal.  And ironically, preventing bitcoin from getting hacked and collapsing protects their potential source of anonymous donations.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 04/08/2011, 15:59:20 UTC
Playing the role of the malignant admin again Smiley

3. Sounds like the perfect way for a rogue admin to backup a wrong/empty wallet over-writing the user's backup. Or it might not even need to be malicious, a bug could cause the backup wallet to be wiped. Furthermore, sending it to yet another external system seems to be increasing the vectors by which the wallet could be stolen/attacked.

Two things:
    (a) lost data: I think an automatic backup/export button is safer, rather than less safe.  Sure horrible code might overwrite data, but at least you can have it backed up everywhere.  Also, just to be clear each bitcoin address only needs to be backed up once, even if used for many transactions.

    (b) backup getting hacked:  Bitcoin already exposes all of its encrypted data publicly, in the block chain.  As long as encryption is sufficient, you're just as safe backing up this server elsewhere.  Further, knowing this is incentive to provide strong safe encryption instead of a misguided reliance on the server never getting hacked.  Security through open approach instead of security through obscurity is always better.

6. Doesn't stop a rogue admin from capturing the user's passwords in the first place to use for decryption Cheesy

Yes, this is the risk.  However as long as the right Ajax code is used, the rogue admin never has access to the user's passwords.  Ideally, this Ajax code could be hosted by a 3rd party open source repository, unrelated to the data admin.

This is the way I would envision it:
User browses to "SuperAwesomeBitcoinWallet.com", which is registered and maintained by trusted community members.

- SSL Certificate on server A confirms identity and secures the transaction.
- JS code is loaded from server B, an open source repository
- User logs in, and the ajax loads their bank provider of choice server C
- Server C loads custom graphics, branding, super awesome user interface, etc, but the Ajax is still from server B

Server C runs the "business" of branding, customer experience, database storage, etc.  But server C never has access to the user password or unencrypted data.




Post
Topic
Board Bitcoin Discussion
Re: Matthew N. Wright Scammer or Not?
by
Newton
on 03/08/2011, 22:47:55 UTC
Seriously, this again?  The guys not a scammer, stop this crap already.

Honest question.  Is there more mature bitcoin discussion forum that I'm missing somewhere else?

e.g., mtgox and tradehill discussing the future of exchanges
e.g., bitcoin business try to streamline payment processes.
e.g., a guy tries to help the community with a bitcoin business association...

Or do we just need more power tripping mods to clean this kind of crap out?
Post
Topic
Board Speculation
Re: $/BTC Time Series Analysis
by
Newton
on 03/08/2011, 22:35:47 UTC

Well....

DJI down for a lot of reasons now in the news.

BTC down because (a) mybitcoin and bitomat.pl losses were extraordinary and should make anyone lower their current market value, and (b) potentially those stolen coins are flooding the market.

Both markets have really clear, real world drivers which are coincidentally driving the price down.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 03/08/2011, 22:02:43 UTC
I have a lots of ideas to help this...

As for example, I´m gonna build some kind of online Wallet storage based on Eucalyptus and Ubuntu (open source Cloud Computing).

1- Each user will have its own private Bitcoin / wallet.dat "instance";

2- The wallet.dat will be stored withing the "Walrus" (Eucalyptus persistent storage);

3- The Ajax interface can have a "backup wallet button", wich stores your wallet within GmailFS, DropBox, or download it directly to your compúter. Also, after every transaction, the system can automatically backup your wallet in any place you want (pre-configured).

4- The users will be able to download the wallet.dat to its own computer and open it with Bitcoin software;

5- The users of this system, will not have access to the "Cloud Frontend", the bitcoin/wallet will be accessed through a Web Ajax Interface only;

6- The persistent storage of users wallet (Walrus) will be encrypted with the user password, so, the Eucalyptus administrator (ME and my team) will NOT have access to ANY wallet.dat, never.

 In fact, I´m doing this setup right now! But only for my tests and without a Web Ajax Interface...

 This will be easy to use for anybody.

Cheers!
Thiago

This is all excellent!

(3) Is a great idea.  Whatever happens to the site (crash, raid, hack, etc) some other system could potentially recover the users bitcoin access.

What about open sourcing the Ajax front end and hosting the code on gitub or another 3rd party?  Your service could still be the main provider- and collect transaction or storage fees.  But if you brand the solution, and you are first to market, then you should be the dominate player even if someone else uses the code (ie open source shouldn't really hurt your market share, and should increase the total market size).

But the key thing is that open source helps the end user trust you, which is what the bitcoin community really needs right now.
Post
Topic
Board Bitcoin Discussion
Re: ONLINE WALLETS, theft may be a good thing
by
Newton
on 03/08/2011, 19:22:54 UTC
I had another idea for an online wallet method to try to circumvent the massive theft issues- https://bitcointalk.org/index.php?topic=33854.0

Its not perfect, but I think with some community work we can keep the public faith in an online service that works.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 03/08/2011, 19:17:49 UTC
Yes, the human factor can't be eliminated but I think it is dramatically reduced if the transaction signing takes place on the client side, in browser code.  If the correct javascript is running, the owner doesn't have access to anything giving him the ability to take the funds.

What the owner does have access to do, is to serve up the wrong code and steal the funds that way.  But doing so immediately exposes the actor to the potential of getting caught (and before he has even been able to profit from it).

I've thought of that as well but this exposes two surface for attacks.
First is the owner can serve up code to steal, not funds, but the key/password necessary and send it back. If I were to do this, I wouldn't send the bad code every time. I'll just set my server to serve up an edited copy of the .js every X transactions. Just a matter of time before I get all the public key and minimize the possibility that anybody checking would hit on the sneaking in. And I definitely won't do that until volume is high enough to justify it, so early scrutiny won't help here.

The other surface is by shifting the signing to the client side, it opens up vulnerability on the user end. A single server(cluster) may be safer in the hands of a group of competent admins, but trying to ensure thousands of users are trojan/virus free? Kinda hard Cheesy


(1) I see what you're saying, the owner would be more inclined to take the key.  However it is still very different than having unfettered, and hidden access to the key.  The owner would need to make a public move, even if that move is only every X transactions.  He's taking a risk before reward.  And this might expose him for days before any significant payoff which is much different than simply walking off with the $1M in holdings on the server.

(2) I don't think the key is any less secure in the client browser.  Suppose you keep the key on the server- a trojan hijacking the user still has access to their password, through this, to their funds on the server.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 03/08/2011, 19:02:04 UTC
I'm not as concerned about two factor authentication (which could under some schemes require OS access outside the browser).  Ideally you're only keeping a small amount of funds per account, but the design of the service should reduce the attack surface from an owner or hacker trying to steal the funds from _all_ accounts.

Like I mentioned in another post, the human factor is something I haven't found a way around. The hacker can be deterred/slowed enough that damage is minimized, but there's really nothing to stop an owner from inserting code to steal passwords or redirect transactions and such.

The only safeguard is still: don't store more coins than necessary! Cheesy


Yes, the human factor can't be eliminated but I think it is dramatically reduced if the transaction signing takes place on the client side, in browser code.  If the correct javascript is running, the owner doesn't have access to anything giving him the ability to take the funds.

What the owner does have access to do, is to serve up the wrong code and steal the funds that way.  But doing so immediately exposes the actor to the potential of getting caught (and before he has even been able to profit from it).

You still want to research and trust the site owner, but its a shit ton better than the mybitcoin or bitomat fiascos.  You or a 3rd party could also keep backups of the encrypted accounts, in case the site was shut down by the hosting company/govt.

EDIT:  Or, best case- open source team (A) hosts the code/front end, and site operator (B) hosts the database
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 03/08/2011, 18:21:56 UTC

I'd also considered that Java would be a more robust platform to build from.  Its not quite as pure as javascript where everyone can see the code.  But at least if it is open source, a determined user could check the bytecode check sum at any time and this should be a strong deterrent to fraudsters.

The problem with Java is the split between Oracle and Google, on top of that, one of the most popular device people use doesn't do Java, or Flash Wink

And we do want something that works conveniently for everybody.

Verifying checksums doesn't help when there are likely to be regular updates to the Java client to patch bugs or improve usability/security.

Even a tech savvy person can't tell if it's a legit change or not compared to the number of web devs who can read Javascript easily. For this reason, the Javascript should not even be minified.


Agreed, javascript is the way to go.  Its easy to read, and its on most devices including the important ones for web access (the phone). Obviously its Turing Complete anyway, so it can be done.  It would actually be possible to host the javascript on a separate server than the database as well.  Downloading compressed js code is more trustworthy from an unrelated party that doesn't have access to the data.  And the js would often be cached as well, so some significant size is acceptable.  Again, this is all transparent to the non-technical users, and merely the fact that a motivated technical user could uncover fraud is a deterrent.

I'm not as concerned about two factor authentication (which could under some schemes require OS access outside the browser).  Ideally you're only keeping a small amount of funds per account, but the design of the service should reduce the attack surface from an owner or hacker trying to steal the funds from _all_ accounts.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 03/08/2011, 15:58:10 UTC
Any comments on this?  Or is there a dev thread this should go in?

We've had potentially $1M of bitcoin stolen or lost at mybitcoin, and a system like this could solve the problem.

If someone wants to start this project and open source it, I can put in some coding time, I just don't have the time to own it.

I've been thinking about something similar but unfortunately there are security gaps that current Javascript alone cannot cover. The solutions I can think of usually requires a two factor authentication or at least a Java applet, which then opens up the trust question about the Java applet itself. Or maybe I'm just not l33t enough to see the solution Cheesy



I'd also considered that Java would be a more robust platform to build from.  Its not quite as pure as javascript where everyone can see the code.  But at least if it is open source, a determined user could check the bytecode check sum at any time and this should be a strong deterrent to fraudsters.
Post
Topic
Board Bitcoin Discussion
Re: Build a better bitcoin web service?
by
Newton
on 03/08/2011, 15:45:11 UTC
Any comments on this?  Or is there a dev thread this should go in?

We've had potentially $1M of bitcoin stolen or lost at mybitcoin, and a system like this could solve the problem.

If someone wants to start this project and open source it, I can put in some coding time, I just don't have the time to own it.
Post
Topic
Board Bitcoin Discussion
Topic OP
Build a better bitcoin web service?
by
Newton
on 02/08/2011, 23:29:46 UTC
I find it ironic that Bitcoin (by itself) elegantly solves so many problems people are currently having with their new online money:

- How to safely, irreversibly, and quickly move funds around (as opposed to Dwolla clawbacks, multi day bank delays all around)
- How to avoid the need to trust a 3rd party (mybitcoin, bitomat, etc)
- How to stay safe even if a 3rd party is hacked (Mt Gox exposing everyone's passwords)

However, I think it is safe to say that 3rd party web services are going to be required if this economy is going to grow.  My mother, for example, would need a simple, easy to use online payment system.

My proposal:

An open source ajax web service which performs key actions in browser, and stores data only in encrypted chunks from browser calls.

From the client view:

 (a)  Client logs into site with username/password
 (b)  Client is presented with personal addressbook, transaction history, account balance, etc.
 (c)  Client can send to funds directly, and peer to peer (transactions within the same web db) can be instantly satisfied (so merchants can adopt)

From the server view:

(i)   Login is sent to server, encrypted (stage 1).  Server receives encrypted password, matches against database.  If successful, data blocks can be retrieved to send to client- but these blocks were stored encrypted.  The server never has the key to decrypt and is blind to what the data contains.
(ii)   Javascript on client browser uses the password to decode the data blocks (stage 2) in order to present seamlessly to the user.
(iii)   New data to be stored in the account is encrypted by javascript, and sent to the server via ajax requests.


Private/Public keys:

The private key is only available encrypted on the server, and only the javascript client side ever "sees" the decrypted key.  This key is used by the browser to sign any new transaction requests, which are then submitted to the network by the server side (to work around browser security).

The server does maintain a decrypted copy of the public key.  This is used to also maintain a total bitcoin count for that address (since this is public knowledge anyway, no privacy lost).  If one or more requests exceed the total in the blockchain, that request can be instantly denied until verified by the network.

Although it is still possible for an evil site operator to steal your coins, it is much less likely.  The combination of in browser operation and open source peer review can provide a lot more confidence to the user, and this should be enough trust for day to day spending balances.

Between the existing js bitcoin and server side bitcoind projects, I think this is feasible.  Not sure if I would have that many hours though, so hopefully somebody else wants to run with this...

Thoughts?

Post
Topic
Board Bitcoin Discussion
Re: Buying Bitcoins - Why is Dwolla/Paxum middleman required?
by
Newton
on 29/07/2011, 21:29:40 UTC
This makes a pretty good argument for having a large number of Bitcoin processors ready to accept physical cash in exchange for Bitcoins.  I could see a large-sized city supporting a Bitcoin processor.  Heck, it doesn't have to be a full-time job; just have specific posted hours when you're exchanging Bitcoins for cash.  It'd still be a lot faster to drive somewhere and exchange cash than wait for something like Dwolla to work out.

No doubt cash is the perfect bitcoin complement.

But a couple of the short term compelling markets for bitcoin don't fit so well

-  online payment
    Still easier to sign up for paypal than to withdraw cash from your bank, then go out and buy bitcoins with cash

- International money wire.
    Bitcoin is brilliant for this, but nobody wants to buy a large quantity of it with cash.
   
Post
Topic
Board Bitcoin Discussion
Re: Buying Bitcoins - Why is Dwolla/Paxum middleman required?
by
Newton
on 29/07/2011, 20:01:35 UTC
The only advantage I see is that Dwolla and Paxum can accept ACH.  Why can't an exchange set this up directly?
Fraud. ACH transactions can be reversed weeks later with a claim that the owner of the account didn't authorize the transaction. The middle man confirms that the transaction is authorized by the account holder, handles the ACH disputes, and eats the cost if it turns out the transfer was fraudulent.

That does make sense.  However, if Paxum is able to handle the added verification costs + insurance in their given fee structure, then surely an exchange could as well.  It may be that for the time being nascent bitcoin business don't have the expertise and connections of a Paxum to handle all of this, so they need to 3rd party that.

But what bitcoin needs is a one stop bitcoin buy, because if average users are ever going to adopt it, the process has to be just as easy as setting up a paypal account.  I get that bitcoin has a ton of advantages to paypal, but the average user is going to prioritize convenience.

Bitcoin was a significant part of Dwolla's business, and apart from the fraud Dwolla was turning a nice profit.  So this should be good incentive for someone else to roll the whole thing into one?
Post
Topic
Board Bitcoin Discussion
Re: Buying Bitcoins - Why is Dwolla/Paxum middleman required?
by
Newton
on 29/07/2011, 19:49:53 UTC
I believe that the exchanges already accept bank wires.  So wiring funds to a payment processor would be just silly.

The only advantage I see is that Dwolla and Paxum can accept ACH.  Why can't an exchange set this up directly?

American banks tend to make it difficult to directly send ACH from online banking.  Simply Dwolla is easier to use. ACH is both a push and pull system, so Dwolla pulls from accounts at other banks and then provides a simpler interface than the banks do for sending those funds out again.

So why couldn't an exchange or Bitcoin vendor do the same as Dwolla?  Just make a convenient interface to withdraw directly.  It can't be just about the interface.
Post
Topic
Board Bitcoin Discussion
Re: Wikipedia Accepting Donations
by
Newton
on 29/07/2011, 18:34:23 UTC
This is a good idea.

As the 7th most popular website in the world, any presence here is enormously valuable.  They also splashthe donation request on every page, and do not allow any other advertising.

Having a bitcoin donation option is a win-win, and would be enormously significant for bitcoin.