Bitcoin Forum
September 26, 2022, 06:38:14 AM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / A hobbyist programmer's take on the selfish miner issue on: November 20, 2013, 10:23:42 PM
Just a quick and rough idea that I just came up with. Might be that this has been suggested before and/or that this idea is downright stupid but I thought that not sharing this would be even more stupid if there's even a slight chance that there's something to this.

The idea is really quite simple; a node should prefer within a 2 block window (and perhaps some arbitrary time window, say 30 seconds) that part of the block chain that contains most transactions per block. However, only those new transactions that the node was aware of BEFORE receiving the new competing branches of block chain would be counted towards the transactions-per-block count. (This way the selfish miners couldn't increase their transactions-per-block count using non-publicized self-to-self transactions.)

This way if a selfish miner tries to keep a block (or multiple blocks) that was/were found earlier secret it is more likely that this branch will contain less transactions per block than a block that was found later on by honest miners. After a conflict situation it'd now be more likely that the majority of the network would continue mining on the honest miners' branch and the selfish miners' branch would be discarded.

This would also have a unintended side-effect of potentially filling blocks in the block chain more efficiently due to the fact that bigger blocks would be preferred to smaller blocks published within the time window and miners/pools would be incentivized to contain more transactions in a block (by updating their work more often).

Any and all feedback is appreciated!
2  Other / Beginners & Help / Hardware wallet system with instant payment confirmations on: June 16, 2013, 11:39:51 AM

I don't know if this has been proposed earlier but I've been playing around with this idea for quite some time now and decided to post it here after seeing the TREZOR ad.

Basically the idea is a hardware wallet that holds your private keys and does transaction signing pretty much like the TREZOR does BUT with support for instant payments without the need of compromising your bitcoin sovereignity to any 3rd party. The problem regarding the TREZOR wallet in normal commerce is that the payee cannot be 100% sure that there's no attempt of double spending the bitcoins etc. so accepting the payment cannot be instant. OTOH with online wallets which are able to provide instant payment confirmations both the payer and payee will have to trust a 3rd party holding his/her bitcoins.

The HW wallet I'm proposing would consist of a hardware wallet that has a built-in "cool off time" (say 60 minutes or so to avoid double spending) after each transaction. During this cool off time no further transactions could be made with the hardware wallet. Additionally the manufacturer of the hardware wallet would provide a balance management database: if the user wants to avoid the 60 minute cool off time he/she/payee has to send the transaction to the online database and the database will then respond with a transaction specific unlock message (digitally signed using asymmetric encryption) which will revoke the built-in cool off time of the HW wallet and further transactions can be made immediately there after. This way the payee can either inquire the online database or check the validity of the signature of the unlock message and be certain of whether the payer had enough balance to complete the transaction and whether the transaction was valid: if everything is OK the payee can instantly be sure that he/she will receive the bitcoins and accept the transaction.

This way the owner of the HW wallet can use his/her bitcoin independent of any third party if need be and regular commerce is made possible at the same time with practically instant payment confirmation. The proposed HW would have to be secure enough that the private keys could be trusted to exists only within the HW key (and optionally as a paper back up with the manufacturer). Trust from the payee's side is required in the manufacturer of the HW key and the online database but IMHO the risks involved here are inherently smaller than with online wallet systems.

What do you think? Is something like this already in the works?


EDIT: Turned out that the cool off time was an unnecessary and flawed idea. The HW wallet should instead synchronize any unconfirmed transactions with the database whenever connected to the internet (i.e. before making a new database synchronized transaction). This way any payee with internet connection can instantly be sure that the transaction is valid without regard to how any previous transaction was made. Offline payments are still possible but the payee cannot check the validity of the transaction until going online. This can be viewed as pretty much analogous with online/offline debit/credit card payments.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!