Bitcoin Forum
December 10, 2016, 11:17:25 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 »  All
  Print  
Author Topic: DIANNA: IANA Decentralized концепт дизайн  (Read 27926 times)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
March 03, 2012, 08:26:41 AM
 #301

Дык я за макимально простой вариант обеими руками
Решаешь то ты че как будет
 как вариант можно запустить упрощенную несовершенную сеть ,

 объявить всем --> "это тестнет-- помогите проверить все"
и по результатам тестовых атак внести усовершенствования

возможно потребуется несколько циклов
"внесение изменений-- перезапуск сети"

так будет получен рабочий вариант.  Настоящий TDD  Smiley

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
1481368645
Hero Member
*
Offline Offline

Posts: 1481368645

View Profile Personal Message (Offline)

Ignore
1481368645
Reply with quote  #2

1481368645
Report to moderator
1481368645
Hero Member
*
Offline Offline

Posts: 1481368645

View Profile Personal Message (Offline)

Ignore
1481368645
Reply with quote  #2

1481368645
Report to moderator
1481368645
Hero Member
*
Offline Offline

Posts: 1481368645

View Profile Personal Message (Offline)

Ignore
1481368645
Reply with quote  #2

1481368645
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481368645
Hero Member
*
Offline Offline

Posts: 1481368645

View Profile Personal Message (Offline)

Ignore
1481368645
Reply with quote  #2

1481368645
Report to moderator
1481368645
Hero Member
*
Offline Offline

Posts: 1481368645

View Profile Personal Message (Offline)

Ignore
1481368645
Reply with quote  #2

1481368645
Report to moderator
1481368645
Hero Member
*
Offline Offline

Posts: 1481368645

View Profile Personal Message (Offline)

Ignore
1481368645
Reply with quote  #2

1481368645
Report to moderator
panic
Sr. Member
****
Offline Offline

Activity: 444


View Profile WWW
March 03, 2012, 08:45:39 AM
 #302


В чем заключается минус того, что деньги платятся конкретному человеку за конкретную работу?

надо понимать, что все майнеры участвуют в коллективной проверке друг друга, соответственно чем больше узлов, тем выше надёжность сети. Если платить конкретным людям, то самый раскрученный сервис может получить >50% работы сети, что то же самое, что и получение 51% мощности. (пул может быть и будет работать честно, однако важен сам факт возможности атаки)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
March 03, 2012, 01:53:00 PM
 #303

@pent
Не понимаю зачем вообще уходить от уже выведенных формул ??
Их можно поправить и/или дополнить новыми
В целом все это совсем не сложная система условий
Ее можно отлично настроить как угодно

Погонял старые формулы на 300000 блоков вперед :

Результаты такие -- если принять что у тебя ПЛОСКИЕ
PDiff = 0.2   ReqSum = 44 и exponential PPDiff
и ограничить макс. число транзакций в блоке 200
 то скрипт выдает такие результаты
Code:
Average domain price = 0.435395801839

    Max domain price = 19.9955111674

    Min domain price = 0.0497624718035

=========================

    Average slowdown (%) = 62.6402598702

    Max slowdown (%) = 83.333162774

    Min slowdown (%) = 29.980250151

=========================

    Average actual   = 100.112119722

    Max actual  = 200.009813588

    Min actual = 0.00280002760924

 slowdown == Slow*100 <-- так более по человечьи смотрится
Правильно ли я понимаю , если Slow < 1 значит блоки DIANNA идут быстрее
 биткойновых ??

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
March 03, 2012, 02:08:09 PM
 #304

Варианты настройки :
1) можно напрямую
 очень медленно понижать цену доменной операции со временем
 исходя из предположения что Биткойн будет дорожать к фиату
 а хранение и распространение информации (т.е. обслуживание доменов) дешеветь.

2) можно вывести формулу изменения PDiff и добавить ее в систему условий
чтобы автоматически удерживать цену домена ближе к
целевой 0.4 BTC/домен (разброс от 0.05 до 20 -- это перебор )

Еще лучше -- пусть формула PDiff сначала ( первые N блоков ) держит цену низкой ( скажем 0.05 ) -- потом позволяет ей вырасти, но не выше 0.4/TTL
а потом заставляет цену очень плавно снижаться пропорцианально
удешевлению стоимости обслуживания домена.


"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 03, 2012, 07:42:40 PM
 #305


В чем заключается минус того, что деньги платятся конкретному человеку за конкретную работу?

надо понимать, что все майнеры участвуют в коллективной проверке друг друга, соответственно чем больше узлов, тем выше надёжность сети. Если платить конкретным людям, то самый раскрученный сервис может получить >50% работы сети, что то же самое, что и получение 51% мощности. (пул может быть и будет работать честно, однако важен сам факт возможности атаки)
Надо понимать что к диане 51% атака уже не относится, пока биткоин к ней устойчив.
panic
Sr. Member
****
Offline Offline

Activity: 444


View Profile WWW
March 03, 2012, 09:02:42 PM
 #306


В чем заключается минус того, что деньги платятся конкретному человеку за конкретную работу?

надо понимать, что все майнеры участвуют в коллективной проверке друг друга, соответственно чем больше узлов, тем выше надёжность сети. Если платить конкретным людям, то самый раскрученный сервис может получить >50% работы сети, что то же самое, что и получение 51% мощности. (пул может быть и будет работать честно, однако важен сам факт возможности атаки)
Надо понимать что к диане 51% атака уже не относится, пока биткоин к ней устойчив.
это атака не для совершения даблспенда, это даже вообще не атака, скорее уязвимость, приводящая фактически к захвату сети.
Если у меня будет более 50% работы всей сети и более-менее приличная мощность (чтобы не сильно отстать по времени), я смогу сгенерировать более длинную цепочку валидных блоков. В итоге конкурентам придётся выполнять на 25 - 30% больше работы (так как их блоки получат статус orphaned).
Даже если уязвимость надуманная, докажите обратное.
panic
Sr. Member
****
Offline Offline

Activity: 444


View Profile WWW
March 03, 2012, 09:08:44 PM
 #307

по поводу оплаты:
можно не заморачиваться и предположить, что включённая в блок дианы транзакция была оплачена, переложив полностью ответственность на регистраторов, тем более, что идентифицировать регистратора и проверить его прошлые выплаты не составит труда.
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 03, 2012, 09:25:03 PM
 #308

это атака не для совершения даблспенда, это даже вообще не атака, скорее уязвимость, приводящая фактически к захвату сети.
Если у меня будет более 50% работы всей сети и более-менее приличная мощность (чтобы не сильно отстать по времени), я смогу сгенерировать более длинную цепочку валидных блоков. В итоге конкурентам придётся выполнять на 25 - 30% больше работы (так как их блоки получат статус orphaned).
Даже если уязвимость надуманная, докажите обратное.
Майнеры могут разве что генерировать блоки на холостом ходу, то есть, мерж-майнить домены самим себе, повышая тем самым цену. Но это значит эти домены имеют какую ценность для них. Значит цена повышается. Логично. Заниматься этим в больших масштабах - зачем? Ведь они снизят реальный спрос, а значит их эти активы обесценятся, плюс они станут меньше получать реального бабла за домены.

Майнерам от майнинга реальных доменов очевидный профит. Они заинтересованы в нормальном бизнесе.
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 03, 2012, 09:27:13 PM
 #309

по поводу оплаты:
можно не заморачиваться и предположить, что включённая в блок дианы транзакция была оплачена, переложив полностью ответственность на регистраторов, тем более, что идентифицировать регистратора и проверить его прошлые выплаты не составит труда.
Я об этом и говорю, что ответственность на майнерах и чистота ведения бизнеса. Но проверить оплату это не вопрос, транзакция дианы включает в себя ссылку на транзу биткоин. Только если последняя валидна, диановская транза может считаться валидной.
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 03, 2012, 09:30:36 PM
 #310

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

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

В дополнение, открыть первый блок в неймспейсе можно только по двойной сложности Bitcoin.
panic
Sr. Member
****
Offline Offline

Activity: 444


View Profile WWW
March 03, 2012, 09:39:50 PM
 #311

есть предложение фиксировать цену купленного домена.
Плюсы: дополнительный интерес к системе со стороны инвесторов/спекулянтов.
Минусы: ...?
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 03, 2012, 09:59:09 PM
 #312

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

То есть что то вроде (не идеально)

Price_k = F_bitcoin/F_dianna - 1

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

Я еще подумаю над этой формулой. Но она там выводится из все этих базовых биткоиновских формул.
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 04, 2012, 03:01:31 AM
 #313

Чтобы определить формулу цены, надо:

* Узнать как мержед майнинг влияет на частоту выхода блоков. Т.е. при одинаковой сложности AUX и PARENT чейна, будет ли различаться частота выхода блоков обеих в среднем. И если да, то по какому закону.
* Отсюда определить оптимальную частоту выхода блоков DIANNA

а потом уже считать цену как биткоин считает таргет.

В блоке вместо таргета (nBits) будет зашита цена (int64)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
March 04, 2012, 04:57:17 AM
 #314

расчет TTL в блоках биткойн несет свои трудности -- мне кажется
тогда соотношение скорости DIANNA и биткойн может быть только кратным
как простые дроби -- что обеспечить труднее

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


"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 05, 2012, 04:26:26 PM
 #315

Что то работы скопилось по основной занятости =)

расчет TTL в блоках биткойн несет свои трудности -- мне кажется
тогда соотношение скорости DIANNA и биткойн может быть только кратным
как простые дроби -- что обеспечить труднее

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

Почему я предлагаю измерять TTL в блоках биткоин?

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

Но это наверно касается не TTL, а периода пересчета цены. Какие тут варианты решения этой проблемы?

Варант 1. Тогда можно сделать то, над чем я думал. Включать пересчет цены через N блоков (допустим 2016) или через соответствующий промежуток таймштампа (допустим, 14 суток). То есть при таком раскладе, пересчет цены включится через 14 суток в любом случае, даже без активности в цепи.

Но вот опять же. Заплатил человек комиссию, она включилась в цепь биткоин, блок дианы еще не создался. И тут бац - пересчет цены. То есть заплатил по старой цене а считать уже нужно по новой. Что тут делать?

Я думал ттл и соответствие цены к блоку считать по блокам биткоин. Это надежно, но геморройно. (вариант 0)

Вариант 2. Но может просто вернуть опять дифпенальти? И считать не по строгой цене, а допускать отклонения, но за пенали в сложности. Однако это вносит непонятки в прайсинг майнеров.

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

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

Итого наиболее безопасный вариант №4 мне кажется. Правда придется помучаться с синхронизацией =)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
March 05, 2012, 05:44:08 PM
 #316

Варианты 1 и 3 мне не нравятся -- зачем лишние проблемы создавать

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

Мне больше нравиться вариант 4) чем 1 и 3.
допустим на блок Дианы № 1000 пришлись блоки Биткойн № 200000 и № 200001
 целиком и 1/2 блока № 200002 -- тогда можно вычислять цену домена
опираясь на ЦЕЛЫЕ блоки 200000 и 200001 например.
Но как определять соответствие блоков в двух цепях -- по таймштампам ?!

Я выдрал из Биткойнова клиента алгоритм изменения трудности или скорее
приближение  к нему ))
теперь у меня есть тестовая цепочка Псевдобиткойна на Питоне
она пока имеет тока  таргет и таймштамп для каждого блока
но на ней уже можно гонять формулы цены завязанные на Биткойн

Какие еще аттрибуты блока Биткойна надо симулировать для расчета цены ?





"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 05, 2012, 05:55:25 PM
 #317

Я похоже не до конца понимал принцип работающей версии мержед майнинга.

https://bitcointalk.org/index.php?topic=67451.0

