On edit: On reading it again it resolves trust issue but ...
what is the point again?
Why not just transfer 1 BTC instead of depositing 1 BTC, creating 1 BTC note, transfer note, have bank re-issue 1 BTC note, withdraw 1 BTC?
As I said, the point is instant transactions and invisible transactions. If you are going to withdraw the BTC immediately it's pretty pointless though. But this proposal makes it possible to recieve a BTC and spend it again instantly, without leaving any trail at all. To track you someone would need access to your banks private database, but the bank doesn't even need to store this info as it only needs to keep track of the current owner of the BTC.
If you got the note from someone else, how would you know if one of the prior owners was colluding with the bank? Let's say your employer pays you with bit notes. Unknown to you, your employer didn't get them directly by depositing money in the bank but bought them on the secondary market. What if the bank was selling it's own notes on the secondary market (and your employer bought them from that bank without knowning it), ie, the bank was one of the prior owners? Then it would have everything needed to spend the money on deposit.
I think on each transfer you would have to not only get a new secret from the bank, but generate a new private key, which means you'd have to have a bitcoin transaction, which is what you were trying to avoid.
I'm fully aware that my proposal doesn't eliminate the trust issue, but it reduces it severely. Lets say the bank actually does collude with another user. If there is a lot of bitnotes in circulation, only a fraction of them would become "tainted". So while a regular bitcoin bank always has the choice between business as usual and stealing
all of its customers money, a bitnote bank would only have the choice of business as usual and stealing
some of its customers money. So the incentives to commit theft is greatly reduced, especially if the bank has a reputation and a profitable business to care about. So in terms of trust, I believe my proposal would mean a great improvement over similar services today.
I also think it would be possible to create some kind of clearing system between different banks, which means that customers could actually choose a bank of their own choice and still enjoy instant transactions with customers of other banks. This is something we surely don't have today. Lets say customer A of bank A recieves a bitnote B from bank B. He gives the bitnote to his own bank with a newly created public key. Bank A then gives the note to Bank B and withdraws the money to two adresses (the one you gave them and one of their own). From the customers view, depositing a bitnote from another bank would actually be pretty much the same as depositing a bitcoin. As long as bank A trusts bank B enough to not believe they will double spend, you can be free to use your new bitnote instantly. And if one bank does decide to start double spend against other banks they will surely be blacklisted from the clearing process among all other banks pretty fast. This does create a transaction in the block chain though, but this transaction could only be traced back to the banks, not to the individual customers.
But my proposal is not perfect. Ideally I would've liked to find a way to use smart contracts to eliminate the trust issue completely. But this is the best I have managed to come up with, and I certainly think it's way better than current methods of bitcoin banking.