Bitcoin Forum

Local => Кодеры => Topic started by: neiros on November 08, 2013, 09:54:18 AM



Title: Фиксированное расстояние между блоками.
Post by: neiros on November 08, 2013, 09:54:18 AM
На заре зарождения биткоина случайно не обсуждали такой вариант как фиксированное растояние между блоками по времени. Т.е., например, 10 минут и ни секундой больше или меньше. C выбором из множества шар-кандидатов со сложностью, близкой к некоторой усреднённой величине сложности десятка-другого, или более этого, последних блоков цепи, шары с наибольшей сложностью?

Или может быть в каком-нибудь форке что-либо подобное уже есть?


Title: Re: Фиксированное растояние между блоками.
Post by: rPman on November 08, 2013, 04:12:25 PM
Главный вопрос, где и как брать время.
Если с компьютеров майнеров, то на границах этих 10секунд начнутся гонки и манипуляции, которые будут очень плохо отражаться на эффективности майнинга (будет больше орфанов) или будут заметно менять этот интервал (вопрос в подборе граничных констант).
Или мы хотим брать время у какого то централизованного сервиса? серьезно?

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


Title: Re: Фиксированное растояние между блоками.
Post by: Balthazar on November 08, 2013, 05:14:14 PM
Биткоиновский тестнет - пример такого форка. Правда, там не совсем фиксация, а просто сброс сложности текущей работы до 1.0, если блока давно не было.


Title: Re: Фиксированное растояние между блоками.
Post by: neiros on November 08, 2013, 06:02:36 PM
Биткоиновский тестнет - пример такого форка...
Спасибо за наводку. Не сказать что бы скоро, но доползу до этого места обязательно.

Главный вопрос, где и как брать время.
Если с компьютеров майнеров, то на границах этих 10секунд начнутся гонки и манипуляции, которые будут очень плохо отражаться на эффективности майнинга (будет больше орфанов) или будут заметно менять этот интервал (вопрос в подборе граничных констант).
Или мы хотим брать время у какого то централизованного сервиса? серьезно?
Время брать от самого последнего блока в каждом кошельке каждого майнера/пользователя. Таргет сложности - пускай будет половина или четверть от средней за некоторые период, чтобы сеть шибко не напрягать. Как появилась шара, удовлетворяющая нужным условиям, значит ровно через 10 минут, считая от временной метки последнего блока, она будет следующим блоком в каждом кошельке, если не появится другой шары с большей сложностью. Никаких гонок вроде бы не должно быть. Развилок цепи при этом будет очень мало или даже совсем не будет. Даблспенд в таких условиях вроде бы почти невозможен, хотя хрен его знает какие нюансы могут ещё всплыть...




Title: Re: Фиксированное растояние между блоками.
Post by: vodz on November 08, 2013, 06:52:51 PM
diff же входит в target, а придётся исключать и усложнять пересчёт сложности. Как бы не оказалось, что придётся расчёт сложности вести централизовано. Орфаны никуда не денутся, понятие "кто быстрее" хорошо только в одноранговой сети :)


Title: Re: Фиксированное растояние между блоками.
Post by: tvv on November 08, 2013, 10:29:02 PM
На заре зарождения биткоина случайно не обсуждали такой вариант как фиксированное растояние между блоками по времени. Т.е., например, 10 минут и ни секундой больше или меньше. C выбором из множества шар-кандидатов со сложностью, близкой к некоторой усреднённой величине сложности десятка-другого, или более этого, последних блоков цепи, шары с наибольшей сложностью?

чушь какая-то...

10 минут и есть в итоге - тока это достигается обратной связью.  А как иначе?..

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


Или может быть в каком-нибудь форке что-либо подобное уже есть?

я собираюсь использовать что-то подобное, тока там совсем все не так ;)

В чем проблема-то, что вы этим хотели добиться?


Title: Re: Фиксированное расстояние между блоками.
Post by: neiros on November 09, 2013, 04:22:03 AM
diff же входит в target, а придётся исключать и усложнять пересчёт сложности. Как бы не оказалось, что придётся расчёт сложности вести централизовано. Орфаны никуда не денутся, понятие "кто быстрее" хорошо только в одноранговой сети :)
Да. diff(bits) вообще можно из блока убрать, но централизованным ничего не нужно делать, всё вроде остаётся как есть сейчас. Вероятность орфана возникает только в том случае, если вся сеть в течении следующих 10 минут не находит консенсус. По-моему эта вероятность близка к нулю при таких условиях, если не будет нескольких шар с одинаковой сложностью или коллизии, но это легко поправимо вроде бы.

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


