Author

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

legendary
Activity: 2422
Merit: 2166
July 28, 2019, 11:26:34 PM
#58
Как уже было сказано, вышеописанный анти-пул алгоритм PoW версии 1.0 имеет существенный недостаток, заключающийся в том, что майнеры могут однократно выполнить первый и второй цикл майнинга, после чего игнорировать эти циклы и находить подходящий блок, перебирая не число block_nonce, а число sign_nonce в схеме подписи ECDSA на эллиптической кривой secp256k1, используя специализированное оборудование. Таким образом, некоторые майнеры могут получить многократное превосходство над другими майнерами, у которых нет ASIC, поэтому предлагается следующее решение, устраняющее данный недостаток.



Анти-пул алгоритм PoW - Версия 2.0

Основной проблемой в реализации анти-пул алгоритма PoW версии 1.0 является то, что при использовании асимметричной криптографии ECDSA на эллиптической кривой secp256k1 невозможно подписать хеш (число) одновариантно и одинаково без потери секурности и безопасности, поскольку число sign_nonce в данной схеме должно быть не только рандомным, но и неизвестным третьим лицам. Иначе очень легко вычислить число R, а затем приватный ключ K из числа S. Поэтому основной задачей для решения вышеописанной проблемы является нахождение такой асимметричной криптографии, которая позволяет подписать хеш (число) достаточно секурно и даёт одновариантный и одинаковый результат.

Для имплементации анти-пул алгоритма PoW версии 2.0 предлагается использовать асимметричную криптографию RSA (Rivest-Shamir-Adleman), широко применяемую, например, в известном приложении PGP (Pretty Good Privacy). В этой криптографии число (хеш), являющееся открытым сообщением M, для повышения секурности прежде подписывания обычно инкапсулируется в другое (большее) число методом Probabilistic Signature Scheme (PSS). По умолчанию в данной схеме используется так называемая "соль", которая является рандомным числом (то есть, по сути, sign_nonce), но этот параметр может быть опущен. Таким образом схема PSS без "соли" при подписывании одного и того же (хеша) числа даёт одновариантный и одинаковый результат. Разумеется, отсутствие "соли" в подписи снижает секурность, но не существенно.



Пример реализации алгоритма

В целях тестирования анти-пул алгоритма PoW версии 2.0 можно использовать, например, известное приложение OpenSSL. В настоящее время в криптографии RSA обычно используются публичная экспонента E, равная 65537, и публичный ключ N длиной 2048 бит (256 байт).


Чтобы сгенерировать пару ключей RSA, необходимо:

1) Создать приватный ключ, являющийся двумя простыми числами P и Q, каждый длиной по 1024 бит (по 128 байт):

Code:
openssl genrsa -out private_key.pem 2048

2) Вычислить публичный ключ N длиной 2048 бит (256 байт), являющийся произведением двух чисел P и Q:

Code:
openssl rsa -in private_key.pem -outform PEM -pubout -out public_key.pem


Чтобы подписать заголовок хеша блока методом RSA-PSS, необходимо:

1) Вычислить ASIC-устойчивым алгоритмом и записать хеш заголовка блока в текстовый файл, например, "block_header_hash.txt".

2) Подписать хеш заголовка блока и записать сигнатуру в файл "block_header_hash.txt.sig":

Code:
openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:0
-sign private_key.pem -out block_header_hash.txt.sig block_header_hash.txt

Следует отметить, что параметр rsa_pss_saltlen равен нулю, поэтому результат выполнения этой команды при одних и тех же входящих данных файла "block_header_hash.txt" всегда одновариантен и одинаков.


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

Затем записывается подпись block_header_hash_rsa_sign_without_salt (256 байт). Итого размер заголовка блока с подписью составляет 89 + 256 = 345 байт.


Для имплементации анти-пул алгоритма PoW версии 2.0 транзакции должны одновременно поддерживать адреса, основанные не только на асимметричной криптографии ECDSA на эллиптической кривой secp256k1, но и на асимметричной криптографии RSA с инкапсуляцией числа (хеша) по схеме PSS. Если рассматривать на примере Bitcoin, то потребуется ввести новый OP_CHECKSIGN_RSA, который верифицирует два последних значения из стека (подпись S и публичный ключ N) по схеме PSS (с "солью") и проверяет валидность входного скрипта транзакции.

Code:
openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1
-sign private_key.pem -out transaction.txt.sig transaction.txt

Параметр rsa_pss_saltlen, равный -1, в данной команде означает, что длина "соли" будет равна длине хеша SHA256, то есть 32 байтам, поэтому секурность и безопасность будут на высоком уровне.


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

Выходной скрипт scriptPubKey COINBASE-транзакции должен содержать формат PAY-TO-RSA-PUBKEY:

Code:
OP_DUP OP_EQUALVERIFY OP_CHECKSIG_RSA

Соответственно, для того, чтобы в будущем потратить этот выход, во входном скрипте scriptSig последующей транзакции нужно будет указать подпись S и публичный ключ N:

Code:



Заключение

Представленный анти-пул алгоритм PoW версии 2.0 устраняет указанный существенный недостаток версии 1.0, а также добавляет некоторые усовершенствования. Использование в майнинге асимметричной криптографии RSA по схеме PSS без "соли" не даст возможности майнерам перебирать число sign_nonce вместо перебора числа block_nonce, как это было возможно в анти-пул алгоритме PoW версии 1.0, поэтому они будут вынуждены вычислять хеш заголовка блока многократно, при каждой итерации майнинга проходя через ASIC-устойчивый алгоритм. Кроме этого, администраторы ботнетов и вебсайтов, скорее всего, не будут устанавливать скрытые JS-скрипты, поскольку приватный ключ RSA (то есть числа P и Q) необходимы при каждой итерации майнинга.

