Это кажется логичным шагом, но Гэвин говорит нам, что для того, чтобы сделать это, мы должны заменить "уточнена всей сети" с "проверяется с помощью набора пола-доверенного «оракулов»."
Насколько велика компромисс это будет? Мне кажется, что достижение минимального количества доверия неотъемлемо возможного в каждом типе контракта является абсолютно необходимым.
Здесь идет запись полностью Гэвин (источник: http://gavintech.blogspot.de/2014/06/bit-thereum.html)
котировка
Я думал о Эфириуме немного в последнее время. Часть его довольно интересно.
Некоторые из них, кажется, как ненужного реинжиниринга (например, создания нового корректуры из-работы или новая валюты). И вообще, я подозреваю, что они пытаются сделать слишком much-- "Сложность является врагом безопасности"- и в конечном итоге либо радикальное сокращение объема того, что они пытаются сделать или надоест играть сильный удар-а-моль уязвимостей безопасности и DoS.
Но я могу ошибаться; может быть, я просто старый, циничный грубиян, который много играл в неисправном-а-моль уязвимостей безопасности и DoS.
Во всяком случае, одна из идей в Эфириуме я нахожу интересным является контрактом, который имеет средство, связанное с ним, произвольным кодом и состояние. Проверенная сеть вместо центральной власти. И с транзакциями, как псевдо-анонимным способом инициирования оценки договора, выплачивая денежные средства, находящиеся на хранении с контрактом, а также обновлением своего состояния.
Итак ... мы могли бы взять эту интересную идею и отобразить его на Bitcoin? Может кто-нибудь создать "Бит-thereum" на вершине Bitcoin, как она существует сегодня?
Ответ "да," если мы готовы заменить "уточнена всей сети" с "проверяется с помощью набора пола-доверенного «оракулов»."
Это обман, хотя, не так ли? Мы не полностью децентрализованы, если мы доверяем одиннадцать контрактных-проверочный-услугам не сговариваться (или все взломаны) нарушать условия, закодированные в некотором контракте (ов).
Это обман немного ... но все из действительно интересных сложных контрактов я могу думать требуют данных из-за пределов blockchain. Как BTC / USD курс на некоторой будущей дате (по blockchain-исполнение фьючерсных контрактов).
Эфириума не имеет какое-то волшебное решения "данные за пределами blockchain" Вопрос: как их Whitepaper говорит, "доверенный источник по-прежнему необходим для обеспечения ценового тикера." А там уже, по крайней мере один стартап, работающий на решение "данные за пределами blockchain Bitcoin" Проблема (Reality Keys).
Переход от одного надежного источника в М-оф-N полу ненадежных источников будет улучшение.
Так что я начну там, и представьте себе, что есть пол-доверенные «оракулы», которые конкурируют, чтобы быть самым надежными и испытателями контрактов. Люди, участвующие в контрактах выбирают N из них, а затем требуют, чтобы условия контракта быть подтверждено одним или несколькими из них до того, как контракт выплачивает. Выберите более чем один, так ни один оракул не сможет украсть средства контракта, но меньше, чем N в случае, если некоторые из них выходят из бизнеса или просто не вокруг, чтобы проверить контракты, когда это время контракт на выплату.
Эти оракулам необходим согласованный, машиночитаемый язык контракта, но это не должно быть трудно. Есть много интересных дизайнерских решений о том, что информация контрактным сценарии имеют доступ к (и много не очень интересно к мне проектных решений на самом языке, в его основе стека, на основе регистров высокого уровня, низкий -уровень байт-код, и т.д. и т.п. и т.д.). Копирование большой части конструкции языка контракта Эфириума (и, возможно, повторно используя много своего код) может быть хорошим способом пойти.
Может быть, не совсем blockchain данные будут доставлены с веб через URI. Хитрая немного будет, как обрабатывать ошибочные состояния, как "Этот контракт о средней температуре в Арубе по данной Всемирному банку, но Всемирный банк больше не публиковать эту информацию."
Они также нужен способ, чтобы сохранить какое-то значение в условном депонировании, связанное с контрактом, так что М-из-N из них должен согласиться с любым выпуском средств. Bitcoin мульти-подпись сделка может быть использована для этого:
1. Тот, кто участвует в контракте дает код контракта на каждый из N оракулов и получает обратно открытые ключи N.
2. оракулы будет хранить код контракта и секретный ключ, и должен быть готов выдать публичный ключ кому-либо, кто знает код контракта.
3. Любой может добавить средства к договору, отправив биткойна в multisig M-из-N, составленная из открытых ключей. И, возможно, связать некоторые данные с депонируются фондами путем хеширования его и включает в себя чернослив-возможности вывода OP_RETURN с хэшем.
До сих пор ничего сложно либо на стороне Bitcoin или боковой оракула. Но что происходит, когда пришло время для оракулы оценить контракт и выплачивать часть или все средства? Что вызывает оракулы для оценки контракта (и обновлять любое состояние, связанное с контрактом), а кто создает и транслирует операцию проплачивать-фонды, из-эскроу?
Те, интересные дизайнерские решения. Я бы, наверное, тот, кто платит нести ответственность за создание сделки расходования средств, контакт М N оракулов, чтобы получить подписи, а затем транслировать сделку. Когда я говорю "кто бы ни" Я действительно имею в виду какой-то контракт программное обеспечение, работающее либо в облаке или на чьей-то машине.
Когда обновлять состояние, связанное с контрактом является еще одним интересным дизайнерским решением. Моя интуиция состояние контракта должна быть привязана к подтверждениям сделок Bitcoin и состояние сделки выводит тратится. Таким образом, договор может находиться в нескольких состояниях одновременно, если один или несколько из его входов дважды проводит. После blockchain подтверждения выберите одну стороны двойного тратить или другое состояние договоров также будет решено.
Я полагаю, код контракта будет иметь доступ ко всем неизрасходованных выходов транзакций (и связанных с ними данных OP_RETURN, а также метаданные, как, сколько подтверждений у них есть, какой блок они появились в, может быть, их Merkle филиал ...) плюс выходные выплаты по сделке. Еще одно интересное дизайнерское решение, как обрабатывать неподтвержденные выходы транзакций; Я подозреваю, что выпускающие контракты respend выходы нулевой подтверждения, в сочетании с обещанием от оракулов, что они никогда не будут подписывать один и тот же выход в два раза может быть невероятно мощным и позволяют все виды интересных приложений.
Оракулы могут быть уязвимы для отказа в обслуживании attacks-- например злоумышленник запрашивает бесконечное количество открытых ключей для контрактов, которые они не имеют ни малейшего намерения выполнять. Или злоумышленник запрашивает бесконечное количество оценок контракта (и подписей).
Для решения первой проблемы, оракулы могут потребовать небольшую предоплату, чтобы заключить контракт. И решить второй, оракулы могут потребовать, чтобы любая депозитная выплаты также включает небольшую плату (они просто отказываются подписывать какие-либо сделки эскроу расходования средств, которые не включают в оплату их открытого ключ). Все, что имеет экономический смысл, и дает операторам оракул четкую бизнес-модель.
Использование Bitcoin сделок для депозитного / финансирования части проблемы защищает оракулы от целого другого множества возможных атак на отказ в обслуживании; например, "пенни наводнения" контракт, чтобы сделать это очень CPU-дорого для оракула оценить будет стоить злоумышленника значительных сумм сборов сделки Bitcoin.
Оракул может также наложить ограничения на их условия обслуживания, чтобы парировать потенциальных злоумышленников, а также сотрудничать конфисковать депонируются средства, если злоумышленник создал очень дорогой-к-Validate контракт .: "Любой контракт, который использует более одного CPU-микросекунду для проверки может быть прекращен за счет средств, выделяемых в равных количествах к тестирующим оракулам N." Они будут поддерживать свою репутацию, публикуя всю информацию о изгоев контракта.
Но ... но ... не это должно быть более сложным, чем это? опкоды Новый Bitcoin сценария? Код контракта в blockchain? Объединенном разминированной цепи или новая цветная монета или что-то?
Я не думаю, что так. Bitcoin уже обеспечивает глобальную валюту и распределяется ledger-- нет необходимости заново изобретать эти колеса. Объединение информации в реальном мире с Bitcoin, где вещи начинают получать очень интересно.
Некоторые из них, кажется, как ненужного реинжиниринга (например, создания нового корректуры из-работы или новая валюты). И вообще, я подозреваю, что они пытаются сделать слишком much-- "Сложность является врагом безопасности"- и в конечном итоге либо радикальное сокращение объема того, что они пытаются сделать или надоест играть сильный удар-а-моль уязвимостей безопасности и DoS.
Но я могу ошибаться; может быть, я просто старый, циничный грубиян, который много играл в неисправном-а-моль уязвимостей безопасности и DoS.
Во всяком случае, одна из идей в Эфириуме я нахожу интересным является контрактом, который имеет средство, связанное с ним, произвольным кодом и состояние. Проверенная сеть вместо центральной власти. И с транзакциями, как псевдо-анонимным способом инициирования оценки договора, выплачивая денежные средства, находящиеся на хранении с контрактом, а также обновлением своего состояния.
Итак ... мы могли бы взять эту интересную идею и отобразить его на Bitcoin? Может кто-нибудь создать "Бит-thereum" на вершине Bitcoin, как она существует сегодня?
Ответ "да," если мы готовы заменить "уточнена всей сети" с "проверяется с помощью набора пола-доверенного «оракулов»."
Это обман, хотя, не так ли? Мы не полностью децентрализованы, если мы доверяем одиннадцать контрактных-проверочный-услугам не сговариваться (или все взломаны) нарушать условия, закодированные в некотором контракте (ов).
Это обман немного ... но все из действительно интересных сложных контрактов я могу думать требуют данных из-за пределов blockchain. Как BTC / USD курс на некоторой будущей дате (по blockchain-исполнение фьючерсных контрактов).
Эфириума не имеет какое-то волшебное решения "данные за пределами blockchain" Вопрос: как их Whitepaper говорит, "доверенный источник по-прежнему необходим для обеспечения ценового тикера." А там уже, по крайней мере один стартап, работающий на решение "данные за пределами blockchain Bitcoin" Проблема (Reality Keys).
Переход от одного надежного источника в М-оф-N полу ненадежных источников будет улучшение.
Так что я начну там, и представьте себе, что есть пол-доверенные «оракулы», которые конкурируют, чтобы быть самым надежными и испытателями контрактов. Люди, участвующие в контрактах выбирают N из них, а затем требуют, чтобы условия контракта быть подтверждено одним или несколькими из них до того, как контракт выплачивает. Выберите более чем один, так ни один оракул не сможет украсть средства контракта, но меньше, чем N в случае, если некоторые из них выходят из бизнеса или просто не вокруг, чтобы проверить контракты, когда это время контракт на выплату.
Эти оракулам необходим согласованный, машиночитаемый язык контракта, но это не должно быть трудно. Есть много интересных дизайнерских решений о том, что информация контрактным сценарии имеют доступ к (и много не очень интересно к мне проектных решений на самом языке, в его основе стека, на основе регистров высокого уровня, низкий -уровень байт-код, и т.д. и т.п. и т.д.). Копирование большой части конструкции языка контракта Эфириума (и, возможно, повторно используя много своего код) может быть хорошим способом пойти.
Может быть, не совсем blockchain данные будут доставлены с веб через URI. Хитрая немного будет, как обрабатывать ошибочные состояния, как "Этот контракт о средней температуре в Арубе по данной Всемирному банку, но Всемирный банк больше не публиковать эту информацию."
Они также нужен способ, чтобы сохранить какое-то значение в условном депонировании, связанное с контрактом, так что М-из-N из них должен согласиться с любым выпуском средств. Bitcoin мульти-подпись сделка может быть использована для этого:
1. Тот, кто участвует в контракте дает код контракта на каждый из N оракулов и получает обратно открытые ключи N.
2. оракулы будет хранить код контракта и секретный ключ, и должен быть готов выдать публичный ключ кому-либо, кто знает код контракта.
3. Любой может добавить средства к договору, отправив биткойна в multisig M-из-N, составленная из открытых ключей. И, возможно, связать некоторые данные с депонируются фондами путем хеширования его и включает в себя чернослив-возможности вывода OP_RETURN с хэшем.
До сих пор ничего сложно либо на стороне Bitcoin или боковой оракула. Но что происходит, когда пришло время для оракулы оценить контракт и выплачивать часть или все средства? Что вызывает оракулы для оценки контракта (и обновлять любое состояние, связанное с контрактом), а кто создает и транслирует операцию проплачивать-фонды, из-эскроу?
Те, интересные дизайнерские решения. Я бы, наверное, тот, кто платит нести ответственность за создание сделки расходования средств, контакт М N оракулов, чтобы получить подписи, а затем транслировать сделку. Когда я говорю "кто бы ни" Я действительно имею в виду какой-то контракт программное обеспечение, работающее либо в облаке или на чьей-то машине.
Когда обновлять состояние, связанное с контрактом является еще одним интересным дизайнерским решением. Моя интуиция состояние контракта должна быть привязана к подтверждениям сделок Bitcoin и состояние сделки выводит тратится. Таким образом, договор может находиться в нескольких состояниях одновременно, если один или несколько из его входов дважды проводит. После blockchain подтверждения выберите одну стороны двойного тратить или другое состояние договоров также будет решено.
Я полагаю, код контракта будет иметь доступ ко всем неизрасходованных выходов транзакций (и связанных с ними данных OP_RETURN, а также метаданные, как, сколько подтверждений у них есть, какой блок они появились в, может быть, их Merkle филиал ...) плюс выходные выплаты по сделке. Еще одно интересное дизайнерское решение, как обрабатывать неподтвержденные выходы транзакций; Я подозреваю, что выпускающие контракты respend выходы нулевой подтверждения, в сочетании с обещанием от оракулов, что они никогда не будут подписывать один и тот же выход в два раза может быть невероятно мощным и позволяют все виды интересных приложений.
Оракулы могут быть уязвимы для отказа в обслуживании attacks-- например злоумышленник запрашивает бесконечное количество открытых ключей для контрактов, которые они не имеют ни малейшего намерения выполнять. Или злоумышленник запрашивает бесконечное количество оценок контракта (и подписей).
Для решения первой проблемы, оракулы могут потребовать небольшую предоплату, чтобы заключить контракт. И решить второй, оракулы могут потребовать, чтобы любая депозитная выплаты также включает небольшую плату (они просто отказываются подписывать какие-либо сделки эскроу расходования средств, которые не включают в оплату их открытого ключ). Все, что имеет экономический смысл, и дает операторам оракул четкую бизнес-модель.
Использование Bitcoin сделок для депозитного / финансирования части проблемы защищает оракулы от целого другого множества возможных атак на отказ в обслуживании; например, "пенни наводнения" контракт, чтобы сделать это очень CPU-дорого для оракула оценить будет стоить злоумышленника значительных сумм сборов сделки Bitcoin.
Оракул может также наложить ограничения на их условия обслуживания, чтобы парировать потенциальных злоумышленников, а также сотрудничать конфисковать депонируются средства, если злоумышленник создал очень дорогой-к-Validate контракт .: "Любой контракт, который использует более одного CPU-микросекунду для проверки может быть прекращен за счет средств, выделяемых в равных количествах к тестирующим оракулам N." Они будут поддерживать свою репутацию, публикуя всю информацию о изгоев контракта.
Но ... но ... не это должно быть более сложным, чем это? опкоды Новый Bitcoin сценария? Код контракта в blockchain? Объединенном разминированной цепи или новая цветная монета или что-то?
Я не думаю, что так. Bitcoin уже обеспечивает глобальную валюту и распределяется ledger-- нет необходимости заново изобретать эти колеса. Объединение информации в реальном мире с Bitcoin, где вещи начинают получать очень интересно.