Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
1 октября 2011, 4:56:47 PM   # 1
 
 
Сообщений: 43
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Таким образом, текущий протокол Bitcoin позволяет отправителям прикрепить (ограниченный, не Тьюринг-полный) скрипт для монет они послали - см https://en.bitcoin.it/wiki/Script. Это означает, что, учитывая поддержку клиента, я мог взять мои монеты и отправить их таким образом, что несколько ключей требовались, чтобы разблокировать их; Я мог бы держать эти ключи на разных компьютерах, для обеспечения безопасности. Или, возможно, я в организациях, которая требует большинства членов совета директоров, так что требуется минимальное количество различных подписей, или что-то сложное, как это. В настоящее время клиент Bitcoin не поддерживает эти вещи, но протокол делает, так что эти функции могут быть введены ненавязчиво. Эта система сценариев довольно прохладно, и, с немного больше работы и несколько расширений, я думаю, что это может позволить некоторые довольно удивительные функции безопасности. С помощью онлайн-сервисов бумажнике, чтобы добавить функции работал плохо до сих пор, строя функции безопасности на blockchain кажется, правильной стратегии.

Но предположим, что вы хотите опубликовать tipjar адрес, и требует два ключа, чтобы разблокировать любые биткойны посланные к этому. К сожалению, это не будет работать, потому что отправители не собираются прикрепить сценарий к монетам, которые они посылают; и если вы хотите, чтобы инструктировать отправители прикрепить сценарий, то не было бы простой способ сделать это, потому что формат Bitcoin адрес не поддерживает такого рода вещи. Я бы получить монеты в обычный одноключевой адрес, а затем направить их вместе на два ключа адрес, в результате чего окна между получением и экспедированием, во время которого кто-то украл один ключ может украсть мои монеты.

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

Это также, кажется, как правильно обрабатывать время автоподстройки монеты. Вместо того чтобы использовать поле nLockTime, ввести два новых опкоды нажать номер блока и блок даты / времени, в котором появляется сделка. Тогда кто-то может создать условие расходов, как "либо эти три стороны все согласны, или обе стороны согласны, и это был месяц, или одна сторона соглашается, и это был год," - и проектирование и поддержка этих сложных условий не требуют какой-либо поддержки со стороны официального клиента Bitcoin, они могли установить его сам и он будет полностью прозрачным для всех остальных.

Последняя оставшаяся проблема с ключами расщепленных как обрабатывать связи между устройствами, которые держат ключи. Это может быть неудобно - если у вас есть одна часть ключа на вашем компьютере, и одну часть на телефоне, они могут быть подключены через различные сети и как за брандмауэрами или шлюзами NAT. Я думаю, что правильный способ справиться с этой проблемой является использование blockchain - сначала один из устройств опубликовать фиктивную сделку, которая не двигается монет вокруг, но которая содержит детали сделки и ее подпись, то есть другое устройство обнаружить фиктивная сделка в blockchain, и составить реальную транзакцию с использованием этой подписи плюс самостоятельно.

Существует еще одна особенность, которую я хотел бы, чтобы blockchain к поддержке, но который я не уверен, что лучший способ реализации. Предположим, у меня есть большой, долгосрочный сберегательный счет, и я боюсь, что кто-то собирается украсть все мои ключи, в том числе мастер-ключ в моем сейфами. Тем не менее, я все еще хочу, чтобы быть в состоянии остановить их тратить свои монеты, если это произойдет. Так что я положил монеты в специальный адрес, который устанавливается таким образом, что, когда кто-то инициирует расходы, которые проводят с задержкой 72 часов. В течение этого времени, я могу использовать свой закрытый ключ, чтобы опубликовать "Отмена" Сделка, которая заставляет монету замерзнет, ​​пока транзакция не будет опубликована, который подписан как мой ключом и ключом стороннего арбитра. Для этого потребуется приемник скриптов, дата / время опкоды, а также новые опкоды для какого-то механизма связи кросс-сделки. Любые идеи для того, что этот механизм должен выглядеть?
jimrandomh сейчас офлайн Пожаловаться на jimrandomh   Ответить с цитированием Мультицитирование сообщения от jimrandomh Быстрый ответ на сообщение jimrandomh


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


1 октября 2011, 5:00:31 PM   # 2
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

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





Я предложил то же самое, давая адрес Bitcoin быть хэш произвольного скрипта



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

1 октября 2011, 5:20:22 PM   # 3
 
 
Сообщений: 43
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

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

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

1 октября 2011, 5:44:34 PM   # 4
 
 
Сообщения: 905
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

Зачем адрес хэш-скрипта? Если система сценариев не позволила Lisp-подобные интерпретациям коды, как-данным scriptSig (это не делает, но я работаю на blockchain, что делает), вы должны были бы иметь какое-то систему для решения хэш реальных сценариев , Там я вижу два подхода: клиент смотрит на все существующие операции, чтобы найти скрипт, который соответствует (так что вы должны были бы первой опубликовать «модель» сделку - это будет служить иную роль, чем текущие адреса Bitcoin), или какое-то централизованной или федеративной разрешающей служба (в ДЕТ?). Я предпочел бы просто распределить сам scriptPubKey, базовый-58, закодированный с контрольной суммой и другим префиксом, чем текущий формат адрес. Но я могу видеть достоинства обоих.

Я одобряю добавление BLOCKTIME и UnixTime опкодов (что на самом деле это отдельный вопрос от nLockTime).

Для вашей фиктивной сделки, я думаю, что это неправильный подход. Это «проблема», которая должна быть решена за пределами blockchain. Я поставил «проблему» в кавычках, потому что единственный раз, когда это было бы полезно, когда у вас есть два устройства, подключенные к сети Интернет (потому что они оба чтения blockchain и отправки транзакций). В этом случае .. почему бы не иметь их говорить друг с другом напрямую? Это не должны быть решены на уровне blockchain.

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

1 октября 2011, 7:31:19 PM   # 5
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

Зачем адрес хэш-скрипта? Если система сценариев не позволила Lisp-подобные интерпретациям коды, как-данным scriptSig (это не делает, но я работаю на blockchain, что делает), вы должны были бы иметь какое-то систему для решения хэш реальных сценариев , Там я вижу два подхода: клиент смотрит на все существующие операции, чтобы найти скрипт, который соответствует (так что вы должны были бы первой опубликовать «модель» сделку - это будет служить иную роль, чем текущие адреса Bitcoin), или какое-то централизованной или федеративной разрешающей служба (в ДЕТ?). Я предпочел бы просто распределить сам scriptPubKey, базовый-58, закодированный с контрольной суммой и другим префиксом, чем текущий формат адрес. Но я могу видеть достоинства обоих.

Самая веская причина, чтобы сделать адрес хэш сценарий так, чтобы люди могли отправить нормальные выглядящие адреса Bitcoin без указания какой-то чудовищный адрес, чтобы выразить логику. (Требуя новую форму Bitcoin адрес будет сделать это без стартера в любом случае - каждый должен был бы иметь несколько адресов, чтобы убедиться, что они могут быть оплачены все, и новые пользователи будут откладывать, почему люди должны иметь короткий и смехотворно длинный адрес. И каждый веб-сайт, который позволяет отвлечение Bitcoins должен быть изменен, чтобы принять новые адреса)

По предложению я сделал (OP_CHECKSIGEX), что в значительной степени именно то, что я имел в виду. Было бы, переименовать OP_CHECKSIG в OP_CHECKSIGEX (значение "проверить выражение подписи"), И изменить его реализацию таким образом, что капля байтов может содержать какую-то кодированной логики, так и для обратной совместимости, капля байтов, состоящих из только Публичных (как сделки сейчас) будут рассматриваться как одна операция, которая верифицирует подпись. Там нет необходимости сканировать blockchains для "модель" скрипты.

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

1 октября 2011, 7:38:16 PM   # 6
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

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

1 октября 2011, 8:23:06 PM   # 7
 
 
Сообщения: 905
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

theymos, вы можете предоставить ссылку на это? Это не интуитивный результат.

EDIT: быть ясно после того, как принято в blockchain BLOCKTIME или UnixTime будет возвращать блок номер / метку принимающего блока. Я подумал, что было бы очевидно, но только заметил, что это не было явно сказано кем-либо. Значит ли это решить проблему, вы имеете в виду?
maaku сейчас офлайн Пожаловаться на maaku   Ответить с цитированием Мультицитирование сообщения от maaku Быстрый ответ на сообщение maaku

1 октября 2011, 9:37:12 PM   # 8
 
 
Сообщения: 141
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

Причина nLockTime вместо OP_TIME является то, что сделка должна только каждый сможет перейти от INVALID к ДЕЙСТВИТЕЛЬНО, идя вперед во времени; никогда не бывает, чтобы недействительные. Причина в случае Reorg / раскола, сделки, которые были действительны до того, должны оставаться в силе, так что они легко могут быть просто включены в новой цепи.

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

2 октября 2011, 12:17:03 AM   # 9
 
 
Сообщений: 43
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

Мы можем гарантировать, что сделка остается в силе, даже если он перемещается на более поздний блок; как насчет вместо OP_BLOCKTIME и OP_UNIXTIME, делает OP_BLOCKTIME_CHECK и OP_UNIXTIME_CHECK, фьюзинг толкая время и неудачи, если он слишком рано вместе? Они могут все еще быть пропущены по условным, так что вы можете сделать сложные реалистичные вещи, но вы не могли бы написать сценарий, который когда-либо переходил от действуют до недействителен с этими опкодами.

Но я на самом деле думаю, что держать сделку, связанную с блоком, и определения его действия таким образом, лучше. Вы могли бы сделать принимающий адрес с правилами, как "могут быть заявлены А в течение 72 часов; идет к В противном случае",
jimrandomh сейчас офлайн Пожаловаться на jimrandomh   Ответить с цитированием Мультицитирование сообщения от jimrandomh Быстрый ответ на сообщение jimrandomh

2 октября 2011, 12:58:33 AM   # 10
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

theymos, вы можете предоставить ссылку на это? Это не интуитивный результат.

Мы не можем с уверенностью сделать OP_BLOCKNUMBER. В случае блока цепи REORG после сегментации, сделки должны быть в состоянии попасть в цепь в более позднем этапе. Сделка OP_BLOCKNUMBER и все его иждивенцы станут недействительными. Это не было бы справедливо, чтобы позже владельцы монет, которые не были вовлечены в ограниченных сделках времени.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

2 октября 2011, 5:44:17 AM   # 11
 
 
Сообщения: 905
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

Холодные точки для процитировать Satoshi, но я боюсь, что аргументация не выдерживает критики. Во время REORG клиент необходимо перепроверить операции, чтобы предотвратить двойные расходы, а в случае двойных провести эти сделки будет идти ДЕЙСТВУЮТ -> INVALID в REORG (если нет, то это отверстие годный для использования, PM мне, если у вас очень большой майнинг).

Да, так же, как и в случае двойного Потратьте вполне возможно, что там могут быть сделки, зависящие от теперь неисправного сделки BLOCKNUMBER / UnixTime, которые не получают включены либо. Однако есть три точки, которые будут сделано: 1) это не отличается от аналогичных двойных Потратьте ситуации; 2) было бы только в том случае, если 2-й и последующие транжиры не каждый ждать обычное количество подтверждений (что делает «незадача» уместно ИМХО); и 3) это не годные для использования.
maaku сейчас офлайн Пожаловаться на maaku   Ответить с цитированием Мультицитирование сообщения от maaku Быстрый ответ на сообщение maaku

2 октября 2011, 5:57:21 AM   # 12
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

это не отличается от аналогичных двойных Потратьте ситуации; 2) было бы только в том случае, если 2-й и последующие транжиры не каждый ждать обычное количество подтверждений (что делает «незадача» уместно ИМХО); и 3) это не годные для использования.

Это отличается, потому что это может произойти случайно благодаря сегментации сети. Время созревания требуется поколения и OP_TIME (если он был реализован) гарантирует, что сегментация в порядке до тех пор, пока они не длятся дольше, чем 100 блоков. Без времени созревания, сегментация не может длиться дольше, чем 6 блоков, не вызывая массивное случайное повреждение.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

2 октября 2011, 7:02:23 AM   # 13
 
 
Сообщения: 905
Цитировать по имени
цитировать ответ
по умолчанию Re: Предложены расширения протокола транзакций: Получатель скрипты, OP_TIME, более

Опять же, это ничем не отличается, чем с двойной тратит. ByteCoin отправил дважды Потратьте атаку эксплуататорской сегментации всего несколько сообщений ниже Satoshi-й в потоке вы вытащили, что цитата из. С технической точки зрения эти два случая идентичны. В любом случае это может произойти случайно или злонамеренно, что сделки признаны недействительными из-за двойной тратить или тайм-аут. Но я вновь исходная точка # 3: это не годное для использования, если не считать 51% атак (сегментация атакой сети является смешным видом 51% атаки).

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

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW