Bitcoin Forum
January 29, 2020, 03:37:20 PM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 »  All
  Print  
Author Topic: Как завещать свои биткоины?  (Read 3804 times)
bomj
Full Member
***
Offline Offline

Activity: 924
Merit: 188


«ZENITH Protocol»


View Profile WWW
November 29, 2019, 10:31:03 PM
 #381

Вон выше предлагали с помощью CHECKSEQUENCEVERIFY и локтаймом  Smiley
Однозначно интересный вариант, а т.к. считаю себя в этом вопросе некомпетентным, то и не лезу со своими самоварами. Но читаю с большим интересом.
А вообще рад, что именно в русскоязычном сообществе эта тема получила наибольший интерес.
Одна тема здесь и две в кодерах.
Видимо выходцы из бывшего Союза привыкли выгрызать знания зубами. 
Нашел тему за 2011 год, но она к сожалению не поучила развития:
https://bitcointalk.org/index.php?topic=55591.0
Жаль, что не объять необъятного.

1580312240
Hero Member
*
Offline Offline

Posts: 1580312240

View Profile Personal Message (Offline)

Ignore
1580312240
Reply with quote  #2

1580312240
Report to moderator
1580312240
Hero Member
*
Offline Offline

Posts: 1580312240

View Profile Personal Message (Offline)

Ignore
1580312240
Reply with quote  #2

1580312240
Report to moderator
1580312240
Hero Member
*
Offline Offline

Posts: 1580312240

View Profile Personal Message (Offline)

Ignore
1580312240
Reply with quote  #2

1580312240
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1580312240
Hero Member
*
Offline Offline

Posts: 1580312240

View Profile Personal Message (Offline)

Ignore
1580312240
Reply with quote  #2

1580312240
Report to moderator
1580312240
Hero Member
*
Offline Offline

Posts: 1580312240

View Profile Personal Message (Offline)

Ignore
1580312240
Reply with quote  #2

1580312240
Report to moderator
1580312240
Hero Member
*
Offline Offline

Posts: 1580312240

View Profile Personal Message (Offline)

Ignore
1580312240
Reply with quote  #2

1580312240
Report to moderator
johhnyUA
Legendary
*
Offline Offline

Activity: 1456
Merit: 1218


Crypto for the Crypto Throne!


View Profile
November 30, 2019, 04:58:04 PM
 #382

То есть вы предлагаете не делать P2SH, а просто изменить P2PKH, добавив туда кое-чего. Правильно я вас понял?

Я не знаю как более правильно, но как мне кажется, в scriptpubkey можно вставлять любые скрипты из дозволенных. Ну из той информации что я прошерстил, я так понял.

Вот что на биткоин вики в разделе Script пишут:

Code:
scriptPubKey: <expiry time> OP_CHECKLOCKTIMEVERIFY OP_DROP OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>

Очевидно что структура P2PKH а не P2SH, ну или мб я ошибаюсь.

Bitcoin maximalist
Reinforce your privacy! List of bitcoin mixers. Use wassabi wallet or samurai wallet. And don't forget about PGP!
igor72
Hero Member
*****
Offline Offline

Activity: 644
Merit: 848


View Profile
November 30, 2019, 09:11:17 PM
 #383

То есть вы предлагаете не делать P2SH, а просто изменить P2PKH, добавив туда кое-чего. Правильно я вас понял?

Я не знаю как более правильно, но как мне кажется, в scriptpubkey можно вставлять любые скрипты из дозволенных. Ну из той информации что я прошерстил, я так понял.

Вот что на биткоин вики в разделе Script пишут:

Code:
scriptPubKey: <expiry time> OP_CHECKLOCKTIMEVERIFY OP_DROP OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>

Очевидно что структура P2PKH а не P2SH, ну или мб я ошибаюсь.
Сомневаюсь я, что так можно, это уже какой-то несуществующий P2S (pay to script) получается.
Попробовал так сделать, может где-то ошибся. Бабки улетели хз куда.
Неподписанная транзакция выглядела так:
Code:
0200000001f47be86fa76b08df1c2a26a10fbe4bb69fc9f488f6f279aa2455df587d162dae0000000000fdffffff0120030000000000001f03fc9218b17576a914587b00fb2cb23745a5fad03e414c841b00290af988ac00000000
Подписанная, в json:
Code:
{
  "txid": "c5072b9fb144341d992f487e4d675525ddaadb196c2178d1bdd9775ade1fd9be",
  "hash": "c5072b9fb144341d992f487e4d675525ddaadb196c2178d1bdd9775ade1fd9be",
  "version": 2,
  "size": 197,
  "vsize": 197,
  "weight": 788,
  "locktime": 0,
  "vin": [
    {
      "txid": "ae2d167d58df5524aa79f2f688f4c99fb64bbe0fa1262a1cdf086ba76fe87bf4",
      "vout": 0,
      "scriptSig": {
        "asm": "304402206e1a6aaf95200f5fe2ae67553270189c87e35685e5746d46b0d4edf285da6bdd02200359b81e524fab21de8ac2cff40124784dde879198fa06e898c01c001b467ba8[ALL] 0220d77e49788d56fdf4e1330f31902f6f6ca60f1a077bda6b8e203cc77def136c",
        "hex": "47304402206e1a6aaf95200f5fe2ae67553270189c87e35685e5746d46b0d4edf285da6bdd02200359b81e524fab21de8ac2cff40124784dde879198fa06e898c01c001b467ba801210220d77e49788d56fdf4e1330f31902f6f6ca60f1a077bda6b8e203cc77def136c"
      },
      "sequence": 4294967293
    }
  ],
  "vout": [
    {
      "value": 0.00000800,
      "n": 0,
      "scriptPubKey": {
        "asm": "1610492 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_DUP OP_HASH160 587b00fb2cb23745a5fad03e414c841b00290af9 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "03fc9218b17576a914587b00fb2cb23745a5fad03e414c841b00290af988ac",
        "type": "nonstandard"
      }
    }
  ]
}

В любом случае, даже если я накосячил, и это работает, то не вижу смысла в такой конструкции. Простое изменение nLocktime делает то же, но гораздо проще.
kzv
Legendary
*
Online Online

Activity: 1498
Merit: 1146


View Profile WWW
December 01, 2019, 07:04:31 AM
 #384

Транзакции с нестандартными запирающими скриптами хоть и не запрещены явно, но в блоки их майнеры не включают и другие пиры их не релеят. То есть для такой транзакции нужно либо самому майнить блок, либо напрямую договариваться с владельцем пула.

FontSeli
Hero Member
*****
Offline Offline

Activity: 616
Merit: 579



View Profile
December 01, 2019, 10:06:50 AM
 #385

Да о чем вы вообще?
Если бы такой сервис был коммерчески востребованный, то я бы написал его за один день на коленке и зи неделю с юзерфрендли интерфесом...
Но мы же ту пофлудить просто ))

Если на это нужно так мало времени, то почему бы не сделать это?

Потому что не факт, что будет коммерчески востребованным. Разве не очевидно?  Smiley

А что, все пишут программы только для того чтобы иметь коммерческий успех? Тем более если там работы кот наплакал?

johhnyUA
Legendary
*
Offline Offline

Activity: 1456
Merit: 1218


Crypto for the Crypto Throne!


View Profile
December 01, 2019, 04:31:55 PM
 #386

В любом случае, даже если я накосячил, и это работает, то не вижу смысла в такой конструкции. Простое изменение nLocktime делает то же, но гораздо проще.

Я глянул, мне кажется что есть ошибка. Иначе в BIP-aх и гайдах бы об этом не писали.

OP_CLTV - ты вводил в ручную или оно само вписало?

Потому что не факт, что будет коммерчески востребованным. Разве не очевидно?  Smiley

А что, все пишут программы только для того чтобы иметь коммерческий успех? Тем более если там работы кот наплакал?

Те, которые пишутся не ради бабла, то пишутся по желанию. Не хочет писать - его право. Ну а вообще идея сделать такой сервис довольно интересная, но не скажу что очень уж простая, kzv здесь ошибается.

Bitcoin maximalist
Reinforce your privacy! List of bitcoin mixers. Use wassabi wallet or samurai wallet. And don't forget about PGP!
igor72
Hero Member
*****
Offline Offline

Activity: 644
Merit: 848


View Profile
December 01, 2019, 09:52:39 PM
 #387

Я глянул, мне кажется что есть ошибка. Иначе в BIP-aх и гайдах бы об этом не писали.
Вполне возможно, только я ее не вижу ). Поэтому, пока не увижу такую транзакцию в блокчейне, буду считать использование CLTV и CSV без P2SH невозможным.
Quote
OP_CLTV - ты вводил в ручную или оно само вписало?
Скрипт собрал сам. А как иначе?
kzv
Legendary
*
Online Online

Activity: 1498
Merit: 1146


View Profile WWW
December 02, 2019, 07:20:56 AM
 #388

А что, все пишут программы только для того чтобы иметь коммерческий успех? Тем более если там работы кот наплакал?

Просто эта задача не интересная ни в техническом плане ни в коммерческом. Только в теоретическом немного интересна.
В сто раз более интересная со всех сторон задача - децентрализованныей обменник на атомарных свопах согласитесь? Дак вот, эта задача тоже была неоднократно реализована разными людьми и вызвала такой ажиотаж.., что разработчикам пришлось все выкинуть на помойку ((

taikuri13
Hero Member
*****
Offline Offline

Activity: 728
Merit: 1143


shaman


View Profile
December 02, 2019, 07:52:41 AM
 #389

~
В сто раз более интересная со всех сторон задача - децентрализованныей обменник на атомарных свопах согласитесь? Дак вот, эта задача тоже была неоднократно реализована разными людьми и вызвала такой ажиотаж.., что разработчикам пришлось все выкинуть на помойку ((

А можно поподробнее узнать об этом? Знаю, что сейчас работает, а вот ранние разработки неизвестны, тем более - реализованные.

Темы на форуме, ссылки, может быть на каких платформах это было реализовано - если знаете, дайте почитать пожалуйста.

kzv
Legendary
*
Online Online

Activity: 1498
Merit: 1146


View Profile WWW
December 02, 2019, 08:13:50 AM
 #390

~
В сто раз более интересная со всех сторон задача - децентрализованныей обменник на атомарных свопах согласитесь? Дак вот, эта задача тоже была неоднократно реализована разными людьми и вызвала такой ажиотаж.., что разработчикам пришлось все выкинуть на помойку ((

А можно поподробнее узнать об этом? Знаю, что сейчас работает, а вот ранние разработки неизвестны, тем более - реализованные.

Темы на форуме, ссылки, может быть на каких платформах это было реализовано - если знаете, дайте почитать пожалуйста.

https://atomicwallet.io/
Был мультивалютным кошельком с встроенной поддержкой атомарных свопов. Теперь просто еще один стопицотый мультивалютный кошелек без атомарных свопов https://twitter.com/AtomicWallet/status/1195258877501161472?s=19

Ну и ваш покорный слуга кое-что пытался двинуть https://bitcointalk.org/index.php?topic=5053247.0
Тоже прекратил из-за никому ненужности.

FontSeli
Hero Member
*****
Offline Offline

Activity: 616
Merit: 579



View Profile
December 02, 2019, 10:50:19 AM
 #391

Те, которые пишутся не ради бабла, то пишутся по желанию. Не хочет писать - его право. Ну а вообще идея сделать такой сервис довольно интересная, но не скажу что очень уж простая, kzv здесь ошибается.

Я подумал что он сам знает правильный ответ.  Wink

А что, все пишут программы только для того чтобы иметь коммерческий успех? Тем более если там работы кот наплакал?

Просто эта задача не интересная ни в техническом плане ни в коммерческом. Только в теоретическом немного интересна.
В сто раз более интересная со всех сторон задача - децентрализованныей обменник на атомарных свопах согласитесь? Дак вот, эта задача тоже была неоднократно реализована разными людьми и вызвала такой ажиотаж.., что разработчикам пришлось все выкинуть на помойку ((

Дело ваше и только ваше. Тема интересная и востребованная и я думаю что востребованность будет только расти по мере того как люди будут осознавать, что как-то нужно будет передать свои криптовалюты наследникам.
johhnyUA
Legendary
*
Offline Offline

Activity: 1456
Merit: 1218


Crypto for the Crypto Throne!


View Profile
December 02, 2019, 06:48:50 PM
 #392

Скрипт собрал сам. А как иначе?

Ну я думал там OP_CHECKLOCKTIMEVERIFY, без сокращения. Тот же OP_CHECKEQUALVERIFY ведь полностью пишется. Я погуглил, пишут что часто OP_CLTV часто совмещается с другим скриптом, который возможно и вызывает непонятки и некорректную работу.

Bitcoin maximalist
Reinforce your privacy! List of bitcoin mixers. Use wassabi wallet or samurai wallet. And don't forget about PGP!
igor72
Hero Member
*****
Offline Offline

Activity: 644
Merit: 848


View Profile
December 02, 2019, 06:53:49 PM
 #393

Ну я думал там OP_CHECKLOCKTIMEVERIFY, без сокращения. Тот же OP_CHECKEQUALVERIFY ведь полностью пишется. Я погуглил, пишут что часто OP_CLTV часто совмещается с другим скриптом, который возможно и вызывает непонятки и некорректную работу.
Не, я в байтах сразу писал (b1 то есть, а не CLTV), а тот json выше мне Core выдал.
Balthazar
Legendary
*
Offline Offline

Activity: 2758
Merit: 1259


Worship the Eru


View Profile WWW
December 03, 2019, 01:34:38 AM
Merited by TechPriest (1)
 #394

В клиенте bitcoin core есть захардкоденный список шаблонов скриптов, которые считаются стандартными. По умолчанию клиент принимает в memory pool только транзакции, скрипты которых совпадают с одним из шаблонов в этом списке. Не используйте нестандартные скрипты. В противном случае вашу транзакцию надо будет ещё постараться подтвердить, если у вас нет прямого выхода на майнинговые мощности. Для этой цели давно придумали P2SH, пользуйтесь им и не будет проблем.


Eä developer (work in progress) | ETC.HVPPS.NET (100 GH/s, PoT) | EtherDig.Ru (DGM) | Подписные кампании == лизинг очка.
ETH/ETC: 0x8d35067233605bef6069191ae0922d134ff80d48 BTC: 33SFo5G24cp7ZKevuqc8xjKmKJyq5eWrvW
FontSeli
Hero Member
*****
Offline Offline

Activity: 616
Merit: 579



View Profile
December 03, 2019, 03:13:44 PM
 #395

В клиенте bitcoin core есть захардкоденный список шаблонов скриптов, которые считаются стандартными. По умолчанию клиент принимает в memory pool только транзакции, скрипты которых совпадают с одним из шаблонов в этом списке. Не используйте нестандартные скрипты. В противном случае вашу транзакцию надо будет ещё постараться подтвердить, если у вас нет прямого выхода на майнинговые мощности. Для этой цели давно придумали P2SH, пользуйтесь им и не будет проблем.



А как же фраза "мы не ищем легких путей"? Всегда когда скучно хочется поискать приключений на свою пятую точку.
igor72
Hero Member
*****
Offline Offline

Activity: 644
Merit: 848


View Profile
December 03, 2019, 08:49:18 PM
 #396

В клиенте bitcoin core есть захардкоденный список шаблонов скриптов, которые считаются стандартными. По умолчанию клиент принимает в memory pool только транзакции, скрипты которых совпадают с одним из шаблонов в этом списке. Не используйте нестандартные скрипты. В противном случае вашу транзакцию надо будет ещё постараться подтвердить, если у вас нет прямого выхода на майнинговые мощности.
Логично. Но я вот выше сделал какую-то непонятную транзакцию, и почему-то кор ее не отверг, принял. Особенно интересно, куда монеты улетели ))?
Quote
Для этой цели давно придумали P2SH, пользуйтесь им и не будет проблем.
А как пользоваться? Я этот вопрос всем задаю после подобных пожеланий, и никто не отвечает ).
Balthazar
Legendary
*
Offline Offline

Activity: 2758
Merit: 1259


Worship the Eru


View Profile WWW
December 04, 2019, 11:42:47 PM
Merited by xandry (1)
 #397

Логично. Но я вот выше сделал какую-то непонятную транзакцию, и почему-то кор ее не отверг, принял.
Потому что в тестнете нет проверки на соответствие шаблонам. Там принимаются любые возможные фантазии, без проверки.

Особенно интересно, куда монеты улетели ))?
Монеты вполне живы. Если у вас есть возможность исполнить условия, соответствие которым ожидает скрипт, то их трата не должна быть проблемой.

А как пользоваться? Я этот вопрос всем задаю после подобных пожеланий, и никто не отвечает ).
Ручками. Формат скриптов простейший, даже никаких инструментов не надо. Только прогнать decodescript для проверки, разве что. Если же аллергия на шестнадцатеричную систему счисления, то используйте инструменты вроде bcoin:

https://bcoin.io/guides/cltv.html

Там для всех нужных инструкций реализованы человекопонятные обертки. Пишете скрипт на JS и он потом вам соберет скрипт для транзакции, а если надо, то и саму транзакцию.
В общем, все как у эфирных пацанов.

Eä developer (work in progress) | ETC.HVPPS.NET (100 GH/s, PoT) | EtherDig.Ru (DGM) | Подписные кампании == лизинг очка.
ETH/ETC: 0x8d35067233605bef6069191ae0922d134ff80d48 BTC: 33SFo5G24cp7ZKevuqc8xjKmKJyq5eWrvW
igor72
Hero Member
*****
Offline Offline

Activity: 644
Merit: 848


View Profile
December 05, 2019, 03:42:28 PM
 #398

Логично. Но я вот выше сделал какую-то непонятную транзакцию, и почему-то кор ее не отверг, принял.
Потому что в тестнете нет проверки на соответствие шаблонам. Там принимаются любые возможные фантазии, без проверки.
Надо будет в основной сети то же самое сделать. Но странно, казалось бы тестовая сеть на то и тестовая, чтобы реагировать на "фантазии" так же, как и основная.
Quote
Особенно интересно, куда монеты улетели ))?
Монеты вполне живы. Если у вас есть возможность исполнить условия, соответствие которым ожидает скрипт, то их трата не должна быть проблемой.
Ну хорошо, допустим, что условия я смогу исполнить. Меня интересует для начала, на какой адрес монеты ушли? Как это узнать?
Quote
А как пользоваться? Я этот вопрос всем задаю после подобных пожеланий, и никто не отвечает ).
Ручками. Формат скриптов простейший, даже никаких инструментов не надо. Только прогнать decodescript для проверки, разве что. Если же аллергия на шестнадцатеричную систему счисления, то используйте инструменты вроде bcoin
Ручками я могу сделать скрипт, закодировать его в P2SH-адрес, даже создать тратящую с этого адреса выход транзакцию. Но как ручками эту тратящую транзакцию подписать, вы знаете? Чтобы без программирования. Аллергии на шестнадцатеричную систему у меня нет, я не боюсь командной строки, но с программированием знаком только на уровне написания простых батников (то есть практически никак).
Balthazar
Legendary
*
Offline Offline

