Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
1 декабря 2016, 2:14:29 PM   # 1
 
 
Сообщения: 428
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
TL; DR. Изменение всех номеров в CompactSize может эффективно очистить 3,5% -5.5% (до 50 Кб) впустую размеров блоков и открыть пространство для дополнительных операций.

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

Так, например, первое поле является Версия который тратит 3 байта, где требуется только 1 байт. С тех пор как первая сделка в 2009 версии был 1, и любое изменение не будет стрелять до 253 (первое значение, которое нуждается в 3 байта в CompactSize)
То же самое для следующих целей:
  • Версия: за последние 7 лет была версия 1
  • lock_time: Почти все операции с использованием 0
  • Индекс (в минусе): Большинство сделок являются 0 и менее чем 253
  • версия Блок: блоки начинают с 2

И дело в том, что эти цифры могут быть определены как CompactSize неподписанные Целые освобождая эти дополнительные байты.

Я провел некоторый статистический анализ некоторых случайных блоков между 440300 и 441300 высотами и средними результатами заключаются в следующем:
Примечание: Эти номера в среднем около 20 случайных блоков.

Tx Count: 2298
Средняя TxSize: 541 (байт)
Clean Up Размер: 46501 (байт)
Clean Up%: 4,16%
Дополнительный Tx, которые могут быть добавлены после очистки: 94


ЗАМЕТКА: Это не только к текущему размеру блока, но он применим и к в настоящее время и возможное будущее, и тем больше размер блока, тем больше эффект этого изменения.
DOWNSIDE: Я считаю, что это требует hardfork, который также будет not-назадвперед-совместимый.

постскриптум Я создал эту тему, чтобы получить обратную связь по этому мнению, прежде чем идти вперед и увеличить число блоков I анализа. Каждый блок 2 МБ необработанных данных
p.p.s. Я также могу поделиться кодом, я использовал для всего этого анализа и изменений.
Кодовый в C♯
https://github.com/Coding-Enthusiast/BitcoinBlockSizeChange
Кодирование Энтузиаст сейчас офлайн Пожаловаться на Coding Энтузиаст   Ответить с цитированием Мультицитирование сообщения от Coding Энтузиаст Быстрый ответ на сообщение Coding Энтузиаст


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


1 декабря 2016, 2:27:05 PM   # 2
 
 
Сообщения: 428
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

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






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

Я не эксперт, и у меня нет никаких C знания ++, чтобы сделать это, я сделал это в C # и это больше идеи открытой для обсуждения, и я хочу узнать мнение экспертов о преимуществах и возможных недостатках такого рода изменение в сделке состав.
Кодирование Энтузиаст сейчас офлайн Пожаловаться на Coding Энтузиаст   Ответить с цитированием Мультицитирование сообщения от Coding Энтузиаст Быстрый ответ на сообщение Coding Энтузиаст

1 декабря 2016, 7:11:30 PM   # 3
 
 
Сообщения: 1288
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

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

1 декабря 2016, 7:37:05 PM   # 4
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

Я считаю, что BIP 134: https://github.com/bitcoin/bips/blob/master/bip-0134.mediawiki очень похоже на это, но принимать вещи на следующий уровень (так сказать). Это немного сложнее, но в теории она сжимается Операции со совсем немного, удалив много ненужных байтов.

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

1 декабря 2016, 8:33:48 PM   # 5
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

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

1 декабря 2016, 9:03:08 PM   # 6
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

Разумные мысли, но вы слишком честолюбивые.

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

Узлы могут использовать другой язык для хранения транзакций, которые они используют на диске или отправить через P2P, провод; а theymos notes-- него даже не softfork-- Это было рекомендовано много раз в прошлом, когда люди обнаружиться пытаются использовать ZLIB компрессию операций (что не очень хорошо работает, в основном, только используя ключ многократного использования.) - и это повлияло на мое мышление о том, как вес рассчитывается в segwit.

Существует более конкретный проект, который был опубликован немного назад http://people.xiph.org/~greg/compacted_txn.txt

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

В результате 20% или больше экономии на основном все сделки, 30% на некоторых более неэффективных видов. ... и это относится ко всей истории, обратно в один день.

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

2 декабря 2016, 8:23:13 AM   # 7
 
 
Сообщения: 428
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

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

2 декабря 2016, 1:08:01 PM   # 8
 
 
Сообщения: 224
Цитировать по имени
цитировать ответ
по умолчанию Re: Увеличение размера блока (5%), используя CompactSize вместо UInt

В двоичном коде, какая часть сделок фактически занимает наибольшую площадь?
Подписи?
Выходные сценарии?
входной хеш-указатели?
Суммы?
Схема multisig может объединить множество подписей компактно, но, насколько я знаю, подписи все должны быть написаны на сочетании сделок, есть ли multisig схема, которая может объединить завершенные подписи? Если это невозможно, было бы целесообразным подписать комбинации операций после трансляции?
Сколько пространства тратится на написание OP_DUP OP_HASH160 и OP_EQUALVERIFY OP_CHECKSIG?
Это должно быть сценарий по умолчанию, и исключить из блока цепи.
ArcCsch сейчас офлайн Пожаловаться на ArcCsch   Ответить с цитированием Мультицитирование сообщения от ArcCsch Быстрый ответ на сообщение ArcCsch



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW