Just a heads up,
Over a year ago Andreas and I prototyped bluetooth tx submission on Android at a hackfest in Berlin, and it will be with support on-by-default for the sending side soon. That means, anyone can enable the feature in the settings page and start receiving payments via Bluetooth as long as both sides use the Bitcoin Wallet app.
The protocol used is a set of proprietary things. Once the payment protocol is implemented in bitcoinj, I guess we will recast the bluetooth support to use that and then submit a BIP for it, but right now it wouldn't make sense to do so as we know the current protocol has a limited lifespan.
Send via bluetooth resolves one of the most common UX fails we see here in Europe: people travel to conferences or events and then want to spend their Bitcoins whilst they're abroad, but they can't reasonably do so because data roaming is so expensive. By allowing the receiver i.e. merchant to receive the tx via Bluetooth, this problem is avoided - often the receiver is local and will be able to broadcast the transaction on your behalf.
Briefly, we use an unauthenticated RFCOMM socket with the adapter MAC address in a new btcmac parameter in the bitcoin: URI qrcode. No pairing is required. MITM attacks on the connection are possible, but all that's done with it is writing raw tx bytes out over the connection so MITM is limited to DoS.