Bitcoin Forum
November 01, 2024, 12:59:51 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Фиксированное расстояние между блоками.  (Read 2027 times)
neiros (OP)
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
November 08, 2013, 09:54:18 AM
Last edit: November 09, 2013, 04:43:10 AM by neiros
 #1

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

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

rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
November 08, 2013, 04:12:25 PM
 #2

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

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

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
Balthazar
Legendary
*
Offline Offline

Activity: 3108
Merit: 1359



View Profile
November 08, 2013, 05:14:14 PM
 #3

Биткоиновский тестнет - пример такого форка. Правда, там не совсем фиксация, а просто сброс сложности текущей работы до 1.0, если блока давно не было.
neiros (OP)
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
November 08, 2013, 06:02:36 PM
 #4

Биткоиновский тестнет - пример такого форка...
Спасибо за наводку. Не сказать что бы скоро, но доползу до этого места обязательно.

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



vodz
Sr. Member
****
Offline Offline

Activity: 254
Merit: 250



View Profile
November 08, 2013, 06:52:51 PM
 #5

diff же входит в target, а придётся исключать и усложнять пересчёт сложности. Как бы не оказалось, что придётся расчёт сложности вести централизовано. Орфаны никуда не денутся, понятие "кто быстрее" хорошо только в одноранговой сети Smiley
tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 08, 2013, 10:29:02 PM
 #6

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

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

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

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


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

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

В чем проблема-то, что вы этим хотели добиться?
neiros (OP)
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
November 09, 2013, 04:22:03 AM
Last edit: November 09, 2013, 04:43:29 AM by neiros
 #7

diff же входит в target, а придётся исключать и усложнять пересчёт сложности. Как бы не оказалось, что придётся расчёт сложности вести централизовано. Орфаны никуда не денутся, понятие "кто быстрее" хорошо только в одноранговой сети Smiley
Да. diff(bits) вообще можно из блока убрать, но централизованным ничего не нужно делать, всё вроде остаётся как есть сейчас. Вероятность орфана возникает только в том случае, если вся сеть в течении следующих 10 минут не находит консенсус. По-моему эта вероятность близка к нулю при таких условиях, если не будет нескольких шар с одинаковой сложностью или коллизии, но это легко поправимо вроде бы.

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

vodz
Sr. Member
****
Offline Offline

Activity: 254
Merit: 250



View Profile
November 09, 2013, 05:02:12 AM
 #8

diff же входит в target, а придётся исключать и усложнять пересчёт сложности. Как бы не оказалось, что придётся расчёт сложности вести централизовано. Орфаны никуда не денутся, понятие "кто быстрее" хорошо только в одноранговой сети Smiley
Да. diff(bits) вообще можно из блока убрать, но централизованным ничего не нужно делать, всё вроде остаётся как есть сейчас. Вероятность орфана возникает только в том случае, если вся сеть в течении следующих 10 минут не находит консенсус. По-моему эта вероятность близка к нулю при таких условиях, если не будет нескольких шар с одинаковой сложностью или коллизии, но это легко поправимо вроде бы.
Не можно, а именно придётся убрать diff из блока, ну или включать в заголовок, но в виде нулей для расчёта, а потом уже эти нули переписывать значением. Ибо иначе сам diff тогда превращается в nonce Smiley Если убирать полностью, то что считать следующей сложностью? Бардак в сети будет страшным, так как каждый майнер всегда имеет какую-либо шару для показа к концу какого-либо произвольного срока Smiley Сделать минимально допустимый diff не получится по вашим условиям задачи, ибо при возрастании diff может и не оказаться ни у кого шары с минимальным diff. Сеть тогда должна информировать майнеров, что уже имеется вот такая красивая шара и посылать свои с меньшим diff можно даже не пытаться.
tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 05:17:38 AM
 #9

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

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

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


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

Vladimir
neiros (OP)
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
November 09, 2013, 05:28:31 AM
 #10

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

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

tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 05:28:56 AM
 #11

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


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

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

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 05:35:38 AM
 #12

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

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

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

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

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 05:37:53 AM
 #13

А вот если отделить ужа от ежа, то может идея и не такая дурацкая...

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

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 05:46:35 AM
 #14

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

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

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

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

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


PS  может счетчик времени сделать распределенный, с всеобщим усреднением?..
neiros (OP)
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
November 09, 2013, 05:48:02 AM
 #15


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

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


tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 05:52:35 AM
 #16

Кстати, а зачем фиксированное-то расстояние?..  Исходно не правильная постановка задачи - бороться надо может быть только с излишне высокой частотой блоков, и излишне низкой, +- там будет 9 или 11 минут пофиг...

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

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

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 06:00:38 AM
 #17

А мне кажется, что сменить или отменить транзу возможно будет только в том случае, если разделить всю сеть как минимум пополам.

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

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


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



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

Activity: 1302
Merit: 1005


View Profile WWW
November 09, 2013, 06:11:13 AM
 #18

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

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


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

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

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


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

Vladimir
neiros (OP)
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
November 09, 2013, 06:20:15 AM
 #19

А мне кажется, что сменить или отменить транзу возможно будет только в том случае, если разделить всю сеть как минимум пополам.

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

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


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

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

info_infoman
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
March 27, 2014, 01:32:03 PM
 #20

Подскажите а как этот вопрос решается в форках с чистым pos(сначала pow потом чистый pos)Huh
ведь там монетодни - как они вычисляются? если время у  всех чучуть разное.

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!