Can I always use single public key (addr1) for all my transactions and when I spend every time protect it with different scripts / keys (key2, key3, etc.), so that spending requires at least two keys ('key1', and 'key-n') but addr1 remains the same for receiving bitcoins.
example.
(transaction, output script): (input address, amount) --> (output 1); (output 2)
--------------------------------------------------------------------------
(trxn1, script1): (addr1, 10 BTC) --> (addr2, 5 BTC); (addr1, 5 BTC)
(trxn2, script2): (addr1, 5 BTC) --> (addr3, 1 BTC); (addr1, 4 BTC)
(trxn3, script3): (addr1, 4 BTC) --> (addr4, 1 BTC); (addr1, 3 BTC)
(trxn4, script4): (addr5, 12 BTC) --> (addr1, 10 BTC); (addr5, 2 BTC)
(trxn5, script5): (addr1, 13 BTC) --> (addr6, 2 BTC); (addr1, 11 BTC)
Is it possible to make script 1, 2, 3 and 5 would require different keys (at least 2; key1 and key-n) to spend bitcoin from this address?
Is it possible with Script? Is there any other ways in which I can keep single address for all my transactions?
addr1 is my address; transactions 1, 2, 3, 5 are my spends and transaction 4 is receiving transaction.
Motivation: To use same address for all my transactions. Reason is, I own firstbits address '1vijay', and I don't want to loose in case of my private key compromised. I am looking for any solution that would solve my problem, particularly scripts.
pseudo-script would be something like,
scriptPubKey: <pubKey1> OP_DROP <pubKey2> OP_CHECKSIG
scriptSig: <sig>
I would like to use 'pubKey1' as my receiving address always, but my spending would depend on private key corresponding to 'pubKey2'.