Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Stefan Thomas on May 05, 2011, 08:21:09 PM



Title: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 05, 2011, 08:21:09 PM
Hey everybody,

I just uploaded a little screencast as a preview of our upcoming code dump. :)

It's basically an implementation of a heavy-server, lightweight-client in JavaScript (Node.js on the server and jQuery in the client). Highlights:

- The server does NOT use the JSON-RPC API. The server uses node-bitcoin-p2p (https://github.com/bitcoinjs/node-bitcoin-p2p) to connect directly to the Bitcoin network. Right now we still connect to a single trusted node because node-bitcoin-p2p lacks a full script interpreter for proper tx verification, but we're hoping to add that at some point.

- The server does NOT see your private keys. Transaction signing is done on the client side. Of course in a webapp the server can just serve you code that has you send it your private keys. But firstly, it still provides some protection against hackers, because the client HTML/JS can be hosted on a very secure static HTTP server, whereas all the dynamic node.js stuff is on a different machine. Secondly, future clients will be open-source desktop or mobile clients where the same checks apply as with the official client. (People can look at the code and make sure it doesn't send the private keys anywhere.)

Right now Webcoin is still pretty buggy, but we're planning to release the rest of the code and an official beta deployment very soon.

You can watch the video here:
http://www.youtube.com/watch?v=KTmFwnIRG9c
(Sorry for audio sync issues and poor resolution - next screencast will be better in those respects. Also, you can download it in 1280x800 here (http://www.bitcoinjs.org/files/2011/screencasts/WebcoinSneakPreview.zip).)

Follow our progress here:
http://twitter.com/bitcoinjs
http://www.bitcoinjs.org/
http://github.com/bitcoinjs

Tip here:
13SjwsodtKsAhQwPx14s7aqKpnooeep4i5

Contact us here:
bitcoinjs (at-sign) justmoon.net

And I'm happy to answer any questions here in the thread. Documentation obviously will be forthcoming, but based on your comments here I'll be able to get a sense what you guys are most interested in and therefore what we should focus on.

I've also got major thanks to give out to these fine folks:

- [mike] for BitcoinJ - much of our code is just a port of this excellent library
- Andrew Schaaf of Bitcoin Labs (http://www.bitcoinlabs.com/) for reviewing the API and letting us use some of his code
- Gavin Andresen for reviewing the API documentation and providing feedback
- booo from github for JSLint'ing and cleaning up a lot of node-bitcoin-p2p
- jb55 from github for debugging and pull requests

Massive thanks to the guys at Trucoin (http://www.trucoin.com/) who have supported this project every step of the way. I'd encourage everybody to keep a close eye on them, they are working on some badass stuff! They've also agreed to provide the funding for a reference Webcoin installation.

I want to point out that this is a preview, there are still plenty of bugs cropping up. We'll post a link to a demo installation once we get it a little bit more stable.

Cheers,

Stefan  :)


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: ByteCoin on May 05, 2011, 08:48:12 PM
I watched the video, and browsed the source code, especially the mathsy stuff. Looks good!

Note how it's built off bitcoinj rather than the C++ code. I wonder whether the development and the addition of new features will occur faster on this codebase and the C++ codebase will stagnate somewhat by comparison.

ByteCoin


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: jimbobway on May 05, 2011, 09:41:12 PM
Amazing...great work guys.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Vasili Sviridov on May 05, 2011, 09:41:59 PM
Donated :) Looks way cool and slick too.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Mike Hearn on May 05, 2011, 09:43:34 PM
Looks great! I've wondered for a while how practical a JavaScript implementation of BitCoin would be. Good to know modern engines are fast enough to handle it.

I took a browse through the code, I think you give BitCoinJ too much credit - it's clearly a fresh implementation, which is good. My only caveat is that if you're using the algorithms there for block chain reorgs, make sure to keep up with the latest version from svn head. I don't have re-org handling totally right yet, though it's getting closer. Also, I'm sure you're aware of this, but BitCoinJ does not implement all the rules of the network and so isn't safe to use yet - eg, it will happily generate transactions that don't meet the fee requirements and thus never confirm.

The UI is very clean. Really looking forward to seeing this develop and discussing it with you on Saturday.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: cypherdoc on May 05, 2011, 10:29:03 PM
congrats guys.  nice work. :D


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: dust on May 05, 2011, 10:52:40 PM
This looks very promising... excellent work.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Matt Corallo on May 05, 2011, 10:52:45 PM
Brilliant, nice work.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: lulzplzkthx on May 05, 2011, 11:25:25 PM
Wow. That is beautiful. Very nice job, and I might try it out in a few minutes.

Very cool.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 05, 2011, 11:40:35 PM
My only caveat is that if you're using the algorithms there for block chain reorgs, make sure to keep up with the latest version from svn head. I don't have re-org handling totally right yet, though it's getting closer.

Thanks for the heads-up. Re-org isn't working yet - there was a split yesterday and node-bitcoin-p2p threw an exception. I doubt I'll be able to get it working reliably until we have a proper test harness that can simulate a split.


Note how it's built off bitcoinj rather than the C++ code. I wonder whether the development and the addition of new features will occur faster on this codebase and the C++ codebase will stagnate somewhat by comparison.

The C++ code is the backbone of Bitcoin and will remain so for years to come. I think clients in other languages will fill certain niches as well as providing a testbed for new features.


Very nice job, and I might try it out in a few minutes.

We're still re-packaging and uploading the code. Here's the status:

Edit: Updated the list below. Everything is uploaded now, but probably not enough documentation to get it running especially given how buggy it still is.

node-bitcoin-p2p: online (https://github.com/bitcoinjs/node-bitcoin-p2p)
node-bitcoin-explorer: online (https://github.com/bitcoinjs/node-bitcoin-explorer), cool little demo app, start here if you want to get your feet wet
bitcoinjs-lib: online (https://github.com/bitcoinjs/bitcoinjs-lib), but no docs and pretty rough around the edges
bitcoinjs-gui: online (https://github.com/bitcoinjs/bitcoinjs-gui), no docs, hardcoded settings, ...
node-bitcoin-exit: online (https://github.com/bitcoinjs/node-bitcoin-exit), no docs
node-bitcoin-wallet: in development


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: suntsu on May 06, 2011, 02:51:31 PM
+1. very impressive demo. the prospect to run bitcoin in the browser to multiple computers, run it on a mobile phone and have secure wallet storage in the cloud looks very promising.



Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: caveden on May 06, 2011, 03:16:11 PM
Great job!!

Regarding the issue of the server providing you bad scripts, how hard would it be to make this code a browser extension with a configurable connection point to access the bitcoin network?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Dusty on May 06, 2011, 03:39:21 PM
Very impressive stuff, very clever implementation, hat off!


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 06, 2011, 07:57:59 PM
Regarding the issue of the server providing you bad scripts, how hard would it be to make this code a browser extension with a configurable connection point to access the bitcoin network?

Shouldn't be too hard. In the case of Firefox, you'd create a new extension, include bitcoinjs-gui as a subfolder and add a button that opens a tab with it using the correct chrome:// URL. You'd probably make some changes like add an options panel where people can choose a different exit node and use some other API than localStorage for storing the data.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Hal on May 06, 2011, 11:12:50 PM
Q on the video:

You received 1 btc, then before it was confirmed, made a payment of 0.1 btc. Was that payment real? When we cut to the future, the 1 btc tx had 2 confirmations, but the 0.1 had none. Both txns could have been confirmed in the same block. Do you know why that didn't happen?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 07, 2011, 12:44:51 AM
Q on the video:

You received 1 btc, then before it was confirmed, made a payment of 0.1 btc. Was that payment real? When we cut to the future, the 1 btc tx had 2 confirmations, but the 0.1 had none. Both txns could have been confirmed in the same block. Do you know why that didn't happen?

Yep, the transactions are real:

http://blockexplorer.com/address/1FhXuUHaww1qkn2Mb6BURZgR3T9xoyjQtz

The 0.1 BTC transaction got confirmed seven hours later. I haven't done any small fee-less transaction lately, but around the time when we recorded the video I had quite a few cases where that type of tx took a long time to confirm.

For example this is a 0.01 BTC fee-less transaction, sent with the official client (0.3.21) that took 32.5 hours to confirm:

http://blockexplorer.com/tx/0c1a398a2534c79639fcf9416b26aad3e5f5aa51a5907d79f2f5ff4fe927a5e9
Sent: 5/4/2011 01:59
Confirmed: 5/5/2011 10:24


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: cypherdoc on May 07, 2011, 05:49:44 AM
justmoon, can you clarify; where are the private keys stored esp. in the situation in the future when we have smartphone, laptop, and desktop clients?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 07, 2011, 01:17:30 PM
This is really fantastic and I'm glad you chose to use JavaScript on the server.  It's great when you have only one language to deal with on both the client and the server.  Nice work!

Also, I like the architecture of keeping all private keys on the client and performing all transaction signing there.  I think this is the right way to do hosted wallets.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: LZ on May 07, 2011, 01:54:11 PM
I can not find words! :D


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: disq on May 08, 2011, 06:31:05 AM
looking good, also it's good to see some nodejs action in a project about bitcoin :)


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 09, 2011, 08:41:08 AM
justmoon, can you clarify; where are the private keys stored esp. in the situation in the future when we have smartphone, laptop, and desktop clients?

I just uploaded the first version of the Wallet API specs:

http://bitcoinjs.org/specs/wallet/1.0/draft/wallet-api.html

Please have a look and we'd be happy to get some comments and criticism.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: M4v3R on May 09, 2011, 03:25:51 PM
This is spectacular. That's all I can say for now, I'm speechless.

Another great work from justmoon.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 09, 2011, 04:13:12 PM
Could you provide a list of the pre-req modules and where to obtain them?  I tried running p2p and it's looking for the "buffertools" module.  I looked at the node.js modules website and did a bit of googling...got quite a few hits but not sure which is the right one.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Vasili Sviridov on May 09, 2011, 04:42:58 PM
Could you provide a list of the pre-req modules and where to obtain them?  I tried running p2p and it's looking for the "buffertools" module.  I looked at the node.js modules website and did a bit of googling...got quite a few hits but not sure which is the right one.

Install npmjs, all the modules are installed with this tool.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 09, 2011, 09:15:05 PM
Could you provide a list of the pre-req modules and where to obtain them?  I tried running p2p and it's looking for the "buffertools" module.  I looked at the node.js modules website and did a bit of googling...got quite a few hits but not sure which is the right one.

Install npmjs, all the modules are installed with this tool.

Thanks, that worked great...but now I'm stuck on "var ccmodule = require('../build-cc/default/native');"  From the looks of it, it is some kind of repackaging of the bitcoin base58 code for nodejs.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Vasili Sviridov on May 09, 2011, 11:20:33 PM
Looks that is a compiled module. Did you follow the instructions from github page? Also, do you have 'build-essential' metapackage installed? (I assume you're on ubuntu).
If you install bitcoin-p2p via npm it should do build for you. If you did `git clone` then there was that extra step, that probably bootstraps the native module.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 10, 2011, 02:49:09 AM
I'm actually using OSX at the moment.  I think this is something specific to bitcoin.  The following code appears later in util.js:

   var encodeBase58 = exports.encodeBase58 = ccmodule.base58_encode;

This is why I say that it looks like it might be the base58 code from the C++ client wrapped up to be used from bitcoinjs.  But, when I grab node-bitcoin-p2p, there is no subdirectory called build-cc (as referenced in the require() call in util.js).

EDIT:  Ok, I figured it out...the missing thing I needed to do (from the node-bitcoin-p2p directory):

   $ node-waf configure && node-waf build

The following website on writing native modules gave me the clues I needed to figure it out:
https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/

I don't think this step is in the README.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: M4v3R on May 10, 2011, 05:19:18 AM
Quote from: From Wallet API documentation
Display balance
If some public keys are encrypted (their data starts with “enc!”) the client should mark the balance in parentheses to denote that it may not be the full balance available and update it once the wallet is unlocked.

I think parentheses are bad idea, because in some contexts this is the way to indicate negative account balance. I'd propose square brackets [] or curly brackets {}. Or maybe an question mark at the end.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 10, 2011, 02:39:55 PM
  $ node-waf configure && node-waf build

I don't think this step is in the README.

I've just looked into it. Normally, npm link should take care of compiling the native parts. But with npm 1.0 it doesn't, because sudo npm link prints this error (but continues anyway):

Code:
npm WARN skipping, cannot run in /atlas/www/p2p-test bitcoin-p2p@0.0.3 node-waf configure build

Looking at the npm source code - the reason for the problem seems to be that the folder name when you clone it from git (node-bitcoin-p2p) does not have the same name as our npm package (bitcoin-p2p). NPM checks for that and if it doesn't match it considers it "unsafe" to run the build script. Or something like that.

Edit: Nothing to do with the name, probably I'm just doing something wrong. I've opened an issue (https://github.com/isaacs/npm/issues/896) at npm to get some help.

I'm working on an updated README and will try to figure out a way to get npm link to work properly.

Edit2: Couldn't find a good solution using npm, so I've added an installation step to just call node-waf manually. That fixes it.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 10, 2011, 04:01:19 PM
Quote from: From Wallet API documentation
Display balance
If some public keys are encrypted (their data starts with “enc!”) the client should mark the balance in parentheses to denote that it may not be the full balance available and update it once the wallet is unlocked.

I think parentheses are bad idea, because in some contexts this is the way to indicate negative account balance. I'd propose square brackets [] or curly brackets {}. Or maybe an question mark at the end.

Good point. I've updated the spec:

https://github.com/bitcoinjs/bitcoinjs.github.com/commit/bdf85186f8e43b4875103d7f09cef0a068f8e298


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 22, 2011, 05:03:52 PM
@justmoon, why did you need to use a forked mongoose with bitcoinjs and why make it a submodule (i.e. why not treat it like as an ordinary module found via NODE_PATH)?

Also, how about setting up a separate forum (maybe a child forum to this one) and IRC channel for bitcoinjs development?  Maybe #bitcoinjs or #bitcoin-devjs?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: udibr on May 22, 2011, 06:50:22 PM
I've managed to run bitcoinjs-gui after lots of trial and error.
Look at http://benreuven.com/udiwiki/index.php?title=Bitcoinjs for details


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 23, 2011, 12:55:56 AM
When running node-bitcoin-exit, I'm getting a lot of this kinds of errors:
22 May 20:47:38 - error: Error while creating block locator: �3�����M�.�ڣ]   ����2x

I've not yet managed to successfully debug what's happening, but wonder if it's affecting others.  I've got things setup to run on the testnet, so I wonder if that might have something to do with it.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 23, 2011, 02:12:41 AM
@justmoon, why did you need to use a forked mongoose with bitcoinjs and why make it a submodule (i.e. why not treat it like as an ordinary module found via NODE_PATH)?

Right now, we're using a hack for adding binary support to mongoose. I've created the necessary classes for a datatype "Buffer" that base64 encodes and decodes everything.

In the future we should implement proper support for Buffers to node-mongodb-native and mongoose, i.e. without conversion to base64 since MongoDB itself actually has excellent support for binary types.

See: https://github.com/bitcoinjs/node-bitcoin-p2p/issues/6

Also, how about setting up a separate forum (maybe a child forum to this one) and IRC channel for bitcoinjs development?  Maybe #bitcoinjs or #bitcoin-devjs?

Right now I'm focused on my own development. I want to launch Webcoin, mainly to prove to myself and the world that BitcoinJS is actually a viable alternative, after that I'll be focusing more on building a community. If you want to start and moderate an IRC channel, feel free to start one and let me know. I'll gladly join whenever I'm on, but please don't expect too much, it's all a lot to handle for me atm.


When running node-bitcoin-exit, I'm getting a lot of this kinds of errors:
22 May 20:47:38 - error: Error while creating block locator: �3�����M�.�ڣ]   ����2x

I've not yet managed to successfully debug what's happening, but wonder if it's affecting others.  I've got things setup to run on the testnet, so I wonder if that might have something to do with it.

Testnet is not supported yet, please use mainnet. (It shouldn't be difficulty to fix, I've just never needed testnet. It's hash rate is too unstable, ironically making it unsuitable for testing imho.)

See: https://github.com/bitcoinjs/node-bitcoin-p2p/issues/8


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 23, 2011, 05:38:39 AM
I get this quite frequently (during block download in particular):

   Error: Socket is not writable

The p2p client dies (well, in this case I'm running the exit node, but it's dying in writing a message to a connection in the p2p code).  Do others get this?  I haven't investigated it much, but I'm guessing it's normal network interruptions and that a bit of exception handling to catch and recover (or just discard that connection) is needed and would fix the issue.

Also, after downloading a 50 or 60 thousand blocks, the block download seems to stall out.  Is that due to some throttling by peers or something?  Or is this a bug?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 23, 2011, 11:14:24 AM
I get this quite frequently (during block download in particular):

   Error: Socket is not writable

The p2p client dies (well, in this case I'm running the exit node, but it's dying in writing a message to a connection in the p2p code).  Do others get this?  I haven't investigated it much, but I'm guessing it's normal network interruptions and that a bit of exception handling to catch and recover (or just discard that connection) is needed and would fix the issue.

Hehe, you seem to be on a mission to re-report all the bugs from our issue tracker:

https://github.com/bitcoinjs/node-bitcoin-p2p/issues/15

Or perhaps you're just posting here to make me aware - I've now tried to comment on all bugs. At the moment I don't have muchany time to develop, as soon as I do though this stuff will all get fixed swiftly. Unless somebody beats me to it. :)


Also, after downloading a 50 or 60 thousand blocks, the block download seems to stall out.  Is that due to some throttling by peers or something?  Or is this a bug?

Please refer to the bug tracker:

https://github.com/bitcoinjs/node-bitcoin-p2p/issues/13


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 23, 2011, 04:17:33 PM
Or perhaps you're just posting here to make me aware

No, I'm just not in a good habit of checking there.  ;)

I also see one open on the download getting stuck (https://github.com/bitcoinjs/node-bitcoin-p2p/issues/13).  I'm new to node.js, so I haven't been too certain which issues might be due to my noobness, and which are legitimate bugs.

I can probably get to the bottom of most of these bugs myself, however the one impacting the use of the test net (where it reports a gibberish error coming back from the creation of the block locator) is probably going to be more difficult (I'm guessing it's an issue in your fork of mongoose...and perhaps in the native code).  Let me know if you have any ideas or tips where to look for a fix for that one.  I'd really like to be able to use testnet (I know you don't think too highly of it, but losing even a few real bitcoins isn't appealing).

Btw, I've found the cloud9 IDE and node-inspector (for debugging) to be nice tools.  I wonder if anyone else has any good tools the know of that I should be using.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 24, 2011, 01:10:14 PM
I can probably get to the bottom of most of these bugs myself, however the one impacting the use of the test net (where it reports a gibberish error coming back from the creation of the block locator) is probably going to be more difficult (I'm guessing it's an issue in your fork of mongoose...and perhaps in the native code).  Let me know if you have any ideas or tips where to look for a fix for that one.  I'd really like to be able to use testnet (I know you don't think too highly of it, but losing even a few real bitcoins isn't appealing).

When you're trying testnet, are you doing so with booo's patch or with vanilla node-bitcoin-p2p? The current master does not contain the necessary changes to the genesis block at all. Booo's patch does contain them but that's still where I'd be looking for problems. booo's error log looks like the blocks he's downloading don't connect with the chain.

https://github.com/bitcoinjs/node-bitcoin-p2p/issues/8

Btw, I've found the cloud9 IDE and node-inspector (for debugging) to be nice tools.  I wonder if anyone else has any good tools the know of that I should be using.

Some random recommendations: ack (http://betterthangrep.com/) is awesome tool for searching source code. I use  Wireshark (http://www.wireshark.org/) for debugging the Bitcoin P2P connection as well as the database backend. The latest version even has a filter for MongoDB's protocol, making it a lot easier to debug MongoDB-related problems.

And of course BitcoinJ is great when you need another client to run against that is easy to change and customize.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Cusipzzz on May 24, 2011, 03:45:27 PM
Well done Justmoon - very slick ! Now you can go back to betting SC2 GSL...kidding  ;D

Look forward to playing with this soon!


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 24, 2011, 05:15:20 PM
Well done Justmoon - very slick ! Now you can go back to betting SC2 GSL...kidding  ;D

Hey if you have too much money, just send it over - you know I have a 100% win rate so far, right? :D

---

Heads up to everyone wanting to try out node-bitcoin-p2p at the moment. The current HEAD of Node.js breaks module compilation: https://github.com/joyent/node/issues/1102

Please wait until fixed or use joyent/node commit 9a3dd754be6531b01c0e when installing Node.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Steve on May 25, 2011, 02:41:49 PM
When you're trying testnet, are you doing so with booo's patch or with vanilla node-bitcoin-p2p? The current master does not contain the necessary changes to the genesis block at all. Booo's patch does contain them but that's still where I'd be looking for problems. booo's error log looks like the blocks he's downloading don't connect with the chain.
 anyone else has any good tools the know of that I should be using.

Yes, I had actually implemented them myself before I saw booo's patch (I really should be paying closer attention to the issues on github).  However, I did notice this statement about testnet from the wiki:

    "A different value of ADDRESSVERSION field ensures no testnet BitCoin addresses will work on the production network. (0x6F rather than 0x00)"

I didn't find anywhere in booo's changes where this was accounted for (maybe I missed it).


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on May 26, 2011, 09:46:23 AM
When you're trying testnet, are you doing so with booo's patch or with vanilla node-bitcoin-p2p? The current master does not contain the necessary changes to the genesis block at all. Booo's patch does contain them but that's still where I'd be looking for problems. booo's error log looks like the blocks he's downloading don't connect with the chain.
 anyone else has any good tools the know of that I should be using.

Yes, I had actually implemented them myself before I saw booo's patch (I really should be paying closer attention to the issues on github).  However, I did notice this statement about testnet from the wiki:

    "A different value of ADDRESSVERSION field ensures no testnet BitCoin addresses will work on the production network. (0x6F rather than 0x00)"

I didn't find anywhere in booo's changes where this was accounted for (maybe I missed it).

It's not accounted for. But it shouldn't affect the block chain download. (Addresses aren't used in the p2p protocol.)


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: BitQuestr (BitCoinWorldMarket) on June 28, 2011, 01:06:10 PM
Just watched your interview on the Bitcoin Show at http://www.youtube.com/watch?v=3yoduTFjZW4&#t=1143s

Very impressive. I love how the client is more secure but also very simple to use. This really is the gateway to bringing bitcoin to the average person.

Until the user doesn't need to know about the files behind a client it just isn't going to be accessible to the masses.

Congrats on a great program and I can't wait to see the final version!


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: da2ce7 on June 28, 2011, 03:47:46 PM
@Stefan Thomas

The Bitcoin Deterministic Wallet that described in the video is far better than the one that I described on the forum: https://forum.bitcoin.org/index.php?topic=11665.0

Would you please make a basic spec so we can plan to implement it in other bitcoin clients. :)


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: naturallaw on July 09, 2011, 06:15:40 PM
Wow, this is super awesome. I was just drawing up plans to do the same thing with node.js. Very cool. As I understand it this is a type of "host-proof" client/server bitcoin client. Using something like Apphash (https://github.com/cortesi/apphash) would be great to verify the client-side code.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: netrin on July 12, 2011, 01:52:16 AM
+2

Excellent work guys. I expect to be playing around with the code all weekend. Very exciting project!

The C++ code is the backbone of Bitcoin and will remain so for years to come. I think clients in other languages will fill certain niches as well as providing a testbed for new features.

I'm eager to hack away on the node.js code, but hope the C++ client also makes a similar server/client split.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: bitcoinspot.nl on August 22, 2011, 07:22:49 AM
Hi Stefan,

Do you have any updates so far regarding the status of the project ?

Thanks!


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: eckmar on March 08, 2012, 12:40:43 AM
Hi Stefan,

Do you have any updates so far regarding the status of the project ?

Thanks!

Is this project dead? :(
No posts for more than 120 days?

The idea is great!

Cu,
 Ecki


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: check_status on March 09, 2012, 11:55:28 PM

The idea is great!

Cu,
 Ecki
Not really.

Quote
Man-in-the-browser (MITB, MitB), a form of Internet threat related to man-in-the-middle (MITM), is a proxy Trojan horse[1] that infects a web browser and has the ability to modify web pages, modify transaction content or insert additional transactions, all in a completely covert fashion invisible to both the user and host web application. A MitB attack will be successful irrespective of whether security mechanisms such as SSL/PKI and/or Two or Three Factor Authentication solutions are in place.

A MitB Trojan works by utilising common facilities provided to enhance browser capabilities such as Browser Helper Objects (a feature limited to Internet Explorer), Browser extensions and User scripts (for example in JavaScript) etc.
http://en.wikipedia.org/wiki/Man_in_the_Browser

Quote
An MitB attack starts with malicious software (usually a Trojan like Zeus or SpyEye) lurking on a seemingly innocuous website. When visitors arrive the malware takes control of their Web browser and modifies pages, content or transaction data presented to the user.

All of this is done without the user's knowledge in a completely covert fashion. Depending on what the browser is being used for, MitB enables attackers to silently steal anything from login credentials to account numbers or financial information. With browser sessions often containing the logon details for email systems, VPNs and cloud services -- such as cloud CRM -- it's critical to lock down these sessions without impacting performance. Making the situation worse is the explosion of mobile devices and the multitude of people who can access enterprise resources remotely.
http://www.networkworld.com/news/tech/2011/033111-mitb-attacks-enterprise.html

Since these threats are invisible to the user, they will be very dangerous for those using your Webcoin platform.
What security do you implement that will limit damage by javascript, ajax or browser based malware when using Webcoin?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on March 11, 2012, 11:48:03 AM
Since these threats are invisible to the user, they will be very dangerous for those using your Webcoin platform.
What security do you implement that will limit damage by javascript, ajax or browser based malware when using Webcoin?

To counter MitB you need out-of-band transaction verification (as opposed to mere transaction authentication.) This can be through SMS verification or through a hardware device like IBM ZTIC (http://www.youtube.com/watch?v=RGjfWza0Pj8).

SMS verification is what banks use and it's a pretty low hanging fruit. With smartphones you can have a free verification app that doesn't incur the costs of sending an SMS.

The problem is that today there are already smartphone viruses (http://en.wikipedia.org/wiki/Man-in-the-browser#Man-in-the-mobile) emerging (MitMo). When these infect your computer, they will ask you to connect your phone and infect it as well.

My current suggestion for best practice would be to offer 1. SMS verification, 2. smartphone/2nd computer verification and for large accounts dedicated hardware. (Important: This hardware must show transaction details on its own screen, so a Yubikey for instance is no good.) The most promising attempt I've seen is Clemens Cap's device - also presented in Prague, I really hope they get it right.

All of the above applies first of all to hosted wallets. With Webcoin we're trying to create something where the provider doesn't have access to your money, so you need to use some additional tricks to be able to offer the features outlined above. I talked about how to do this at my talk in Prague (http://www.youtube.com/watch?v=0lpeZ01H_Bk).

As for the status of my own efforts... I've tried several times to help make it happen, by working with Trucoin, then with Safebit. The three biggest roadblocks that keep coming up are (1) server-side security, (2) the sheer complexity of a system like this and (3) regulatory issues.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: finway on March 13, 2012, 06:26:42 AM
Are you waiting for BIP16 ?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on March 14, 2012, 05:15:18 AM
Are you waiting for BIP16 ?

Yes and no. My idea does need some form of multisig, ideally BIP16, but there are plenty of other issues that I can work on in the meantime and BIP16 will likely be ready before I am.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: finway on March 14, 2012, 06:46:15 AM
Are you waiting for BIP16 ?

Yes and no. My idea does need some form of multisig, ideally BIP16, but there are plenty of other issues that I can work on in the meantime and BIP16 will likely be ready before I am.

An easy-to-use, web-based, safe Bitcoin Client is exactly what bitcoin needs.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: bitcoinspot.nl on March 15, 2012, 08:00:47 AM
Hi Stefan, didnt you do a presentation once on the challenges and obstacles of webcoin/web based bitcoin clients?
Could you post it here?


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on March 15, 2012, 10:00:19 AM
Hi Stefan, didnt you do a presentation once on the challenges and obstacles of webcoin/web based bitcoin clients?
Could you post it here?

I did three presentations on it actually:

ISSS (http://www.youtube.com/watch?v=JkOdWY4ILGI) (long, outdated, mediocre audio quality)
New York (http://www.youtube.com/watch?v=AI8LUrnK_GQ) (outdated, abysmal audio quality)
Prague Bitcoin conference (http://www.youtube.com/watch?v=0lpeZ01H_Bk) (decent)

Note that the New York talk is mostly a shortened/tightened version of the ISSS talk. I can really only recommend the third one. I'm learning as I'm going. :D


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: bitcoinspot.nl on March 15, 2012, 12:33:42 PM
ok, thanks!


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: bitcoinspot.nl on March 15, 2012, 12:49:09 PM
Euh stefan, on a little offtopic note,

Regarding the bitcoin animation: I mentioned a while ago that it would be nice to have an updated version, one that does not focus that much on the mining part and also mentions mobile apps etc etc.

You then said that it wouldn't be happening soon, and that you had a lot of other stuff to attend to :)
Are there any plans for the short or longer future to have an updates version of the animation?

Greetz,
Roland.



Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: DTD on December 10, 2012, 03:23:13 PM
Bumpage. What is your status? Last twitter update was August.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: davout on December 10, 2012, 03:26:41 PM
Bumpage. What is your status? Last twitter update was August.
Necroposting = not cool.


Title: Re: [ANNOUNCE] Webcoin Alpha Sneak Preview
Post by: Stefan Thomas on December 10, 2012, 06:27:51 PM
Necroposting = not cool.

I'll allow it - I do owe people an update. ;)

Just after the London conference I finally found a job with a Bitcoin-related employer who actually pays my invoices. Ripple (http://www.ripple.com). I'm very excited about what we're building here and for the moment I'm focusing all my work and free time on it. Webcoin is and always was open source on Github (https://github.com/bitcoinjs/bitcoinjs-gui), so if anyone wants to make it a reality, go for it.

I've also heard rumors that at Ripple we're thinking about adding a Bitcoin client to our Ripple client as a plugin. :D That opens some awesome possibilities and might be something I'd work on once some of the more basic features are up and running.