Title: Re: Фиксированное расстояние между блоками.
Post by: vodz on November 09, 2013, 05:02:12 AM
diff же входит в target, а придётся исключать и усложнять пересчёт сложности. Как бы не оказалось, что придётся расчёт сложности вести централизовано. Орфаны никуда не денутся, понятие "кто быстрее" хорошо только в одноранговой сети :)
Да. diff(bits) вообще можно из блока убрать, но централизованным ничего не нужно делать, всё вроде остаётся как есть сейчас. Вероятность орфана возникает только в том случае, если вся сеть в течении следующих 10 минут не находит консенсус. По-моему эта вероятность близка к нулю при таких условиях, если не будет нескольких шар с одинаковой сложностью или коллизии, но это легко поправимо вроде бы.
Не можно, а именно придётся убрать diff из блока, ну или включать в заголовок, но в виде нулей для расчёта, а потом уже эти нули переписывать значением. Ибо иначе сам diff тогда превращается в nonce :) Если убирать полностью, то что считать следующей сложностью? Бардак в сети будет страшным, так как каждый майнер всегда имеет какую-либо шару для показа к концу какого-либо произвольного срока :) Сделать минимально допустимый diff не получится по вашим условиям задачи, ибо при возрастании diff может и не оказаться ни у кого шары с минимальным diff. Сеть тогда должна информировать майнеров, что уже имеется вот такая красивая шара и посылать свои с меньшим diff можно даже не пытаться.


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 05:17:38 AM
Просто хотел узнать, обсуждался ли раньше такой вариант работы. Хуже ли он или лучше существующего. Если хуже, то чем и почему.

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

Раздавать монеты по ровну не зависимо от мощности даже логичнее и лучше,
но как решить проблему создания левых акков?..   Всякие ботнеты, да и даже просто виртуалки,
создадут 1000 кошельков на 1 сервере и получат в 1000 раз больше монет...


Метод проверки наличия ресурса путем его сжигания в биткойне самый дубовый и не экономичный,
но он самый простой, и он работает...     Есть идеи как сделать лучше, не сжигая ресурсы ради проверки что он есть?
(в CRU это будет путем обратной связи от арендатора ресурсов, но там писать кода надо будет больше,
так быстро как биткоин-форки это не написать, да и народ туп и предпочитает кормить пирамиды вместо
по-настоящему перспективных проектов...  Так что если предложите метод проще это тоже интересно.
А пока рипл побеждает всех тк он тупо скупает весь мир на премайн и гребет все под себя...)

Vladimir


Title: Re: Фиксированное расстояние между блоками.
Post by: neiros on November 09, 2013, 05:28:31 AM
Сеть тогда должна информировать майнеров, что уже имеется вот такая красивая шара и посылать свои с меньшим diff можно даже не пытаться.
Вот именно, об этом я и писал выше. ::) Как появилась лучшая шара, так сразу же и разбежалась потенциальным блоком по сети, замещая собой старую(с меньшей сложностью)

Любая другая шара с меньшей сложностью чем потенциальный блок текущего раунда бесполезна.


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 05:28:56 AM
Кстати, а есть алгоритмы, позволяющие надежно пересчитать количество участников в сети?..


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

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


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 05:35:38 AM
Сеть тогда должна информировать майнеров, что уже имеется вот такая красивая шара и посылать свои с меньшим diff можно даже не пытаться.
Вот именно, об этом я и писал выше. ::) Как появилась лучшая шара, так сразу же и разбежалась потенциальным блоком по сети, замещая собой старую(с меньшей сложностью)

Любая другая шара с меньшей сложностью чем потенциальный блок текущего раунда бесполезна.

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

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


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 05:37:53 AM
А вот если отделить ужа от ежа, то может идея и не такая дурацкая...

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


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 05:46:35 AM
Сеть тогда должна информировать майнеров, что уже имеется вот такая красивая шара и посылать свои с меньшим diff можно даже не пытаться.
Вот именно, об этом я и писал выше. ::) Как появилась лучшая шара, так сразу же и разбежалась потенциальным блоком по сети, замещая собой старую(с меньшей сложностью)

Любая другая шара с меньшей сложностью чем потенциальный блок текущего раунда бесполезна.

кстати, а это технически вообще просто, и не надо никаких там централизованных информирований...

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

Но проблема с заменой блока за счет "импульса"(или везения) остается.


PS  может счетчик времени сделать распределенный, с всеобщим усреднением?..


Title: Re: Фиксированное расстояние между блоками.
Post by: neiros on November 09, 2013, 05:48:02 AM

tvv, ближе к телу, пожалуйста ;D

это забавная идея сама по себе, но к битку врядли применима - в этом случае не проблема подменить блок,
потратил один раз, потом случайно повезло(или арендовал доп. мощности на время), и сменил транзу
на другого адресата, так можно 1 монетой хоть 1000 продавцам заплатить
А мне кажется, что сменить или отменить транзу возможно будет только в том случае, если разделить всю сеть как минимум пополам.



Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 05:52:35 AM
Кстати, а зачем фиксированное-то расстояние?..  Исходно не правильная постановка задачи - бороться надо может быть только с излишне высокой частотой блоков, и излишне низкой, +- там будет 9 или 11 минут пофиг...

Не обязательно же делать равные(по времени и монетам) веса блоков.
Ну получился блок за 9 минут - так и напишите в нем, что он 9 мин и имеет вес не 50, а только (9/10)*50 монет.
Это же компютер - он считать умеет ;)

Слишком короткие блоки можно отбрасывать и продолжать обход сети дальше, чтобы не было лишних заголовков.
А будет там 9 или 11 минут - пофиг совершенно.


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 06:00:38 AM
А мне кажется, что сменить или отменить транзу возможно будет только в том случае, если разделить всю сеть как минимум пополам.

кстати любой админ крупного провайдера(не говоря уже о АНБ/СОРМ) нашинкует вам сеть хоть на 1000 кусков,
каких хотите, только попросите ;)   Причем можно избирательно по разным протоколам и сегментам - пакеты
битка отфильтровать не проблема, потом каждого подключить к нужному сегменту, это уже технически реально,
там даже атаки в разрыв сети АНБ-шниками уже реализованы и в половине провайдеров уже стоят их сервера...

То есть фишка именно в сумме, интегральной сумме, такой метод "кто длиннее случайно" в этом случае сами
понимаете не очень хорош уже...  Или нет?..


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



Кстати, как и насколько надежно в битке считает сложность сети?..


Title: Re: Фиксированное расстояние между блоками.
Post by: tvv on November 09, 2013, 06:11:13 AM
Оййй блин...  Вот счас АНБ-шники почитают - и заработают себе на пиво - ппц битку короче,
он похоже шпионской техникой и атаками в разрыв соединений хакается как нефиг делать!..

Короче разделить сеть вроде не помогает, вроде как есть (слабая) защита от этого в блокчейне,
но это не спасает от фильтров траффика!..


То есть, если просто поделить - то заметят...

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

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


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

Vladimir


Title: Re: Фиксированное расстояние между блоками.
Post by: neiros on November 09, 2013, 06:20:15 AM
А мне кажется, что сменить или отменить транзу возможно будет только в том случае, если разделить всю сеть как минимум пополам.

кстати любой админ крупного провайдера(не говоря уже о АНБ/СОРМ) нашинкует вам сеть хоть на 1000 кусков,
каких хотите, только попросите ;)   Причем можно избирательно по разным протоколам и сегментам - пакеты
битка отфильтровать не проблема, потом каждого подключить к нужному сегменту, это уже технически реально,
там даже атаки в разрыв сети АНБ-шниками уже реализованы и в половине провайдеров уже стоят их сервера...

То есть фишка именно в сумме, интегральной сумме, такой метод "кто длиннее случайно" в этом случае сами
понимаете не очень хорош уже...  Или нет?..


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

Согласен. Вполне вроде возможно. Но на такое очень интересно будет посмотреть в реальности...


Title: Re: Фиксированное расстояние между блоками.
Post by: info_infoman on March 27, 2014, 01:32:03 PM
Подскажите а как этот вопрос решается в форках с чистым pos(сначала pow потом чистый pos)???
ведь там монетодни - как они вычисляются? если время у  всех чучуть разное.


Title: Re: Фиксированное расстояние между блоками.
Post by: neiros on March 28, 2014, 08:02:58 AM
Подскажите а как этот вопрос решается в форках с чистым pos(сначала pow потом чистый pos)???
ведь там монетодни - как они вычисляются? если время у  всех чучуть разное.
Лично я до pow, pos и pow+pos и подобного ещё не добрался...


Title: Re: Фиксированное расстояние между блоками.
Post by: info_infoman on March 28, 2014, 04:06:28 PM
я допер как...
просто тупо подтверждениями если с момента уж прошло 2 дня то уж точно стейк возраст определенно больше 1 дня или нода сошла с ума и живет на другой планете))))