Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
2 июля 2015, 10:28:53 AM   # 1
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

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


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

Когда двигатель сценарий читает OP_RETURNTRUE, он будет оценивать сценарий, как действует немедленно, независимо от того, что произойдет после этого.

OP_RETURNTRUE является "без нажима код OP" в BIP62. Ввод голой (не P2SH) OP_RETURNTRUE в scriptSig немедленно аннулирует сценарий.

Мы можем иметь OP_RETURNTRUE1, OP_RETURNTRUE2, OP_RETURNTRUE3 и т.д. до тех пор, как у нас есть достаточно неприсвоенный кода OP.

------------

OP_RETURNTRUE полезно, если мы хотим, чтобы ввести новый код OP манипулировать акции. Например, если мы хотим, чтобы вновь ввести OP_CAT, не представляется возможным сделать это с OP_NOP, поскольку он не позволяет перезапись содержимого пакета акций. В настоящее время единственным способом представить OP_CAT является новой версией P2SH.

С OP_RETURNTURE, мы можем непосредственно переопределить его как OP_CAT, и он будет инструктировать сценарий Concat 2 верхних кольев пунктов. Так как новый OP_CAT не возвращает истинное непосредственно, это должно быть softfork по определению.

Можно даже переопределить эти неиспользуемые OP_NOPs в OP_RETURNTUREs. Поскольку OP_RETURNTURE может сделать все, что OP_NOP может сделать. (Мы можем превратить OP_RETURNTURE в OP_NOP с softfork, например)

-------------

Если это OP_RETURNTURE напоминает нам кошмар CVE-2010-5141 (http://bitcoin.stackexchange.com/questions/25225/what-was-the-vulnerability-in-v0-3-4-that-allowed-an-attacker-to-steal-coins), Я хотел бы предложить, чтобы превратить эти нераспределенные коды OP в OP_NOPs (все еще в hardfork). Он отложит потребность с использованием двойных байт OP кодов

-------------

EDIT (2015-сентябрь-1): Это может быть softfork, если положить его в "P3SH", Это позволит перенести потребности иметь новую версию P2SH каждый раз, когда мы хотим новый стек манипулирует код OP.
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012


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


2 июля 2015, 11:11:41 AM   # 2
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

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





Существуют ли какие-либо дела с этим опкодом, которые мы не можем выполнить с текущими сценариями?

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

2 июля 2015, 11:29:45 AM   # 3
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Я не думаю, что это стоит трудной вилки, но это интересная идея.  

Было бы полезно, если бы половина NOPS были "ничего не делать" и половина из них "вернуться в силе", Я предполагаю, что это правило было бы, что OP_RETURNTRUE не будет разрешена в sigScript.

Если небольшой набор жестких вилок с низким уровнем риска может быть объединен вместе, то, возможно, все они могут быть реализованы в виде одного омнибуса жесткой вилки.

Они должны быть низкого риска, вызывающих ошибки и без прерывания работы. Без прерывания работы означает, что он не изменяет баланс мощности системы.  

В соответствии с этим определением, изменение размера блока будет разрушительным, так как он смещает равновесие между запасом стоимости и сторонниками объема транзакций (или вне цепи против сторонников сделки по-цепи).

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

В списке Фиксирование "охлаждает один" ошибка была предложена в качестве жесткой вилки, который стоил фиксации.

Я думаю, что добавление дополнительного заголовка будет стоит делать.

aux_header_hash = Хеш (заголовок [80: N-1])

block_merkle_root = Hash (transaction_merkle_root | aux_header_hash)

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

Это означает, что добавление полого заголовок Окса требует мягкой вилки.

Это может быть использовано для различных обязательств, UTXO набор и сумма деревьев.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

2 июля 2015, 11:48:53 AM   # 4
 
 
Сообщений: 11
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Hard разветвление Bitcoin является сложным процессом, требующим значительных затрат с точки зрения обсуждения с населением, и тестирование (в частности, переход на hardfork). Функциональные возможности, предоставляемые этой опкодом, как представляется, эзотерическая в лучшем случае (если я что-то не хватает?), Так что я не думаю, что это стоит. (Хорошая вещь об этом: он не должен быть спорным). Это может быть целесообразно для сценариев ориентированы боковой цепи однако.
БТСЭ сейчас офлайн Пожаловаться на БТСЭ   Ответить с цитированием Мультицитирование сообщения от БТСЭ Быстрый ответ на сообщение БТСЭ

2 июля 2015, 12:02:47 PM   # 5
 
 
Сообщения: 983
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Hard разветвление Bitcoin является сложным процессом, требующим значительных затрат с точки зрения обсуждения с населением, и тестирование (в частности, переход на hardfork). Функциональные возможности, предоставляемые этой опкодом, как представляется, эзотерическая в лучшем случае (если я что-то не хватает?), Так что я не думаю, что это стоит. (Хорошая вещь об этом: он не должен быть спорным). Это может быть целесообразно для сценариев ориентированы боковой цепи однако.

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

2 июля 2015, 12:32:55 PM   # 6
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Существуют ли какие-либо дела с этим опкодом, которые мы не можем выполнить с текущими сценариями?



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

Возьмите BIP65 CLTV в качестве примера. В настоящее время он занимает 2 байта: OP_CLTV OP_DROP. Если бы мы имели OP_RETURNTRUE, только 1 байт достаточно.

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

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

2 июля 2015, 12:48:18 PM   # 7
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Существуют ли какие-либо дела с этим опкодом, которые мы не можем выполнить с текущими сценариями?

Технически нет, потому что вы всегда можете ввести новую версию P2SH, но с OP_RETURNTRUE вещь становится более эффективной
Возьмите BIP65 CLTV в качестве примера. В настоящее время он занимает 2 байта: OP_CLTV OP_DROP. Если бы мы имели OP_RETURNTRUE, только 1 байт достаточно.
Как Вы хотите изменить "OP_CLTV OP_DROP" к одному "OP_RETURNTRUE"? Пожалуйста, напишите USECASE.

Во всяком случае, вы хотите, чтобы сэкономить пару байт в нескольких операциях?
Я не вижу существенных причин здесь hardfork и изменения скриптов.
Есть много возможностей, чтобы сэкономить пару байт в каждой транзакции (например, DER-кодирующей подпись занимает 72 байт, но мы можем кодировать до 64)
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

2 июля 2015, 2:18:05 PM   # 8
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Как Вы хотите изменить "OP_CLTV OP_DROP" к одному "OP_RETURNTRUE"? Пожалуйста, напишите USECASE.

Его предложение заключается в добавлении некоторых OP_RETURNTRUE опкодов.

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

  • 186: OP_RETURNTRUE1
  • 187: OP_RETURNTRUE2
  • ...
  • 195: OP_RETURNTRUE10

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

Это означает, что вы можете добавить новые функции, которые делают почти все.

Пример, приведенный был OP_CAT. Это означает, что взять 2 верхних элементов в стеке и объединить их в единый массив.

Выход может быть создан с помощью следующей scriptPubKey.

Код:
OP_CAT [00_01_02_03_04_05_06_07] OP_EQUAL

Для того, чтобы провести это нужно нажать два массива в стек, что сцепить в данном массиве. Вы можете нажать два 4 байтовые массивы.

Код:
[04_05_06_07] [00_01_02_03]

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

В примере, OP_CAT только из OP_RETURNTRUE опкодов. ILd узлы будут видеть, как scriptPubKey

Код:
OP_RETURNTRUE1 [00_01_02_03_04_05_06_07] OP_EQUAL

Когда они обрабатывают транзакции, они будут первые раздвинуть два четыре байта массива в стек, а затем выполнить scriptPubKey. Первый опкод говорит возвращает истину, так что они будут принимать сценарий как действительные.

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

2 июля 2015, 2:42:26 PM   # 9
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Если старый узел попадает один из этих кодов операций, он просто говорит, "Я не понимаю, это опкод, так что будет принимать сценарий",
Таким образом, он может быть использован против старых узлов (особенно рудничные узлов)

scriptPubkey:
Код:
OP_CAT [00_01_02_03_04_05_06_07] OP_EQUAL
искупительная сценарий:
Код:
(Пусто)
оценивается старый узел как `true` из-за OP_RETURNTRUE1

Я до сих пор не понимаю проблемы, которую вы пытаетесь решить с новым поведением опкодов.


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

2 июля 2015, 3:02:46 PM   # 10
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Таким образом, он может быть использован против старых узлов (особенно рудничные узлов)

Правильно. То есть, как работают мягкие вилки.

Порог 95%, чтобы убедиться, (почти) все шахтеры модернизированы. 

После того, как 95% шахтеров согласны, они будут отвергать любые сделки / блок, который нарушает новые правила.

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

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

Если они хотят, чтобы подтвердить все транзакции сами, то они должны обновить.

Устаревшие узлы не должны фактически использовать новые опкоды. Если сделка не имеет новые опкодов, то он работает так же, как и предыдущие.

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

котировка
Я до сих пор не понимаю проблемы, которую вы пытаетесь решить с новым поведением опкодов.

Это позволить мягкой вилки, чтобы добавить новые функции. Если старые узлы попали те опкоды, они просто принять сделку. 

Это означает, что вы можете добавить все, что вы хотите.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

2 июля 2015, 3:20:31 PM   # 11
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

котировка
Я до сих пор не понимаю проблемы, которую вы пытаетесь решить с новым поведением опкодов.

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

Не я, но большинство hashpower.
Но большинство может делать все, что когда.
Большинство не может быть остановлена ​​любым правило, изменения протокола и hardfork риска.
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

2 июля 2015, 4:06:02 PM   # 12
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Не я, но большинство hashpower.

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

котировка
Но большинство может делать все, что когда.
Большинство не может быть остановлена ​​любым правило, изменения протокола и hardfork риска.

Мягкая вилка уже может быть использована для изменения языка сценариев. Мягкая вилка может быть добавлена ​​требовать все выходы использовать что-то вроде P2SH, но с совершенно новыми правилами.

Есть предложения по "P3SH" который добавляет новые правила sighash и тому "МАСТ" система, которая позволяет Merkle деревьев, которые будут использоваться для определения новых выходных сценариев.

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

2 июля 2015, 4:20:14 PM   # 13
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Ну правильно. Я имел в виду, что новые функции могут быть добавлены без другой жесткой вилки.
ОК. Вы говорите, что что-то hardfork "Плохо", Было бы лучше использовать softforks вместо этого hardforks.
Правильно?
Таким образом, решение: давайте создадим один большой hardfork теперь для нескольких будущих улучшений вместо нескольких будущих hardforks.
Но я сомневаюсь: это одна большая hardfork лучше, чем несколько маленьких?
Я не вижу никакой разницы в целом.

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

2 июля 2015, 5:11:48 PM   # 14
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Не я, но большинство hashpower.

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

котировка
Но большинство может делать все, что когда.
Большинство не может быть остановлена ​​любым правило, изменения протокола и hardfork риска.

Мягкая вилка уже может быть использована для изменения языка сценариев. Мягкая вилка может быть добавлена ​​требовать все выходы использовать что-то вроде P2SH, но с совершенно новыми правилами.

Есть предложения по "P3SH" который добавляет новые правила sighash и тому "МАСТ" система, которая позволяет Merkle деревьев, которые будут использоваться для определения новых выходных сценариев.

Эта система позволила бы новым опкодам быть добавлены в более чистой форме. Узлы, которые не понимают опкоды бы просто принять сценарий.

Если иметь в hardfork слишком страшно, мы можем ввести OP_RETURNTRUE с P3SH softfork.
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

2 июля 2015, 5:28:16 PM   # 15
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

Как Вы хотите изменить "OP_CLTV OP_DROP" к одному "OP_RETURNTRUE"? Пожалуйста, напишите USECASE.

Его предложение заключается в добавлении некоторых OP_RETURNTRUE опкодов.

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

  • 186: OP_RETURNTRUE1
  • 187: OP_RETURNTRUE2
  • ...
  • 195: OP_RETURNTRUE10

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

Это означает, что вы можете добавить новые функции, которые делают почти все.

Пример, приведенный был OP_CAT. Это означает, что взять 2 верхних элементов в стеке и объединить их в единый массив.

Выход может быть создан с помощью следующей scriptPubKey.

Код:
OP_CAT [00_01_02_03_04_05_06_07] OP_EQUAL

Для того, чтобы провести это нужно нажать два массива в стек, что сцепить в данном массиве. Вы можете нажать два 4 байтовые массивы.

Код:
[04_05_06_07] [00_01_02_03]

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

В примере, OP_CAT только из OP_RETURNTRUE опкодов. ILd узлы будут видеть, как scriptPubKey

Код:
OP_RETURNTRUE1 [00_01_02_03_04_05_06_07] OP_EQUAL

Когда они обрабатывают транзакции, они будут первые раздвинуть два четыре байта массива в стек, а затем выполнить scriptPubKey. Первый опкод говорит возвращает истину, так что они будут принимать сценарий как действительные.

Ключевым моментом является то, что они позволяют мягкие вилки иметь опкоды с любой функциональностью. Если старый узел попадает один из этих кодов операций, он просто говорит, "Я не понимаю, это опкод, так что будет принимать сценарий",

Благодарю. Я хотел бы показать его OP_CLTV

В BIP65, OP_NOP2 переопределена как OP_CLTV. Простой CLTV scriptPubKey будет выглядеть так:

Код:
<высота> OP_CLTV OP_DROP <Публичных> OP_CHECKSIG

Для модернизированных узлов, OP_CLTV проверит больше, чем Locktime <высота>, Если нет, то скрипт не сразу. Если да, то OP_CLTV не будет делать ничего, и OP_DROP упадет <высота> из стека, и OP_CHECKSIG проверит подпись.

Для старых узлов, OP_CLTV просто OP_NOP2 и игнорируется. Он будет падать <высота> и проверки подписи.

Поскольку новое правило является более жестким, чем старая, это softfork.

-----------------------

С OP_RETURNTRUE, то scriptPubKey бы стать:

Код:
<высота> OP_CLTV <Публичных> OP_CHECKSIG

Для модернизированных узлов, OP_CLTV проверит больше, чем Locktime <высота>, Если нет, то скрипт не сразу. Если да, то OP_CLTV упадет <высота> из стека, и OP_CHECKSIG проверит подпись.

Для старых узлов, OP_CLTV просто OP_RETURNTRUE автоматически объявляет сценарий действительным.

Опять же, так как новое правило является более жестким, чем старая, это softfork.

----------------------

Разница может быть не очевидно на примере OP_CLTV. Но для OP_CAT, это не возможно, просто переосмысление OP_NOP 
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

2 июля 2015, 7:50:07 PM   # 16
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: (Несвязанной блокировать размер) Hardfork / P3SH предложение: OP_RETURNTRUE

С OP_RETURNTRUE, то scriptPubKey бы стать:

Код:
<высота> OP_CLTV <Публичных> OP_CHECKSIG

Как несовершеннолетнему в сторону, это может быть лучше использовать следующие

Код:
<Публичных> OP_CHECKSIGVERIFY <высота> OP_CLTV

Это означает, что старые узлы будут еще проверить подпись. Если подпись не так, это не удается из-OP_CHECKSIGVERIFY.

Затем он проверяет Locktime и старые узлы просто предположим, что Locktime ОК.

Это не критично, хотя, предположение о том, что мягкая вилка безопасна благодаря >95% минер принятие.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW