Bitcoin Forum
May 04, 2024, 04:51:59 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [72] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 »
1421  Local / Кодеры / Re: Кстати, а почему "атака 51"? on: February 07, 2018, 12:00:27 PM
На одном корабле 6 пушек. На другом корабле 4 пушки.
Какой из этих кораблей победит в бою, если они встречаются и начинают палить друг в друга?
Вероятность попадания из пушки по кораблю неважно какая, пушки одинаковые с обеих сторон.
Корабль тонет, если в него попали N раз.

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

Именно поэтому в случае пулов 0.2 + 0.2 != 0.4
P(0.2 + 0.2) = 1 - (1 - 0.2)(1 - 0.2) = 0.36
(обоснование взято отсюда Теорема о сложении вероятностей 2. Вероятность суммы совместных событий)

Разность 0.4 - 0.36 = 0.04 - это вероятность одновременного нахождения блоков двумя пулами, которая нам и портит картину.
1422  Local / Кодеры / Re: Python vs PHP - в чем смысл? on: February 07, 2018, 11:50:53 AM
Т.е. Питон - это эдакий Паскаль, на современный лад, да? Smiley

Нет. Питон занял нишу Перла - весьма популярного языка 90-х - начала 00-х.
А Паскаль никогда широко не использовался.
1423  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 07, 2018, 09:18:59 AM
Насколько я понял, он утверждает что в состоянии при условии что у него 40% мощности, а у остальных мощности раздроблены по 20% или менее. По его мнению в данной ситуации 40%=51.2%.

В умных книжках по теории вероятности приводятся задачи такого типа:
Есть 2 пушки. Вероятность попадания в цель каждой пушки 0.2.
Какова вероятность того, что хотя бы одна пушка попадёт в цель?

Решение:
P = 0.2 + 0.2 = 0.4 - НЕПРАВИЛЬНО
P = 1 - (1 - 0.2)(1 - 0.2) = 0.36 - ПРАВИЛЬНО

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

На основании таких же умозаключений, топикстартер делает вывод, что три пула, находящих блоки с вероятностью 0.2 каждый, будут находить блоки не с вероятностью 0.6, а с вероятностью 1 - (1 - 0.2)^3 = 0.488.

А, следовательно, оставшийся один вражеский пул будет находить блоки с вероятностью 1 - 0.488 =  0.512. Я чувствую, что в этом предложении есть какое-то наебалово, но ума и знаний теории вероятности мне не хватает, чтобы понять в чём оно именно заключается.

Но в любом случае, у каждого пула имеется тысячи "пушек" и на больших числах, когда вероятность попадания каждой "пушки" стремится к нулю, а число пушек стремиться к бесконечности, вероятности попадания в цель пулами "пушек" определяются только соотношением количества "пушек" в пулах (исходя из предположения что все "пушки" равной мощности).
1424  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 06, 2018, 08:36:00 PM
Вероятность НЕ найти блок любым из 3-х "слабых" пулов ~ 0.8 : 0.8*0.8*0.8 = 0.512 - вероятость, что ни один из них не найдёт блок.
Т.е., вероятность, что хотя бы один из 3-х "слабых" пулово найдёт блок = 1 - 0.512 => 48.8%

Согласен. Ваши рассуждения можно выразить формулой вероятности независимых совместных событий:
Code:
P = 1 - (1 - p)^n
где
p - вероятность нахождения блока одним из пулов группы
P - вероятность нахождения блока всей группой пулов
n - количество пулов в группе

Мы с вами оба были неправы, но по-разному. Вы ошибочно полагали, что пулы выполняют одинаковые вычисления, что снижает  эффективность группы пулов по сравнению с эффективностью одного пула. А я, в свою очередь, наивно полагал, что вероятность суммы совместных событий равна сумме вероятностей каждого события, то есть P = 0.2 + 0.2 + 0.2 = 0.6, что неверно.

По поводу охулиона микромайнеров. Формулу выше можно написать так:
Code:
P = 1 - (1 - N/n)^n,
где
N - совокупная доля группы в общем хешрейте (те самые 60% (0.6) от общей мощности)

Если n -> oo мы получаем предел, который равен 1 - e^(-N).
То есть, сколько бы у нас не было наномайнеров, они не смогут нам просадить вероятность нахождения блока ниже, чем 1 - e^(-N) (для N = 0.6, n -> oo, p = 0.45)

Поэтому с точки зрения теории вероятности охулиард наномайнеров не страшнее охулиона микромайнеров.
Самая сильная просадка вероятности нахождения блока наблюдается при переходе от одного пула к двум: от 0.6 к 0.51, а дальше уже легче.

Ладно, это всё была занимательная математика, попробуем копнуть глубже.
Хеш заголовков блоков вычисляет не пул, а вполне конкретная железяка - Antminer S9.

Детализируем картину:
У нас теперь есть один пул состоящий из 40 000 железяк, каждая из которых работает независимо друг от друга, потому что пул следит, чтобы все железяки получали разные задания. И есть 3 пула, каждый из которых состоит из 20 000 железяк. 

Теперь у нас появились большие числа на обеих сторонах: тёмной и светлой, теперь и там и там охулион майнеров. Напомню, что при больших n вероятность нахождения блока перестаёт зависеть от n и зависит только от доли мощности N: 1 - e^(-N)

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


1425  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 06, 2018, 01:05:00 PM
Ну, вы читайте полностью, что я написал, а не только первые три слова.

Я всё читаю.
Вы утверждаете, что интервалы входных данных для хеширования у разных пулов пересекаются.
Я утверждаю обратное: каждый пул производит перебор в своём уникальном интервале входных данных.
Я объяснил, почему эти интервалы не пересекаются.
Я чего-то не заметил?
1426  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 06, 2018, 12:16:01 PM
Да пофигу, в чём там какой процесс заключается: даже если они перебирают абсолютно случайные числа независимо друг от друга - по парадоксу дней рождений, вероятность перебирать одни и те же числа для них равна квадратному корню вероятности "вытянуть" нужное число.

Пул 1 подбирает нужный хеш так: sha256d(A + X + N)
Пул 2 подбирает нужный хеш так: sha256d(A + Y + N),
где
A - общие данные для всех пулов
N - nonce, который перебирается от 0 до max
X, Y - данные уникальные для конкретного пула, которые принципиально не могут быть одинаковыми у разных пулов

Какова вероятность того, что на вход sha256d у разных пулов поступят одинаковые данные?
1427  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 05, 2018, 11:32:39 PM
А они все перебирают одно и то же.

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

Но помимо Nonce в заголовке блока есть ещё параметры, и часть из них отличается от пула к пулу.

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

1428  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 05, 2018, 09:59:39 PM
Допустим, есть майнинг-пул, который выдаёт 4 TH/s, есть ещё 6 майнинг-пулов, каждый из которых выдаёт по 1 TH/s. В сумме, первый майнинг-пул имеет 40% мощности сети, но дело в том, что другие майнинг-пулы независимы и являются друг другу конкурентами, поэтому первый майнинг-пул, имея самую большую мощность среди незавимимых пулов, может, игнорируя орфаны, добавлять все блоки в блокчейн.

Доля орфанов незначительна. Важно, что эти 6 пулов работают над одним блокчейном и, следовательно, их мощности суммируются.


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

Это уже совсем другая история. Тогда эти два пула технически можно рассматривать, как единое целое и ваш пример сводится к "Атаке 51%".
1429  Local / Кодеры / Re: Кстати, а почему "атака 51"? Достаточно же пр on: February 05, 2018, 06:21:03 PM
а нужно всего лишь продолжать упорно майнить свою цепочку. И рано или поздно (в зависимости от степени превосходства над "усреднённой" мощностью пулов) - она станет длинней.

Допустим, ваша мощность - 40% от общей. Мощность остальных пулов - 60%
Вы с 40% майните свою цепочку, остальные с 60% майнят свою цепочку.

Откуда возьмётся превосходство, если после сплита блокчейна вы начнёте находить блоки в 1.5 раза реже?
А после ближайшего пересчёта сложности вы будете находить блоки с той же скоростью, но сложность вашей цепочки станет в 1.5 раза меньше, а правильной считается цепочка с максимальной совокупной сложностью.
1430  Local / Альтернативные криптовалюты / Re: [ARDR] Nxt: Ardor - масштабируемая ChildChain-платформа on: February 04, 2018, 03:09:54 PM
Не подскажите, а можно как то программно изменить расположение папки C:\Users\NAME\AppData\Roaming\Ardor в которой nxt_db сохраняется.

В папке conf создаёте файл nxt.properties
В нём пишите:
Code:
nxt.dbDir=d:\\ardor_db\\ardor
1431  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: February 04, 2018, 12:14:02 AM
Т. е. Вы считаете, что работать на на производителей железа и владельцев асиковых ферм лучше?

Не лучше, но и не хуже. Просто топикстартер предположил, что CPU-майнинг даёт более равномерное распределение монет среди людей, чем GPU- и ASIC-майнинг. Я попытался показать что это не совсем так, что и в CPU-майнинге есть владельцы больших мощностей.

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

Память для GPU разве не подойдёт для ASIC?
1432  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: January 31, 2018, 11:13:58 AM
Если воткнуть обычные процессоры на плату, упаковать это в жестяной корпус, запитать все это от
одного блока питания и параллельно на них гонять какую-то программу -
это не совсем получается асиком, если следовать моему представлению.

Главный критерий специализированного устройства - конкурентное преимущество на конкретном алгоритме/алгоритмах перед другими специализированными и неспециализированными устройствами.

Конкурентное преимущество, выражается в двух параметрах:
1. кол-во хеш/с на доллар цены устройства
2. кол-во хеш/с на Ватт потребляемой мощности устройства

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

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

Quote
Это такой "полуасик" - то есть неспециализированное устройство, но с ограниченными
возможностями для более широкого применения. Ферма в коробке на мой взгляд.
Вряд ли алгоритмы там реализованы "в железе" кстати. Впрочем, сейчас и у обычных
процессоров существуют какие-то возможности по прошивке, так что и код и на
обычных CPU по сути дела не на железе исполняется.

Есть класс полупроводниковых устройств, называемый CPLD (те, что попроще) и FPGA (те, что посложнее). В них связи между между логическими элементами более-менее произвольно конфигурируются при инициализации со внутреннего или внешнего ПЗУ или процессора, позволяя создавать любые аппаратные вычислители, меняя алгоритмы на лету. Понятно, что часть алгоритмов потребует ещё и внешних чипов ОЗУ.

FPGA - это специализированные устройства или универсальные? А хрен его знает. Кого, вообще, волнуют вопросы терминологии? Главное эти два вышеупомянутых мною параметров.

В 2012 году начали выпускаться майнеры Биткойна на FPGA Xilinx (Spartan-6). Они выигрывали у GPU по параметру хеш/с/Вт, но пригрывали по параметру хеш/с/$. После появления в 2013 г. асиков, выигрывающих у GPU  по обоим параметрам, интерес к FPGA-майнерам пропал.

Возможно, что и Байкалах используются FPGA, но не известных производителей (Altera, Xilinx, Lattice), а нечто подобное китайского разлива.
1433  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: January 31, 2018, 09:18:56 AM
Следовательно, АСИК настраивающийся на разные алгоритмы - это бессмыслица, нонсенс.

Baikal Giant X10 умеет 5 разных алгоритмов. Продаётся за большие деньги. Спрос есть - значит и смысл есть (для производителя, так точно).
1434  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: January 29, 2018, 08:35:06 PM
А что если заставить сторону, заинтересованную в майнинге на видеокартах, написать интерпретатор javascript со всеми его наследственными фичами? Причем сам интерпретатор будет заведомо медленно JIT компиляции ноды. Давайте подумаем как это сделать. Может 32 байта - это набор лексем (+ символ перевода строки, т.к. именно с ним рождаются волшебные фичи javascript), который превращаем в код. Его подаем на исполнение JIT компилятору и если мы на ЦПУ, то все быстро исполняется. Осталось подумать как из набора случайный чисел (хеша) сделать осмысленный javascript с "фичами". Фичи нужны, чтобы не было желания код транслировать напрямую в машинный в асиках или GPU

Вы какие-то странные, на мой взгляд, преобразования предлагаете:
хеш -> JavaScript -> последовательность инструкций CPU (x86, ARM и т. п.)

Зачем в этой цепочке JavaScript? Можно ведь напрямую:
хеш -> последовательность инструкций CPU (x86, ARM и т. п.)


И ещё, хочу сказать пару слов про цель, которую вы хотите достичь.
Вы ведь знаете, что в настоящее время существуют криптовалюты, алгоритмы которых малоэффективны для GPU?
То есть, на GPU их майнить можно, но производительность не сильно отличается от производительности на CPU.
Примеры таких алгоритмов: CryptoNight, Yescrypt.

Вы знаете, кто любит майнить монеты на этих алгоритмах?

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

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

3. Владельцы некоторых сайтов.
Сайт может иметь встроенный код для майнинга, исполняемый в браузерах посетителей сайта. Пока вкладка с сайтом открыта, комп посетителя майнит на хозяина сайта.

Вы понимаете, что разрабатывая ASIC-оустойчивый алгоритм вы работаете на вышеперечисленные категории людей?
1435  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: January 29, 2018, 02:31:41 PM
Далее смотрим: что значит сложный асик, способный выполнять любой набор инструкций? Это устройство по типу графической карты для научных вычислений (как например nVidia Tesla).

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

Пример 1:
Современные процессоры архитектуры x86 поддерживают множество наборов инструкций: x86, x86-64, x87, MMX, SSE, AVX, AES-NI (это не полный перечень). Часть этих наборов используется исключительно для совместимости с программами, скомпилированными 20 лет назад. ASIC-у все эти наборы нафиг не нужны, что упрощает его разработку и количество элементов на кристалле.

Пример 2:
Tesla в частности, да и вообще все GPU NVIDIA и AMD разрабатываются прежде всего для вычислений чисел с плавающей точкой. Но в майнинге используются исключительно целочисленные операции, которые не являются приоритетом при разработке GPU. Недаром же, первые 5 лет майнинга GPU NVIDIA были совершенно непригодны для этого самого майнинга. Вы представляете, насколько можно упростить GPU, выкинув оттуда поддержку вычислений с плавающей точкой и поддержку 3D графики?

Ну и, если вдруг вы не в курсе, ASIC-и становятся сложнее. К примеру, Baikal Giant X10 поддерживает 5 разных алгоритмов, плюс обещают  добавить ещё два алгоритма для тех же самых чипов без изменения их дизайна, что намекает на реализацию некоторой программируемой логики в этих чипах.
1436  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: January 27, 2018, 05:23:35 PM
Так и вы не ответили, что делать, если "три ноды" прислали три разных варианта блокчейна.

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

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

Quote
Предлагаю начать с определения самого понятия "консенсус"...

Консенсус в криптовалютах - это набор правил, по которым каждая нода проверяет транзакции и блоки на валидность.
1437  Local / Кодеры / Re: Как выглядит блок? on: January 22, 2018, 03:13:32 PM
Quote
Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом?

Чтобы определить баланс для конкретного адреса А нужно просканировать все блоки и найти транзакции с выходами, позволяющими обладателю приватного ключа от адреса А потратить эти выходы. Среди этих выходов необходимо найти непотраченные на текущий момент выходы (UTXO). Сумма непотраченных выходов и будет составлять баланс.
1438  Local / Кодеры / Re: Bitcoin Core. Вопросы/ответы. on: January 19, 2018, 09:45:28 AM
Возможно есть материал, в котором был бы доходчиво описан процесс создания публичного ключа из приватного?

Mastering Bitcoin
1439  Local / Альтернативные криптовалюты / Re: Аналитика, анализ, прогнозы, новости. on: January 17, 2018, 04:23:42 PM
И сколько обычно длиться времени такое падение? В крипте не так давно и видел падения только осенние в прошлом году.

В прошлый раз падение после лопнувшего пузыря длилось примерно 1.5 года: с декабря 2013 по июль 2015.
1440  Local / Русский (Russian) / Re: Выборы дополнительного модератора on: January 17, 2018, 02:55:02 PM
Я бы предложил себя ибо меня тоже спам достал со страшной силой.
Но поскольку являюсь разрабом альткоина, то наверное моя кандидатура не подойдет?
Хотя как вариант - могу зарегать новый аккаунт специально для модерирования ))

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

Pages: « 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [72] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!