Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
10 января 2015, 7:42:57 PM   # 1
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Можно ли хранить данные без транзакционных из blockchain? Это не обязательно должно быть Bitcoin для резьбы позволяет просто рассмотреть общий blockchain как система. Также для резьбы позволяет не попасть в "если" это хорошая идея, чтобы ограничить blockchain только к транзакционным данным (что является хорошей полемикой другого потока).

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

Одна из идей были бы сделать все выходы транзакции P2SH. Это может быть даже неявное не опкодами в выходе на всех, где выходы просто хэш сценария выкуплены и значение. Как примечание стороны это имеет дополнительное преимущество в создании UTXO (но не полный blockchain) меньше с записями фиксированной длины, что делает поиски проще и дешевле. Конечно, это само по себе не будет существенно ограничивать включение нетранзакционными данных, закодированных данных (20 байт "гашиш" можно было бы поместить какие-либо закодированные данные без проверки). Это само по себе будет фактически шаг назад, потому что в отличие от OP_RETURN выводит результат будет unspendable, но не доказуемо, так что приводит к UTXO наворотов.

Для того, чтобы обеспечить выход от злоупотребления один может требовать, чтобы "предварительно хэш" включается, когда транзакция передается или когда блок опубликован. Для Bitcoin в ScriptHash = ripemd160 (SHA256 (сценарий)). Таким образом, хэш ripemd160 бы в выходных данных и передающий узел будет также включать prehash (выход функции SHA256) с транзакцией. Вершины бы взять SHA256 "prehash" хэш его и убедитесь, что он соответствует выходу, чтобы подтвердить выход имеет допустимый хэш. После того, как TXN был достаточно глубоко в blockchain, чтобы повторно Orgs маловероятно, узлы сети могут отказаться от prehash.

Любые другие идеи?







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


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


10 января 2015, 7:55:21 PM   # 2
 
 
Сообщения: 247
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

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





Я уверен, что это невозможно.
Таким образом, хэш ripemd160 бы в выходных данных и передающий узел будет также включать prehash (выход функции SHA256) с транзакцией.
Таким образом, вы будете придерживаться данных без транзакций там, как "prehash",

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

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

10 января 2015, 8:24:40 PM   # 3
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

Таким образом, вы будете придерживаться данных без транзакций там, как "prehash",

Узлы будет отбрасывать prehash после того, как TXN входит в блок (или, альтернативно, как только TXN достаточно глубоко в blockchain). [/ Цитата]

Он используется только для временного подтверждения.

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

Трудность состоит в том, как отличить зашифрованные данные от реальных сделок. Есть идеи? Это сделано потому, что трудно Bitcoin имеет довольно открытый язык сценариев. Это обеспечивает гибкость, но это также делает его трудно избежать использования опкодов для других целей. Например OP_CHECKMULTISIG является большим для кодирования больших объемов данных в blockchain. Вместо 20 байт за одну транзакцию вы можете поместить hundeds и, кажется, ничем не отличаются от обычных сделок и даже считается стандартной сетью.

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

Это еще один возможный маршрут. Представьте себе, если OP_RETURN не было предела размера, но результаты были хэшируются первым и TXN хэш был создан из выходных хэшей. Это позволило бы подрезать данные OP_RETURN только с его хэш. Не могли OP_RETURN данных подрезать только из blockchain, txns еще может быть подтвержден, так что даже полные узлы могли выбрать проверку й TXN без данных. Те, кто хотел бы сохранить данные необходимо будет оплатить стоимость хранения и ретранслировать данные. Другие узлы будут ретранслировать только хэш. Однако для того, чтобы работать должно быть трудно или дорого, чтобы обойти это и закопать данные "не настоящие" txns вместо или он не делает ничего хорошего.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

10 января 2015, 9:27:45 PM   # 4
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

котировка
Можно ли хранить данные без транзакционных из blockchain?
[...]
Любые другие идеи?
Alt-монетный со строгими правилами.
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

10 января 2015, 9:41:42 PM   # 5
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

Для того, чтобы обеспечить выход от злоупотребления один может требовать, чтобы "предварительно хэш" включается, когда транзакция передается или когда блок опубликован. Для Bitcoin в ScriptHash = ripemd160 (SHA256 (сценарий)). Таким образом, хэш ripemd160 бы в выходных данных и передающий узел будет также включать prehash (выход функции SHA256) с транзакцией. Вершины бы взять SHA256 "prehash" хэш его и убедитесь, что он соответствует выходу, чтобы подтвердить выход имеет допустимый хэш. После того, как TXN был достаточно глубоко в blockchain, чтобы повторно Orgs маловероятно, узлы сети могут отказаться от prehash.
Когда кто-то изобретает independantly ту же самую идею, вы знаете, что это должно быть, по крайней мере, несколько хорошо. (Ну, а на самом деле, может быть, нет.)

