Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
18 июля 2010, 10:15:36 PM   # 1
 
 
Сообщений: 77
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я прочитал, что трудность BTC поколения меняется каждые две недели, основанные на статистических данных, собранных в течение двух недель. Это, кажется, ввести чрезмерное количество лаг в систему. Мы все читали о парне, который предположительно имеет 1000 ядер, работающих на клиента - если он уходит, внезапно BTC поколение занимает гораздо больше времени. Кроме того, если трудности низка, и мы вдруг массовый приток энергии, а затем монеты генерируются слишком быстро.

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

после каждого блока:

Трудность + =. 001 * 600-block.genTimeInSeconds

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


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


19 июля 2010, 12:29:00 PM   # 2
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность

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





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

http://bitcointalk.org/index.php?topic=425.0

Главное преимущество моей схемы заключается в том, что, когда кто спросит вас "Как долго, пока моя сделка идет "не подтвердил?" Вместо того чтобы сказать "Гм ... Незнайка, зависит от сложности, общей вычислительной мощности и нагрузки полностью непредсказуемых случайных факторов" Вы можете пойти "Это будет подтверждено в 2hours до 2 часов 10 минут." Непредсказуемость нынешнего подхода не является особенностью commercialy подходящей финансовой системы.

Операции в блоке 68477 взяли под 3 минуты, чтобы получить подтвержденные, но операции в блоке 68780 потребовалось более двух часов!

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

19 июля 2010, 5:19:36 PM   # 3
 
 
Сообщений: 22
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность

Шум в то время, которое требуется, чтобы генерировать блоки очень, очень высок. Была ссылка размещены где-то в форумах, которые показали, время, необходимые для решения роя предыдущих 100 блоков (или так), и диапазон времени в растворе составлял от 3 секунд до 20 минут.

Настройка НЕМНОГО после каждого блока имеет смысл для меня, хотя. Может быть, трудность может идти вверх или вниз доли процента каждого блока, а затем пересчитывается оптом на границах в две недели?

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

19 июля 2010, 6:02:31 PM   # 4
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность

после каждого блока:

Трудность + =. 001 * 600-block.genTimeInSeconds

Я предполагаю, что вы имели в виду "Трудность + = .001 * (600 - block.genTimeInSeconds)" вместо?

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

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

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

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

Во-вторых, я не понимаю, где "+0,001" постоянная приходит. Я не уверен, что ваш алгоритм будет точно отражать сложность генерации хэша .. похоже, что он сходился бы в него в конце концов, но я не уверен, как быстро он будет делать это.

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

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

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

19 июля 2010, 6:20:54 PM   # 5
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность

Независимо от того, как это делается, хотя, мы должны опасаться диких качели ...

На самом деле, это тоже очень важно, особенно для защиты от DDoS-атак.
Текущий алгоритм уже пытается предотвратить это, не позволяя корректирующий более 4x ФАКТОР каждые 2016 блоков.

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

19 июля 2010, 9:58:45 PM   # 6
 
 
Сообщений: 77
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность


Я предполагаю, что вы имели в виду "Трудность + = .001 * (600 - block.genTimeInSeconds)" вместо?
Да.

Во-вторых, я не понимаю, где "+0,001" постоянная приходит. Я не уверен, что ваш алгоритм будет точно отражать сложность генерации хэша .. похоже, что он сходился бы в него в конце концов, но я не уверен, как быстро он будет делать это.
randomFractionFactor = +0,001. Это не обязательно +0,001, но только фактор для масштабирования изменения в определенный процент от текущей сложности.
InterArmaEnimSil сейчас офлайн Пожаловаться на InterArmaEnimSil   Ответить с цитированием Мультицитирование сообщения от InterArmaEnimSil Быстрый ответ на сообщение InterArmaEnimSil

19 июля 2010, 10:12:01 PM   # 7
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность


Я предполагаю, что вы имели в виду "Трудность + = .001 * (600 - block.genTimeInSeconds)" вместо?

(...)

randomFractionFactor = +0,001. Это не обязательно +0,001, но только фактор для масштабирования изменения в определенный процент от текущей сложности.

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

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

ИМО, мы должны сделать расчет на основе временных меток последнего набора в 2016 году блоков, аналогично тому, как это делается сегодня, принимая во внимание, что не все блочные метки времени может быть точным.

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

20 октября 2011, 4:33:30 AM   # 8
 
 
Сообщения: 481
Цитировать по имени
цитировать ответ
по умолчанию Re: Динамические Adjustments Неисправность

Сноска к этой старой теме: Я предложил улучшенную версию (?) Вот в контексте Ixcoin, но применимо к любой новой или экспериментальной цепи. Не для BTC если hashrate не упадет до уровня 2010 года. 
Джон TOBEY сейчас офлайн Пожаловаться на John Tobey   Ответить с цитированием Мультицитирование сообщения от John Tobey Быстрый ответ на сообщение John Tobey



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW