Author

Topic: Secure architecture for using bitcoin core (Read 181 times)

sr. member
Activity: 938
Merit: 452
Check your coin privilege
February 08, 2019, 03:54:35 AM
#4
Imo you should focus more on proofing your API(Rest)/RPC rather than issues like these.

How is your application going to communicate with the wallet? It won't matter if it's a hot wallet or a cold one, if there are vulnerabilities or attack vectors that others can exploit to take control of it, it won't matter if it's a bitcore node or a trezor.

What you could do to mitigate damage would be to simply not keep all your funds accessible to your business at all times. Every once in a while, send out from your business wallet to your cold storage, or vice versa depending on how much you expect to spend. Manually.
legendary
Activity: 4466
Merit: 3391
February 07, 2019, 09:15:17 PM
#3
I'm trying to build a good security for my online bitcoin based application. Is something like this possible?

Quote
send_bitcoin(address)
create_address()
sweep_balances()
       +
       |
       |
       v                New transactions
+-------------+   <-----------------    +--------------+
|                   |                               |                    |
| Wallet keys +--------------------->+ Bitcoin core  |
|                   |                               |                    |
+-------------+   Submit signed tx    +--------------+


The "Wallet keys" will be my hot wallet. There will be another wallet store which would be used for cold storage. The "bitcoin core" will be some trusted public node that I don't control.

Does using this architecture have any disadvantages over running a full bitcoin core to keep addresses?

I need to get callbacks for new transactions on the list of addresses in my store, that is not managed by bitcoin core. Is it possible using this method?

My reason is that running a full "bitcoin core" takes up too much computing resources & disk which is expensive on cloud and by doing this I can avoid having to run and maintain a bitcoin node. I can submit a signed transaction to any trusted node.

Reposted from here: https://bitcoin.stackexchange.com/questions/84278/keeping-wallet-addresses-outside-bitcoin-core/84280#84280
Thanks.

You are basically describing an SPV wallet.
sr. member
Activity: 279
Merit: 435
February 06, 2019, 01:17:08 PM
#2
Hi,

I'm trying to build a good security for my online bitcoin based application. Is something like this possible?
followed by
The "Wallet keys" will be my hot wallet. There will be another wallet store which would be used for cold storage. The "bitcoin core" will be some trusted public node that I don't control.

seems inappropriate, to say the least. You could just use a pruned bitcoin-core node (for disk space) and adjust configuration options (for resources usage).
Some links :
- https://bitcoin.org/en/full-node#reduce-storage
- https://bitcoin.org/en/full-node#reduce-traffic
newbie
Activity: 13
Merit: 0
February 06, 2019, 11:43:06 AM
#1
I'm trying to build a good security for my online bitcoin based application. Is something like this possible?

Quote
send_bitcoin(address)
create_address()
sweep_balances()
       +
       |
       |
       v                New transactions
+-------------+   <-----------------    +--------------+
|                   |                               |                    |
| Wallet keys +--------------------->+ Bitcoin core  |
|                   |                               |                    |
+-------------+   Submit signed tx    +--------------+


The "Wallet keys" will be my hot wallet. There will be another wallet store which would be used for cold storage. The "bitcoin core" will be some trusted public node that I don't control.

Does using this architecture have any disadvantages over running a full bitcoin core to keep addresses?

I need to get callbacks for new transactions on the list of addresses in my store, that is not managed by bitcoin core. Is it possible using this method?

My reason is that running a full "bitcoin core" takes up too much computing resources & disk which is expensive on cloud and by doing this I can avoid having to run and maintain a bitcoin node. I can submit a signed transaction to any trusted node.

Reposted from here: https://bitcoin.stackexchange.com/questions/84278/keeping-wallet-addresses-outside-bitcoin-core/84280#84280
Thanks.
Jump to: