Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
21 августа 2017, 11:15:13 AM   # 1
 
 
Сообщения: 406
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Здравствуй,

Я бег сервиса, который принимает вклады пользователей и отправляет изъятия. Я использую Bitcoin Ядро для кошелька.

Я хотел бы пойти на полную Segwit с моей службой, но вот проблема: bitcoind бумажник не генерирует адреса изменений P2SH-P2WPKH (Segwit) по умолчанию. Так что даже если я произвожу P2SH-P2WPKH адреса принимать депозиты от своих пользователей с помощью addwitnessaddress, всякий раз, когда я отправляю монеты, изменение будет адрес P2PKH.

Я мог бы вручную создать изменения адреса P2SH-P2WPKH по (в псевдокод):

Код:
Тх = createrawtransaction ([], количество)
chaddr = getrawchangeaddress ()
chaddr = addwitnessaddress (chaddr) # это создает P2SH-P2WPKH адрес из адреса изменений P2PKH
# Теперь финансировать сделку
Тх = fundrawtransaction (ТХ, changeAddress: chaddr) [ 'шестигранной']
Тх = signrawtransaction (ТХ) [ 'шестигранной']
sendrawtransaction (ТХ)

Нет дело в том, addwitnessaddress (chaddr) ломает вещи немного, так как результирующий адрес добавляется к учетной записи адреса, и не помечен как адрес изменения. Поэтому он используется как обычный адрес счета и генерирует отправку / прием сделок. Похоже, что ничего не нарушал, за исключением создания дополнительных операций, возвращаемые listtransactions и неточные "количество" поля.

Таким образом, решение, которое я бы очень хотелось, чтобы увидеть это:

1. сделать бумажник генерировать segwit адреса изменения сам по себе, так что мы можем просто использовать sendtoaddress и другие RPC вызовы без обходных путей (возможно, вариант в конфигурации?),
2. каким-то образом сделать адрес в результате addwitnessaddress (chaddr) в качестве адреса изменения,
3. или разрешить getrawchangeaddress генерировать P2SH-P2WPH адрес в первую очередь.

Очевидно (1) было бы гораздо лучше, но в данный момент я ищу любое решение, которое будет "просто работай" и не нарушу рабочий процесс.

Приветствия и спасибо,
Итан
ethan_nx сейчас офлайн Пожаловаться на ethan_nx   Ответить с цитированием Мультицитирование сообщения от ethan_nx Быстрый ответ на сообщение ethan_nx


Как заработать Биткоины?
Без вложений. Не майнинг.


21 августа 2017, 4:17:50 PM   # 2
 
 
Сообщения: 154
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Получил 1806 Биткоинов
Реальная история.






amaclin1 сейчас офлайн Пожаловаться на amaclin1   Ответить с цитированием Мультицитирование сообщения от amaclin1 Быстрый ответ на сообщение amaclin1

21 августа 2017, 4:34:40 PM   # 3
 
 
Сообщения: 406
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Спасибо за ссылку. Но на самом деле это обсуждение не достичь каких-либо выводов. Мой случай использования прост: я с помощью Bitcoin Сердечник как бумажник, и я хочу, чтобы извлечь выгоду из Segwit адресов. Поскольку Bitcoin ядром является Bitcoin кошелек, он должен каким-то образом помочь своим пользователям перейти на Segwit установок.

Эта проблема становится все более распространенной в ближайшие дни, когда люди понимают, что это не так просто в использовании Segwit.

Я знаю, что первоначальное обоснование не позволяет Segwit адреса по умолчанию, чтобы защитить частную жизнь, но перестань, это не должно быть трудно использовать Bitcoin Сердечник как 100% Segwit бумажник.
ethan_nx сейчас офлайн Пожаловаться на ethan_nx   Ответить с цитированием Мультицитирование сообщения от ethan_nx Быстрый ответ на сообщение ethan_nx

31 августа 2017, 11:18:49 AM   # 4
 
 
Сообщения: 995
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

+1, необходимо простое решение перейти на segwit адреса.
пианист сейчас офлайн Пожаловаться на пианист   Ответить с цитированием Мультицитирование сообщения от пианиста Быстрый ответ на сообщение пианист

31 августа 2017, 2:34:40 PM   # 5
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