Описанная схема позволяет обеспечить ASIC-устойчивость, уменьшить централизацию майнинга и, как следствие, ещё более снизить возможности цензурирования транзакций узким кругом лиц.
legendary
Activity: 2422
Merit: 2166
May 10, 2019, 01:29:24 AM
#57
Точно такое же решение как ваше я продумывал 1,5 года назад когда думал как создать идеальный блокчейн (были ветки на этом форуме), но отказался от него по причине медлительности проверки электронной подписи (порядка тысяч в секунду на одно ядро).

В общем-то, не имеет особого значения, как часто генерируются подписи или хеши при майнинге. Например, насколько я знаю, в Monero 100 хешей в секунду считается приличной скоростью для обычного компьютера. Этот показатель периодически, через определённое количество блоков, регулируется изменением сложности майнинга согласно консенсусу криптовалюты. Главное - чтобы одна подпись или хеш не вычислялись слишком долго, поскольку другие майнеры должны будут однократно повторить хеширование или верификацию при проверке валидности нового смайненного блока, присланного из сети.
full member
Activity: 411
Merit: 135
May 02, 2019, 05:41:43 PM
#56
Закономерно, что чем чаще новые блоки добавляются в блокчейн, тем больше орфанов в сети.
Это факт для эфира, это факт для битка и это  факт для их форков. А закономерности только для блокчейнов 1-го поколения (по сути эфир тоже блокчейн 1-го поколения из-за медлительности).
Их общая беда - нет модели сети, а значит протокол не знает как распространяется информация, поэтому орфаны...

Насколько я знаю, например, у Ethereum номинальное время на майнинг одного блока равно примерно 15 секунд, это довольно малый промежуток, но и там тоже майнинг-пулы (согласно статистике, например, у Ethermine 25%, у f2pool 21%, у dwarfpool 13%, и т.д.). Поэтому, на мой взгляд, для анти-пул алгоритма PoW не имеет особого значения, как часто блоки добавляются в блокчейн. По-моему, это должно быть реализовано на уровне вычислительных операций майнинга с использованием подписей.

Почему люди соединяются в пулы?
1)Не хотят держать полную ноду (долго скачивать, много держать данных) - использовать остатки, давно известное решение и как вы знаете оно уже работает
2)Хотят периодически (раз в неделю/месяц) получать награду - значит чаще платить. В одном месяце более 2 миллиона секунд, поэтому достаточно чтобы больше половины майнеров имели хотя бы одну миллионную мощность сети, чтобы обеспечить децентрализацию.

Мое решение не противоречит с вашим. Просто я показал достаточность моего предложения в определенных рамках. Точно такое же решение как ваше я продумывал 1,5 года назад когда думал как создать идеальный блокчейн (были ветки на этом форуме), но отказался от него по причине медлительности проверки электронной подписи (порядка тысяч в секунду на одно ядро).





legendary
Activity: 2422
Merit: 2166
May 02, 2019, 02:44:45 PM
#55
Извиняюсь, но если уже можно сделать без централизованного сервиса (и это уже  реализовано в Тере), то зачем даже думать про централизованное решение??

Мне бы хотелось в настоящей теме обсуждать именно анти-пул алгоритм PoW

Смотрите, по теме топика: самый эффективный способ защиты от пула это выплата награды как можно чаще, например раз в секунду. Угадайте где это уже сделано и если там пулы...

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

Насколько я знаю, например, у Ethereum номинальное время на майнинг одного блока равно примерно 15 секунд, это довольно малый промежуток, но и там тоже майнинг-пулы (согласно статистике, например, у Ethermine 25%, у f2pool 21%, у dwarfpool 13%, и т.д.). Поэтому, на мой взгляд, для анти-пул алгоритма PoW не имеет особого значения, как часто блоки добавляются в блокчейн. По-моему, это должно быть реализовано на уровне вычислительных операций майнинга с использованием подписей.
sr. member
Activity: 770
Merit: 305
May 02, 2019, 02:37:20 PM
#54
Смотрите, по теме топика: самый эффективный способ защиты от пула это выплата
награды как можно чаще, например раз в секунду.
С какого перепою?

В нормальных обыденных взаимоотношениях частота выплат не должна быть выше
каких-то границ. Вы хотели бы чтобы вам начальник зарплату платил каждую секунду?
На хера вам это? Раз в две недели чем не устраивает?

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

Quote
Угадайте где это уже сделано и если там пулы...
Какой-то свой говнокойн хочешь прорекламировать? Кому он нужен, Неуловимый Джо?
full member
Activity: 411
Merit: 135
May 02, 2019, 02:08:12 PM
#53
Извиняюсь, но если уже можно сделать без централизованного сервиса (и это уже  реализовано в Тере), то зачем даже думать про централизованное решение??

Мне бы хотелось в настоящей теме обсуждать именно анти-пул алгоритм PoW

Смотрите, по теме топика: самый эффективный способ защиты от пула это выплата награды как можно чаще, например раз в секунду. Угадайте где это уже сделано и если там пулы...


legendary
Activity: 2422
Merit: 2166
May 02, 2019, 12:53:46 PM
#52
Извиняюсь, но если уже можно сделать без централизованного сервиса (и это уже  реализовано в Тере), то зачем даже думать про централизованное решение??

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

Поэтому мной в этом разделе была создана новая тема:
Способы отсечения старых блоков в блокчейне

Предлагаю Вам опубликовать способ, реализованный в Вашей монете, в той теме и обсуждать этот вопрос там.
full member
Activity: 411
Merit: 135
April 20, 2019, 01:39:47 PM
#51
3 Основная идея такая:
а)При больших объемах данных, которые неминуемо наступят при 1000 tps, новые пользователи должны иметь возможность быстрого скачивания блокчейна, чтобы провалидировать его и приступить к работе с ним. Поэтому порядок скачивания меняется - если он раньше был с начала цепочки, то теперь будет загружаться с конца.
б)Дать пользователям возможность работы с блокчейном при ограниченных размерах емкости диска (HDD/SSD), например 10 Гбайт

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

Извиняюсь, но если уже можно сделать без централизованного сервиса (и это уже  реализовано в Тере), то зачем даже думать про централизованное решение??


legendary
Activity: 2422
Merit: 2166
April 16, 2019, 08:45:47 AM
#50
3 Основная идея такая:
а)При больших объемах данных, которые неминуемо наступят при 1000 tps, новые пользователи должны иметь возможность быстрого скачивания блокчейна, чтобы провалидировать его и приступить к работе с ним. Поэтому порядок скачивания меняется - если он раньше был с начала цепочки, то теперь будет загружаться с конца.
б)Дать пользователям возможность работы с блокчейном при ограниченных размерах емкости диска (HDD/SSD), например 10 Гбайт

Идея отсечения старых блоков, конечно, полезная в том плане, что многие пользователи не желают скачивать весь многогигабайтный блокчейн, накопившийся за годы существования криптовалюты, только лишь для того, чтобы надёжно отправить пару транзакций. Но для создания таких блоков-чекпойнтов, содержащих список текущих непотраченных выходов UTXO, по-моему, требуется централизованный сервис, которому должны доверять все пользователи монеты. Хотя, наверно, в Вашем случае, отсечение старых блоков для лёгких версий кошелька является неизбежным по причине большого количества транзакций и, как следствие, огромного размера блокчейна.
full member
Activity: 411
Merit: 135
April 14, 2019, 06:24:21 AM
#49
Ещё больше вопросов чем ответов, надо код таки смотреть.

1. Три точки 8К, 40К, 3М какова дискретность перескока при условии продвижения основной цепи на один блок?
2. В битке верификация с конца проходит с целью установления реального баланса юзера.
3. Вы таки сделали возможность перезаписи состояния кошелька с целью умерщвления старых частей чейна? Каков критерий окончательного омертвления? Что станет с мёртвыми частями?


1 Более подробно я писал тут: https://docs.google.com/document/d/1JVYcfggPK-ZiF4cnerr_2-IrK9JyxD7Aw4ihlR2sNjI/edit?usp=sharing
Там есть пример, цитата: "Из примера видно условное постоянство - левые три таблицы не изменились при изменении номера текущего блока с 30001 на 30010"
3 Основная идея такая:
а)При больших объемах данных, которые неминуемо наступят при 1000 tps, новые пользователи должны иметь возможность быстрого скачивания блокчейна, чтобы провалидировать его и приступить к работе с ним. Поэтому порядок скачивания меняется - если он раньше был с начала цепочки, то теперь будет загружаться с конца.
б)Дать пользователям возможность работы с блокчейном при ограниченных размерах емкости диска (HDD/SSD), например 10 Гбайт


Т.е. начальные цепочки не отмирают. Они просто разворачиваются в сторону бесконечности, если так можно выразиться...



newbie
Activity: 46
Merit: 0
April 14, 2019, 01:35:28 AM
#48
Ещё больше вопросов чем ответов, надо код таки смотреть.

1. Три точки 8К, 40К, 3М какова дискретность перескока при условии продвижения основной цепи на один блок?
2. В битке верификация с конца проходит с целью установления реального баланса юзера.
3. Вы таки сделали возможность перезаписи состояния кошелька с целью умерщвления старых частей чейна? Каков критерий окончательного омертвления? Что станет с мёртвыми частями?
full member
Activity: 411
Merit: 135
April 13, 2019, 01:44:22 PM
#47
"""Такие криптовалюты с отсечением старых блоков существуют"""


Приведите примеры.

можно же хранить контрольную сумму\заголовки блоков в основном чейне, в битке это примерно 4 метра в год, а инфу о доказательстве баланса кинуть на юзеров

Вот вам пример алгоритма и его практической реализации (совсем недавно запилил):
https://medium.com/@progr76/update-teranova-31dd3380f25c

русский текст:
https://docs.google.com/document/d/1SHGJX4YObjcqJwQE4MngX38hwrpT0bMNk0lyyRj_EDY/edit?usp=sharing


newbie
Activity: 46
Merit: 0
April 13, 2019, 07:43:39 AM
#46
"""Такие криптовалюты с отсечением старых блоков существуют"""


Приведите примеры.

можно же хранить контрольную сумму\заголовки блоков в основном чейне, в битке это примерно 4 метра в год, а инфу о доказательстве баланса кинуть на юзеров
legendary
Activity: 2422
Merit: 2166
February 20, 2019, 08:41:44 AM
#45
Алгоритм описанный в статье существует.
Называется монета Spreadcoin существует с 2014 года торгуется на бинансе.
Есть форки Zillioncoin и Zettelkasten. Типа CPU-only. Не торгуются нигде.
Пулов естественно нету. Децентрализации хоть отбавляй.

Еще свои пять копеек добавлю к Вашим рассуждениям.
В идеальной крипте ИМХО должны быть три вещи:
1.Антипул механизм (существует реально по описанной Вами технологии).
2.CPU only майнинг (алгоритм предлагаю 1GB-AES, монетка Hodlcoin например) Чтобы никаких ригов с видяхами.
3.Нужен механизм поддержки одиноких процессородрочеров, чтобы реальная децентрализация была. Предлагаю следующую схему:

Честно говоря, я не имею представления, как именно реализованы указанные Вами монеты, особенно, как решается связка анти-пул механизма и ASIC-устойчивого алгоритма.

Как уже было отмечено в первом посте этой темы, описанный мной анти-пул алгоритм PoW в текущей реализации имеет недостаток, заключающийся в том, что майнеры могут один раз сгенерировать block_nonce и вычислить хеш блока ASIC-устойчивым алгоритмом, а затем находить подпись требуемой сложности, просто перебирая sign_nonce для подписи ECDSA secp256k1. У меня есть почти 100-процентная уверенность, что эти математические операции не являются ASIC-устойчивыми, поэтому представленный мной анти-пул алгоритм версии 1.0 нуждается в доработке до версии 2.0.


Проблему тяжелого блокчейна я предлагаю решить путем отсчечения хвоста блокчейна. Допустим так: каждые 50 тыс.блоков (при времени блока в 1 мин - это около месяца) создается контрольный блок содержащий полный перечень всех ненулевых кошельков и их балансов. А каждые 300 тыс блоков. происходит отсечение, самого древнего 50 тысячного контрольного блока. При этом индексы всех блоков остаются (как в Electrum кошельках)

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


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

Соглашусь, что CPU-only алгоритм предполагает максимальную децентрализацию в виду большей распространённости процессоров, нежели GPU и ASIC, но и эта опция тоже не идеальна, поскольку производительности современных процессоров существенно различаются.
member
Activity: 60
Merit: 10
February 15, 2019, 01:01:37 PM
#44
Алгоритм описанный в статье существует.
Называется монета Spreadcoin существует с 2014 года торгуется на бинансе.
Есть форки Zillioncoin и Zettelkasten. Типа CPU-only. Не торгуются нигде.
Пулов естественно нету. Децентрализации хоть отбавляй.

Еще свои пять копеек добавлю к Вашим рассуждениям.
В идеальной крипте ИМХО должны быть три вещи:
1.Антипул механизм (существует реально по описанной Вами технологии).
2.CPU only майнинг (алгоритм предлагаю 1GB-AES, монетка Hodlcoin например) Чтобы никаких ригов с видяхами.
3.Нужен механизм поддержки одиноких процессородрочеров, чтобы реальная децентрализация была. Предлагаю следующую схему:

Есть в эфире такое понятие как uncle блоки (дядя - брат отеческого блока), это орфаны которые монетизируются на уровне алгоритма, добавляются в блокчейн и повышают его надежность, за счет вложенных в них вычислений. Uncle включенные в блок, получают 7/8 обычной награды блока.
Я предлагаю распространить этот механизм не только на орфаны (идеальные альтернативные решения блока) но и на шары (неидеальные альтернативные решения блока) и выплачивать им награду пропорционально степени идеальности шары, от 7/8 за идеальную и вниз до предельной нижней сложности принятия шар, она задается фиксировано при создании алгоритма и соответствует работе среднестатистического хомячкового процессора за сутки.
Так любой нищеброд будет держать полную ноду и ему будет периодически капать бабло.

Проблему тяжелого блокчейна я предлагаю решить путем отсчечения хвоста блокчейна. Допустим так: каждые 50 тыс.блоков (при времени блока в 1 мин - это около месяца) создается контрольный блок содержащий полный перечень всех ненулевых кошельков и их балансов. А каждые 300 тыс блоков. происходит отсечение, самого древнего 50 тысячного контрольного блока. При этом индексы всех блоков остаются (как в Electrum кошельках)

В остальном это должен быть обычный CPU-only форк спредкоина, типа zillioncoin, чтобы майнился только на CPU и без пулов и никаких видеокарт.
Почему именно на CPU без GPU и без пулов? - для повышения децентрализации, чтобы действовал (насколько это возможно)  принцип одна нода- один голос - равные возможности для нахождения блока. GPU, ASIC и пулы этому принципу противоречат, так как делают систему централизованной за счет концентрации мощностей в одних руках, что противоречит изначальной концепции крипты - распределенные децентрализованные деньги.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 25, 2018, 06:43:03 AM
#43
Если подпись с адреса выплаты coinbase поместить в sigScript coinbase транзакции, то предложенную инициативу можно реализовать в виде софтфорка к битку. И даже особо не менять текущую картину вещей. И казалось бы бесполезное поле куда сейчас пишут сообщения, становится на свое место как  и положенно. Предлагаю вам переработать идею в этом ключе и можно создавать полноценный BIP для битка.
Теоретически можно. Есть две проблемы. Большая и маленькая. Начну с маленькой.

В scriptSig coinbase-транзакции не так уж много места. Там ограничение на 100 байт, а запихивается
туда уже много что другое. Места для подписи (а это 64 байта) уже нет или впритирку.

Нет, это невозможно. Любое изменение COINBASE-транзакции пост-фактум приведёт к невалидности поля merkle_root в заголовке блока.

Для тех кто хочет, чтобы он оставался валидным без пересчитывания конечно невозможно, остальным это делать никто не запрещает, поэтому да, теоретически можно.
legendary
Activity: 2422
Merit: 2166
December 25, 2018, 04:02:59 AM
#42
Кроме этого, даже при внесении залога, почти невозможно будет достоверно
определить, кто именно из участников группы создал транзакцию и перевёл
награду за смайненный блок на другой адрес
Почему невозможно?
Есть майнинг-нода с блокчейном. То есть пул.
Есть майнеры-работяги с асиками-шмасиками, которые не проверяют транзакции, не хранят блокчейн.
Они только перебирают варианты. Да, теперь они перебирают не хэшируют, а подписывают.

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

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

Да, верно. Это моё предложение было зачёркнуто в первом посте.


