I'd like to explore the option to verify the messages that have been signed in Bitcoin wallets in Ethereum smart contracts.

- Ethereum smart contract is given a list of Bitcoin addresses

- Ethereum smart contract can verify if the incoming function call msg, v, r, s matches any of previously given Bitcoin addresses

Now, the question is that the built-in `ecrecover()` only gives a resulting Ethereum address and I do not know how could I proceed from here.

* Can built-in ecrecover() deal with Bitcoin addresses

* Does there exist a way to mapBitcoin address to Ethereum address 1:1

* Can built-in ecrecover() give full public key output?

* If built-in ecrecover() does not work, can I write my own recover that outputs a Bitcoin address and spends reasonable gas?

* Can I somehow preprocess Bitcoin addresses (or public keys) to Ethereum ecrecover() compatible format?

... which all kind of are related to one question

* Do I need full Bitcoin public key as a starting point or is Bitcoin address enough?