Hay una forma bastante buena que leí hace algunos años ya (no la probé personalmente), para darle acceso a los Bitcoins a otra persona solo si nos pasa algo: usando la función "nLocktime" de Bitcoin. Es más fácil si tenemos una cartera que usamos solo para "holdear", es decir que no movemos los Bitcoins nunca.
El método se puede describir así:
Regularmente se crea una transacción con el monto total de los Bitcoins en nuestro poder, hacia una dirección a la que el posible heredero tiene acceso. Ahora en vez de crear una transacción "regular", con nLockTime "bloqueamos" la transacción hasta una fecha en el futuro. "nLockTime" hace que no puede ser incluida en un bloque por los mineros hasta esta fecha. Justo un día antes (o un par de horas antes) de que termine este bloqueo, pasamos los Bitcoins a otra dirección. Con eso invalidamos la transacción con "nLocktime" antigua. Finalmente creamos una transacción con nLocktime nueva.
Por ejemplo, podemos bloquear los BTC siempre por 101 días, y el día 100 movemos los Bitcoins a otra dirección, invalidando así la transacción que creamos. Así, cada 100 días renovamos esta transacción.
No hace falta que difundamos la transacción con nLocktime. Sino que la podemos firmar digitalmente, y la anotamos o grabamos y la pasamos a los posibles herederos.
Ahora que pasa:
- Si "nos pasa algo" (morimos/quedamos discapatacitados etc.), el familiar puede difundir la transacción, y el día que venza el bloqueo, un minero la incluirá en la cadena de bloques, y el familiar puede acceder a los Bitcoins. Porque como ya no estamos vivos, ya no estamos pasando los Bitcoins a otra dirección, y finalmente la transacción queda válida.
- Si el familiar "se hace el vivo" y la difunde mientras que estemos vivos, no importa, ya que no puede acceder hasta el día del vencimiento del bloqueo, y antes de esta fecha pasamos los Bitcoins a otra dirección. Y desheredamos a este familiar, obviamente
Sí llegamos a mover nosotros los Bitcoins antes del vencimiento, tampoco es el fin del mundo, pero tenemos que crear una nueva transacción con nLockTime.