Комментарии 91
Я накидал простенькую программу на Java, иллюстрирующую смысл майнинга, даже статью написал, но потом решил, что тема настолько зажевана, что смысла в этом нет. И убрал статью в черновики. С другой стороны, люди слабо знакомые с криптографией вообще не могут понять как работают биткоины, откуда берется сдача и вознаграждение за транзакции. Но может это и не интересно?
+30
Скажу только за себя — мне очень интересно. Сколько материалов не прочитал, но так и не могу понять суть — за что дают биткоины? Понятно, что идет подбор хешей, но для каких целей? Кому это выгодно? Было бы очень интересно понять
+28
Если простыми словами, то хэши подбираются для обеспечения работы самой сети Биткоинов. Чтобы нельзя было просто так взять и «нарисовать» себе произвольное количество монет.
Соответственно, это, само по себе, никому не выгодно, но необходимо для существования сети. А выгода получается за счёт вознаграждения и за счёт комиссии от транзакций.
При нахождении хэша, им «запечатываются» в новый блок все транзакции, осуществлённые с момент нахождения предыдущего блока. Майнер, сделавший это, получает (на данный момент) 25 BTC вознаграждения + сумму всех комиссий от «запечатанных» транзакций.
Соответственно, это, само по себе, никому не выгодно, но необходимо для существования сети. А выгода получается за счёт вознаграждения и за счёт комиссии от транзакций.
При нахождении хэша, им «запечатываются» в новый блок все транзакции, осуществлённые с момент нахождения предыдущего блока. Майнер, сделавший это, получает (на данный момент) 25 BTC вознаграждения + сумму всех комиссий от «запечатанных» транзакций.
+1
Присоединюсь к вопросу. Для полного понимания «магии процесса майнинга» нужно понимать, что такое хеш, что такое хеширование, детерминированный алгоритм и еще много чего. Возможно (по себе сужу, простите), вся эта информация не укладывается с первого раза в голове как надо, потому и нет понимания что же происходит, когда «майнится» биткоин. Я был бы очень признателен тому, кто смог бы «на пальцах» объяснить, какая функция используется в майнинге, с какими параметрами, какие параметры туда поступают в ходе ее расчета (в виде совершающихся транзакций и, возможно, еще чего-то), как они изменяют ее расчет и влияют на результат. Из того, что я на данный момент понял, получается что «майнить» непрерывно — нет необходимости. Достаточно подключаться к процессу на этапе, когда максимальное количество параметров функции уже известно, т.е. перед самым «запечатыванием блока». Этим можно экономить на электроэнергии и на остальных ресурсах. Поправьте меня пожалуйста, если я не прав.
+3
Единственный параметр функции — блок байт. Блок считается валидным, если функция меньше определенного значения (или больше, неважно). Функцию хрен предскажешь, поэтому единственный способ — генерить блоки и считать от них функцию
0
Грубо говоря, майнер – это что-то типа такого:
Т.е., оно перебирает число, пока полученный хэш не будет соответствовать требованиям (в начале хэша должно быть определённое количество нулей – чем выше сложность, тем больше нулей требуется).
Соответственно, это легко распараллеливается – Вася ищет хэши для nonce от 1 до 1000, Петя — от 1001 до 2000, Таня – от 2001 до 3000 и т.д.
Но при этом, нет возможности узнать, когда и у кого получится результат, т.к. нужный хэш может получиться при любом nonce.
function miner (transactions, nonce) {
var hash = createHash(transactions + nonce);
if (hash != 'tru hash') {
return miner(transactions, nonce + 1);
}
return hash;
}
miner(ourTransactionsData, 1);
Т.е., оно перебирает число, пока полученный хэш не будет соответствовать требованиям (в начале хэша должно быть определённое количество нулей – чем выше сложность, тем больше нулей требуется).
Соответственно, это легко распараллеливается – Вася ищет хэши для nonce от 1 до 1000, Петя — от 1001 до 2000, Таня – от 2001 до 3000 и т.д.
Но при этом, нет возможности узнать, когда и у кого получится результат, т.к. нужный хэш может получиться при любом nonce.
0
А что мешает запечатывателю 'нарисовать' себе не 25 а 250 биткоинов?
Все блоки как я понимаю сейчас в-основном сайнятся преимущественно 2-4 мегапулами. Что мешает управляющим этих пулов сговориться и скрытно постоянно 'рисовать' себе энное к-во коинов?.. ну или переводить себе те, что от сотворения мира лежат без движения в ряде кошельков (Накамотовский премайн).
И что такое физически — 1 биток — это цепочка цифр или просто сумма на счету (число грубо говоря)?
Все блоки как я понимаю сейчас в-основном сайнятся преимущественно 2-4 мегапулами. Что мешает управляющим этих пулов сговориться и скрытно постоянно 'рисовать' себе энное к-во коинов?.. ну или переводить себе те, что от сотворения мира лежат без движения в ряде кошельков (Накамотовский премайн).
И что такое физически — 1 биток — это цепочка цифр или просто сумма на счету (число грубо говоря)?
0
Информация обо всех транзакциях за последние 10 минут (или время с момента появления последнего хэша) должна быть подписана, чтобы все участники сети доверяли этой информации. Так вот хеш используется для того, чтобы подписать эту информацию. После подписания все верят что подписанные переводы биткоинов настоящие, новые переводы ждут следующей подписи, а тот то нашел хеш получает награду.
0
Кстати, я не очень понимаю один момент: если транзакции постоянно добавляются, то для каких именно транзакций происходит поиск хэша? Ведь если при каждой новой транзакции начинать рассчёт заново – это может вообще бесконечно длиться.
+1
Берётся столько транзакций, сколько есть на момент начала поиска хеша. Можно конечно с каждой новой транзакцией начинать расчет заново, ведь более длинный блок признается победителем (если два блока запечатаны одновременно), но на практике чем ты дольше ищешь тем больше шансов найти, поэтому разумнее всего взять все неподтвежденные сделки в момент запечатывания предыдущего блока и сразу начать искать.
+1
Спасибо, понял.
0
чем ты дольше ищешь тем больше шансов найти
С какой это стати?
Задача для первокурсника: Петя пять раз бросал игральный кубик, но ни разу не выпадала шестёрка. Какова вероятность, что в шестой раз выпадет шестёрка?
Отгадка
1/6, так же, как и при любом другом броске.
Броски никак не влияют один на другой.
Броски никак не влияют один на другой.
0
при отдельно взятом броске — да, 1/6 что выпадет и 5/6 что не выпадет
а вот шанс, что шесть раз подряд не выпадет — уже (5/6)^6
ну а что выпадет хотя бы однажды за 6 бросков: 1-(5/6)^6
а вот шанс, что шесть раз подряд не выпадет — уже (5/6)^6
ну а что выпадет хотя бы однажды за 6 бросков: 1-(5/6)^6
+1
При чём здесь это?
Шанс, что следующий nonce подойдёт к старому блоку, ровно такой же, как и шанс, что следующий nonce подойдёт к новому блоку.
Шанс, что следующий nonce подойдёт к старому блоку, ровно такой же, как и шанс, что следующий nonce подойдёт к новому блоку.
-1
при том, что утверждение
абсолютно аналогично:
а нас интересует не то, подойдет ли хэш к конкретному блоку, а подойдет ли он к какому-нибудь блоку, актуальному на момент поиска решения.
Шанс, что следующий nonce подойдёт к старому блоку, ровно такой же, как и шанс, что следующий nonce подойдёт к новому блоку.
абсолютно аналогично:
Броски никак не влияют один на другой.
а нас интересует не то, подойдет ли хэш к конкретному блоку, а подойдет ли он к какому-нибудь блоку, актуальному на момент поиска решения.
0
выложил habrahabr.ru/post/204008/
+5
И зря убрали, тема Биткоина сейчас весьма интересна.
+1
Хотелось бы видеть максимально интуитивное объяснение, желательно в формате видео. Но сойдёт и слайд-шоу.
-1
Вытащите статью из черновиков, пожалуйста. Мне очень сложно каждый раз объяснять знакомым как оно работает, а так дал ссылку — и свободен.
+2
Можно дать ссылку сюда, если знакомые понимают английский www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/
+1
я не знаком с криптографией, но мне дичайше интересно было бы это узнать.
0
Реально ли сейчас майнить на домашнем ПК?
Я не говорю, про какой-то стабильный заработок. Просто интересно, сколько времени потребуется, чтобы хотя бы 1BTC намайнить?
Я не говорю, про какой-то стабильный заработок. Просто интересно, сколько времени потребуется, чтобы хотя бы 1BTC намайнить?
+1
а что если электричество бесплатное и майнить другие валюты (лайткойн, например)?
0
dustcoin.com. Считать scrypt, 7970 это 730 kH/s, 7950 — 600 kH/s, 7990 — 1300 kH/s.
0
Судя по графику выше, с одной видеокарты будет получаться в районе 400 рублей в день. Но примерно столько же, а то и чуть больше, Вы заплатите за электричество. Вот на работе можно втыкать в розетку =)
0
Интересно, что за карта такая…
Емнип, с десяти гигахэшей сейчас в сутки что-то около 200-250р (+-) выходит. По курсу ~30Кр.
Емнип, с десяти гигахэшей сейчас в сутки что-то около 200-250р (+-) выходит. По курсу ~30Кр.
0
Берем число 200W из статьи, видим по графику, что расходы на электричество примерно равны тому, что получится намайнить. Гугл говорит, что если мы майним круглые сутки и у нас нет газовой плиты, в мск 200W будут стоить в районе 400 рублей в сутки.
-1
на 560ti несколько дней назад за сутки получилось намайнить ~0.1$.
0
может быть 40р, а не 400?
макс. цене в мск 4руб/квтч (http://energovopros.ru/spravochnik/elektrosnabzhenie/tarify-na-elektroenergiju/moskva/29449/)
макс. цене в мск 4руб/квтч (http://energovopros.ru/spravochnik/elektrosnabzhenie/tarify-na-elektroenergiju/moskva/29449/)
0
Буду читать комментарии до конца. Буду читать комментарии до конца. Буду читать....
+1
Это сколько у вас электричество стоит?
0
3.17 днем и 0.81 ночью www.novotekaru.ru/cena-za-kilovatt-elektroenergii-v-moskve-2013-god/
0
Много времени. Лучше займитесь форками — Лайткоин и все остальные. Да, цена на них пока невысока, но вполне реально намайнить некоторую сумму. С ASIC на домашнем компе тягаться просто бессмысленно.
+1
плюсую, тоже переключился на форки. По-маленьку копятся, при желании можно обменять на BTC.
0
Цена на них значения не имеет, реально важно соотношение цена/сложность. Она сейчас такова, что майнить те же лайткоины, например, выгодней, чем биткоины, при той же скорости майнинга (правда, для биткоинов есть ASIC, а для лайткоинов потолком является GPU — но мы же о домашнем железе).
Лайткоины при этом — относительно стабильный вариант, но не самый доходный. Так-то альткоинов уже наплодили кучу, и обычно на ранней стадии своей жизни майнить и менять их очень выгодно. Можно следить за текущими фаворитами в этом списке. Еще лучше — присоединиться к майнинг пулу, который автоматически майнит самую выгодную на данный момент монету (и тут же меняет её на биткоины, которые и раздаются участникам) — например, hashco.ws.
Лайткоины при этом — относительно стабильный вариант, но не самый доходный. Так-то альткоинов уже наплодили кучу, и обычно на ранней стадии своей жизни майнить и менять их очень выгодно. Можно следить за текущими фаворитами в этом списке. Еще лучше — присоединиться к майнинг пулу, который автоматически майнит самую выгодную на данный момент монету (и тут же меняет её на биткоины, которые и раздаются участникам) — например, hashco.ws.
+5
Биткойны — нереально майнить, scrypt'овые — можно, что-то порядка 5$/сутки с HD7850, на данный момент, без учета электричества.
0
Вот вам годный калькулятор. Но вообще я бы на вашем месте, если у вас топовая видеокарта ATI, помайнил бы. Но биткоины при этом не тратил, а оставил в кошельке (не забыв сбэкапить), а «вспомнил» про них бы лет через 5.
На процессоре и видеоадаптерах Nvidia смысла майнить нет.
На процессоре и видеоадаптерах Nvidia смысла майнить нет.
-1
Intel занялась биткоинами?
+6
Это к повышению курса.
+3
Нет. Intel продолжает заниматься повышением производительности и снижением энергопотребления CPU&GPU, в результате выигрывают все, в том числе и майнеры.
+3
Да-а, ASIC'и от Intel по 22нм техпроцессу сломали бы рынок.
+1
> то сейчас скорость совместных усилий по брутфорсу превосходит 350 терахэшей в секунду (TH/s)
Откуда такие цифры?
Сейчас суммарная мощность только одного пула (не самого крупного) ghash.io в районе 2.2 Ph/s.
Откуда такие цифры?
Сейчас суммарная мощность только одного пула (не самого крупного) ghash.io в районе 2.2 Ph/s.
+3
— Афоня, ты мне bitcoin должен! (… Дваа)
— Двааа!
— Двааа!
0
Мне вот что любопытно — если мы ищем брутфорсом хеш, удовлетворяющий определённым условиям (которые с ростом сложности становятся всё ограниченнее) — то ведь есть вероятность, возможно, сравнимая с вероятностью выигрыша в лото, но тем не менее, отличная от нуля, что даже имея скромные показатели производительности можно «наткнуться» на тот самый заветный хеш, разве нет?
+1
У меня насущный вопрос — ориентировочно и примерно какова будет сложность в апреле-мае, если у майнеров появятся THash'эвые майнеры от Cointerra и Fasthash.
0
могу только предложить экстраполировать график: blockchain.info/charts/hash-rate
+1
А как, по-вашему мнению, отразится на сложности появление на у майнеров столь больших мощностей? Корректно ли использовать экспоненту для экстаполяции? На каком этапе рост станет медленнее n*exp(t).
Я понимаю, что это всё «вилами по воде», но тем не менее, от чего следует отталкиваться рассчитывая, окупаемость майнера, скажем, в апреле? Как думаете?
Я понимаю, что это всё «вилами по воде», но тем не менее, от чего следует отталкиваться рассчитывая, окупаемость майнера, скажем, в апреле? Как думаете?
0
Вспоминаются всякие утопические проекты передачи энергии с орбиты на Землю. Теперь к ним добавится ещё преобразование энергии в деньги прямо на орбите.
0
Добрый день.
Спасибо за статью Есть вопрос. В статье вы написали:
Интересно, как это проверяется?
Спасибо за статью Есть вопрос. В статье вы написали:
Одной из ключевых инноваций, сделавшей возможным существование mining pool'ов, стала возможность убедиться, что компьютер действительно провел работу по перебору хэшей, которую он заявил как выполненную.
Интересно, как это проверяется?
+2
Хороший вопрос, я уж думал никто не спросит. :)
Когда ваш майнер работает в пуле, то он обменивается данными c пулом через протокол getwork. По сути он запрашивает работу и отсылает информацию о проделанной работе. В (крайне) редких случаях отсылает и информацию о найденном решении. При этом отдельный майнер не знает данные блока, только его заголовок. Coinbase-транзакция известна корню пула, но неизвестна майнерам, а решение ищется для конкретной транзакции. Если же поменять coinbase, с целью забрать деньги себе, то найденное решение перестает быть валидным. А если вы решаете свою задачу изначально, а не полученную от пула, то пул не даст вам денег за заявленный вклад в общий майнинг.
Единственное, чем майнер может напакостить, это отчитываться о проделанной работе, но не сообщать о найденных решениях. но от этого проиграют все, т.к. денег никто не заработает. И статистически такого злодея, как утверждается, можно обнаружить.
Когда ваш майнер работает в пуле, то он обменивается данными c пулом через протокол getwork. По сути он запрашивает работу и отсылает информацию о проделанной работе. В (крайне) редких случаях отсылает и информацию о найденном решении. При этом отдельный майнер не знает данные блока, только его заголовок. Coinbase-транзакция известна корню пула, но неизвестна майнерам, а решение ищется для конкретной транзакции. Если же поменять coinbase, с целью забрать деньги себе, то найденное решение перестает быть валидным. А если вы решаете свою задачу изначально, а не полученную от пула, то пул не даст вам денег за заявленный вклад в общий майнинг.
Единственное, чем майнер может напакостить, это отчитываться о проделанной работе, но не сообщать о найденных решениях. но от этого проиграют все, т.к. денег никто не заработает. И статистически такого злодея, как утверждается, можно обнаружить.
+4
Спасибо Вам за подробный ответ.
0
Прошу прощения, ответил только на часть вопроса.
А в качестве подтверждения проделанной работы предоставляется найденное решение, достаточно близкое к требуемому. Т.е. если мы ищем хэш, у которого 20 ведущих разрядов равны нулю, а у вас есть ответ, который дает 18 ведущих нулей, то, статистически говоря, вы решили четверть задачи.
А в качестве подтверждения проделанной работы предоставляется найденное решение, достаточно близкое к требуемому. Т.е. если мы ищем хэш, у которого 20 ведущих разрядов равны нулю, а у вас есть ответ, который дает 18 ведущих нулей, то, статистически говоря, вы решили четверть задачи.
+3
Мне всё равно непонятно.
Если данные блока неизвестны, тогда хэш чего ищется? Только заголовка?
Почему корню пула найденного решения достаточно, чтобы подписать блок, а самому узлу, нашедшему решение — недостаточно?
Если данные блока неизвестны, тогда хэш чего ищется? Только заголовка?
Почему корню пула найденного решения достаточно, чтобы подписать блок, а самому узлу, нашедшему решение — недостаточно?
0
getwork был популярен до середины 2012, сейчас давно все перешли сначала на GBT а потом на stratum
0
ASICs прошлый век. Майнинг уходит в облака cex.io/r/0/otov4its/0/
-16
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Bitcoin: основные принципы майнинга