Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
May 05, 2011, 08:21:09 PM Last edit: July 02, 2011, 02:44:28 PM by Stefan Thomas |
|
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 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.) Follow our progress here: http://twitter.com/bitcoinjshttp://www.bitcoinjs.org/http://github.com/bitcoinjsTip 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 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 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
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
ByteCoin
|
|
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
|
|
|
|
jimbobway
Legendary
Offline
Activity: 1304
Merit: 1014
|
|
May 05, 2011, 09:41:12 PM |
|
Amazing...great work guys.
|
|
|
|
Vasili Sviridov
|
|
May 05, 2011, 09:41:59 PM |
|
Donated Looks way cool and slick too.
|
1JHYtsmsGq2McwGHmWayVjVtHds8rp1R5
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
|
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.
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
May 05, 2011, 10:29:03 PM |
|
congrats guys. nice work.
|
|
|
|
dust
|
|
May 05, 2011, 10:52:40 PM |
|
This looks very promising... excellent work.
|
|
|
|
Matt Corallo
|
|
May 05, 2011, 10:52:45 PM |
|
Brilliant, nice work.
|
|
|
|
lulzplzkthx
|
|
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.
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
May 05, 2011, 11:40:35 PM Last edit: May 06, 2011, 12:21:50 AM by justmoon |
|
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: onlinenode-bitcoin-explorer: online, cool little demo app, start here if you want to get your feet wet bitcoinjs-lib: online, but no docs and pretty rough around the edges bitcoinjs-gui: online, no docs, hardcoded settings, ... node-bitcoin-exit: online, no docs node-bitcoin-wallet: in development
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
suntsu
Newbie
Offline
Activity: 13
Merit: 0
|
|
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.
|
|
|
|
caveden
Legendary
Offline
Activity: 1106
Merit: 1004
|
|
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?
|
|
|
|
Dusty
|
|
May 06, 2011, 03:39:21 PM |
|
Very impressive stuff, very clever implementation, hat off!
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Hal
VIP
Sr. Member
Offline
Activity: 314
Merit: 3853
|
|
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?
|
Hal Finney
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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/1FhXuUHaww1qkn2Mb6BURZgR3T9xoyjQtzThe 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/0c1a398a2534c79639fcf9416b26aad3e5f5aa51a5907d79f2f5ff4fe927a5e9Sent: 5/4/2011 01:59 Confirmed: 5/5/2011 10:24
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
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?
|
|
|
|
Steve
|
|
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.
|
|
|
|
LZ
Legendary
Offline
Activity: 1722
Merit: 1072
P2P Cryptocurrency
|
|
May 07, 2011, 01:54:11 PM |
|
I can not find words!
|
My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
|
|
|
disq
Newbie
Offline
Activity: 41
Merit: 0
|
|
May 08, 2011, 06:31:05 AM |
|
looking good, also it's good to see some nodejs action in a project about bitcoin
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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.htmlPlease have a look and we'd be happy to get some comments and criticism.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
M4v3R
|
|
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.
|
|
|
|
Steve
|
|
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.
|
|
|
|
Vasili Sviridov
|
|
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.
|
1JHYtsmsGq2McwGHmWayVjVtHds8rp1R5
|
|
|
Steve
|
|
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.
|
|
|
|
Vasili Sviridov
|
|
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.
|
1JHYtsmsGq2McwGHmWayVjVtHds8rp1R5
|
|
|
Steve
|
|
May 10, 2011, 02:49:09 AM Last edit: May 10, 2011, 03:02:07 AM by Steve |
|
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.
|
|
|
|
M4v3R
|
|
May 10, 2011, 05:19:18 AM |
|
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.
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
May 10, 2011, 02:39:55 PM Last edit: May 11, 2011, 01:16:56 AM by justmoon |
|
$ 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): 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 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.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
May 10, 2011, 04:01:19 PM |
|
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
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Steve
|
|
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?
|
|
|
|
|
Steve
|
|
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.
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
May 23, 2011, 02:12:41 AM Last edit: May 23, 2011, 02:35:21 AM by Stefan Thomas |
|
@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/6Also, 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
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Steve
|
|
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?
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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/15Or 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
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Steve
|
|
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.
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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/8Btw, 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 is awesome tool for searching source code. I use Wireshark 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.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Cusipzzz
|
|
May 24, 2011, 03:45:27 PM |
|
Well done Justmoon - very slick ! Now you can go back to betting SC2 GSL...kidding Look forward to playing with this soon!
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
May 24, 2011, 05:15:20 PM |
|
Well done Justmoon - very slick ! Now you can go back to betting SC2 GSL...kidding Hey if you have too much money, just send it over - you know I have a 100% win rate so far, right? --- 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/1102Please wait until fixed or use joyent/node commit 9a3dd754be6531b01c0e when installing Node.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
Steve
|
|
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).
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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.)
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
BitQuestr (BitCoinWorldMarket)
Member
Offline
Activity: 75
Merit: 10
|
|
June 28, 2011, 01:06:10 PM |
|
Just watched your interview on the Bitcoin Show at http://www.youtube.com/watch?v=3yoduTFjZW4&#t=1143sVery 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!
|
|
|
|
da2ce7
Legendary
Offline
Activity: 1222
Merit: 1016
Live and Let Live
|
|
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.0Would you please make a basic spec so we can plan to implement it in other bitcoin clients.
|
One off NP-Hard.
|
|
|
naturallaw
Newbie
Offline
Activity: 56
Merit: 0
|
|
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 would be great to verify the client-side code.
|
|
|
|
netrin
Sr. Member
Offline
Activity: 322
Merit: 251
FirstBits: 168Bc
|
|
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.
|
|
|
|
bitcoinspot.nl
|
|
August 22, 2011, 07:22:49 AM |
|
Hi Stefan,
Do you have any updates so far regarding the status of the project ?
Thanks!
|
- bitcoinspot.nl - Alles over bitcoin! -
|
|
|
eckmar
Legendary
Offline
Activity: 1878
Merit: 1038
Telegram: https://t.me/eckmar
|
|
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
|
|
|
|
check_status
Full Member
Offline
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
|
|
March 09, 2012, 11:55:28 PM |
|
The idea is great!
Cu, Ecki
Not really. 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_BrowserAn 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.htmlSince 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?
|
For Bitcoin to be a true global currency the value of BTC needs always to rise. If BTC became the global currency & money supply = 100 Trillion then ⊅1.00 BTC = $4,761,904.76. P2Pool Server List | How To's and Guides Mega List | 1 EndfedSryGUZK9sPrdvxHntYzv2EBexGA
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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. 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 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. 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.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
finway
|
|
March 13, 2012, 06:26:42 AM |
|
Are you waiting for BIP16 ?
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
finway
|
|
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.
|
|
|
|
bitcoinspot.nl
|
|
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?
|
- bitcoinspot.nl - Alles over bitcoin! -
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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 (long, outdated, mediocre audio quality) New York (outdated, abysmal audio quality) Prague Bitcoin conference (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.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
bitcoinspot.nl
|
|
March 15, 2012, 12:33:42 PM |
|
ok, thanks!
|
- bitcoinspot.nl - Alles over bitcoin! -
|
|
|
bitcoinspot.nl
|
|
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.
|
- bitcoinspot.nl - Alles over bitcoin! -
|
|
|
DTD
Newbie
Offline
Activity: 12
Merit: 0
|
|
December 10, 2012, 03:23:13 PM |
|
Bumpage. What is your status? Last twitter update was August.
|
|
|
|
davout
Legendary
Offline
Activity: 1372
Merit: 1007
1davout
|
|
December 10, 2012, 03:26:41 PM |
|
Bumpage. What is your status? Last twitter update was August.
Necroposting = not cool.
|
|
|
|
Stefan Thomas (OP)
Full Member
Offline
Activity: 234
Merit: 100
AKA: Justmoon
|
|
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. 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, 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. That opens some awesome possibilities and might be something I'd work on once some of the more basic features are up and running.
|
Twitter: @justmoonPGP: D16E 7B04 42B9 F02E 0660 C094 C947 3700 A4B0 8BF3
|
|
|
|