1. сделать бумажник генерировать segwit адреса изменения сам по себе, так что мы можем просто использовать sendtoaddress и другие RPC вызовы без обходных путей (возможно, вариант в конфигурации?),
Это прорабатывается для следующей версии ядра (после 0.15.0). Это, вероятно, будет небольшой релиз.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

31 августа 2017, 5:18:32 PM   # 6
 
 
Сообщения: 995
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

1. сделать бумажник генерировать segwit адреса изменения сам по себе, так что мы можем просто использовать sendtoaddress и другие RPC вызовы без обходных путей (возможно, вариант в конфигурации?),
Это прорабатывается для следующей версии ядра (после 0.15.0). Это, вероятно, будет небольшой релиз.

либо анонсы от ядра?

Конечно, мы можем вручную создать сырые сделки, но это не является хорошим решением
пианист сейчас офлайн Пожаловаться на пианист   Ответить с цитированием Мультицитирование сообщения от пианиста Быстрый ответ на сообщение пианист

31 августа 2017, 5:30:33 PM   # 7
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

либо анонсы от ядра?
Нет, не сейчас. Этот тип материала не объявляется заранее, это просто происходит, и идет в пресс-релизе, который затем объявил. Однако мы активно обсуждаем это в GitHub реципиентов и проблем, связанных с добавлением дополнительной функциональности segwit бумажника и на IRC.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

31 августа 2017, 8:27:08 PM   # 8
 
 
Сообщения: 995
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

либо анонсы от ядра?
Нет, не сейчас. Этот тип материала не объявляется заранее, это просто происходит, и идет в пресс-релизе, который затем объявил. Однако мы активно обсуждаем это в GitHub реципиентов и проблем, связанных с добавлением дополнительной функциональности segwit бумажника и на IRC.

Вы можете дать некоторые ссылки на это обсуждение?
 Я хотел бы прочитать / присоединиться
пианист сейчас офлайн Пожаловаться на пианист   Ответить с цитированием Мультицитирование сообщения от пианиста Быстрый ответ на сообщение пианист

31 августа 2017, 8:54:12 PM   # 9
 
 
Сообщения: 555
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

1. сделать бумажник генерировать segwit адреса изменения сам по себе, так что мы можем просто использовать sendtoaddress и другие RPC вызовы без обходных путей (возможно, вариант в конфигурации?),
Это прорабатывается для следующей версии ядра (после 0.15.0). Это, вероятно, будет небольшой релиз.
Вы в этом уверены? Я слышал комментарии, что это не по умолчанию 0,15
Вы все еще должны использовать командную строку
miguelmorales85 сейчас офлайн Пожаловаться на miguelmorales85   Ответить с цитированием Мультицитирование сообщения от miguelmorales85 Быстрый ответ на сообщение miguelmorales85

31 августа 2017, 9:04:16 PM   # 10
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Вы можете дать некоторые ссылки на это обсуждение?
 Я хотел бы прочитать / присоединиться
Много это происходит в # Bitcoin-ядро-Dev канала на IRC, как правило, во время еженедельных встреч Дев (каждый четверг в 19:00 по Гринвичу).

Вы в этом уверены? Я слышал комментарии, что это не по умолчанию 0,15
Вы все еще должны использовать командную строку
Это верно. Вот почему я сказал "после того, как 0.15.0" а также "Это, вероятно, будет небольшой релиз" (Подсказка: 0.15.0 не минорный релиз).
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

1 сентября 2017, 1:29:14 PM   # 11
 
 
Сообщения: 205
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Это имело бы смысл, чтобы включить его в качестве опции конфигурации.
changeAddressType = P2PKH, P2SH-P2PK, P2SH-P2WPKH
Таким образом, пользователи могут выбрать, какой тип адреса изменений они хотят.
Casimir1904 сейчас офлайн Пожаловаться на Casimir1904   Ответить с цитированием Мультицитирование сообщения от Casimir1904 Быстрый ответ на сообщение Casimir1904

3 сентября 2017, 7:15:55 AM   # 12
 
 
Сообщения: 560
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Даже я с нетерпением жду этого. Я думал, что segwit поддержка в ядре означало это уже работает.

Это имело бы смысл, чтобы включить его в качестве опции конфигурации.
changeAddressType = P2PKH, P2SH-P2PK, P2SH-P2WPKH
Таким образом, пользователи могут выбрать, какой тип адреса изменений они хотят.

Это имеет смысл, по умолчанию может быть P2SH-P2WPKH
btc_enigma сейчас офлайн Пожаловаться на btc_enigma   Ответить с цитированием Мультицитирование сообщения от btc_enigma Быстрый ответ на сообщение btc_enigma

4 сентября 2017, 1:18:24 PM   # 13
 
 
Сообщения: 406
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Я только что включил полную поддержку Segwit в YOLOdice. Я использую код из моего первого поста, чтобы генерировать segwit адреса изменений и, кажется, работает хорошо. Единственное, что я добавил был глобальный замок, так что никакие два процесса не создают вывод - это, чтобы избежать состояния гонки при использовании fundrawtransaction.

Как я уже говорил ранее, этот метод имеет один недостаток - она ​​создает дополнительные записи, возвращаемые "listtransactions" и дополнительный вход для "gettransaction" детали, потому что выход изменение рассматривается как 1-й передачи класса в настоящее время.

Во всяком случае, это работает для меня найти. Мое объяснение, чтобы рано на segwit победившего в основном для снижения сборов.

Ура,
Итан
ethan_nx сейчас офлайн Пожаловаться на ethan_nx   Ответить с цитированием Мультицитирование сообщения от ethan_nx Быстрый ответ на сообщение ethan_nx

4 сентября 2017, 3:00:33 PM   # 14
 
 
Сообщения: 560
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Привет Этан,

котировка
Тх = fundrawtransaction (ТХ, changeAddress: chaddr) [ 'шестигранной']

Мне очень нравится, как вы использовали fundrawtransaction с segwitchange адрес

Вы можете дать некоторые ссылки на это обсуждение?
 Я хотел бы прочитать / присоединиться
Много это происходит в # Bitcoin-ядро-Dev канала на IRC, как правило, во время еженедельных встреч Дев (каждый четверг в 19:00 по Гринвичу).

Вы в этом уверены? Я слышал комментарии, что это не по умолчанию 0,15
Вы все еще должны использовать командную строку
Это верно. Вот почему я сказал "после того, как 0.15.0" а также "Это, вероятно, будет небольшой релиз" (Подсказка: 0.15.0 не минорный релиз).

achow, у вас есть какие-либо идеи о сроках этого минорного релиза? Если потребуются более двух месяцев, я мог бы также использовать решение Итана (хочу срочно уменьшить плату ОЙ справа)
btc_enigma сейчас офлайн Пожаловаться на btc_enigma   Ответить с цитированием Мультицитирование сообщения от btc_enigma Быстрый ответ на сообщение btc_enigma

4 сентября 2017, 9:30:25 PM   # 15
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

achow, у вас есть какие-либо идеи о сроках этого минорного релиза? Если потребуются более двух месяцев, я мог бы также использовать решение Итана (хочу срочно уменьшить плату ОЙ справа)
Там нет ETA для минорного релиза.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

6 сентября 2017, 11:54:25 AM   # 16
s2
 
 
Сообщения: 141
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Привет Этан,
Спасибо за разделение этого. Вы могли бы предложить другим следовать по вашим стопам или вы могли бы предложить подождать, пока ядро ​​не имеет незначительное обновление, которое включает в себя адреса изменения segwit?
То есть есть ли очевидный риск для ее реализации, как вы сделали?
s2 сейчас офлайн Пожаловаться на s2   Ответить с цитированием Мультицитирование сообщения от s2 Быстрый ответ на сообщение s2

11 сентября 2017, 10:48:17 PM   # 17
 
 
Сообщения: 205
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

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


Я не буду предлагать делать такие изменения, если вы не в полной мере понять, что вы делаете.
Я также жду поддержки различных типов адреса в качестве адреса изменения (предпочитаемого конфигурируемых и не заботится, что по умолчанию).
Casimir1904 сейчас офлайн Пожаловаться на Casimir1904   Ответить с цитированием Мультицитирование сообщения от Casimir1904 Быстрый ответ на сообщение Casimir1904

