Pages:
Author

Topic: Анти-пул алгоритм PoW - page 3. (Read 18545 times)

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
December 23, 2018, 07:16:18 AM
#18

Киньте клич переписать сорцы битка на чем-нить более приличном чем Цэ (ну чтобы потом сами могли допиливать его дальше) - к вам и программисты даже потянуться...


Да, надо на хаскеле переписать код битка, тогда точно от желающих программистов отбоя не будет ))
full member
Activity: 644
Merit: 135
December 23, 2018, 05:20:56 AM
#17
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 03:06:58 AM
#16
все ищут какая монета даст больше прибыли в фиате.

Те кто ищут чтобы биток или говнофорк какойнить дал большую прибыль в фиате, люди есть не далекие. Настанут времена и они будут искать какой фиат даст больше прибыли в битке Smiley)
sr. member
Activity: 770
Merit: 305
December 23, 2018, 01:13:54 AM
#15
Форки битка это ерунда все, тут либо надо апгрейдить биток либо делать сайдчейн к битку. Форки это от лукавого.
Теоретически можно. Есть две проблемы. Большая и маленькая. Начну с маленькой.

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

А большая проблема состоит в том, чтобы убедить население пользоваться вашей поделкой.
На фоне 100500 других говнофорков вы затеряетесь, потому как никого не волнует антипул-механизмы,
все ищут какая монета даст больше прибыли в фиате.
member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 10:24:54 PM
#14
Форки битка это ерунда все, тут либо надо апгрейдить биток либо делать сайдчейн к битку. Форки это от лукавого.
full member
Activity: 644
Merit: 135
December 22, 2018, 08:01:38 PM
#13
member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 01:25:38 PM
#12
sigScripte там реально занято только первые 4-6 байт куда пишется высота блока, для предотвращения проблем с транзакциями с одинаковым хешем, что случились на 90к блоков. остальное это подпись пула ну и 2 экстранонса. Так что 64 байта там как раз для подписи найдутся после того как выкинуть весь технически бесполезный хлам оттуда. Выходы коинбейз транзакции можно строго лимитировать. 1 для награды (причем PAY TO PUBKEY) второй для witness  комитмента. Ну и обязательно соотвествие подписи и публичного ключа + подписью покрыть не только хеш блока но и саму коинбейз транзу.  Так что технически можно костылей нагородить скотчем примотать и выкрутиться Smiley

Но вот проблема с владельцами асиков это основная. Но без изменений не будет развития все таки биткоин это не про владельцев  асиков и олигополию из пулов это про децентрализацию. Так что если что-то предпринимать сообществу то надо думать о децентрализации а не асико-владельцах.
sr. member
Activity: 770
Merit: 305
December 22, 2018, 12:00:13 PM
#11
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 22, 2018, 11:48:33 AM
#10
Что мешает пулу взять залог у Васи, Пети, Коли, и выдать каждому из них свой личный
приватный ключ для подписывания блока?


Чтобы определить кто спиздил награду достаточно каждому выдать личный приватный ключ, залог это метод защиты интересов пула, который для определения вовсе не требуется.
sr. member
Activity: 770
Merit: 305
December 22, 2018, 11:07:18 AM
#9
Кроме этого, даже при внесении залога, почти невозможно будет достоверно
определить, кто именно из участников группы создал транзакцию и перевёл
награду за смайненный блок на другой адрес
Почему невозможно?
Есть майнинг-нода с блокчейном. То есть пул.
Есть майнеры-работяги с асиками-шмасиками, которые не проверяют транзакции, не хранят блокчейн.
Они только перебирают варианты. Да, теперь они перебирают не хэшируют, а подписывают.

Что мешает пулу взять залог у Васи, Пети, Коли, и выдать каждому из них свой личный
приватный ключ для подписывания блока?

Васе выдается один, Пете второй, а Коле - третий.
Алгоритмы шифрования позволяют передать ключ по интернет-каналу достаточно надежным способом.

В результате мы получили ту же самую архитектуру.

Да, залог должен быть больше награды за блок. Может даже больше двух наград.
Если вы скажете - а вот в биткойне 50 btc награда за блок и цена одного btc 10килобаксов,
никто такой залог не сможет оставить! То я скажу - это как раз и будет централизация.
Те, кто в такую архитектуру пула внесут залог - те будут получать профит. А остальные
нищеброды не смогут никаким образом на этот рынок попасть, так как издержки на содержание
майнинг-ноды они не отобьют.

member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 08:14:47 AM
#8
Будет, майнеры будут перебирать не sha256 а ECDSA подписи
legendary
Activity: 2744
Merit: 1588
December 22, 2018, 07:45:53 AM
#7
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 22, 2018, 05:47:30 AM
#6
member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 02:02:43 AM
#5
1.  пулы и так работают на доверии

Да майнеры доверяют пулам, но не на оборот

В данной модели доверие должно быть со стороны пула майнерам

2.  пулы нужны, тк иначе владельцы мелких мощностей фактически выпадут в осадок...
Такие кардинальные изменения выкинут на свалку все асики имеющиеся, игра начнется заново
full member
Activity: 644
Merit: 135
December 22, 2018, 01:58:29 AM
#4
member
Activity: 148
Merit: 45
https://bitaps.com/
December 21, 2018, 11:27:17 PM
#3
Если подпись с адреса выплаты coinbase поместить в sigScript coinbase транзакции, то предложенную инициативу можно реализовать в виде софтфорка к битку. И даже особо не менять текущую картину вещей. И казалось бы бесполезное поле куда сейчас пишут сообщения, становится на свое место как  и положенно. Предлагаю вам переработать идею в этом ключе и можно создавать полноценный BIP для битка.
legendary
Activity: 2674
Merit: 2334
December 21, 2018, 10:57:31 PM
#2
Зарезервировано.
legendary
Activity: 2674
Merit: 2334
December 21, 2018, 10:57:00 PM
#1
Примечание: Основная тема создана в английском разделе Technical Discussion.



Введение

Исходя из описания Bitcoin, технология Blockchain изначально была разработана Сатоши Накамото как децентрализованное решение на базе алгоритма доказательства работы Proof-of-Work. Пользователи системы могут в недоверенном окружении отправлять безопасные платежи без возможности цензурирования транзакций третьими сторонами.

Однако, использование в этой технологии достаточно простых алгоритмов майнинга часто приводит к разработке специализированного оборудования и, как результат, получения некоторыми майнерами многократного превосходства над другими майнерами, не имеющими ASIC. Кроме этого, в такой ситуации майнеры объединяют свои вычислительные мощности в майнинг-пулы, администраторы которых раздают задания по протоколу STRATUM и получают награду за блок, добавленный в блокчейн.

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



Решение

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

Структура заголовка блока содержит 7 полей:
  • 1) block_version (4 байта)
  • 2) previous_block_header_hash (32 байта)
  • 3) block_timestamp (8 байт)
  • 4) block_difficulty (8 байт)
  • 5) transaction_count (4 байта)
  • 6) merkle_root (32 байта)
  • 7) block_nonce (8 байт)

Затем записывается подпись block_header_hash_sign (64 байта).

Далее в блоке следуют COINBASE-транзакция и остальные транзакции.


Цикл майнинга состоит из 4 этапов:

1) В заголовке блока изменяется число block_nonce (8 байт).

2) Заголовок блока хешируется желательно ASIC-устойчивым или CPU-ONLY алгоритмом.

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

3) Получившийся хеш заголовка блока (32 байта) подписывается приватным ключом (K) COINBASE-транзакции при помощи асимметричного шифра ECDSA secp256k1.

Code:
sign_nonce = mod(random256bit(), N)
R = X of mulPoint(sign_nonce, G)
S = mod(invert(sign_nonce, N) * (block_header_hash + (K * R)), N)

4) В подписи хеша заголовка блока RS (64 байта) проверяется, например, количество младших нулевых битов (LSB числа S). Если это количество меньше таргетированной сложности, то число block_nonce (8 байт) опять изменяется и цикл майнинга повторяется.


Если цикл майнинга успешен, то майнер изменяет в блоке подпись RS block_header_hash_sign (64 байта) и как можно быстрее броадкастит этот смайненный блок в сеть.



Заключение

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

Если майнеры будут отправлять хеши на подпись майнинг-пулу по сети, то это будет огромный трафик с радикальным снижением эффективности майнинга. Однако, майнеры смогут изменять число sign_nonce (32 байта) и подбирать подпись RS, которая подходит требованиям, асимметричным шифром ECDSA secp256k1 вместо хеширования заголовка блока ASIC-устойчивым алгоритмом.

Описанный анти-пул алгоритм PoW позволяет существенно снизить централизацию майнинга. Отсутствие крупных майнинг-пулов уменьшает возможность цензурирования транзакций третьими сторонами, а также повышает шансы на получение награды за майнинг для обычных пользователей системы, имеющих полную ноду.
Pages:
Jump to: