Search content
Sort by

Showing 20 of 66 results by jonas.schnelli
Post
Topic
Board Development & Technical Discussion
Re: Sipa what have you done ?
by
jonas.schnelli
on 10/08/2015, 12:21:58 UTC
Okay. I see.
We have already seen these fastflux bonnet detecting. Check https://www.reddit.com/r/Bitcoin/comments/3g8htv/certsi_filed_an_abuse_complaint_with_my_isp_for/.

Just replay to Hetzner that everything is okay and the report was a false positiv.

We are working on a solution (TTL DNS)
Post
Topic
Board Development & Technical Discussion
Re: Sipa what have you done ?
by
jonas.schnelli
on 10/08/2015, 11:30:08 UTC
Can you post the Abuse-Mail content?
Do you run a dnsseed or just a standard node?
Thanks.
Post
Topic
Board Development & Technical Discussion
Re: Why Bitcoin Core doesn't tell you to encrypt your wallet by default?
by
jonas.schnelli
on 31/07/2015, 11:02:23 UTC
Some additional thoughts/informations:
1) recovery phrase like the electrum does as greg mentioned (**~**bip39) in case you have lost your wallet (encrypted or unencrypted) requires a bip32 hd wallet: at the moment not supported by bitcoin core.
As an aside, BIP39 is a poor design which was explicitly disowned by one of its original authors. It should not be used as a reference for useful behavior.

Totally agree.

If one decides to encrypt the wallet, all used private keys (`getnewaddress`, change addresses) where exposed plaintext over the wallet.dat file during the time between creation and encryption.
This is potentially misleading, as may sound to some like you're saying keys resulting from getnewaddress after encryption were also exposed but this isnt the case. Only keys from before the encryption were previously exposed, for the obvious reason.

Thanks for precision.
Right, every address (including change addresses) generated "after" the encryption happened, was never exposed in a unencrypted wallet.
Post
Topic
Board Development & Technical Discussion
Merits 2 from 1 user
Re: Why Bitcoin Core doesn't tell you to encrypt your wallet by default?
by
jonas.schnelli
on 30/07/2015, 08:44:03 UTC
⭐ Merited by ABCbits (2)
Some additional thoughts/informations:

1) recovery phrase like the electrum does as greg mentioned (~bip39) in case you have lost your wallet (encrypted or unencrypted) requires a bip32 hd wallet: at the moment not supported by bitcoin core.

2) Current bitcoin-core always creates a unencrypted wallet at first start. If one decides to encrypt the wallet, all used private keys (`getnewaddress`, change addresses) where exposed plaintext over the wallet.dat file during the time between creation and encryption.

3) An encrypted wallet is basically not an encrypted wallet. Only private keys are encrypted. Public keys, wallet transactions, labels & comments are plaintext stored in wallet.dat.
Post
Topic
Board Development & Technical Discussion
Re: Level DB vs VSAM KSDS
by
jonas.schnelli
on 30/07/2015, 08:06:27 UTC
Nobody in the core development team has any significant experience with databases.
By not providing a database abstraction layer for the various storage pools (including mempool) they can have a better grip on the whole project.

Would it make sense to store the mempool on-disk?

--snip--

LevelDB (kv store) seems pretty much the thing we need for bitcoin-core (there is no need for extensiv querying if you don't want to run a block explorer). What alternatives would you propose today? Would it be worth implementing (balance between (implementation-time+risks <==> benefits-of-a-new-database)? How would you handle migration, testing on serval filesystems?
Post
Topic
Board Development & Technical Discussion
Re: Sipa what have you done ?
by
jonas.schnelli
on 22/07/2015, 17:27:28 UTC
We see here multiple problems:


a) DNS Seeder (only affects the handful of operators who runs a dns seed)
This solution should not bother normal bitcoind nodes.

b) Nodes which cannot connect to sipas dns seeder because some system has detected his IP as malware severing IP because it does netscanning (that is what a seeder needs to do). Maybe IPSs share informations about malware serving IPs.
This is not a problem for a bitcoind node, because it can fetch IPs over different seeds or over the internal static list. As soon as one feasible IP/connection could established, more IPs come in over getaddr

c) ISP detect portscanning behavior on a bitcoind node:
Nodes can send you unroutable IPs addresses though getaddr. Example: 242.0.0.1. If your bitcoind then try to connect to this ip, no route can be found and your ISP might detect this as a port scan.
You could solve this theoretical problem by using tor or limit max connections.
Post
Topic
Board Development & Technical Discussion
Re: Sipa what have you done ?
by
jonas.schnelli
on 22/07/2015, 11:32:37 UTC

However I'm not running the above bitcoin-seeder app, so I'm not sure how that PR would do anything for me. (I'm only running bitcoin core and P2Pool)
[/quote]

Sure.
If i'm right, for bitcoind you could use -proxy= for connect to nodes through tor. Your ISP could then no longer detect a port scan pattern.
But your communication speed between your node and connected nodes might drop.
Post
Topic
Board Development & Technical Discussion
Re: Sipa what have you done ?
by
jonas.schnelli
on 22/07/2015, 11:22:23 UTC
Once approche would be to reduce the amount of connection with the `--maxconnections` argument.
Or your a tor SOCK5 proxy for outgoing connections.
Similar like the patch i wrote for the seeder: https://github.com/sipa/bitcoin-seeder/pull/29
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Sipa what have you done ?
by
jonas.schnelli
on 12/07/2015, 20:34:01 UTC
⭐ Merited by ABCbits (1)
Yes. I'm talking about sipas public dns seeder (https://github.com/sipa/bitcoin-seeder).

I had to pragmatically change the function CNetAddr::IsReserved() to:

Code:
bool CNetAddr::IsReserved() const
{
  return IsIPv4() && (
                      GetByte(3) == 1 ||
                      (GetByte(3) == 192 && GetByte(2) >= 70) ||
                      (GetByte(3) == 200 && GetByte(2) == 1 && GetByte(1) == 1) ||
                      (GetByte(3) == 220 && GetByte(2) == 152 && GetByte(1) == 162) ||
                      GetByte(3) == 25 ||
                      GetByte(3) == 89 ||
                      GetByte(3) == 51 ||
                      GetByte(3) == 220 ||
                      GetByte(3) == 9 ||
                      GetByte(3) == 254 ||
                      GetByte(3) == 255 );
}

Hetzner (the datacenter provider) was informing me about some detected unallowed netscans:

Code:
##########################################################################
#               Netscan detected from host    176.9.45.239               #
##########################################################################

time                protocol src_ip src_port          dest_ip dest_port
---------------------------------------------------------------------------
Sun May 10 07:22:22 2015 TCP    176.9.45.239 44590 =>    252.0.25.152 18333
Sun May 10 07:22:23 2015 TCP    176.9.45.239 44590 =>    252.0.25.152 18333
Sun May 10 07:22:25 2015 TCP    176.9.45.239 44590 =>    252.0.25.152 18333
Sun May 10 07:15:54 2015 TCP    176.9.45.239 42666 =>    9.45.203.212 9333
...

Because the crawler/seeder uses getaddr it might retrieve IPs from a non-routable range.
So it very likely that a host running sipas seeder might be seen as botnet or server/IP that acts like a botnet controller.
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Sipa what have you doing ?
by
jonas.schnelli
on 12/07/2015, 07:26:59 UTC
⭐ Merited by ABCbits (1)
 Cheesy
I also had to patch (didn't open a PR) the dns seeder to avoid blocking through Hetzner (datacenter).
The dns seeder does a very aggressive scanning.
I got serval abuse mails because Hetzner detected non valid routing to non public and not routable IPv4 ranges.
Post
Topic
Board Bitcoin Technical Support
Re: slow creation of thansaction on big wallet.dat
by
jonas.schnelli
on 06/07/2015, 18:25:27 UTC
Just wanted you to know that I'm working on this problem by rewriting most of the bitcoin-cores wallet: https://github.com/jonasschnelli/bitcoin/tree/2015/05/corewallet

So help is on the way, but not for today and tomorrow.
Post
Topic
Board Bitcoin Technical Support
Re: RPC Getting mempool transactions
by
jonas.schnelli
on 01/07/2015, 20:02:59 UTC
You can call
Code:
getrawmempool true
(mind the true = verbose).

If you have to do multiple rpc calls, check out the JSON RPC 2.0 batching options (since bitcoind 0.7 aggregate multiple rpc calls in one). If you need more details check the bitcoin-core source and search after
Code:
static string JSONRPCExecBatch(const UniValue& vReq)

There is a pull request for mempool REST call (https://github.com/bitcoin/bitcoin/pull/6013).
Post
Topic
Board Development & Technical Discussion
Merits 2 from 1 user
Re: How to parse "utxos" structure from hex respresentation returned by Rest interfa
by
jonas.schnelli
on 30/06/2015, 07:39:00 UTC
⭐ Merited by ABCbits (2)
Code:
jonasschnelli$ ./src/bitcoin-cli --regtest getbestblockhash
0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206

Code:
jonasschnelli$ ./src/bitcoin-cli --regtest getblock 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206
{
  "hash": "0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206",
  "confirmations": 1,
  "size": 285,
  "height": 0,
  "version": 1,
  "merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
  "tx": [
    "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"
  ],
  "time": 1296688602,
  "nonce": 2,
  "bits": "207fffff",
  "difficulty": 0.00000000,
  "chainwork": "0000000000000000000000000000000000000000000000000000000000000002"
}

Code:
curl 'http://localhost:18332/rest/getutxos/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.hex'
0000000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f010000

0000000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f010000

First 4 bytes (00000000) is the chain height (int32)
Next 32 bytes (6226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f) is the chain tip hash (little endian notation, so it's "reversed")
Next 2 bytes (0100) is the bitmap where you can see if your queried outpoints are in the UTXO set. 01 = size, 00 = not in set (first queried outpoint is not in set,...).
Next 1 bytes (00) is a serialized vector of a Coin (uint32_t nTxVer, uint32_t nHeight, CTxOut out). In this case it's empty.

Also mind that you can have JSON output for getutxos:
Code:
curl 'http://localhost:18332/rest/getutxos/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json'
Post
Topic
Board Bitcoin Technical Support
Re: REST inteface question
by
jonas.schnelli
on 27/06/2015, 19:30:15 UTC
/rest/getchaininfos is not available in the 0.10 branch [1].
You should test the rc2 of 0.11 (https://bitcoin.org/bin/bitcoin-core-0.11.0/test/).

[1] https://github.com/bitcoin/bitcoin/blob/0.10/src/rest.cpp#L223
Post
Topic
Board Development & Technical Discussion
Re: hiDPI/retina optimized UI
by
jonas.schnelli
on 17/11/2014, 21:46:25 UTC
Post
Topic
Board Development & Technical Discussion
Re: Who would like to have ios BTC wallet?
by
jonas.schnelli
on 16/03/2014, 17:46:11 UTC
I did. It sounds hacky and i doubt many people would do it. Sorry if I offend you saying this.

It's not as hacky as it sounds like. Smiley
It doesn't require a jailbreak.
The iOS wallet app could also been made open source so people can check what's going on.

Sorry to say that, but in future, nobody will use web-wallets (or similar) where the user doesn't own the private key.
What have we learned from Mt.Gox?

The one who don't own the private key they don't own the bitcoins signed with them!

In my eye, only a nativ iOS wallet will have success.

Would you trust your money to a startup company?
I wouldn't.

Post
Topic
Board Development & Technical Discussion
Re: Who would like to have ios BTC wallet?
by
jonas.schnelli
on 16/03/2014, 16:30:31 UTC

Making full native means going to Appstore, app can be thrown off from there any minute. Kinda risky to rely on this..


You didn't read my plan. did you? Smiley

Post
Topic
Board Development & Technical Discussion
Re: Who would like to have ios BTC wallet?
by
jonas.schnelli
on 16/03/2014, 12:19:00 UTC
1. Totally secure. We mean it!

Where are the private keys stored?
On your webserver?


We are looking for a real native solution!
Post
Topic
Board Development & Technical Discussion
Re: Who would like to have ios BTC wallet?
by
jonas.schnelli
on 16/03/2014, 09:18:37 UTC
It would be easy to sneak into the iOS world (without jailbreak requirement!).
Look here, let's get inspired:
http://gba4iosapp.com/download/

The steps are:
-> found a small company (cost around 2-3 BTC depend on origin country)
-> apply for Apple iOS Enterprise Programm (299$ = 0.5BTC)
-> create iOS wallet app (this might be difficult)
-> sign the app with your enterprise provisioning file
-> provide a custom download page: http://gba4iosapp.com/download/
-> apple then probably then revoke your certificate
-> tell users to set back the date during the download/install of the app

Post
Topic
Board Wallet software
Topic OP
iOS: bring nativ wallet app to non-jailbreak iPhones (and iPads)?
by
jonas.schnelli
on 25/02/2014, 21:26:31 UTC
Guys

Look once at http://gba4iosapp.com/.
They got a enterprise deployment program from Apple (299USD per Year) and built and signed a by-apple-not-allowed iOS app.
Now, of course, Apple pulled-back the certificate, but everyone can install the app via web when setting back the iOS system date to date before when apple pulled-out the certificate.

Why should we not do that with a nativ iOS wallet?

1) Found a small company
2) Register for a enterprise program
3) sign app and make it public downloadable
4) wait till apple pulls back the certificate
5) inform user to set back the date (and blame Apple) while installing the app
6) set the date back to "now"