12 сентября 2017, 5:15:24 AM   # 18
 
 
Сообщения: 154
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Я также жду поддержки различных типов адреса в качестве адреса изменения
что относительно данных носителя (OP_RETURN) адреса типа для изменения? 
amaclin1 сейчас офлайн Пожаловаться на amaclin1   Ответить с цитированием Мультицитирование сообщения от amaclin1 Быстрый ответ на сообщение amaclin1

14 ноября 2017, 3:51:40 PM   # 19
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

Здравствуй,

Я бег сервиса, который принимает вклады пользователей и отправляет изъятия. Я использую Bitcoin Ядро для кошелька.

Я хотел бы пойти на полную Segwit с моей службой, но вот проблема: bitcoind бумажник не генерирует адреса изменений P2SH-P2WPKH (Segwit) по умолчанию. Так что даже если я произвожу P2SH-P2WPKH адреса принимать депозиты от своих пользователей с помощью addwitnessaddress, всякий раз, когда я отправляю монеты, изменение будет адрес P2PKH.

Я мог бы вручную создать изменения адреса P2SH-P2WPKH по (в псевдокод):

Код:
Тх = createrawtransaction ([], количество)
chaddr = getrawchangeaddress ()
chaddr = addwitnessaddress (chaddr) # это создает P2SH-P2WPKH адрес из адреса изменений P2PKH
# Теперь финансировать сделку
Тх = fundrawtransaction (ТХ, changeAddress: chaddr) [ 'шестигранной']
Тх = signrawtransaction (ТХ) [ 'шестигранной']
sendrawtransaction (ТХ)

Нет дело в том, addwitnessaddress (chaddr) ломает вещи немного, так как результирующий адрес добавляется к учетной записи адреса, и не помечен как адрес изменения. Поэтому он используется как обычный адрес счета и генерирует отправку / прием сделок. Похоже, что ничего не нарушал, за исключением создания дополнительных операций, возвращаемые listtransactions и неточные "количество" поля.

Таким образом, решение, которое я бы очень хотелось, чтобы увидеть это:

1. сделать бумажник генерировать segwit адреса изменения сам по себе, так что мы можем просто использовать sendtoaddress и другие RPC вызовы без обходных путей (возможно, вариант в конфигурации?),
2. каким-то образом сделать адрес в результате addwitnessaddress (chaddr) в качестве адреса изменения,
3. или разрешить getrawchangeaddress генерировать P2SH-P2WPH адрес в первую очередь.

Очевидно (1) было бы гораздо лучше, но в данный момент я ищу любое решение, которое будет "просто работай" и не нарушу рабочий процесс.

Приветствия и спасибо,
Итан

Спасибо за этот код Этан. Удалось ли вам сделать это с sendmany, а?

И что-нибудь еще. Когда вы платите, изменение возвращается в устаревшем адрес (1 ...). Что делать, если вы добавляете с addwitnessaddress адрес SegWit к этому новому адресу изменения Наследство? Будет ли баланс на вновь созданный адрес segwit быть таким же, как адрес изменения Наследство? Если да, то при оплате снова из кошелька, будет бумажник использовать адрес изменения Наследства или адрес segwit в качестве входных данных? Существуют ли какие-либо риски, с созданием адреса segwit для унаследованного адреса, который имеет баланс на нем?
Columbo сейчас офлайн Пожаловаться на Columbo   Ответить с цитированием Мультицитирование сообщения от Columbo Быстрый ответ на сообщение Columbo

20 ноября 2017, 11:40:29 AM   # 20
 
 
Сообщения: 1183
Цитировать по имени
цитировать ответ
по умолчанию Re: P2SH-P2WPKH (Segwit) изменение адреса в Bitcoin Ядра - как?

P2SH-P2WPKH адрес предназначен, чтобы позволить пользователям создавать segwit utxos с их (BIP16 поддержкой) текущим кошельком.
Мы все должны стремиться к родной (Bech32) P2WPKH адреса.
Только электрума 3.0 в настоящее время поддерживает их.
Я понимаю, что эта функция будет объединена в ближайшее время на Bitcoin Core.
Boussac сейчас офлайн Пожаловаться на Boussac   Ответить с цитированием Мультицитирование сообщения от Boussac Быстрый ответ на сообщение Boussac



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW