ВРАКИ.НЕТ
ВРАКИ.НЕТ $$$
г. Москва
dowik
 
26.08.2021
   0
В избранном  

Как обеспечить безопасность биткоина

Как обеспечить безопасность биткоина
Счет в швейцарском банке в вашем кармане. Адреса биткоина с множественной подписью (multisig) обеспечивают максимальную безопасность от потери, кражи, взлома и захвата из-за характера разделения ответственности и/или резервирования, необходимого для расходования средств. В качестве пояснения, допустим, я хочу открыть семейный фонд в Биткойне. Я создаю кошелек с мультисигмой 2 из 5; требуется 2 подписи из 5 возможных для расходования с этого адреса. Из 5 сгенерированных ключей я отправляю один ключ своему отцу. Один - матери (они живут отдельно). Один - брату. Один я оставляю себе, а резервный бумажный ключ отправляю надежному другу семьи. Требование наличия как минимум 2 подписей сразу же сокращает почти любую непреднамеренную потерю. Дайте этому впитаться. Почти невозможно, чтобы кто-то конфисковал, украл, взломал средства. Для вас почти невозможно потерять доступ к средствам. Мгновенная трата средств достаточно проста, если присутствуют 2 члена семьи. Предприятиям, трастам или правительствам может потребоваться больше подписей, чтобы избежать сговора. Здесь я даю подробное объяснение и код того, как создать и использовать свой собственный адрес с несколькими подписями.
Ключи
Для нескольких подписей требуется несколько ключей. Для генерации свежих ключей мы используем генератор случайных ключей, предоставляемый bitcoin.

# private keys
k1 = random_key()
k2 = random_key()
k3 = random_key()
k4 = random_key()
k5 = random_key()

print("Private keys: these are the keys you need to disperse. Do not save copies. It would defeat the point.")
print(k1)
print(k2)
print(k3)
print(k4)
print(k5)

# public keys
p1 =  privtopub (k1) 
p2 =  privtopub (k2)
p3 =  privtopub (k3)
p4 =  privtopub (k4)
p5 =  privtopub (k)
Скрипт погашения
Мы можем использовать приведенные выше ключи для генерации скрипта погашения и мультисиг-адреса.
k = 2 # signitures required
n = 5 # keys generated

script =  mk_multisig_script ([p1 ,p2 ,p3 ,p4 ,p5], k, n)
address = scriptaddr(script)

print(script)
print(address)
        
Расходование
Теперь у вас есть адрес multisig со скриптом redeem и ключи для распространения. Чтобы протестировать расходование средств, вам нужно отправить несколько биткоинов на ваш новый multisig-адрес. После отправки вы можете проверить, что средства были получены:
unspentData = unspent(address)
print(unspentData)

unspentOutput = unspentData["output"]
Чтобы потратить средства, необходимо, чтобы любые 2 из 5 сгенерированных подписывали новую транзакцию.
spendSats = 10000 # satoshis to spend
addSpend = '112eMCQJUkUz7kvxDSFCGf1nnFJZ61CE4W' # address to receive new transaction
tx =  mktx (unspentOutput, addSpend+':'+str(spendSats))
print(tx)

# Now, let’s sign it with keys 1 and 3:
sig1 =  multisign (tx, 0, script, k1)
sig2 =  multisign (tx, 0, script, k3)

tx2 =  apply_multisignatures (tx, 0, script, [sig1, sig2])
print(tx2)

# And now we push:
eligius_pushtx (tx2 )
Финансовый суверенитет. Это так просто, благодаря Биткойну.
Как обеспечить безопасность биткоина
Как обеспечить безопасность биткоина
 
Комментарии (0)
Добавить комментарий
Оставьте первый комментарий
 
51