Ещё надо как-то определиться c выходами coinbase-транзакции - их ведь может быть существенно
больше одного. Что толку "палить" приватный ключ, если на адрес этого приватного ключа ничего не посылать?

Тоже верно. Указание о допустимости в COINBASE-транзакции только одного выхода P2PK или P2PKH было добавлено в первый пост.


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

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


Если подпись с адреса выплаты coinbase поместить в sigScript coinbase транзакции, то предложенную инициативу можно реализовать в виде софтфорка к битку. И даже особо не менять текущую картину вещей. И казалось бы бесполезное поле куда сейчас пишут сообщения, становится на свое место как  и положенно. Предлагаю вам переработать идею в этом ключе и можно создавать полноценный BIP для битка.
Теоретически можно. Есть две проблемы. Большая и маленькая. Начну с маленькой.

В scriptSig coinbase-транзакции не так уж много места. Там ограничение на 100 байт, а запихивается
туда уже много что другое. Места для подписи (а это 64 байта) уже нет или впритирку.

Нет, это невозможно. Любое изменение COINBASE-транзакции пост-фактум приведёт к невалидности поля merkle_root в заголовке блока.
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 06:29:55 PM
#41
Первое, блоки нужны для того чтобы защитить историю от изменения. Второе ветвление цепочки блоков и майнинг позволяют разрешить конфликт транзакций тратящих одни и те же монеты. Так как если я предоставлю две конкурирующие транзакции, нужен алгоритм позволяющий однозначно сказать что одна из них валидна а вторая нет. Так что без блоков уж работать не будет.
Накамото решил задачу византийских генералов для общего случая, когда количество участников может динамически меняться. Цепочка блоков +  POW ( майнинг) представляют из себя мульти подпись с динамически изменяемым числом участников. У каждого майнера свои интересы финансовые и по сути рациональное поведения каждого майнера урвать себе. Тут и получается что как враги они и договариваются. И так как вся система находиться в равновесии Неша, то наиболее рациональным поведением участника, является следовать правилам, в случае отклонения от правил и попытки придумать свою стратегию поведения он в итоге потерпит убыток.


full member
Activity: 644
Merit: 135
December 23, 2018, 06:13:00 PM
#40
"а какой он еще, если он всего 1 и у всех одинаков?"  так в этом вся и суть, копии одинаковые а запись в в копию только через децентрализованный консенсус.

а тут консенсуса наоборот нет - расчет на то, что транза через какой-то узел, да все равно проскочит...

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


PS  вообще забавляет "консенсус" в этом контексте - когда договариваются враги я еще понимаю...
А тут у вас что, правое полушарие с левым конфликтует чтоли, или печенка с селезенкой? Wink
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 05:44:50 PM
#39
Да ладно?
Всем будет похуй, если чей-то адрес заблокируют. Некоторые даже обрадуются, что биткойнов
в обращении стало меньше, значит их цена больше. Есть такой миф в народе.
Эфир не закончился, когда адрес человека, который из DAO бабло увёл заблокировали.
Наоборот, все радовались, что "злодея" наказали.
С какой стати биткойн закончится?
Кстати, я могу вам дать свой адрес, который "патчем заблокировали". Не прицельно, то есть
вовсе не в меня метили. Но в результате софт-форка бабло осталось на адресе навсегда. Там
мелочь пузатая, естественно, меньше копейки. Но факт такой есть.

Да давай адрес, Биток не эфир с Виталиком, и грош цена будет битку после прецедента цензуры.
sr. member
Activity: 770
Merit: 305
December 23, 2018, 05:36:21 PM
#38
"могут и в патче какой-то адрес заблочить, а если уж решили отслеживать..." если тако случиться, биток на этом закончиться
Да ладно?
Всем будет похуй, если чей-то адрес заблокируют. Некоторые даже обрадуются, что биткойнов
в обращении стало меньше, значит их цена больше. Есть такой миф в народе.
Эфир не закончился, когда адрес человека, который из DAO бабло увёл заблокировали.
Наоборот, все радовались, что "злодея" наказали.
С какой стати биткойн закончится?
Кстати, я могу вам дать свой адрес, который "патчем заблокировали". Не прицельно, то есть
вовсе не в меня метили. Но в результате софт-форка бабло осталось на адресе навсегда. Там
мелочь пузатая, естественно, меньше копейки. Но факт такой есть.
full member
Activity: 644
Merit: 135
December 23, 2018, 05:34:18 PM
#37
А что мешает на этом месте кроме фильтра по комиссии поставить любой другой?..

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


PS  биток не децентрализован - там просто нету единого центра управления(если не считать программистов), а это две большие разницы.
Распределенной(distributed) системой он тоже не является.
И вообще там тока вопрос в майнинге и распределении награды майнинга всего лишь - столько огорода только чтобы сделать анонимным майнинг...
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 04:55:25 PM
#36
"А фильтрация транз с малой комиссией не в счет?.."  не в счет это рынок. Места мало кто больше заплатил тот поехал первым.
Децентрализация не может стоит копейки.

"могут и в патче какой-то адрес заблочить, а если уж решили отслеживать..." если тако случиться, биток на этом закончиться

"а какой он еще, если он всего 1 и у всех одинаков?"  так в этом вся и суть, копии одинаковые а запись в в копию только через децентрализованный консенсус.
full member
Activity: 644
Merit: 135
December 23, 2018, 04:47:53 PM
#35
кстати биток централизован, поскольку блокчеин, сюрприз?

Можно по подробнее почему если блокчейн то централизован?


а какой он еще, если он всего 1 и у всех одинаков?


PS  там не децентрализация, а просто тупо миллион копий 1 центра.
full member
Activity: 644
Merit: 135
December 23, 2018, 04:45:12 PM
#34
А фильтрация транз с малой комиссией не в счет?..


PS  могут и в патче какой-то адрес заблочить, а если уж решили отслеживать...
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 04:09:11 PM
#33
Если эти 3-4 (10 000) в сговоре, то децентрализации нет от слова совсем. Доказать что они не в сговоре не представляется возможным, итого децентрализации нет. Какое распределение контроля, когда у большинства пользователей даже полной ноды нет?

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

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

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

Биток даже если и имеет групповое влияние, то оно существенно меньше того которое имеют банки и правительства. И если вспомнить о чем этот топик, так он как раз о том как сделать это влияние еще меньше.

Я думаю если перед тобой встанет задача сохранить капитал а в спину тебе будет дышать финансовая разведка, ты вспомнишь о лохчейне и его свойствах.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 23, 2018, 03:56:26 PM
#32
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 03:51:17 PM
#31
кстати биток централизован, поскольку блокчеин, сюрприз?

Можно по подробнее почему если блокчейн то централизован?

full member
Activity: 644
Merit: 135
December 23, 2018, 03:48:25 PM
#30
Лидер биткоина ушел в закат и правильно сделал. Иначе бы он был бы богом по типу Виталика в эфире. Что сказал то и все бы и делали.

не парься - чувак децентрализацию с влиянием путает, у кодеров у всех чтоли так с мозгами? Wink


PS  ты не совсем правильный термин использовал("децентрализация" вместо "влияние") - вот шкодер увидел знакомые буковки, и повелся Wink))

PPS  а кто Гевину вместо "destributed" децентрализованное подсунул?..
(проблемы масштабирования тогда и не возникло бы)

PPPS  а классный тест на кодеров получился - надо будет нашему психологу рассказать...
full member
Activity: 644
Merit: 135
December 23, 2018, 03:37:46 PM
#29
Децентрализация либо есть, либо её нет. Словосочетание "наиболее децентрализована" такой же бред как "немножко беременна". Лидер
...
Раз не нужны, нахуя тогда ты в разделе кодеры усираешься со своими надо? Скачай себе мозгов на гитхабе и пиздуй переписывать. Здесь благотворительностью никто не занимается.
...
Спасибо за наводку. Вряд ли конечно общаются как с умственно полноценным. В каждом посте такую дичь строчит, что грех не пнуть, иначе набегут сочувствующие идиоты.


хы, правда чтоли на больную мазоль наступил? Wink   (вообще-то наш аналитик как-то предупреждал про кодеров, я не особо верил...)

Не понимаете чем распределенная система от децентрализованной(кстати биток централизован, поскольку блокчеин, сюрприз? ) отличается, и ещё на оплату намекаете?..   Ну-ну...


PS  вы не кодеры, а шкодеры Wink))_

PPS  биткойн не про распределенные системы(у них пропускная способность растет с ростом кластера, для того и придуманы), а скорее про защиту от модерирования и отмены транзакций.
(кстати его и лайтинге насколько я понял сделать по-настоящему распределенным не удалось, просто костыль?.. )
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 03:25:40 PM
#28
Лидер биткоина ушел в закат и правильно сделал. Иначе бы он был бы богом по типу Виталика в эфире. Что сказал то и все бы и делали. Про беременность это ты перегибаешь со сравнениями. Сущность децентрализации в распределении контроля между участниками и можно условно сказать: участников между которыми распределено много или их всего 3 или 4. Что по сути и отражает степень децентрализации. Когда их много можно говорить о большей степени децентрализации, когда мало можно сказать "немножко децентрализованно" а когда всего один участник тогда централизованно.  С беременностью дела обстоят несколько иначе, не буду углубляться в эту тему.

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

По поводу меда) Да он лучше чем деньги Smiley его эмиссия не контролируется ЦБ. Мир жесток, безмыслен и все мы умрем. Но моя нежная психика страдает еще сильнее когда еще и хуями кроют при этом)
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 23, 2018, 02:55:31 PM
#27
Мне не надо, Амаклину уверен тоже. Сайдчейны? Ну нарисуй логику сайдчейна, чтобы у тебя всё не расползлось без централизации. Форки от лукавого, а бетховен от боха? Cool
Биткоин не от бога но он де-факто наиболее децентрализованная крипта из всех что имеются на сегодняшний день, у биткоина нет лидера в виде Виталиков, Роджеров, центробанков  и т.д. С твоей позицией что кругом лохчейн, ну да тебе наверно не надо ничего. Так что смысла не вижу, рисовать тебе логику какую либо. И да не мне конечно кого то учить жизни, но можно и покультурней себя вести на людях, а то уж больно хуев много в твоих мессаджах.

Децентрализация либо есть, либо её нет. Словосочетание "наиболее децентрализована" такой же бред как "немножко беременна". Лидер биткоина ушёл в закат, если кидалик и прочие весёлые роджеры последуют его примеру, то все эти форки ценнее не станут, поэтому твои аргументы вовсе не аргументы. Причём здесь вообще центробанки? Ты ещё скажи что мёд лучше чем деньги, потому что его "эмиссия" не контролируется ЦБ. Про сайдчейны технично слился. Между не видишь смысла и не можешь есть нюанс. Я утверждаю что алгоритма сайдчейна без централизации в данный момент не существует. Это факт, не зависящий от того нужны мне лохчейны или не нужны. Зачем покультурнее, среди нас дамы или твоя нежная психика пострадала? Привыкай, мир жесток, кругом треш и угар из которого торчат хуи.

да вы программисты все давно уже не при делах - все что надо в принципе на том-же sf и гитхабе есть бесплатно...
Вот тока проблема в том что оно там в таком говенном виде, что использовать это на практике опасно.
А переписать надо - чтобы менеджер(или заказчик) сам мог разобраться и даже немного подправить что-то.
Правильный вопрос:  зачем они мне?   Тем более что все что надо можно найти бесплатно, хоть код реверснуть, хоть даже в исходниках...
Единственно чего не хватает это:  понятности и надежности.

Раз не нужны, нахуя тогда ты в разделе кодеры усираешься со своими надо? Скачай себе мозгов на гитхабе и пиздуй переписывать. Здесь благотворительностью никто не занимается.

пока даже не-программисту станет понятно что там за хрень понаписана и как...

Теплоухов, вы зачем себе нового пользователя создали? Вы здесь несколько лет выступали под учёткой tvv, которая у всех порядочных людей была в игноре.

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

Спасибо за наводку. Вряд ли конечно общаются как с умственно полноценным. В каждом посте такую дичь строчит, что грех не пнуть, иначе набегут сочувствующие идиоты.
legendary
Activity: 2314
Merit: 2300
December 23, 2018, 02:38:04 PM
#26
пока даже не-программисту станет понятно что там за хрень понаписана и как...

Теплоухов, вы зачем себе нового пользователя создали? Вы здесь несколько лет выступали под учёткой tvv, которая у всех порядочных людей была в игноре.

Под новой личиной вас не все сходу признают и ошибочно общаются с вами, как с умственно полноценным человеком. Это неправильно, я считаю.
full member
Activity: 644
Merit: 135
December 23, 2018, 02:02:47 PM
#25
Киньте клич переписать сорцы битка на чем-нить более приличном чем Цэ (ну чтобы потом сами могли допиливать его дальше) - к вам и программисты даже потянуться...

Во-первых, потянутЬся. Во-вторых, эти программисты не станут компетентнее от того что код написан на известном им языке. С тем же успехом можно попытаться из колхозника сделать профессора, рассказав на его родном языке про квантовую физику. В-третьих, нахуя оно нам надо и причём тут мы?

да вы программисты все давно уже не при делах - все что надо в принципе на том-же sf и гитхабе есть бесплатно...

Вот тока проблема в том что оно там в таком говенном виде, что использовать это на практике опасно.


А переписать надо - чтобы менеджер(или заказчик) сам мог разобраться и даже немного подправить что-то.


Программисты дофига получают так что проблем найти желающих не будет - надо тока искать по дешевым регионам где уже и не помнят когда последний раз зарплату давали...
Какие есть языки и технологии программирования, чтобы можно было быстро научить программировать _без ошибок_?
Ну и начать с токена по этой теме...
а чтобы уж совсем круто, можно и ОС пересобрать за одно...

Дохуя получают, поэтому будут работать бесплатно? Ты колешься? Без ошибок? А чё сразу не вечный двигатель и мир во всём мире? С хуена начни сразу, так кошернее. Можешь и на Марс слетать во сне. Ты блять нихуя не умеешь кроме как фантазировать и наивно полагаешь что коллаборация с тобой нужна тем кто умеет. Зачем им это?

вопрос не правильный!

Правильный вопрос:  зачем они мне?   Тем более что все что надо можно найти бесплатно, хоть код реверснуть, хоть даже в исходниках...


Единственно чего не хватает это:  понятности и надежности.



PS  вот давай счас у белорусов спросим...
imhoneer, за сколько пойдешь менеджером работать?   Программистов гонять, как сидоровых коз...   (ты же вроде не программист?  вот и надо таких для начальства найти...)
Задачи простые:  распределить работу, потом собрать, ну и заставить переделывать исходники до тех пор(хотя бы комменты писать), пока даже не-программисту станет понятно что там за хрень понаписана и как...
member
Activity: 148
Merit: 45
https://bitaps.com/
December 23, 2018, 12:33:46 PM
#24
Ну, конкретно bitaps - пользуется криптой.
Если я правильно понимаю, то https://bitaps.com выступает в роли агрегатора платежей, то есть банально банковское РКО.
Отбивает ли комиссионный доход все расходы на поддержку технологии - мне трудно сказать.
Думаю, что и близко не отбивает. Но усердствовать и требовать раскрыть структуру расходов и доходов я не буду.
Можно ли считать эквайера платежей удовлетворяющим "децентрализованному духу биткойна" - это опять же философия.

Ну все прозрачно вообщем-то
https://btc.bitaps.com/37P8thrtDXb6Di5E7f4FL3bpzum3fhUvT7

Мне не надо, Амаклину уверен тоже. Сайдчейны? Ну нарисуй логику сайдчейна, чтобы у тебя всё не расползлось без централизации. Форки от лукавого, а бетховен от боха? Cool
Биткоин не от бога но он де-факто наиболее децентрализованная крипта из всех что имеются на сегодняшний день, у биткоина нет лидера в виде Виталиков, Роджеров, центробанков  и т.д. С твоей позицией что кругом лохчейн, ну да тебе наверно не надо ничего. Так что смысла не вижу, рисовать тебе логику какую либо. И да не мне конечно кого то учить жизни, но можно и покультурней себя вести на людях, а то уж больно хуев много в твоих мессаджах.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 23, 2018, 10:38:36 AM
#23
Зря ты его путаешь. Мы же с тобой знаем что криптой никто не пользуется
Ну, конкретно bitaps - пользуется криптой.

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

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

Во-первых, потянутЬся. Во-вторых, эти программисты не станут компетентнее от того что код написан на известном им языке. С тем же успехом можно попытаться из колхозника сделать профессора, рассказав на его родном языке про квантовую физику. В-третьих, нахуя оно нам надо и причём тут мы?

чем больше недооценен актив - тем больше будет его рост...

Ага, говно из канализации взлетит туземун, срочно беги закупайся.

Программисты дофига получают так что проблем найти желающих не будет - надо тока искать по дешевым регионам где уже и не помнят когда последний раз зарплату давали...
Какие есть языки и технологии программирования, чтобы можно было быстро научить программировать _без ошибок_?
Ну и начать с токена по этой теме...
а чтобы уж совсем круто, можно и ОС пересобрать за одно...

Дохуя получают, поэтому будут работать бесплатно? Ты колешься? Без ошибок? А чё сразу не вечный двигатель и мир во всём мире? С хуена начни сразу, так кошернее. Можешь и на Марс слетать во сне. Ты блять нихуя не умеешь кроме как фантазировать и наивно полагаешь что коллаборация с тобой нужна тем кто умеет. Зачем им это?

Форки битка это ерунда все, тут либо надо апгрейдить биток либо делать сайдчейн к битку. Форки это от лукавого.

Мне не надо, Амаклину уверен тоже. Сайдчейны? Ну нарисуй логику сайдчейна, чтобы у тебя всё не расползлось без централизации. Форки от лукавого, а бетховен от боха? Cool
legendary
Activity: 3486
Merit: 1100
December 23, 2018, 10:14:00 AM
#22
Те кто ищут чтобы биток или говнофорк какойнить дал большую прибыль в фиате, люди есть не далекие. Настанут времена и они будут искать какой фиат даст больше прибыли в битке Smiley)

На счет битка я бы немного поспорил, но в целом направление мысли очень понравилось. Cool

Блажен кто верует. Таких фантазёров полный форум, хуй знает чем ты так впечатлился.

Grin Я никогда не перекладываю ответственность за свои слова на данную часть организма.
На следующей неделе будет хороший повод поговорить на счёт этого.
25 числа этот повод можно будет увидеть здесь - https://discord.gg/vertcoin
sr. member
Activity: 770
Merit: 305
December 23, 2018, 10:01:51 AM
#21
Зря ты его путаешь. Мы же с тобой знаем что криптой никто не пользуется
Ну, конкретно bitaps - пользуется криптой.
Если я правильно понимаю, то https://bitaps.com выступает в роли агрегатора платежей, то есть банально банковское РКО.
Отбивает ли комиссионный доход все расходы на поддержку технологии - мне трудно сказать.
Думаю, что и близко не отбивает. Но усердствовать и требовать раскрыть структуру расходов и доходов я не буду.
Можно ли считать эквайера платежей удовлетворяющим "децентрализованному духу биткойна" - это опять же философия.

sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 23, 2018, 09:45:30 AM
#20
А большая проблема состоит в том, чтобы убедить население пользоваться вашей поделкой.
На фоне 100500 других говнофорков вы затеряетесь, потому как никого не волнует антипул-механизмы,
все ищут какая монета даст больше прибыли в фиате.

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

Те кто ищут чтобы биток или говнофорк какойнить дал большую прибыль в фиате, люди есть не далекие. Настанут времена и они будут искать какой фиат даст больше прибыли в битке Smiley)

На счет битка я бы немного поспорил, но в целом направление мысли очень понравилось. Cool

Блажен кто верует. Таких фантазёров полный форум, хуй знает чем ты так впечатлился.
legendary
Activity: 3486
Merit: 1100
December 23, 2018, 09:23:32 AM
#19

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





все ищут какая монета даст больше прибыли в фиате.

Те кто ищут чтобы биток или говнофорк какойнить дал большую прибыль в фиате, люди есть не далекие. Настанут времена и они будут искать какой фиат даст больше прибыли в битке Smiley)

На счет битка я бы немного поспорил, но в целом направление мысли очень понравилось. Cool
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
December 23, 2018, 08:16:18 AM
#18

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


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

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

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

А большая проблема состоит в том, чтобы убедить население пользоваться вашей поделкой.
На фоне 100500 других говнофорков вы затеряетесь, потому как никого не волнует антипул-механизмы,
все ищут какая монета даст больше прибыли в фиате.
member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 11:24:54 PM
#14
Форки битка это ерунда все, тут либо надо апгрейдить биток либо делать сайдчейн к битку. Форки это от лукавого.
full member
Activity: 644
Merit: 135
December 22, 2018, 09:01:38 PM
#13
member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 02: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, 01:00:13 PM
#11
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
December 22, 2018, 12:48:33 PM
#10
Что мешает пулу взять залог у Васи, Пети, Коли, и выдать каждому из них свой личный
приватный ключ для подписывания блока?


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

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

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

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

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

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

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

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

2.  пулы нужны, тк иначе владельцы мелких мощностей фактически выпадут в осадок...
Такие кардинальные изменения выкинут на свалку все асики имеющиеся, игра начнется заново
full member
Activity: 644
Merit: 135
December 22, 2018, 02:58:29 AM
#4
member
Activity: 148
Merit: 45
https://bitaps.com/
December 22, 2018, 12:27:17 AM
#3
Если подпись с адреса выплаты coinbase поместить в sigScript coinbase транзакции, то предложенную инициативу можно реализовать в виде софтфорка к битку. И даже особо не менять текущую картину вещей. И казалось бы бесполезное поле куда сейчас пишут сообщения, становится на свое место как  и положенно. Предлагаю вам переработать идею в этом ключе и можно создавать полноценный BIP для битка.
legendary
Activity: 2422
Merit: 2166
December 21, 2018, 11:57:31 PM
#2
Зарезервировано.
legendary
Activity: 2422
Merit: 2166
December 21, 2018, 11: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 позволяет существенно снизить централизацию майнинга. Отсутствие крупных майнинг-пулов уменьшает возможность цензурирования транзакций третьими сторонами, а также повышает шансы на получение награды за майнинг для обычных пользователей системы, имеющих полную ноду.
Jump to: