Bitcoin Forum
May 04, 2024, 03:52:30 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: [ANNOUNCE] Webcoin Alpha Sneak Preview  (Read 17920 times)
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 05, 2011, 08:21:09 PM
Last edit: July 02, 2011, 02:44:28 PM by Stefan Thomas
 #1

Hey everybody,

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

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/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 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  Smiley

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
1714837950
Hero Member
*
Offline Offline

Posts: 1714837950

View Profile Personal Message (Offline)

Ignore
1714837950
Reply with quote  #2

1714837950
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714837950
Hero Member
*
Offline Offline

Posts: 1714837950

View Profile Personal Message (Offline)

Ignore
1714837950
Reply with quote  #2

1714837950
Report to moderator
1714837950
Hero Member
*
Offline Offline

Posts: 1714837950

View Profile Personal Message (Offline)

Ignore
1714837950
Reply with quote  #2

1714837950
Report to moderator
1714837950
Hero Member
*
Offline Offline

Posts: 1714837950

View Profile Personal Message (Offline)

Ignore
1714837950
Reply with quote  #2

1714837950
Report to moderator
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 416
Merit: 277


View Profile
May 05, 2011, 08:48:12 PM
 #2

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 Offline

Activity: 1304
Merit: 1014



View Profile
May 05, 2011, 09:41:12 PM
 #3

Amazing...great work guys.
Vasili Sviridov
Member
**
Offline Offline

Activity: 102
Merit: 10


View Profile WWW
May 05, 2011, 09:41:59 PM
 #4

Donated Smiley Looks way cool and slick too.

1JHYtsmsGq2McwGHmWayVjVtHds8rp1R5
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1129


View Profile
May 05, 2011, 09:43:34 PM
 #5

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 Offline

Activity: 1764
Merit: 1002



View Profile
May 05, 2011, 10:29:03 PM
 #6

congrats guys.  nice work. Cheesy
dust
Hero Member
*****
Offline Offline

Activity: 840
Merit: 1000



View Profile WWW
May 05, 2011, 10:52:40 PM
 #7

This looks very promising... excellent work.

Cryptocoin Mining Info | OTC | PGP | Twitter | freenode: dust-otc | BTC: 1F6fV4U2xnpAuKtmQD6BWpK3EuRosKzF8U
Matt Corallo
Hero Member
*****
expert
Offline Offline

Activity: 755
Merit: 515


View Profile
May 05, 2011, 10:52:45 PM
 #8

Brilliant, nice work.

Bitcoin Core, rust-lightning, http://bitcoinfibre.org etc.
PGP ID: 07DF 3E57 A548 CCFB 7530  7091 89BB B866 3E2E65CE
lulzplzkthx
Sr. Member
****
Offline Offline

Activity: 322
Merit: 251



View Profile WWW
May 05, 2011, 11:25:25 PM
 #9

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 Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 05, 2011, 11:40:35 PM
Last edit: May 06, 2011, 12:21:50 AM by justmoon
 #10

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
node-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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
suntsu
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
May 06, 2011, 02:51:31 PM
 #11

+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 Offline

Activity: 1106
Merit: 1004



View Profile
May 06, 2011, 03:16:11 PM
 #12

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
Hero Member
*****
Offline Offline

Activity: 731
Merit: 503


Libertas a calumnia


View Profile WWW
May 06, 2011, 03:39:21 PM
 #13

Very impressive stuff, very clever implementation, hat off!

Articoli bitcoin: Il portico dipinto
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 06, 2011, 07:57:59 PM
 #14

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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Hal
VIP
Sr. Member
*
expert
Offline Offline

Activity: 314
Merit: 3853



View Profile
May 06, 2011, 11:12:50 PM
 #15

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 Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 07, 2011, 12:44:51 AM
 #16

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

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
May 07, 2011, 05:49:44 AM
 #17

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
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 07, 2011, 01:17:30 PM
 #18

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.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
LZ
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


View Profile
May 07, 2011, 01:54:11 PM
 #19

I can not find words! Cheesy

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
disq
Newbie
*
Offline Offline

Activity: 41
Merit: 0



View Profile
May 08, 2011, 06:31:05 AM
 #20

looking good, also it's good to see some nodejs action in a project about bitcoin Smiley
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 09, 2011, 08:41:08 AM
 #21

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.

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
M4v3R
Hero Member
*****
Offline Offline

Activity: 607
Merit: 500


View Profile
May 09, 2011, 03:25:51 PM
 #22

This is spectacular. That's all I can say for now, I'm speechless.

Another great work from justmoon.
Steve
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 09, 2011, 04:13:12 PM
 #23

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.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Vasili Sviridov
Member
**
Offline Offline

Activity: 102
Merit: 10


View Profile WWW
May 09, 2011, 04:42:58 PM
 #24

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
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 09, 2011, 09:15:05 PM
 #25

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.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Vasili Sviridov
Member
**
Offline Offline

