grau (OP)
|
|
April 06, 2013, 08:49:38 PM Last edit: April 07, 2013, 06:55:38 AM by grau |
|
Do you have host running bitsofproof 24/7? What are you using for ECDSA? How many sigchecks/sec does it perform? What's maximum number of peers you tested it with? What anti-DoS rules do you have? Thanks.
Yes, bits of proof runs since months in parallel on bitsofproof.com, with a few restarts for upgrades or data migration. I run it with peers 20 regularly, sometimes 50. There are a few ban rules similar to bitcoind and limits on message size (identical to max block) also limits on caches of orphan blocks and unconfirmed transactions. There is a limit on unsolicited connections.
|
|
|
|
r.willis
Jr. Member
Offline
Activity: 42
Merit: 11
|
|
April 06, 2013, 09:14:18 PM |
|
Thanks for your answers. What ECDSA implementation do you use and how many signature checks/sec it can perform?
|
|
|
|
grau (OP)
|
|
April 07, 2013, 10:48:50 AM Last edit: April 07, 2013, 11:20:06 AM by grau |
|
Thanks for your answers. What ECDSA implementation do you use and how many signature checks/sec it can perform?
Bouncy castle. Just measured on my laptop with 2.5GHz i5 single threaded validation of ECDSA: 830 sigs/second. Beware that 1. bits of proof has multithreaded transaction validation, therefore this scales about linear with number of processors available and their speed. 2. In practice signature validation is distributed over time since the server usually receives and validates transactions while unconfirmed, therefore block validation only triggers validation of those transactions it did not receive before. We currently have a few hundred transactions per block, 95+% of them already validated in the minutes between blocks, therefore block validation is a fraction of a second even with this implementation of ECDSA. Storing the block is much more effort than validating it in regular production. The only use case where validation speed plays a role at the moment is initial block chain load and verification. There it can be up to about 2 seconds per block in worst case. This is addressed by both Satoshi and bits of proof by not validating signatures until a checkpoint height (well behind current last block). In summary, although this pure Java implementation of the signature validation is about a magnitude slower than the C heavily optimized for secp256k1, I do not consider it a bottleneck for now. If it ever becomes one, it should not be a big deal to use JNI to call such an optimized native one. bits of proof already uses JNI to drive native LevelDB.
|
|
|
|
r.willis
Jr. Member
Offline
Activity: 42
Merit: 11
|
|
April 07, 2013, 05:12:35 PM |
|
Thank you for detailed response.
|
|
|
|
grau (OP)
|
|
April 25, 2013, 08:19:25 AM |
|
bits of proof beta release 0.9 now features:
- support for SPV clients using bloom filter - reduced disk footprint increased speed on server side: . block chain with indices is 10GB now. . loads from scratch under 4 hours . retrieval of transaction history for a set of addresses in a few seconds roundtrip over the bus. - a redesigned API . with bloom filtered subscription to validated transactions on the bus . encrypted wallet local file with several accounts (BIP32) and colors
|
|
|
|
Dusty
|
|
April 25, 2013, 09:20:50 AM |
|
Wow, that's a lot of new stuff Is there a proof-of-concept client to play with?
|
|
|
|
|
grau (OP)
|
|
May 07, 2013, 05:06:13 AM Last edit: May 07, 2013, 07:28:04 AM by grau |
|
Added examples of how bits of proof can be the backbone of your Bitcoin enterprise: - BitcoinSpinner running against any bits of proof node, enabled through a BCCAPI over BCSAPI implementation https://github.com/bitsofproof/bop-bccapi - a primitive block explorer REST API, see https://github.com/bitsofproof/bop-explorer.gitPlease consider that both examples are demo only. Although the BitcoinSpinner clone you can build from there works on any android mobile, I do not advise or support running it for other than test purposes and do not guarantee the continuous availability of the server backing it. Credits to Jan https://bitcointalk.org/index.php?topic=53353.0 for creating both the BitcoinSpinner application and the BCCAPI spec that enables the connection of lightweight, server trusting clients. See You in San Jose, 9am Saturday in the Lightning session room and at the exhibit booth #28, where I will give further insight to bits of proof connectivity and launch a limited product offer to attendees. Conference schedule at: http://www.bitcoin2013.com/topics--schedule.html
|
|
|
|
nyusternie
Full Member
Offline
Activity: 211
Merit: 100
"Living the Kewl Life"
|
|
May 07, 2013, 07:19:52 AM |
|
^^ this link is pointing to the bccapi implementation --------------- any chance of seeing your block explorer UP & RUNNING somewhere (possibly on your website)? my dev machine will be tied for a quite a while, but i'd love to see how it works good luck at the show!
|
|
|
|
grau (OP)
|
|
May 07, 2013, 07:30:59 AM |
|
^^ this link is pointing to the bccapi implementation --------------- Thanks, I amended. any chance of seeing your block explorer UP & RUNNING somewhere (possibly on your website)? my dev machine will be tied for a quite a while, but i'd love to see how it works good luck at the show! This is definitely part of the plan. Let's leave some surprises to attendees in San Jose. Thanks for your support.
|
|
|
|
nyusternie
Full Member
Offline
Activity: 211
Merit: 100
"Living the Kewl Life"
|
|
May 07, 2013, 08:05:01 AM Last edit: May 12, 2013, 05:16:54 PM by nyusternie |
|
any chance of seeing your block explorer UP & RUNNING somewhere (possibly on your website)? my dev machine will be tied for a quite a while, but i'd love to see how it works good luck at the show! This is definitely part of the plan. Let's leave some surprises to attendees in San Jose. Thanks for your support. waited this long; so what's another 2 weeks sent you some beer money for the show
|
|
|
|
grau (OP)
|
|
May 07, 2013, 08:23:13 AM |
|
sent you some beer money for the show Thanks a lot, Cheers!
|
|
|
|
molecular
Donator
Legendary
Offline
Activity: 2772
Merit: 1019
|
|
May 12, 2013, 10:51:00 AM |
|
I'm investigating using bitsofproof or bitcoinj in backend for a service.
I understand bitsofproof is opensource. I'm also assuming the business plan is to keep it that way and monetize on consulting / services.
Is that assumption correct?
|
PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0 3F39 FC49 2362 F9B7 0769
|
|
|
grau (OP)
|
|
May 13, 2013, 05:39:45 AM Last edit: May 13, 2013, 05:53:00 AM by grau |
|
Yes, bits of proof is open source and the plan is to remain open source. My company offers support, custom development, consulting and more ... to be revealed in 5 days in San Jose, 9am the Lightning session room or at the exhibit booth #28. You might want to take a look of the bop-api-example and bop-bitcoinspinner, bop-explorer projects to see the power of the backend supporting a command line, an Android app and a web application, in a load balanced enterprise server fashion. command lineAndroidWeb
|
|
|
|
|
|
grau (OP)
|
|
May 31, 2013, 08:06:45 PM |
|
BOP just got a new 12 CPU 48 GB RAM server.
That box downloaded, verified and address indexed the block chain from scratch in 4.3 hours using 50 random peers.
It is now waiting to serve you.
|
|
|
|
Dusty
|
|
May 31, 2013, 09:25:20 PM |
|
BOP just got a new 12 CPU 48 GB RAM server. Wow, I suppose you meant 12 cores BTW: I watched your presentation and the project seems great!
|
|
|
|
grau (OP)
|
|
June 01, 2013, 06:46:30 AM |
|
BOP just got a new 12 CPU 48 GB RAM server. Wow, I suppose you meant 12 cores BTW: I watched your presentation and the project seems great! Yes, they are likely less CPUs, but 12 cores for sure. I order them by specifying the CPU power I want to use, how the data center maps that is up to them.
|
|
|
|
netrikare
Newbie
Offline
Activity: 11
Merit: 0
|
|
June 10, 2013, 11:21:40 PM |
|
Hello grau, i've been playing with your code for a while - nice work Questions: 1. How about some sort of contracts interface? How do you plan on implementing this? 2. How do I connect to a specified set of IPs only (mimic connect=ip option in bitcoin.conf). FixedAddressDiscorvery makes listed IPs as discovery nodes that can relay their cached nodes to my server instance. After a while my server hits timeout(?) and connects to those relayed nodes. 3. On testnet3 i cannot connect to nodes with getAddress ().isReachable 1000ms timeout, works fine when i change it to 4000ms; temp fix for BBST-7 for me.
|
|
|
|
|