AUX блоку не обязательно должен соответствовать "официальный" блок. Это не вписывается в архитектуру дианы. Что мы можем сделать?

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

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

Ох и проблем отгребли с разделением финансовой цепи =)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
March 05, 2012, 07:36:30 PM
 #318

Отчасти оффтоп но ...
It's not dishonest, just imprecise.
You should post this in your FAQ. Many people are wondering whats wrong with your clock. If you happen to live in a country with an adversarial legal system, you will be invited to the court to explain this to the judge and the jury why the timestamps on your blocks are messing up the accounting ledgers of other people.[/quote]Anyone using block times for anything important is quite simply a fool. It's not meant to be precise, and never will be. Even if I didn't (ab)use it for improved efficiency, it would be the time that (many) miners began work on the block, not the time it was found. And even if it were precise, it has no relevance.
[/quote]
Люк тут не советует привязываться по таймштампу
Дело еще и в том что его пул мухлюет с ними для увелич. "эффективности"
longpoll -- то есть у него поздний блок может иметь более ранний штамп
---------------------------------------------------------------------------------------------------------------------------
Насчет синхронизации -- может для дианы можно изобрести
MM попроще -- есть же там что-нибудь лишнее ?

Или другая идея -- пускать блоки дианы раз в час просто по времени
 GMT -- а плату привязывать к любому биткойнову блоку найденому в этот час

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

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 05, 2012, 08:31:06 PM
 #319

Да, мухлюют с таймштампами. Но в определенных границах. Там погрешность от десятков минут до пары часов. Что в контексте двух недель особой погоды не делает.

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

Значит им и будем штамповать блоки диана. Хешем предыдущего блока PARENT'а. Ну для еще большей стабильности, можно взять хеш пред-предпоследнего блока =)

И будет условие принятия блока диана: чтобы хеш предыдущего к PARENT блока был в официальной цепи.

Оттуда и берем базовый таргет.

Оттуда и строим соответствие блок_диана:блок_биткоин

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

Получается тогда (как и всегда), каждой транзакции дианы надо искать транзакцию биткоин по цепи. Тяжелый труд. Но это надо как то закешировать будет.
pent
Hero Member
*****
Offline Offline

Activity: 490



View Profile
March 06, 2012, 08:18:50 AM
 #320

И у нас есть формула поправки цены. Я изобретать велосипед не стал. Взял сатошинскую формулу пересчета таргета. То есть функция вида 1/x

Поскольку сложность дианы будет чуть больше сложности биткоин, блоки дианы должны стремиться к частоте биткоин - 6 в час, но никогда ее не достигать (иначе фри домены).

Отсюда вытекает коэфициент поправки к текущей цене.

Цена зашита в блок типа как в биткоин зашита сложность (nBits). Цена измеряется в BTC.

1 раз в 2016 блоков или 1 раз в 14 суток (какое из условий первое совпало) - включается пересчет цены.

В любом случае, как и в биткоин, берется последний тайм-фрейм 14 суток и количество блоков в нем (N). Количество блоков делим на 336 (часов) и получаем цифру F:

F=N/336

Определяем допустимые границы разового изменения K (как в биткоин)

K_min=0.25
K_max=4

Исходя из F, считаем на что нужно умножить текущую цену

K=K_max | if (K <=6) - да, могут быть чудеса
K=1/(F-6)  | else

График 1/(F-6) выглядит так:



Далее, проверяем что K вписался в пределы K_min <= K <= K_max и умножаем текущую цену в блоке на K

Price=K*Price

Из этого графика следует что цена будет стремиться к стабилизации на частоте 7 блоков в час (k=1)

Задает начальную цену первого блока, первый майнер, которой намайнил блок с PDIff=100% (2x Сложность биткоина).

Далее PDiff определяется как обычно. Предлагаю считать сразу таргет, т.к. Difficulty это весьма абстрактное понятие для машины.

Target=BitcoinTarget / (1 + (int64 SumDomainFees)/(int64 BitcoinBounty + int64 SumBitcoinFees))

Таргет получается для каждого блока свой.

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

Voila.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!