Activity: 102
Merit: 10


View Profile WWW
May 09, 2011, 11:20:33 PM
 #26

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
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 10, 2011, 02:49:09 AM
Last edit: May 10, 2011, 03:02:07 AM by Steve
 #27

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.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
M4v3R
Hero Member
*****
Offline Offline

Activity: 607
Merit: 500


View Profile
May 10, 2011, 05:19:18 AM
 #28

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.
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 10, 2011, 02:39:55 PM
Last edit: May 11, 2011, 01:16:56 AM by justmoon
 #29

  $ 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 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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 10, 2011, 04:01:19 PM
 #30

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

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Steve
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 22, 2011, 05:03:52 PM
 #31

@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?

(gasteve on IRC) Does your website accept cash? https://bitpay.com
udibr
Newbie
*
Offline Offline

Activity: 36
Merit: 0


View Profile
May 22, 2011, 06:50:22 PM
Last edit: May 22, 2011, 08:47:28 PM by udibr
 #32

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
Steve
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 23, 2011, 12:55:56 AM
 #33

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.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 23, 2011, 02:12:41 AM
Last edit: May 23, 2011, 02:35:21 AM by Stefan Thomas
 #34

@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

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Steve
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 23, 2011, 05:38:39 AM
 #35

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?

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 23, 2011, 11:14:24 AM
 #36

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. Smiley


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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Steve
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 23, 2011, 04:17:33 PM
 #37

Or perhaps you're just posting here to make me aware

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

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.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 24, 2011, 01:10:14 PM
 #38

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 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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Cusipzzz
Sr. Member
****
Offline Offline

Activity: 334
Merit: 250



View Profile
May 24, 2011, 03:45:27 PM
 #39

Well done Justmoon - very slick ! Now you can go back to betting SC2 GSL...kidding  Grin

Look forward to playing with this soon!
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 24, 2011, 05:15:20 PM
 #40

Well done Justmoon - very slick ! Now you can go back to betting SC2 GSL...kidding  Grin

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

---

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.

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Steve
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1007



View Profile WWW
May 25, 2011, 02:41:49 PM
 #41

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).

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
May 26, 2011, 09:46:23 AM
 #42

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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
BitQuestr (BitCoinWorldMarket)
Member
**
Offline Offline

Activity: 75
Merit: 10



View Profile
June 28, 2011, 01:06:10 PM
 #43

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!
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
June 28, 2011, 03:47:46 PM
 #44

@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. Smiley

One off NP-Hard.
naturallaw
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
July 09, 2011, 06:15:40 PM
 #45

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 Offline

Activity: 322
Merit: 251


FirstBits: 168Bc


View Profile
July 12, 2011, 01:52:16 AM
 #46

+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.

Greenlandic tupilak. Hand carved, traditional cursed bone figures. Sorry, polar bear, walrus and human remains not available for export.
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
August 22, 2011, 07:22:49 AM
 #47

Hi Stefan,

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

Thanks!

- bitcoinspot.nl - Alles over bitcoin! -
eckmar
Legendary
*
Offline Offline

Activity: 1878
Merit: 1038


Telegram: https://t.me/eckmar


View Profile
March 08, 2012, 12:40:43 AM
 #48

Hi Stefan,

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

Thanks!

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

The idea is great!

Cu,
 Ecki
check_status
Full Member
***
Offline Offline

Activity: 196
Merit: 100


Web Dev, Db Admin, Computer Technician


View Profile
March 09, 2012, 11:55:28 PM
 #49


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?

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 |  1EndfedSryGUZK9sPrdvxHntYzv2EBexGA
Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
March 11, 2012, 11:48:03 AM
 #50

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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
finway
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
March 13, 2012, 06:26:42 AM
 #51

Are you waiting for BIP16 ?

Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
March 14, 2012, 05:15:18 AM
 #52

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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
finway
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
March 14, 2012, 06:46:15 AM
 #53

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
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
March 15, 2012, 08:00:47 AM
 #54

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 Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
March 15, 2012, 10:00:19 AM
 #55

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. Cheesy

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
March 15, 2012, 12:33:42 PM
 #56

ok, thanks!

- bitcoinspot.nl - Alles over bitcoin! -
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
March 15, 2012, 12:49:09 PM
 #57

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 Smiley
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 Offline

Activity: 12
Merit: 0


View Profile
December 10, 2012, 03:23:13 PM
 #58

Bumpage. What is your status? Last twitter update was August.
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
December 10, 2012, 03:26:41 PM
 #59

Bumpage. What is your status? Last twitter update was August.
Necroposting = not cool.

Stefan Thomas (OP)
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
December 10, 2012, 06:27:51 PM
 #60

Necroposting = not cool.

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

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. Cheesy 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: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Pages: 1 2 3 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!