Activity: 2758
Merit: 1259


Worship the Eru


View Profile WWW
December 05, 2019, 04:56:42 PM
Merited by igor72 (2), Ratimov (1)
 #399

Надо будет в основной сети то же самое сделать. Но странно, казалось бы тестовая сеть на то и тестовая, чтобы реагировать на "фантазии" так же, как и основная.
Тут палка о двух концах. Если в тестнете сделать так же, как в основной, то разработчики не смогут придумывать и тестировать новые варианты шаблонов. Если же в основной сделать, как в тестовой, то откроется потенциальный вектор для DoS атак. Потому что в биткойне нет механизма определения стоимости процессорного времени, как в той же Ethereum.

Ну хорошо, допустим, что условия я смогу исполнить. Меня интересует для начала, на какой адрес монеты ушли? Как это узнать?
Ни на какой, адресов никаких не существует и вопрос об адресе не имеет смысла. Адреса - это абстракция, физически никаких адресов в сети биткойна нет. Отправка монет на некий "адрес" лишь означает, что клиент возьмет захардкоденный шаблон скрипта и создаст транзакцию с его использованием. И для траты юзер должен будет предоставить этому скрипту некие данные, которые в случае легаси адреса являются публичным ключом и подписью.

Трата монет, отправленных на некий "адрес" технически ничем не отличается от таковой для монет, отправленных на ваш скрипт, составленный вручную. Если же конкретнее, то вашему скрипту нужно будет предоставить в качестве входных данных публичный ключ и подпись транзакции соответствующим ему приватным ключом. Потому что при выполнении условия по локтайму скрипт полностью эквивалентен стандартному OP_DUP OP_HASH160 587b00fb2cb23745a5fad03e414c841b00290af9 OP_EQUALVERIFY OP_CHECKSIG. Можно считать, что вы отправили их на адрес 194qpLZL9RiVoVcfaooubuHPBYrjynaAne или соответствующий ему адрес в тестнете, хоть на самом деле это и не так.

Ручками я могу сделать скрипт, закодировать его в P2SH-адрес, даже создать тратящую с этого адреса выход транзакцию. Но как ручками эту тратящую транзакцию подписать, вы знаете? Чтобы без программирования.
Конечно знаю, и никакого программирования не надо. Если хотите, покажу пример в реальном битке, чуть попозже сочиню скрипт. И сделаю транзакции для демонстрации.

Eä developer (work in progress) | ETC.HVPPS.NET (100 GH/s, PoT) | EtherDig.Ru (DGM) | Подписные кампании == лизинг очка.
ETH/ETC: 0x8d35067233605bef6069191ae0922d134ff80d48 BTC: 33SFo5G24cp7ZKevuqc8xjKmKJyq5eWrvW
igor72
Hero Member
*****
Offline Offline

Activity: 644
Merit: 848


View Profile
December 05, 2019, 05:50:49 PM
 #400

Ну хорошо, допустим, что условия я смогу исполнить. Меня интересует для начала, на какой адрес монеты ушли? Как это узнать?
Ни на какой, адресов никаких не существует и вопрос об адресе не имеет смысла. Адреса - это абстракция, физически никаких адресов в сети биткойна нет.
Да, действительно, это я не подумав спросил ). При создании транзакции нужно же просто знать txid предыдущей и номер выхода.
Quote

Ручками я могу сделать скрипт, закодировать его в P2SH-адрес, даже создать тратящую с этого адреса выход транзакцию. Но как ручками эту тратящую транзакцию подписать, вы знаете? Чтобы без программирования.
Конечно знаю, и никакого программирования не надо. Если хотите, покажу пример в реальном битке, чуть попозже сочиню скрипт. И сделаю транзакции для демонстрации.
Отлично, буду ждать.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!