Я назвал это P2SH ^ 2: http://sourceforge.net/p/bitcoin/mailman/message/30705609/

котировка
Любые другие идеи?
Да, у меня есть более мощная схема, которая не _ever_ распространять прообраз, он идет следующим образом:

Сначала некоторые супер неаккуратно фон так остальное имеет смысл для людей, которые не знают, что (вы можете пропустить, если вы знакомы с спаривание крипто):

Сигнатура BLS простая схема подписи для спаривания криптографии, которая использует группы, где вычислительные дискретная журнал, как полагают неразрешимыми, но дискретная задача принятия решения журнала сговорчивым. подписи BLS имеют важное свойство, что подпись является _unique_ для данного Публичного, сообщения кортежа есть только одна подписи возможно. Сопряжение крипто работает как ECC, но у вас есть дополнительные операции сопряжения (точка, точка), который может быть использован для решения дискретной задачи принятия решения журнала.

Конструкция подписи BLS является,

G представляет собой генератор группы, я пишу это аддитивно здесь.
Н (у), который преобразует г до точки на кривой таким образом, что дискретный журнал не известно. (Например, это какое-то прямое бито принуждение не у * G)

Секретный ключ: х
Публичных: XG
знак: сиг = х (сообщение)
проверить: спаривание (Н (сообщение), Публичный) == спаривание (сиг, г)

Проверка в основном отвечая на вопрос "Является ли сиг значения ECDH для пары точек Публичных и H (сообщение)",

Вот как вы можете использовать это, чтобы подавить канал новообращенного:

H2 = sha256 или то, что у вас, случайное столкновение стойкого хэша.

Секретный ключ: х == данные, которые вы хотите кодировать
Публичных: XG == предполагающие данных имеет размер порядка группы это один из способов вычислимая биекция, если данные, которые вы хотели закодировать был безопасный хэш, так это Публичных.
Доказательство: Доказательство = х (Н2 (Публичный))

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

Вы передать {Публичных, доказательство}

Вы не можете сделать этот трюк с использованием регулярных подписей ECDSA / Шноррой, насколько я могу сказать, потому что неоднозначность позволяет использовать знание нонса как люк.

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

Лучше: полный провал криптосистемы только вновь вводит скрытый-канал, он не ставит под угрозу безопасности вашего P2SH.

Даунсайд: Доказательство добавляет другую группу-элемент (например, 32 байт для 256-битное шифрование) количество размера данных, а также проверки принимает порядка 1 мс. Хеширование (требуется при тратить время) требует точка скалярного умножения, который также медленнее, чем в классической хэш-функции (хотя намного лучше, чем с половиной мс).

Может быть, можно построить что-то подобное с подписями RSA; но я не пробовал, и стоимость детерминировано генерации секретного ключа (хэширования ваше сообщение) может быть проблематичным ... и, очевидно, размер будет непривлекательным. Я думаю, что в принципе то же самое можно сделать с любой уникальной схемой подписи, где подпись не просачивается никакой информации о секретном ключе (например, не работает с Лампортом подписью, хотя они тривиальные уникальны).

Я уверен, что это невозможно.
Невозможное представлены. Я рад быть полезным.

Таким образом, вы будете придерживаться данных без транзакций там, как "prehash",
Да, но вы можете проверить это prehash только для блоков на кончике, а не истории. и забыть об этом. Так что я думаю, что соответствует по крайней мере, некоторым определениям "из blockchain", (Хотя, как я только что продемонстрировал даже, что слабость может быть закрыта.)

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

Есть и другие вещи, которые можно сделать здесь. Utxo, грубо, TXID: Vout -> {ScriptPubkey, значение}. Вы могли бы вместо того, чтобы хранить H1 (TXID: Vout) -> Enc (H2 (TXID: Vout), {scriptPubkey, значение}) локально не ослепить себя эти данные до самого момента это необходимо (когда блок обнаруживается, что на самом деле тратит на выходе).
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

11 января 2015, 12:36:09 AM   # 6
 
 
Сообщения: 247
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

Это уменьшает ваш скрытый канал только маленькие кусочки, которые вы можете себе позволить, чтобы размолоть в него с догадкой и проверкой. Если значения уже должно соответствовать некоторым вычислительным критериям (например, вы всегда должны измельчить), то любое дополнительное измельчение является умножением на что, так и с линейной стоимостью для честных пользователей, что экспоненциальный канал затрат может быть выполнен в виде вычислительно дорого, как вам нравится.
Я рассмотрел план похож на это: например, что первые х бит открытого ключа должны быть 0. Однако, подобно Hashcash, Я понял, что это слишком дорого для законного пользователя еще слишком слаб для серьезного злоумышленника и его ботнетов (особенно если СИС может участвовать!).

Эта гипотетическая сеть должна также запретить повторное использование адреса. Зачем? Представьте себе ситуацию, в которой злоумышленник хочет использовать последние байты адреса / P2SH (все, что видно в blockchain) хранить свои данные. Злоумышленнику нужно только искать через (он даже не должен генерировать их самостоятельно, просто найти адрес людей в blockchain) около 1568 адресов, чтобы найти 256 отчетливого конец байт адреса и использовать их для представления 1 байт каждых в неограниченном количество операций хранения данных. Или, если имеющий офф-blockchain таблицы поиска является приемлемым, просто выбрать или генерировать любые 256 адресов.

Как долго является приемлемым, чтобы заставить законный пользователь на мобильном устройстве, чтобы придумать новый адрес для сделки? Секунды? Минуты? В любом случае, кто-то с фермой десяти настольных компьютеров можно было бы ожидать, чтобы генерировать 100 адресов в то время. 15 раз, что является по-прежнему легко если данные действительно стоит положить в blockchain.

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

11 января 2015, 12:50:06 AM   # 7
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

Конечно, все это делает его значительно дороже. Но это все-таки вполне возможно.
Это в основном делает хранение данных сторона имеет огромный (например, несколько десятков раз) недостаток против обычных пользователей, даже если вы даете им большое вычисление, и в этот момент экономического давления, вероятно, более эффективным. С практической точки зрения это может измениться, как вещи работают на законных основаниях. Люди могут заказать газету цензурировать старое объявление в архиве, они не так, скорее всего, чтобы сделать спросить цензуру 50 статей каждый, протекающей одно письмо; в какой-то момент "сообщение" действительно встроен в инструкции декодирования, а не данные в другом месте. Вы ушли из выходов в транзакции возможность кодировать килобайт со скромной служебной, чтобы, скажем, пару сотен байт с огромными накладными расходами.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

11 января 2015, 1:50:35 AM   # 8
 
 
Сообщения: 2212
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

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

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

11 января 2015, 4:28:28 AM   # 9
 
 
Сообщения: 247
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

Там может быть способом разрешить только сделки на открытые ключи и включает в себя пункт, неизрасходованные транзакции могут быть перераспределены после, например, в год или около того. Таким образом, даже если кто-то спам цепи, это на самом деле не постоянное, но будет решено по истечению определенного периода времени.
Это не стоит на пути сохранения данных в blockchain вообще: вы просто отправить 0 или 1 Satoshi к фиктивному открытому ключу. Вам не безразлично, что это навсегда заперт или может быть утилизирован в конце концов: данные по-прежнему в blockchain (и, в течение года, в UTXO).
Другой способ может быть разъединить управление учетными записями и операции - таким образом, вы можете иметь блок цепь, которая имеет дело только с переводов между счетами, которые имеют очень мелкие сделки и очень строгие правила о том, что могут быть введены и другой один, который содержит открытые ключи, умные контракты и этажерки, которые могут иметь данные без транзакционных но слишком дорого стоит писать в, а также медленнее и больше по размеру.
Так что я буду кодировать свои данные в количестве транзакций (это может быть ограниченно, давая это не-данных цепи низкой делимости, например, десятые БТДЫ вместо satoshis), адрес или даже txids (этот последний является более надуманным, Я признаю).

И не забывайте, во всем этом, что короткое количество данных можно связать с большим количеством данных: например, 80 бит может быть адрес .onion, 256 бит может быть магнитом URI, и т.д., которые возникает вопрос: как раз то, что проблему мы пытаемся решить здесь? Если это может быть идентифицирован, то я могу знать, является ли определенное решение является допустимым для этого или нет. Я думаю, что это всегда будет возможно, но может быть более дорогим, учитывая определенные компромиссы.
TIMS сейчас офлайн Пожаловаться на TIMS   Ответить с цитированием Мультицитирование сообщения от TIMS Быстрый ответ на сообщение TIMS

11 января 2015, 5:36:18 AM   # 10
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

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

котировка
можно связать с большим количеством данных: например, 80 бит может быть адрес .onion
Большой; и то за пределы blockchain, которая была целью поста ФПА в.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

11 января 2015, 6:04:20 AM   # 11
 
 
Сообщения: 464
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

х = SHA-256 (offchain данных)?
Таким образом, вы можете обратиться к данным произвольного размера, не так ли?
hhanh00 сейчас офлайн Пожаловаться на hhanh00   Ответить с цитированием Мультицитирование сообщения от hhanh00 Быстрый ответ на сообщение hhanh00

11 января 2015, 7:25:12 AM   # 12
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Можно ли хранить данные без транзакционных из blockchain?

х = SHA-256 (offchain данных)?
Таким образом, вы можете обратиться к данным произвольного размера, не так ли?
Конечно.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW