Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
12 марта 2015, 5:01:07 PM   # 1
 
 
Сообщений: 55
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Хорошо известно, что Bitcoin блок вознаграждения (в зависимости от числа блоков) не является непрерывным - разрыв ("сращивание") Происходит каждые 210,000 блок или примерно 4 лет, как показано в исходном коде Bitcoin:

Код:
CAmount GetBlockValue (интермедиат nHeight, Const CAmount& nFees)
{
    CAmount nSubsidy = 50 * МОНЕТКА;
    INT halvings = nHeight / Params () SubsidyHalvingInterval ().

    // блок Force вознаграждение к нулю, когда сдвиг вправо не определен.
    если (halvings >= 64)
        вернуться nFees;

    // Субсидия разрезают пополам каждые 210000 блоков, которые будут происходить примерно каждые 4 года.
    nSubsidy >>= halvings;

    вернуться nSubsidy + nFees;
}

ИМХО halvings являются деструктивными событиями и отрицательно влияет на все.

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

Предлагаемая функция:

Код:
CAmount GetBlockValue (интермедиат nHeight, Const CAmount& nFees)
{
    CAmount nSubsidy = 50 * МОНЕТКА;
    INT halvingInterval = Params () SubsidyHalvingInterval ().
    INT halvings = nHeight / halvingInterval;
    INT фаза = nHeight% halvingInterval;
   
    // блок Force вознаграждение к нулю, когда сдвиг вправо не определен.
    если (halvings >= 64)
        вернуться nFees;

    // Субсидия является непрерывной и кусочно-линейной функцией, половин каждых 210000 блоков
    // которая будет происходить примерно каждые 4 года.
    nSubsidy = (nSubsidy * (4 * halvingInterval - 2 * фаза)) / (3 * halvingInterval);
    nSubsidy >>= halvings;

    вернуться nSubsidy + nFees;
}
uminatsu сейчас офлайн Пожаловаться на uminatsu   Ответить с цитированием Мультицитирование сообщения от uminatsu Быстрый ответ на сообщение uminatsu


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


12 марта 2015, 5:13:18 PM   # 2
 
 
Сообщений: 55
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

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





Моделирование показывает, что, начиная с блока 6,930,000 обе функции возвращают 0 вознаграждение.

Оригинальная сумма блока наград = 20,999,999.97690000 BTC
Предлагаемая сумма блока вознаграждений = 21,000,033.29639948 BTC
uminatsu сейчас офлайн Пожаловаться на uminatsu   Ответить с цитированием Мультицитирование сообщения от uminatsu Быстрый ответ на сообщение uminatsu

12 марта 2015, 5:25:46 PM   # 3
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Всегда приятно иметь код, но шансы на это происходит в, по существу, равна нулю. 🙂

Нечто подобное обсуждается здесь:


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

12 марта 2015, 5:43:10 PM   # 4
 
 
Сообщений: 55
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Всегда приятно иметь код, но шансы на это происходит в, по существу, равна нулю. 🙂

Нечто подобное обсуждается здесь:


Что, возможно, было то, что побудило код - или совпадение.

Я согласен, что это трудно, но вилка этот переход является то, что может планироваться произойти много лет в будущем (например, когда третье сращивание происходит в блоке 690,000 или около 2020 года).
uminatsu сейчас офлайн Пожаловаться на uminatsu   Ответить с цитированием Мультицитирование сообщения от uminatsu Быстрый ответ на сообщение uminatsu

12 марта 2015, 6:39:22 PM   # 5
 
 
Сообщения: 1274
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Всегда приятно иметь код, но шансы на это происходит в, по существу, равна нулю. 🙂

Нечто подобное обсуждается здесь:


Что, возможно, было то, что побудило код - или совпадение.

Я согласен, что это трудно, но вилка этот переход является то, что может планироваться произойти много лет в будущем (например, когда третье сращивание происходит в блоке 690,000 или около 2020 года).

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

12 марта 2015, 7:26:08 PM   # 6
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Линейная интерполяция функции субсидий Bitcoin уже используется в SpreadCoin (и другие).

Код:
int64 GetBlockValue (интермедиат nHeight, int64 nFees)
{
    int64_t nSubsidy = 50 * МОНЕТКА * 4/3;
    если (nHeight > (Целое) getFirstHardforkBlock ())
        nSubsidy / = 10;

    // Субсидия разрезают пополам каждые g_RewardHalvingPeriod блоков, которые будут происходить примерно каждые 4 года.
    INT halvings = nHeight / g_RewardHalvingPeriod;
    nSubsidy = (halvings >= 64)? 0: (nSubsidy >> halvings);
    nSubsidy - = nSubsidy * (nHeight% g_RewardHalvingPeriod) / (2 * g_RewardHalvingPeriod);

    вернуться nSubsidy + nFees;
}

https://github.com/spreadcoin-project/spreadcoin/blob/b05777db815d633a76aba5ef55ecb85390a4df7e/src/main.cpp#L1340-L1352
tacotime сейчас офлайн Пожаловаться на tacotime   Ответить с цитированием Мультицитирование сообщения от tacotime Быстрый ответ на сообщение tacotime

12 марта 2015, 7:51:00 PM   # 7
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Оригинальная сумма блока наград = 20,999,999.97690000 BTC
Предлагаемая сумма блока вознаграждений = 21,000,033.29639948 BTC

Таким образом, способ добавить 0.000159% инфляции в подлый способ?

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

Эффект был бы уменьшить общее количество монет.

Предлагаемая функция всегда дает плату чеканки, которое меньше или равно текущему правилу. Это делает вещи мягкой вилкой.

Начиная, когда он падает от 12,5 до 6,75, снижение платы за чеканку становится линейным.

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

Код:
CAmount GetBlockValue (интермедиат nHeight, Const CAmount& nFees)
{
    CAmount nSubsidy = 50 * МОНЕТКА;
    INT halvingInterval = Params () SubsidyHalvingInterval ().
    INT halvings = nHeight / halvingInterval;
    
    // блок Force вознаграждение к нулю, когда сдвиг вправо не определен.
    если (halvings >= 64)
        вернуться nFees;

    если (halvings < 3)
    {
        // Использование текущего правила для первых 3 halvings (50, 25, 12,5)

        // Субсидия разрезают пополам каждые 210000 блоков, которые будут происходить примерно каждые 4 года.
        nSubsidy >>= halvings;
    }
    еще
    {
        // Использование нового правила для мятой (6,75 и после)
  
        INT фаза = nHeight% halvingInterval;

        // Субсидия является непрерывной и кусочно-линейной функцией, половин каждых 210000 блоков

        // Субсидия всегда меньше или равно старому правилу
        nSubsidy = (nSubsidy * (2 * halvingInterval - фаза)) / (2 * halvingInterval);
        nSubsidy >>= halvings;
    }
    вернуться nSubsidy + nFees;
}
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

12 марта 2015, 10:23:55 PM   # 8
 
 
Сообщений: 55
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Оригинальная сумма блока наград = 20,999,999.97690000 BTC
Предлагаемая сумма блока вознаграждений = 21,000,033.29639948 BTC

Таким образом, способ добавить 0.000159% инфляции в подлый способ?

0.000159% является досадной ошибкой округления и, безусловно, непреднамеренным. Но это не должно быть трудно настроить параметры, чтобы добраться до точного числа (или что-то в пределах +/- несколько тысяч satoshis)
uminatsu сейчас офлайн Пожаловаться на uminatsu   Ответить с цитированием Мультицитирование сообщения от uminatsu Быстрый ответ на сообщение uminatsu

13 марта 2015, 12:51:51 PM   # 9
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

0.000159% является досадной ошибкой округления и, безусловно, непреднамеренным.

Да, я понял, просто шучу. Сказав, что, если она реализуется, это не удивило бы меня, если кто-то возражал. Вы больше не будете иметь возможность сказать, что максимальное количество Bitcoins составляет менее 21 миллионов людей.

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

13 марта 2015, 1:48:46 PM   # 10
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

0.000159% является досадной ошибкой округления и, безусловно, непреднамеренным.

Да, я понял, просто шучу. Сказав, что, если она реализуется, это не удивило бы меня, если кто-то возражал. Вы больше не будете иметь возможность сказать, что максимальное количество Bitcoins меньше 27 * млн.

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

* 21 😉

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

13 марта 2015, 4:12:47 PM   # 11
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Ну вы никогда не собираетесь убедить шахтеров, что они должны принять добровольно paycut избежать «срывов», которые могут или не могут произойти в будущем. Любая попытка изменить кривые субсидии будет реально не произойдет. Лично я думаю, что многие из «конца игры» неопределенности сборов Bitcoin и безопасности могут быть смягчены с низкой, но фиксированная инфляцией, но это не произойдет либо. Просто потому, что любое изменение технически возможно это не означает, что это реально возможно.

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

13 марта 2015, 5:25:07 PM   # 12
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

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

Мягкая вилка, которая изменяет то, что правила будут через 5 лет, скорее всего, будет принято. После того, как он будет принят, то это становится правилом сети.

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

13 марта 2015, 7:32:35 PM   # 13
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

Ну вы никогда не собираетесь убедить шахтеров, что они должны принять добровольно paycut избежать «срывов», которые могут или не могут произойти в будущем. Любая попытка изменить кривые субсидии будет реально не произойдет.  Лично я думаю, что многие из «конца игры» неопределенности сборов Bitcoin и безопасности могут быть смягчены с низкой, но фиксированная инфляцией, но это не произойдет либо.  Просто потому, что любое изменение технически возможно это не означает, что это реально возможно.

Для полноты код должен указать начальную точку (аналогичный пост # 7), как я считаю, что это возвращает субсидию выше 25 BTC для блоков в существующей эпохе. Так как это, вероятно, не произойдет в существующей цепи мне интересно, что было бы самой простой функция субсидии, которая возвращает «гладкие» кривую от блока 0.

Ну, это всегда есть в Monero (~ 1% годовых отправным в 10 лет), если это желательно. 
tacotime сейчас офлайн Пожаловаться на tacotime   Ответить с цитированием Мультицитирование сообщения от tacotime Быстрый ответ на сообщение tacotime

13 марта 2015, 8:39:20 PM   # 14
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Непрерывный кусочно-линейная функция вознаграждения блока с пределом 21M неизмененном

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

Мягкая вилка, которая изменяет то, что правила будут через 5 лет, скорее всего, будет принято. После того, как он будет принят, то это становится правилом сети.

Шахтеры в 5 лет, которые нарушают правила риск получения их блоки отвергнуто. Это особенно верно, если ссылка клиент отвергает их.

Все возможно, но я до сих пор думаю, что вряд ли. 

Также 5 лет будут примерно еще через два halvings, поэтому блок вознаграждение (12,5 в ~ 2016, 6,25 в ~ 2020) будет означать, что вознаграждение будет значительно снизились тогда, так не будет сомнений меньше оттеснить от людей горнодобывающих затем по сравнению с BTC вознаграждения 25, если значение BTC / $ / евро теперь похоже на. Если значение взлетела с точки зрения декретных, то вы можете получить больше теряемое против вилки даже тогда, но если 0,01 BTC стоит $ 2- $ 3 ... кто знает.

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

🙂


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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW