1200wd / bitcoinlib

Bitcoin and other Cryptocurrencies Library for Python. Includes a fully functional wallet, Mnemonic key generation and management and connection with various service providers to receive and send blockchain and transaction information.
http://bitcoinlib.readthedocs.io/
GNU General Public License v3.0
613 stars 204 forks source link

How to protect the wallets #300

Closed x011 closed 1 year ago

x011 commented 1 year ago

Hi, I couldn't find a way to protect/encrypt the wallet/database on windows. pip install sqlcipher3-binary returns: ERROR: No matching distribution found for sqlcipher3-binary

How can I protect/encrypt the sqlite database so other person cannot use it without a password? I'm asking this because (I think) that anyone with access to the same computer can send transactions. Is this a correct assumption? If so, how can this be avoided?

shahverd commented 1 year ago

Any offline solutions like single password mechanism is useless. That's why most SQLite implementations doesn't come with encryption by default.

superggn commented 1 year ago

I think offline management is secure enough? Say the main cold wallet is always offline, only keep a small amount of cash in the hot wallet online, I think that's a secure way. I thinks there should only the admin can have the access to the computer signing transaction, and the computer signing the transaction and sending the transaction can be different computers. Lets say computer A sign the transaction, and computer B sends the transaction. A send the signed transaction to B, and B broadcast the transaction to the blockchain. So there can be 2 computers.

superggn commented 1 year ago

If you use the kubernetes to manage your system, there're rbac and abac which can implement the access control, also a secure way

mccwdev commented 1 year ago

There are several ways to protect your wallet, one of the safest is to use an offline wallet as @superggn suggested.

Some others ways are:

The general documentation, but needs to be updated: https://bitcoinlib.readthedocs.io/en/latest/source/_static/manuals.security.html