Bitcoin Forum

Local => Кодеры => Topic started by: pent on February 17, 2012, 09:36:23 AM



Title: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 09:36:23 AM
== UPDATED: 02.12.1012

Сей дизайн был рожден после долгих изучений разного рода попыток создать децентрализованную систему DNS.

Итак, DIANNA - Decentralized Internet Assigned Names and Numbers Authority. Децентрализованное хранилище имен и адресов Интернет.

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

Проект DIANNA призван избавить Интернет от всякого рода центральных организаций (вроде ICANN, IANA и прочих), которые по сути уязвимы к разного рода попыткам внедрить цензуру сети Интернет.

Ближайшая достижимая цель проекта - предоставить авторитетную децентрализованную DNS для анонимных сетей в роде I2P, Tor, Freenet.

==Дизайн v1.5 02.12.2012
http://dianna-project.org/wiki/Design_Overview
v1.5: http://dianna-project.org/wiki/Design_Changelog

Обращаю ваше внимание, что это не форк Bitcoin, это расширение Bitcoin.

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

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

Проект предположительно на Java. По скольку я знаю Java :) Это касается толстого клиента, тонкие там уже разберутся на чем писать.

Обсуждение, разумеется, продолжается. Просто я вижу что вызрело нечто, к чему можно примерить свой NetBeans   ::)

Контакт для неучастников форума: pentarh@gmail.com


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 11:02:05 AM
1. Сохранность пары ключей - головная боль овнера домена. Хочешь бекапь, хочешь теряй. Я не понял что такое "детерминистские импортируемые ключи", не могу прокомментировать. И что тут подразумевалось под контролем? Я не ровно дышу на слово "контроль" :)
2. Вообще это детали реализации конечно. Но Berkeley DB неплохой выбор. Достаточно мощное средство. Вопрос здесь - насколько оптимизировано хранилище. Организация хранилище биткоин мне чес говоря не очень нравится, но я пока на этом не зациклен.
3. Цепь блоков с заголовками такой системе нужна только в пределах последних TTL блоков (по поводу TTL см. спецификацию). В принципе все, что раньше можно ужимать до заголовков. Насколько я понимаю, сжимание ключа есть раздувание вероятности коллизии.
4. Жизнеспособность сети я не считаю заключенной в разного рода видах анального огораживания. Жизнеспособность заключается в идее. Все причины печальных историй с недокоинами заключаются в том, что их идея недостойна жизни, а не в том, что внезапно "набигают" майнеры и хакеры и "грабят корованы". Биткоин же не грабят.

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

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 17, 2012, 02:31:04 PM
Первое сообщение удалил - накосячил в формулах, да и вообще поспешил...

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

Есть еще непропорциональное увеличение DDiff в частном случае когда Bounty_main=0 (смотри прикрепленный файл).

Предлагаю такую формулу для расчета
Code:
Ddiff=Diff*Summ fee(Txi)/Summ fee(TxCi)
где,
Diff - сложность финансовых транзакций;
Summ fee(Txi) - Сумма комиссий финансовых;
Summ fee(TxCi) -  Сумма комиссий финанс.+доменных.

, а если максимум в 100% увеличение сложности от доменных операций не приемлим можно просто ввести коэффициент, например
Code:
Ddiff=0.1*Diff*Summ fee(Txi)/Summ fee(TxCi)

Прикрепляю xls файл с тестовыми расчетами: http://files.mail.ru/ZAEQUW (http://files.mail.ru/ZAEQUW)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 03:02:30 PM
promankirov: не, ты не понял идею.

Идея состоит в том, что по доменным транзакциям у нас идет финансовая активность. И комиссии по ним надо выплачивать майнерам. Но строго пропорционально, иначе инфляция!

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

Т.е. моя формула верна в этом отношении.

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

Твоя математика верна, но она не учитывает человеческий фактор. При bounty_main=0 награда за блок будет состоять сугубо из комиссий по фин транзам и система к этому времени будет жить только за счет комиссий. И эти комиссии в сумме будут немалы. И формула будет работать.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 03:13:26 PM
Есть еще непропорциональное увеличение DDiff в частном случае когда Bounty_main=0 (смотри прикрепленный файл).
При bounty_main=0 такой вот ситуации быть не может:
sum fee(Txi)=0,2
sum fee(TxCi)=1,2
Ddiff=600%

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 17, 2012, 03:19:12 PM
promankirov: не, ты не понял идею.

Идея состоит в том, что по доменным транзакциям у нас идет финансовая активность. И комиссии по ним надо выплачивать майнерам. Но строго пропорционально, иначе инфляция!

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

Т.е. моя формула верна в этом отношении.

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

Твоя математика верна, но она не учитывает человеческий фактор. При bounty_main=0 награда за блок будет состоять сугубо из комиссий по фин транзам и система к этому времени будет жить только за счет комиссий. И эти комиссии в сумме будут немалы. И формула будет работать.

Дело в том что эти все формулы замыкаются на рыночных договоренностях и конфликте интересов, которые формулами не выразишь.
Тогда я не понимаю как пользователь будет оплачивать доменные операции?
Вот предположим я регистрирую/продлеваю домен и fee указываю равно 0, при этом никаких финансовых транзакций тоже не провожу в итоге у меня минимальная сложность? Где финансовая активность? Домены регистрируются и продлеваются бесплатно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 17, 2012, 03:21:33 PM
Есть еще непропорциональное увеличение DDiff в частном случае когда Bounty_main=0 (смотри прикрепленный файл).
При bounty_main=0 такой вот ситуации быть не может:
sum fee(Txi)=0,2
sum fee(TxCi)=1,2
Ddiff=600%

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

Обрати внимание что и вообще при уменьшении bounty_main сложность Ddiff довольно резко увеличивается. К примеру для биткоина 25 не за горами.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 03:29:17 PM
Да, все это так, но я же говорю, комиссия по доменам устанавливается рыночными соглашениями.

Соберутся майнеры, скажут: нам выгодно процессить с комиссией 0.1

Уменьшится Bounty_main в два раза, возрастет нагрузка на сеть. Соберутся майнеры и скажут, нам выгодно процессить по 0.05

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 17, 2012, 03:37:58 PM
Да, все это так, но я же говорю, комиссия по доменам устанавливается рыночными соглашениями.

Соберутся майнеры, скажут: нам выгодно процессить с комиссией 0.1

Уменьшится Bounty_main в два раза, возрастет нагрузка на сеть. Соберутся майнеры и скажут, нам выгодно процессить по 0.05

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

Короче, здесь комиссия будет устанавливаться так, как постапокалиптическом биткоине (когда coinbase упадет до неприличных значений). Системе же надо будет за что то жить. Вот будут увеличивать комиссию. Возможно вообще бесплатные принимать не будут.
Как майнеры смогут диктовать комиссию? Что размер минимальной комиссии будет жестко зашит в код и будет правиться руками разработчика?
Я предлагаю как раз стимулировать майнеров за счет комиссии которую будут платить владельцы доменов. Больше заплатил комиссию твоя транзакция быстрее обработалась.
Ты разработчик, решать конечно тебе.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 03:40:12 PM
Как майнеры смогут диктовать комиссию? Что размер минимальной комиссии будет жестко зашит в код и будет правиться руками разработчика?
Я предлагаю как раз стимулировать майнеров за счет комиссии которую будут платить владельцы доменов. Больше заплатил комиссию твоя транзакция быстрее обработалась.
Ты разработчик, решать конечно тебе.
Как, как. Они же процессят транзакции. Они решают, какие брать, какие не брать. Вот и будут диктовать. Хотя я бы сказал рекомендовать. Диктовать тут невозможно, так как может подключиться менее жадный пул и поиметь всех демпингом.

Это человеческие отношения, закон джунглей, конфликт. В конфликте рождается истинное значение.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 04:30:26 PM
1) Я имел ввиду : сам создаешь ключ ( не случайный),
импортируешь его в бумажник,
регистрируешь НА НЕГО домен, вуаля.
при утрате бумажника - домен остается под твоим контролем,
до той поры пока ты можешь воссоздать ключ заново.  :)
Это можно сделать наоборот. Импорт и экспорт ключей из валлета. По моему в новых версиях биткоина это даже есть.
4)
>> "Биткоин же не грабят."
Когда он был маленьким -- могли бы, но не хотели.
Сейчас может и хотят но пока не могут.

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

Да не то слово. Почитал я что это такое. ММ выгоден только одной стороне - aux chain. Т.е. это такой как бы паразит, сидящий на биткоине, и к тому же, перестроивший свою цепь под биткоин. Как я и предполагал, ММ нужен только для одного: "Ну пожалуйста, ну хоть кто нибудь, помайните мое говно.... ". Тут другая ситуация.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 05:29:01 PM
ММ мне откровенно не нравится. Это какое то непонятное и непротестированное нормально вмешательство в цепь. Его отмена это еще одно вмешательство в цепь. Когда система окрепнет вмешиваться в цепь будет очень и очень трудно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 17, 2012, 06:18:50 PM
Вы же вот хотите "put full chain on DHT"  :)
А ведь эту инновацию тож придется капитально тестить.
Полные блоки можно смело складывать в дхт. У тебя есть хеш, ты всегда можешь проверить верный ли дхт вернула блок. Единственное что - это дизайн самой дхт. Тут придется почесать репу как это сделать все более отзывчивым.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 18, 2012, 09:01:52 AM
Проапдейтил 1й пост и вики текущими открытыми вопросами.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 18, 2012, 09:14:59 AM
Итак, есть две задачи.

* Как предотвратить внезапную миграцию большой мощности в сети
* Как организовать надежное распределенное хранилище

Что если убить двух зайцев одним выстрелом.

В сумме эти две задачи складываются в очень сложную задачу.

Но очень сложная задача это именно то, что нужно сети.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 18, 2012, 04:50:21 PM
Предлагаю везде в коде DIANNA заменить SHA-256 на SHA-224/384,
снижая риск того, что пулы могут временно переключиться на нас,
чтобы уничтожить проект, как это возмутительно произошло с CLC.
Кроме того, алгоритмы SHA лучше проверены временем, чем sCrypt.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 18, 2012, 06:16:18 PM
Не увидел нигде основной цели проекта, а именно в разрезе, чем не устраивает namecoin?

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

В разрезе bitcoin технологии остаются вопросы:
 - кому будет доставаться плата? например у namecoin - никому, или вариант - майнерам (фиксированное количество монет)
 - какая будет цена? еще более сложный вопрос? я бы предложил фиксировать стоимость, расчитать и предугадать изменение стоимости затрат на майнинг, но как х.з.
 - на каких условиях будет продление владение домена


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 18, 2012, 06:58:10 PM
чем не устраивает namecoin?
С этого (https://bitcointalk.org/index.php?topic=61486.msg723802#msg723802) все началось. Лично я за исправление Namecoin, но раз уж тут такая пьянка. ::)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 18, 2012, 07:51:55 PM
я читал эту тему и уже озвучивал свои вопросы, тут я повторился только потому что ключевые причины и проблемы появления проекта даже не озвучены.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 19, 2012, 04:10:21 AM
While NameCoin is designed to provide almost free names at the end, DIANNA is designed to provide
authoritative database of names and numbers and pay reward to people (miners) who help to secure
DIANNA domain records. Another difference is that NameCoin software defines record registration fee
by itself, while DIANNA registration fee is defined by free market agreements.

Раз уж это "форк всего Интернета", нужно сделать регистрацию портов подобно IANA (http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml).


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 19, 2012, 11:14:24 AM
Не увидел нигде основной цели проекта, а именно в разрезе, чем не устраивает namecoin?

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

В разрезе bitcoin технологии остаются вопросы:
 - кому будет доставаться плата? например у namecoin - никому, или вариант - майнерам (фиксированное количество монет)
 - какая будет цена? еще более сложный вопрос? я бы предложил фиксировать стоимость, расчитать и предугадать изменение стоимости затрат на майнинг, но как х.з.
 - на каких условиях будет продление владение домена
Странно, и зачем я пдф (http://dianna-project.org/dianna_ru.pdf) выкладывал? Ну ладно.


Q: кому будет доставаться плата? например у namecoin - никому, или вариант - майнерам (фиксированное количество монет)
A: Майнерам. За дополнительный оверхед по сложности. Больше денег - больше работы.

Q: какая будет цена? еще более сложный вопрос? я бы предложил фиксировать стоимость, расчитать и предугадать изменение стоимости затрат на майнинг, но как х.з.
A: Цена будет определяться свободными рыночными соглашениями. Хоть бесплатно, хоть дорого, смотря какая нагрузка на сеть. Чтобы лучше себе представить этот процесс, представьте что у биткоина coinbase упал до нуля. Как будет жить сеть? Как будет определяться fee за транзакции? Вот у дианы точно так же.

Q: на каких условиях будет продление владение домена
A: любая операция с доменом продлевает его время жизни на TTL блоков. По истечении TTL, если не было операций по домену, сеть про него "забывает", он становится доступен для регистрации любым участником. Для сети операции типа "new","update","transfer" суть одно и тоже и равноценны в объеме работы, а значит и в цене.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 19, 2012, 01:31:47 PM
* Как организовать надежное распределенное хранилище
http://ru.wikipedia.org/wiki/Теорема_CAP


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 19, 2012, 01:38:09 PM
http://ru.wikipedia.org/wiki/Теорема_CAP
Ага. Согласованность данных нам ни к чему. Хидеры цепочки у каждого клиента есть, они это компенсируют.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 19, 2012, 01:44:55 PM
Раз уж это "форк всего Интернета", нужно сделать регистрацию портов подобно IANA (http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml).

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 19, 2012, 10:42:43 PM
Q: кому будет доставаться плата? например у namecoin - никому, или вариант - майнерам (фиксированное количество монет)
A: Майнерам. За дополнительный оверхед по сложности. Больше денег - больше работы.
Т.е. другими словами просто как transaction fee у bicoin будет прибавляться к выданным в награду за очередной блок. Но я не вижу тут связи с фразой - 'больше денег больше работы'.
Q: какая будет цена? еще более сложный вопрос? я бы предложил фиксировать стоимость, расчитать и предугадать изменение стоимости затрат на майнинг, но как х.з.
A: Цена будет определяться свободными рыночными соглашениями. Хоть бесплатно, хоть дорого, смотря какая нагрузка на сеть. Чтобы лучше себе представить этот процесс, представьте что у биткоина coinbase упал до нуля. Как будет жить сеть? Как будет определяться fee за транзакции? Вот у дианы точно так же.
И где тут ответ? С точки зрения разработки проекта, ответом на мой вопрос должна быть формула, выдающая размер комиссии в монетах системы.
Q: на каких условиях будет продление владение домена
A: любая операция с доменом продлевает его время жизни на TTL блоков. По истечении TTL, если не было операций по домену, сеть про него "забывает", он становится доступен для регистрации любым участником. Для сети операции типа "new","update","transfer" суть одно и тоже и равноценны в объеме работы, а значит и в цене.
т.е. так же как и у namecoin.

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


Предлагаю свой гениальный пример алгоритма вычисления цены - реализовать в сети аукцион по продаже домена. Цель - реализовать истинную рыночную и свободную цену на домены, без привязки к проблемам реализации сети bitcoin (сложность, мощность сети и т.п).
На текущий момент в Интернете домены и так приобретаются на аукционе, даже если вы покупаете домен у регистратора, так как большинство (может я и преувеличиваю) уже давно являются крупнейшими киберсквотерами и так или иначе реализуют мошеннические схемы, превращая покупку в аукцион между с минимум двумя участниками - регистратор и клиент, просто зачастую 'аукцион' начинается и заканчивается на цене и условиях, определяемой регистратором (например при низкой цене регистрации будет не фиксированная цена продления, либо необходимость приобретать дополнительные смежные услуги, либо еще как...).

Исключим лишние звенья в цепи 'домен - посредник - клиент', создав действительно честный аукцион на базе идей распределенной сети bitcoin.

Т.е. желающий получить домен должен:
1. Запустить 'аукцион' (специальная команда), с указанием его типа (http://ru.wikipedia.org/wiki/%D0%90%D1%83%D0%BA%D1%86%D0%B8%D0%BE%D0%BD#.D0.A2.D0.B8.D0.BF.D1.8B_.D0.B0.D1.83.D0.BA.D1.86.D0.B8.D0.BE.D0.BD.D0.BE.D0.B2), возможно стартовой/конечной цены, срока проведения и т.п.
2. Системой взымается 'плата' за открытие аукциона (комиссия, выплачивается майнерам как и в bitcoin)
3. Ставки принимаются системой переводами особого типа, средства с кошелька участника блокируются, повышение ставки не требует блокировки всей суммы, а только доплаты.
3.1. Количество ставок с каждого участника в пределах одного блока - только одно, с максимальной/минимальной ценой (чтобы не было бессмысленного флуда ставками в сеть)
4. По окончанию аукциона все проигравшие ставки возвращаются участникам, ставка победителя списывается по тем же алгоритмам что и комиссии - майнерам
5. Возможна смена владельца домена (передача прав между участниками), стоимость определяется пользователями (как особый тип транзакции - A-> переводит монеты -> B а обратно от B -> A передается управление доменом), так же возможно использование транзакций типа аукцион, только вырученные средства с аукциона передаются на адрес, указываемый в транзакции (просто еще одна опция у транзакции).
6. Для продления срока владения доменом так же необходимо заплатить, тут возможны варианты:
 * платить ровно столько, сколько было заплачено за первоначальную регистрацию
 * создавать новый аукцион
 * придумать очередную глупую формулу... (например 90% от средней цены из регистрируемых доменов в последних 2016 блоках...)

Недостатки:
1. для открытых аукционов, всем становится известно название домена до назначения ему владельца (т.е. появляются лишние участники)
кому то этот алгоритм покажется менее справедливый, чем текущая регистрация 'тихо-в-на-ушко-регистратору-и-сервисам-whois'.
2. для закрытых аукционов невозможно обеспечить гарантию, что по окончанию аукциона домен будет сразу доступен, так как закрытых аукционов на один домен могут вестись сразу несколько аукционов, и еще необходимо придумать логику, чей аукцион считать победителем (например по окончанию аукциона сначала блокируется прием заявок на срок, равный максимальному сроку проведения аукциона, если по его истечению на этот домен не будет завершено других аукционов то считать аукцион свершившимся, иначе просто откатываются транзакции)
p.s. конечно, можно попытаться через сложные хеши сразу проверять, запущен ли уже где то аукцион на выбранное имя, но при наличии должных мощностей это имя брутфорсится и закрытый аукцион превращается в открытый.

Достоинства:
1. действительно свободная рыночная цена
2. в формирование цены заложено действительно минимум посредников (только майнеры)
3. при использовании 'аукциона для продления домена' истинная ценность домена становится напрямую выраженной в монетах сети, это невероятно высокая связь со 'внешним миром', даже сильнее чем создание магазинов с оплатой в монетах...
4. технически 'транзакция типа аукцион' не сложно реально реализовать хоть в самой сети bitcoin/namecoin/litecoin/... причем сначала протестировать в форке, а затем перенести хоть в сам bitcoin.
p.s. я вообще считаю форки - глупостью (даже если они добавляют полезный функуионал), все равно успешные будут завязаны на bitcoin через merged mining, просто реализовывать сразу весь этот мусор в bitcoin - слишком тяжкое бремя для базы bitcoin, поэтому пусть сначала будут отлажены и отфильтрованы ненужные в своей песочнице а потом можно и переносить в bitcoin.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 20, 2012, 03:54:44 AM
Q: кому будет доставаться плата? например у namecoin - никому, или вариант - майнерам (фиксированное количество монет)
A: Майнерам. За дополнительный оверхед по сложности. Больше денег - больше работы.
Т.е. другими словами просто как transaction fee у bicoin будет прибавляться к выданным в награду за очередной блок. Но я не вижу тут связи с фразой - 'больше денег больше работы'.
Похоже, предполагается что доменные транзакции будут увеличивать сложность вычисления блока.
Q: какая будет цена? еще более сложный вопрос? я бы предложил фиксировать стоимость, расчитать и предугадать изменение стоимости затрат на майнинг, но как х.з.
A: Цена будет определяться свободными рыночными соглашениями. Хоть бесплатно, хоть дорого, смотря какая нагрузка на сеть. Чтобы лучше себе представить этот процесс, представьте что у биткоина coinbase упал до нуля. Как будет жить сеть? Как будет определяться fee за транзакции? Вот у дианы точно так же.
И где тут ответ? С точки зрения разработки проекта, ответом на мой вопрос должна быть формула, выдающая размер комиссии в монетах системы.
А какая формула размера fee за транзацкии в битконах?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 20, 2012, 09:42:21 AM
многабукав

Эх раз, еще раз, еще много-много раз.
NameCoin:
- Цена name_new устанавливается сетью, прогрессивно падает, превращаясь в ноль, не имеет обратной связи с активностью сети.
- Цена name_update в перспективе тоже бесплатная
- Работа по верификации name_new, name_update никем не оплачивается, деньги за эти операции уничтожаются.
- Коины являются носителями доменов
- Доменные записи задизайнены как "мусор" в цепочке блоков, скриптом обрабатываются по OP_2DROP

Все это ведет к тому что NameCoin хочет положить на харды пользователей терабайты бесплатной и бесполезной информации.

DIANNA:
- регистрация, апдейт, продление, трансфер домена - суть одна и та же операция
- цена за эту операцию устанавливается рынком
- возврат денег по этим операциям не ведет к инфляции
- коины не являются носителями доменов
- доменные записи идут как специального рода транзакции, где вместо коинов подписываются домены

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

Представь что DIANNA и NameCoin доросли оба до размеров ICANN. Терабайты активных записей. Сотни тысяч новых доменов в сутки. Миллионы name_update в сутки.

У NameCoin это все будет бесплатно. И кому надо обслуживать такую махину бесплатно?

У DIANNA все эти операции будут оплачиваться.

Цель DIANNA - не спекуляция и не борьба с ней, а построение сбалансированной системы, которой не составит труда вырасти в нечто очень большое.

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

В дизайне DIANNA все это намного проще реализовано.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 20, 2012, 10:04:40 AM
0) Вы хотите реализовать идею тонкого клиента:
   Блоки храняться в DHT, а у клиента -- только хедеры.
   Тогда вопрос -- где обрабатывается DHT (на сервере ?) ?
   И кто контролирует этот сервер ?!
DHT это Распределенная Хеш Таблица. Типа Хеш=Значение. Цепь блоков bitcoin это тоже хеш-таблица Хеш=Значение. Только не распределенная. Я ее хочу сделать распределенной, технологии имеются. Каждый клиент DIANNA будет участником DHT и будет нести на себе некоторую ее часть.
1)
 2)
 3)
 4)
Bitcoin складывает блоки в Berkeley DB на диск. DIANNA их будет складывать в DHT. Поменяется только сторедж. Ну там с ньюансами в общем.

Тонкий клиент - это совсем другая тема. Это вообще отдельный бинарник, или либа, или jar. Просто коннектится к сети, слушает апдейты и мотает на ус.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 20, 2012, 10:16:24 AM
- возврат денег по этим операциям не ведет к инфляции
А вот, интересно, почему?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 20, 2012, 10:18:40 AM
- возврат денег по этим операциям не ведет к инфляции
А вот, интересно, почему?
Надбавка дохода майнеров порождает пропорциональную надбавку к сложности расчета блока.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 20, 2012, 10:10:16 PM
Эх раз, еще раз, еще много-много раз.
NameCoin:
- Цена name_new устанавливается сетью, прогрессивно падает, превращаясь в ноль, не имеет обратной связи с активностью сети.
- Цена name_update в перспективе тоже бесплатная
- Работа по верификации name_new, name_update никем не оплачивается, деньги за эти операции уничтожаются.
- Коины являются носителями доменов
- Доменные записи задизайнены как "мусор" в цепочке блоков, скриптом обрабатываются по OP_2DROP

Все это ведет к тому что NameCoin хочет положить на харды пользователей терабайты бесплатной и бесполезной информации.
Я ни сколько не спорю, что текущая архитектура namecoin очень неудобна для того чтобы заменить ICANN. И уж точно согласен, что хранить абсолютно все не требуется, но как раз именно это изменить в namecoin, да и bitcoin вполне реально, так же как и ввести поддержку распределенного хранения блоков в DHT. Уже сейчас клиент multibit предлагает какие то решения по загрузке блоков только тогда, когда они необходимы, осталось выбрать более эффективную логику выбора блоков для хранения (например нефиксированный % случайных  блоков, подобранный таким образом, чтобы размер базы на клиенте рос с логарифмической скоростью или хотя бы меньше линейной)

DIANNA:
- регистрация, апдейт, продление, трансфер домена - суть одна и та же операция
- цена за эту операцию устанавливается рынком
- возврат денег по этим операциям не ведет к инфляции
- коины не являются носителями доменов
- доменные записи идут как специального рода транзакции, где вместо коинов подписываются домены
Так как именно цены на доменные транзакции будут устанавливаться рынком? Рынок - это место где цена определяется спросом и предложением, то есть как минимум в сети должны быть такие понятия. Классическая сеть bitcoin не предоставляет вообще таких пар товар-цена.

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

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

В pdf есть единственная формула для расчета 'поправка к основной сложности' - ddiff... как изменение текущей сложности на отношение суммы доменных комиссий к сумме обычных комиссий.. это получается сложность сети будет зависеть не от ее мощности а от потребности в сети как регистратор домена... наверное предполагается что в таком случае комиссии за регистрацию домена вычисляется по тем же формулам что и обычные, т.е. от количества кусков/байт в блоке под транзакцию? Суммы берутся за все время существования сети или за последние ххх блоков? Я так понимаю комиссии можно назначить самостоятельно? Я так понимаю что при единовременных вливаниях (если формула будет учитывать только последние блоки в сети) или, например, крупнейшие пулы майнинга, смогут сформировать много фиктивных 'дорогих' транзакций, изменив сложность сети в нужную сторону.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 20, 2012, 10:18:13 PM
В тему 51% - ничто не мешает совместить merged mining и scrypt, в качестве мастера юзать тот же LTC, к примеру. Благо мощность их сети очень высокая.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 20, 2012, 10:22:49 PM
Да не то слово. Почитал я что это такое. ММ выгоден только одной стороне - aux chain. Т.е. это такой как бы паразит, сидящий на биткоине, и к тому же, перестроивший свою цепь под биткоин. Как я и предполагал, ММ нужен только для одного: "Ну пожалуйста, ну хоть кто нибудь, помайните мое говно.... ". Тут другая ситуация.
MM не отвергает нативного майнинга, никак. Он просто добавляет возможность не делать дважды одну и ту же работу, если нужно майнить две цепочки, только и всего. Умрет парент цепочка - не проблема, если проект нужен, будут майнить без парента нативно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 20, 2012, 10:23:02 PM
поток сознания
Рынок это баланс спроса и предложения.

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

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

Существуют DHT и KAD, которые сами организовывает структуру распределенных данных. Тут точно велосипед не нужен.

Единичные пулы не могут контролировать вставшую на ноги систему и в биткоине это все видно.

Майнеры не являются уязвимостью биткоина.

И вообще я устал от твоего троллинга.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 21, 2012, 03:42:50 AM
Везде что в статье упоминается что майнеры будут сами регулировать цену тем что будут отказывать в обработке слишком дешевые транзакции... хотелось бы напомнить что это является довольно таки опасной уязвимостью в архитектуре сети, так как нет свободных и бескорыстных майнеров, а есть пулы майнинга... если пулы станут контролировать комиссию, то этим они смогут подмять под себя всю сеть (мелкие майнеры будут выбирать пулы с большими выплатами, которые будут выплачиваться с повышающихся комиссий - замкнутый круг), получив возможностью к 51% атакам.

Фишка в том, что в биткойнах всё тоже самое. От майнеров и зависит текущая цена комиссии, скажи спасибо, что пока они попускают транзакции с мелкими комиссиями.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 10:31:18 AM
Хорошо. Дадим народу формулу. Вообще то она вытекает из той что в документе, ну ладно.

Попутно дадим название нашей новой валюте. Это DIAnna Coin или diac.

Исходим из того что допустимый оверхед по сложности (PDiff=DDiff/Diff) 15% (0.15) хорошо отражает оверхед жадности социума майнеров.
Допустим, в среднем, проводится 10 доменных операций (NumOp) за блок.
Допустим, награда за блок (Bounty) составляет 50 диаков (DIAnna Coin), а среднее число финансовых комиссий за блок (SumFee) составляет 0.1 diac.

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

http://img513.imageshack.us/img513/1287/codecogseqn16.gif (http://imageshack.us/photo/my-images/513/codecogseqn16.gif/)

http://img263.imageshack.us/img263/1173/codecogseqn17.gif (http://imageshack.us/photo/my-images/263/codecogseqn17.gif/)

Приемлемая цена реги в таком случае будет 0.7515 diac

Но PDiff здесь - саморегулирующаяся социумом величина. Я так, взял от фонаря значение, которое в принципе не сильно помешает работе сети. Еще в этой формуле значения магическим образом зависят друг от друга. Например, (Bounty + SumFee) зависит от NumOp, т.к. чем больше NumOp, тем больше популярность системы и ее финансовая активность. Короче в эту формулу надо подставлять только практические значения, т.к. все имеет обратную связь со всем. Значение Bounty только хорошо известно.

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

Кстати, если эта система заработает, она выведет своей работой степень человеческой жадности в виде PDiff в процентах  ;D


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 12:06:54 PM
Что именно в моих высказываниях определяет меня как 'троля'? Мне кажется я достаточно понятно и недвусмысленно указываю на неясные моменты и даже уязвимости.

1. Еще раз повторю - нет саморегуляции майнерами! Майнеры это техническая поддержка работы сети.. прямой аналог хостеры и админы (+ м.б. разработчики), поддерживающие и обеспечивающие работу системы. Кажется еще в предыдущих обсуждениях вас не устроило что в namecoin именно разработчики постоянно переопределяют формулу вычисления комиссии за регистрацию домена.
Это почти тоже самое, что спрашивать админа-программиста 1С, какие цены выставлять на позиции в прайсах... я понятную аналогию привел?

Мало того, в идеалогии bitcoin нет большого количества свободных майнеров, есть очень маленькое!!! считанные единицы, крупнейших пулов майнинга, именно они и будут определять то, что вы пожелаете им разрешить - в данном случае метод расчета стоимости домена. И их совсем не будет интересовать адекватность расценок, почти наверняка в вашей реализации крупнейшие пулы майнинга будут крупнейшими киберсквотерами, тупо собирающими и регистрирующими просто пресс (фактически на халяву.. цену то определяют они) доменов по ключевым словам из поисковиков... фактически превращая децентрализованную систему регистрации доменов в еще одну ICANN!

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

Quote
Единичные пулы не могут контролировать вставшую на ноги систему и в биткоине это все видно.
Сейчас да!!! потому как объем средств, в пределах которых пулы имеют контроль, на данный момент, сотые доли процента! Когда объем комиссий станет хотя бы 1% от доходов майнинга станет очень грустно, еще наплачутся пользователи системы, показывая пальцем на везде выпячивающееся достоинство bitcoin как 'требующее низкие комиссии за перевод' и обвиняя разработчиков лжецами, только вот идти и жаловаться будет не к кому.

p.s. кстати как один из способов борьбы с неадекватными пулами майнинга - активный пиар децентрализованного пула майнинга p2pool, он спасение сети от подобного беспредела в будущем.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 12:22:07 PM
Мало того, в идеалогии bitcoin нет большого количества свободных майнеров, есть очень маленькое!!! считанные единицы, крупнейших пулов майнинга, именно они и будут определять то, что вы пожелаете им разрешить - в данном случае метод расчета стоимости домена. И их совсем не будет интересовать адекватность расценок, почти наверняка в вашей реализации крупнейшие пулы майнинга будут крупнейшими киберсквотерами, тупо собирающими и регистрирующими просто пресс (фактически на халяву.. цену то определяют они) доменов по ключевым словам из поисковиков... фактически превращая децентрализованную систему регистрации доменов в еще одну ICANN!
Да, все так. Но вы забываете что мощность пуллов - это куммулятивная мощность их участников. Грубо говоря, если участники пулла увидят что пул охреневает, они от него свалят в другой пулл. Ведь массовый киберсквотинг будет косвенно отражаться на состоянии dianna-клиентов участников, и сети в целом, засирая место на диске, снижая популярность сети. Я уверен, для охреневших пулов все это не пройдет даром.

По вашей логике получается что всем этим проблемам подвержен и биткоин. И вообще вы критикуете сеть bitcoin по сути и "охреневшие" пулы.

Давайте обсудим проблемы биткоин.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 12:26:58 PM
Что именно в моих высказываниях определяет меня как 'троля'? Мне кажется я достаточно понятно и недвусмысленно указываю на неясные моменты и даже уязвимости.
Вы высказываетесь совсем непонятно, сумбурно и большинство ваших претензий адресовано биткоин.

Поменьше букв и больше конкретики по пунктам. Я вас не понимаю.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 12:53:50 PM
Денежный аспект тут тоже очень важен, т.к. домены функционируют благодаря финансам. Нет финансов - нет мотива поддерживать сеть. Как у неймкоин в будущем.

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

Я взял за допущение, что у биткоина с финансовыми потоками все в порядке. Если не в порядке - прошу к трибуне.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 01:13:29 PM
Ничего я не хочу перехватывать. дианна будет тяжеловатая для простых смертных, она не сможет конкурировать с биткоином по популярности.

Меня беспокоит конкуренция за хеш повер. Всегда у кого то будет больше хеш повера, у кого то меньше. А значит обе системы будут подвержены 51% атаке. И по моему даже ММ эту проблему не решает.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 01:41:31 PM
Народ, может поможет кто это запрограммить?

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

Я даже скажу что конкретно надо сделать - код читаю нормально, но написать что то правильно трудно.

Вот чесно, от C++, а особенно от Satoshi-style у меня шарики за ролики едут.

Я не привык к c++, программирую на языках более высокого уровня много лет и имею то, что мозг в сторону низкоуровневого программирования уже не поворачивается.

Готов подкидывать донаты в порядках нескольких десятков BTC за задание (http://dianna-project.org/wiki/Initial_Roadmap). Если появятся еще донаторы, все донаты пойдут программистам пропорционально труду.

Мне нужны чьи-то прямые программерские руки.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 01:48:51 PM
to pent, вы похоже просто не знаете что такое троль... если вы меня не понимаете, то это просто значит что мы оба виноваты.. нормальный/адекватный собеседник просто спрашивает непонятные моменты.
Что в моем 'потоке сознания', в котором 'многа букав' и который вы 'ни асилили' вам непонятно?

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

* Первое - это зависимость транзакции за переводы от пулов майнинга. Для проекта, в котором основной оборот предполагается именно в комиссиях к транзакциям, это ключевой момент для такого форка как ваш.
* Второе - уязвимость к атакам 51%.. она заложена в корень децентрализации (кто сильнее, тот и говорит, какая цепочка блоков валидна), и на данный момент нет адекватных решений... спасением пока является - высокая мощность, а для форков - merged mining.
Но все равно, как и указывается у вас, на старте любого форка эта проблема встает очень остро. Как решение - скрытый запуск с поддержкой лояльных пулов майнинга с постепенным расширением аудитории проекта.

p.s. вы можете сказать, чем вам не нравится предложенная мной идея децентрализованного аукциона?

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

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

Появятся пулы вида https://bitcointalk.org/index.php?topic=52502.0 особенно если за пиар возьмутся серьезные люди со знанием дела и майнеры послушно пойдут за халявой. А если этим займется уже распиаренный крупнейший пул? А если он будет скрывать свою деятельность?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 02:04:30 PM
Так, пошла конкретика.

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

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

Появятся пулы вида https://bitcointalk.org/index.php?topic=52502.0 особенно если за пиар возьмутся серьезные люди со знанием дела и майнеры послушно пойдут за халявой. А если этим займется уже распиаренный крупнейший пул? А если он будет скрывать свою деятельность?

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

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

Где то посредине этих двух зол находится оптимальная цена комиссии.

Пулы могут объединяться в сговоре майнить бесплатные домены. Во. Над этим подумаем.

* Второе - уязвимость к атакам 51%.. она заложена в корень децентрализации (кто сильнее, тот и говорит, какая цепочка блоков валидна), и на данный момент нет адекватных решений... спасением пока является - высокая мощность, а для форков - merged mining.

Я не отрицаю этой проблемы. Она обозначена красным цветом в начале. Как и проблема стореджа.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 02:24:33 PM
Проблема 51% частично решаема. Делаем как в солидкоин, только в более жестком варианте. В Solidcoin есть  доверенные ноды, которые с помощью премайненных монет подписывают блоки участников, и там с каждым актом подписи маленькая часть монет утекает с доверенной ноды в сеть. Это сделано для того, чтобы к моменту возникновения в сети доверенных узлов с реальными, а не премайненными монетами, последние умерли естественной смертью. Но это провоцирует инфляцию, поэтому в нашем случае лучше предусмотреть не раздачу, а постепенное уничтожение премайна. Тогда на начальном этапе сеть будет защищена от 51% атак доверенными узлами, принадлежащими разработчику. А к тому моменту как используемый для подписывания ими блоков премайн будет постепенно уничтожен, произойдет одно из двух.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 02:27:59 PM
Итак, суммарно по проблемам

1. 51% атака. Решения пока не вижу.
2. Сторедж. Теоретически можно запихать в DHT. Вопрос - каким образом и в какую.
3. Возможность пулов втихаря майнить бесплатные домены, засирая базу.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 02:32:10 PM
Проблема 51% частично решаема. Делаем как в солидкоин, только в более жестком варианте. В Solidcoin есть  доверенные ноды, которые с помощью премайненных монет подписывают блоки участников, и там с каждым актом подписи маленькая часть монет утекает с доверенной ноды в сеть. Это сделано для того, чтобы к моменту возникновения в сети доверенных узлов с реальными, а не премайненными монетами, последние умерли естественной смертью. Но это провоцирует инфляцию, поэтому в нашем случае лучше предусмотреть не раздачу, а постепенное уничтожение премайна. Тогда на начальном этапе сеть будет защищена от 51% атак доверенными узлами, принадлежащими разработчику. А к тому моменту как используемый для подписывания ими блоков премайн будет постепенно уничтожен, произойдет одно из двух.

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

Суммарная "мировая" мощность будет расплываться между биткоином и форком. В таком "расплыве" у кого то всегда будет более 50% мощности. А значит, это "более 50%" может в любой момент обрушиться на туда, где мощности меньше.

В этой теореме любой форк мертв изначально. А изменения хеширования/алгоритмов/интерфейсов как укол морфия больному раком.

Нужен другой тип сложной работы, опирающийся на отличные от CPU ресурсы.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 02:58:42 PM
Да уж, сначала надо дизайн. У текущего две дырищи.

Ну я хотя бы попытался (с) "Пролетая над гнездом кукушки"


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 21, 2012, 04:10:28 PM
Итак, суммарно по проблемам

1. 51% атака. Решения пока не вижу.
2. Сторедж. Теоретически можно запихать в DHT. Вопрос - каким образом и в какую.
3. Возможность пулов втихаря майнить бесплатные домены, засирая базу.

Надо как то избавиться от принципиальной возможности существования пуллов.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 04:18:51 PM
Проблема 51% частично решаема. Делаем как в солидкоин, только в более жестком варианте. В Solidcoin есть  доверенные ноды, которые с помощью премайненных монет подписывают блоки участников, и там с каждым актом подписи маленькая часть монет утекает с доверенной ноды в сеть. Это сделано для того, чтобы к моменту возникновения в сети доверенных узлов с реальными, а не премайненными монетами, последние умерли естественной смертью. Но это провоцирует инфляцию, поэтому в нашем случае лучше предусмотреть не раздачу, а постепенное уничтожение премайна. Тогда на начальном этапе сеть будет защищена от 51% атак доверенными узлами, принадлежащими разработчику. А к тому моменту как используемый для подписывания ими блоков премайн будет постепенно уничтожен, произойдет одно из двух.

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

Суммарная "мировая" мощность будет расплываться между биткоином и форком. В таком "расплыве" у кого то всегда будет более 50% мощности. А значит, это "более 50%" может в любой момент обрушиться на туда, где мощности меньше.

В этой теореме любой форк мертв изначально. А изменения хеширования/алгоритмов/интерфейсов как укол морфия больному раком.

Нужен другой тип сложной работы, опирающийся на отличные от CPU ресурсы.
Это верно лишь отчасти. Поясню, почему... Потому что если форк использует принципиально другой алгоритм, мощности апстрима для него безопасны, т.к. бесполезны. К примеру, LTC является форком BTC, и при этом мощности BTC ему не угрожают в принципе, даже если были бы злонамеренными.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 04:43:58 PM
Майнер не может ломить цену бесконечно, т.к. цена провоцирует рост сложности. Существует вероятностный предел "залома" цены, после которого другие могут взять себе меньше работы и в итоге получить все.

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

Где то посредине этих двух зол находится оптимальная цена комиссии.

Пулы могут объединяться в сговоре майнить бесплатные домены. Во. Над этим подумаем.
Майнер может заломить не цену а определить ЛЮБОЕ свое условие выбора, какие транзакции обрабатывать... хоть высокая комиссия и 0 цена своим (сговор не требуется - все свои транзакции по 0 достаточно).

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

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

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


Надо как то избавиться от принципиальной возможности существования пуллов.
Решение - встроить p2pool в официальный клиент bitcoin/...


Когда читал про защиту у solidcoin то фактически не понял, как именно собираются защищать от атак 51%? Алгоритм уже есть и работает, или остался только на словах? В любом случае любая  централизация - это уязвимость к атакам со стороны этих центров... какой тогда вообще смысл городить децентрализацию? В этом случае проще запустить очередную xxx-money в виде веб-сайта, а для совсем страждущих нарисовать клиента к нему.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 05:09:38 PM
Алгоритм есть и работает. Он базируется на том, что обладателю большой суммы нет смысла компрометировать сеть, т.к. это для него экономически невыгодно. Если ты владеешь миллионом монет - ты можешь подписывать блоки других юзеров, давая знать что ты им доверяешь. И в случае конфликта с цепочкой атакующего клиенты в сети выберут цепочку, в которой участвовали подписанные таким образом блоки. Централизация условная, т.к. доверенным узлом может стать кто угодно, имеющий 1М монет в кошельке, да и сеть без доверенных узлов вполне работоспособна, просто не защищена.

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

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

Я не спорю, что код отстойный и что автор его, мягко говоря, неадекват и тролль. Но сам по себе подход имеет право на жизнь вполне, и его нельзя сравнить с "очередными xxx-money в виде веб-сайта". Это компромисс, а на компромиссах держится вселенная.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 05:54:02 PM
Алгоритм есть и работает. Он базируется на том, что обладателю большой суммы нет смысла компрометировать сеть, т.к. это для него экономически невыгодно. Если ты владеешь миллионом монет - ты можешь подписывать блоки других юзеров, давая знать что ты им доверяешь. И в случае конфликта с цепочкой атакующего клиенты в сети выберут цепочку, в которой участвовали подписанные таким образом блоки. Централизация условная, т.к. доверенным узлом может стать кто угодно, имеющий 1М монет в кошельке, да и сеть без доверенных узлов вполне работоспособна, просто не защищена.
Стоп... любой, обладающий 1кк монет в сети может (кстати и не обязан?) просто выбрать транзакцию и сказать - 'верьте ей, она хорошая... так'? Но это же еще больший бред!!
 - занимаем бабки
 - запускаем атаку 51%
 - обкрадываем сервисы
 - помечаем 'фейковые' транзакции как правильные (мамой клянусь, вы же видите какой я богатый)
 - получаем профит
 - возвращаем долг
 - живем на эти 'три процента' профита


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 06:25:40 PM
Это все понятно и озвучивалось не раз, но если отойти от троллинга и подумать, то откроется многое.

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

Quote
А чего там читать -- сами говорите "неадекват" -- доверять
Неадекват как человек. У него невероятно гипертрофированное самомнение, и это многих отталкивает от его проекта.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 06:34:08 PM
Подпись трастеда не безоговорочна, в случае конфликта между трастед блоками выбор делается примерно так же, как и между блоками обычных юзеров.
Ну конечно... даже если в сети будет куча 'истинно-верующих и неподкупных' с 1кк.. но сеть поверит тому, у кого больше мощности.. то есть тому кто решил всех обмануть. Просто рукоплескаю фйспалмлю.

Что и требовалось доказать - алгоритм не защищает от атаки 51%.

p.s. между прочим еще не решен вопрос, когда именно 'центры доверия и контроля' должны подписывать и удостоверять транзакции и какие.. и по какому алгоритму?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 06:36:33 PM
Подпись трастеда не безоговорочна, в случае конфликта между трастед блоками выбор делается примерно так же, как и между блоками обычных юзеров.
Ну конечно... даже если в сети будет куча 'истинно-верующих и неподкупных' с 1кк.. но сеть поверит тому, у кого больше мощности.. то есть тому кто решил всех обмануть. Просто рукоплескаю фйспалмлю.

Что и требовалось доказать - алгоритм не защищает от атаки 51%.
Если у тебя есть миллион монет, то делать 51% атаку на систему, которая их хранит - это все равно что стрелять себе в ногу. На то и опора, чисто на человеческую жадность.  А обычный юзер трастеда пересилить не сможет никогда и никак, потому что трастед блоки (блоки с четным номером, генерируемые доверенными узлами) всегда считаются при difficulty = 1. Трастед с одной 5830 уделает любые терахэши. ::)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 06:39:53 PM
Я имел в виду что теперь у них койны в сети НЕ перераспределяются
Кто успел того и тапки.

Причем пропорции рапределения конкретно нездоровые
-------------------------------------------------------
Таки мы имеем новую возможную проблему :
картель/сговор трастедов -- и как с ним бороться
Ну в последнее время да, и вправду бред.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 06:52:04 PM
Если у тебя есть миллион монет, то делать 51% атаку на систему, которая их хранит - это все равно что стрелять себе в ногу. На то и опора, чисто на человеческую жадность.  А обычный юзер трастеда пересилить не сможет никогда, потому что трастед блоки всегда считаются при difficulty = 1.
Я говорю о ситуации, когда трастед сам атакует систему....

Если висит ружье, и оно заряжено, оно просто обязано выстрелить.

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

p.s. например mtgox по любому обладает суммами в bitcoin сравнимыми с 1кк.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 06:57:13 PM
Ясное дело, что трастед может сделать атаку на систему. Но зачем ему это? Он этим обесценит свои инвестиции в систему. Тратить кучу денег только лишь ради того, чтобы завалить систему? Умно. И кончится это прозаично - выйдет клиент, в котором его пабкей будет забанен, а все блоки после блока Х объявлены инвалидами.  Итог нулевой, в результате... И 1кк пропал, и система не сдохла.

Да и потом, есть просто порядочные люди, фанаты какой-либо идеи... Я уверен, что если бы в том же биткоине были трастеды, многим здесь можно было бы доверить их техобслуживание. Наш модератор, к примеру, чем не фанат идеи? Или те же Люк, Гэвин и прочие :) Другой вопрос, что биткоину это не нужно при текущей мощности сети )


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 21, 2012, 07:55:37 PM
Quote
2118 год, мечта криптоманиманьяков, 93% денежного оборота людей на обеих планетах проходят в системе bitcoin, 74 миллиарда нод онлайн, почти 2 триллиона пользователей и квинтиллион адресов, прошли уже четыре реноминации (увеличение монет на всех кошельках на несколько порядков)...

и тут вы решили предложить всем пользователям обновить клиент, так как иначе у них он перестанет работать
Может не надо оставлять фундаментальные уязвимости в системе?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 21, 2012, 09:56:33 PM
Bitcoin до таких масштабов не вырастет без серьезной внутренней переработки, которая приведет к несовместимости.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 22, 2012, 06:41:28 AM
Про инвалиды еще не забывай, они тоже хранятся в блокчейне...  ::)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 22, 2012, 09:24:05 AM
Ну 38-100гб это в, общем-то, детский объем данных для любой полноценной современной СУБДы. При должной нормализации структуры БД и прочем, конечно... Они на нормальном железе терабайты только так ворочают, так что <100gb не вопрос вообще.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 09:40:59 AM
Gavin там чето такое умное сказал, я все пытаюсь въехать.

В цепи блоков он предлагает оставить только доменные транзы. Финансы он предлагает вынести вообще за рамки системы в так называемых регистраторов.

Клиент идет к регистратору и заказывает домен, заплатив N btc.
Регистратор идет к майнеру или пулу, дает M btc, заказывает ts-верификацию. Майнер запечатывает блок.
Потом регистратор каким то образом просит сохранить этот блок вместе с хешем блока bitcoin начального платежа.
После этого, ноды, ответственные за хранение DHT, проверяют proof-of-work блока DIANNA, проверяют что транзакция bitcoin имела место быть и сохраняют этот блок на определенное время.

Чет тут какой то разрыв шаблона по ходу. В этом есть нечто такое, над чем стоит подумать. Я еще не догнал сути, но это очень интересно.

Появляются еще два участника: регистраторы и ноды DHT. И всем надо оплатить работу.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 10:11:27 AM
Я клиент. Иду к регистратору. Говорю, мне нужен домен "pent". Он проверяет доступность, говорит: 1 BTC.

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

Так, деньги регистратору переведены и помечены "за домен pent".

Дальше это надо протаймштампить у майнеров и сохранить в DHT у стореджей, предоставляя каждым публичный ключ домена.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 10:36:33 AM
Моя интерпретация идеи Гевина.

Разделяем нафиг всех участников:
1) клиенты - собсно клиенты, которые хотят домены
2) майнеры - делают таймштампинг блоков
3) стореджи - сохраняют цепь блоков
4) возможно для координации потребуются регистраторы

Финансовую цепь из дианы убираем. Принцип таймштампинга записей Сатоши сохраняем.

Пусть, скажем, регистраторы принимают че угодно.

Регистратор отдает заказ майнерам, платит им деньги. Они делают блок.

Регистратор берет блок, отдает его стореджам на сохранение, платит им деньги. Они сохраняют блок в течении некоего TTL.

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

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

Финансы за домен, полученные регистратором расплываются между регистратором, майнером и стореджем.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 11:01:21 AM
Мы вместо коинов в блоках считаем домены.

Здесь проблема - как обеспечить непрерывность цепи блоков между разными кластерами стореджей.

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

Пошел перечитывать сатошинкский документ.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 11:56:31 AM
В этой схеме получается большая ответственность ложится на регистраторов.

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

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

В принципе это опять же на совести регистратора. Регистраторы могут договариваться с другими регистраторами на хранение бекапа блоков, арендуя бекап-место друг у друга и распределяя по бекапам свои блоки. Это в их интересах.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 12:19:05 PM
Еще надо как то исключить самодеятельность пулов. Так, чтобы они процессили транзакции только те что им дали.

Но здесь опять приходит на помощь взаимодействие.

Ведь блок, полученный регистратором от пулла будет иметь размер. И регистратор должен отдать этот блок на хранение сторедж пуллу. А сторедж пулл берет деньги за объем блока. Т.е. регистратор не заинтересован принимать от майнинг пулла блоки с каким то леваком.

ИМХО, мы на правильном пути.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 22, 2012, 12:42:39 PM
Я где то упустил нить обсуждения... откуда у вас появились регистраторы? O_o

p.s. я смутно понимаю о чем говорит Gavin.. но кажется как то похожее реализован merged mining (добавить в блок biotcoin маленькую приписку от блока из связанного проекта).
Если реально можно будет отделить финансовую часть от доменов (а это точно реально, но код придется фактически заново писать) при этом завязать майнинг на bitcoin, то окончательный DNS клиент будет представлять из себя сплав клиента bitcoin и дополнительной базы имен.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 01:02:36 PM
Я где то упустил нить обсуждения... откуда у вас появились регистраторы? O_o
Регистраторы появились когда финансовая цепь была вынесена из системы.

Клиенты должны что то кому то платить. Гевин предлагает абстрагироваться и пусть регистраторы принимают любую валюту и далее координируют включение домена в глобальную цепь блоков.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 01:08:16 PM
Я тоже пока не до конца въехал в суть этого предложения, т.к. это разрыв шаблона :) Но оно мне крайне симпатизирует.

Отдельная валюта это реально геморой еще тот.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 01:26:10 PM
От киберсквотерства не уйдешь никуда. С этим бороться бесполезно вообще.

Главное здесь - пессимизировать бесплатную регалку.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 01:47:53 PM
Фишка в том, что регистратор образует локальную централизованную ячейку сети, он регает, он верифицирует, он хранит, он отвечает на запросы доменов. Или хранение и майнинг отдает на аутсорс.

Если хочет бесплатно нагреть доменов - да хоть мульен. Храни и отвечай за них.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 02:13:15 PM
Фишка в том, что регистратор образует локальную централизованную ячейку сети, он регает, он верифицирует, он хранит, он отвечает на запросы доменов. Или хранение и майнинг отдает на аутсорс.

Если хочет бесплатно нагреть доменов - да хоть мульен. Храни и отвечай за них.

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

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

не надо давать им слишком много власти.

Или вы про whois запросы ?

2) Бесконечное число доменов (мульен) == бесконечно большой
 (
 обьем DHT


1. Ну дык обращается к сети стореджей да. А стореджи то у регистратора в подчинении.

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

2. Ну соответственно, DHT тут специальная, с избирательным хранением.

Вообще это все стремно как то пахнет. Но и интересно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 03:18:06 PM
Тут такой момент.

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

А если регистраторы будут только поводырями, а данные будут храниться не у них, это их простимулирует к реганью бесплатных доменов и засиранию системы.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 06:17:09 PM
Quote
+ I give some money to a registrar, and ask them to register/renew/transfer 'gavinandresen.dianna'

+ The registrar makes sure the register/renew/transfer operation is valid

+ The registrar bundles up a bunch of register/renew/transfer operations and then asks/pays a Bitcoin miner to merge-mine that hash to securely timestamp those changes

+ After they're timestamped, the registrar asks that all of those record changes be inserted into a shared distributed hash table, providing the DIANNA proof-of-work and the bitcoin block hash.

+ The nodes maintaining the shared DHT make sure the records have the right DIANNA proof-of-work, that the bitcoin block is valid, and that the changes aren't over-ridden by a later bitcoin block, and then update the records.

Короче я понял что я нифига не понял, о чем там Гевин толкует.

Что откуда взять и куда передать? Как мотивировать участников DHT ложить себе всякое г-но на винты?

+ Я передал 1 BTC регистратору "за домен pent".

+ Регистратор проверяет домен на дабл спенд.
Где? У дианы своя цепочка? Вроде да. Ладно.

+ Регистратор взял пачку таких заявок и передал майнеру на хеширование по ММ. Биткоин майнер захешировал диановский блок по ММ.
Чего мешает ему это делать без регистратора? Высокая сложность биткоина?

+ Диановский блок популируется в DHT со ссылкой на блок Bitcoin.
Что за ссылка? На какой блок? Зачем?

+ Ноды ДХТ проверяют диановский блок [??и какую то связь с блоком Bitcoin??] и кладут его себе
За какой шиш?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 06:45:49 PM
Попытка въезда №2.

Транзакцию регистратору за домен в bitcoin мы чем то помечаем. Скажем, подписываем название домена приват ключом, потом типа OP_DROP.

Транза предназначалась регистратору.

Регистратор - это или майнер/пул или просто посредник.

Регистратору отдаем имя домена, публичный ключ, trans_id.

Тот со всем этим делом чешет к пулу биткоин с пачкой таких заявок.

Пул берет эти заявки и рассчитывает по ММ хеш диановского блока со сложностью родительского блока Bitcoin плюс моя поправка к сложности

Далее этот блок популяризируется в DHT сеть, которая проверяет proof-of-work и сохраняет его.

DHT сеть может собрать инфу по всем доменным платежам блока, инспектируя цепь Bitcoin по меткам (имя домена и публичный ключ есть, ссылка на транзакцию bitcoin есть)
DHT сеть может посмотреть сложность того блока Bitcoin, с которого был произведен merged mining, и вычислить верную поправку к сложности.
Следовательно, DHT сеть может корректно проверить блок.
DHT-сеть будет отвергать доменные транзакции с нулевыми или несуществующими платежами. То есть, основанием для помещения доменной транзы в цепь дианны является помеченная транза биткоин.

Пулам не выгодно жульничать. Например, сделать транзакцию от себя к себе и на ее основании провести домен, так как это вызовет поправку к сложности.
Проблема 51% так же отпадает.

Сеть DHT выгодно мейнтейнить посредникам-регистраторам и пулам bitcoin.

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

То есть это по сути тоже, что предложил я, только финансовая цепь уходит в биткоин.

Ну как, православно?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 22, 2012, 07:35:25 PM
А вот теперь по моему эту всю хрень можно писать на яве ))

Это будет не форк биткоина а его расширение. DIANNA и Bitcoin будут работать со взаимной пользой друг для друга.

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

И да, мы заткнем ICANN за пояс )


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 23, 2012, 10:09:31 AM
Ох... Короче так.

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

Плюсы:
- 51% атака отпадает вообще как таковая без всяких костылей
- Как и бесплатная регалка
- Как и 50% работы по наладке финансовой цепи
- DIANNA будет не в оппозиции Bitcoin и всех остальных, а рядом и без конкурентов
- Это придаст ей большую популярность на старте
- Майнинг пулы не надо будет уговаривать на ММ, они сами все сделают, это им выгодно
- Это создаст дополнительную конкуренцию в пуллах, оздоровив сеть Bitcoin
- Что я там еще упустил?

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

Минусы:
- Полная зависимость от Bitcoin. Но я бы это не назвал зависимостью. Это симбиоз.

Да, Гевин заинтересован чтобы в проекте DIANNA протестили технологии DHT и MM. Ну что ж, протестим. От этого будет лучше всем. Почему нет?

По поводу регистраторов. Я не говорю что они необходимы, нет. Но их существование возможно. Они могут принести дополнительную популярность и фиат в сеть. Если так, почему нет?

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 23, 2012, 11:15:28 AM
мои 5 копеек:
1. использовать короткий домен   .dna
2. ввести разделение на зоны и заранее зарезервировать соответствующие домены .ru.dna .com.dna .tv.dna   и другие.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 23, 2012, 12:52:01 PM
мои 5 копеек:
1. использовать короткий домен   .dna
2. ввести разделение на зоны и заранее зарезервировать соответствующие домены .ru.dna .com.dna .tv.dna   и другие.
Суть домена не в зонах, а в неймспейсах. Неймспейс - это число, предположительно unsigned int, 4 байта. 4+ миллиарда неймспейсов.
Хочешь, забивай себе неймспейс № 1234 и объявляй его зоной .panic. Хоть сейчас.


Свои адреса у нас остаются (те что начинаются на D), так ?
им соответствуют пары ключей DIANNA, так ?
привязан ли домен к конкретному ключу DIANNA ? или нет ?
Вообще адрес - это такое абстрактное понятие. Это хитрый хеш публичного ключа просто да и все. Понятие "адрес" справедливо в контексте "послать куда то деньги". Его ввели просто для более упрощенного восприятия действительности. А в действительности, деньги просто подписываются новым ключом другого владельца. Это воспринимается людьми как "послать деньги на адрес Васи". На самом деле никуда никто ничего не посылает.

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

По сути домены - это те же коины, только это строки. Их нельзя делить или умножать, это целостные сущности.

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

1) Как клиентская прога будет определять цену домена ?

Это будут определять регистраторы и майнеры. По какой цене им выгодно производить MM. Здесь они ограничены в жадности. Если заломят слишком много, не получат ничего. Т.к. есть поправка к сложности.

3) Я против передачи регистраторам КОНТРОЛЯ над доменом в любой

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

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

Я все еще думаю над формулой, которая бы позволила держать цену в каких то границах. Прежде всего, как ни странно, она должна задавать нижний предел - за верхий я не беспокоюсь. Однако есть у нее обратная сторона. Формула должна оперировать практическими данными сети для установки границ. Например "средняя цена домена в последние 5000 блоков +/- 500%". Однако это может спровоцировать атаку. Злонамеренные участники смогут двигать границы формулы, засыпая сеть доменами по минимальной цене. По моему эта формула - зло.

5) я против того чтобы регистраторы могли наложить лапу на
деньги клиента СВЕРХ СВОЕЙ ДОЛИ т.е > 10 %
 то есть посылать деньги майнерам и стореджам прога должна
 НАПРЯМУЮ

Не, ну есть же такое понятие как конкуренция. Это все решается вне системы.

На самом деле регистраторы-посредники, как ни странно, очень нужны.

Чуть ли не единственными полноценными клиентами DIANNA будут пуллы и посредники. Остальные - лайт версии.

DIANNA это ведь DHT сеть. В мейнтейне DHT сети финансово заинтересованы только пуллы и посредники - больше никто. А DHT сеть работает тем лучше, чем она больше.

Пуллов мало. А посредников может быть много.

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

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

Тогда появятся посредники, расширят сеть. Кроме того, принесут еще пиар и кучу фиата в оборот.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 23, 2012, 01:31:35 PM
Мысль относительно хранения цепочки блоков в которой будет храниться информация о доменах.
Если задаться что время существования домена (до его продления) равно 180 дням. И например пусть блоки в DIANNA выходят как и в bitcoin в среднем каждые 10 минут, то можно хранить не всю цепочку блоков а только блоки например за 181 день, то есть с (текущий-26064) до текущего.
Что думаете?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 23, 2012, 01:50:13 PM
Мысль относительно хранения цепочки блоков в которой будет храниться информация о доменах.
Если задаться что время существования домена (до его продления) равно 180 дням. И например пусть блоки в DIANNA выходят как и в bitcoin в среднем каждые 10 минут, то можно хранить не всю цепочку блоков а только блоки например за 181 день, то есть с (текущий-26064) до текущего.
Что думаете?

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

Время в такой сети измеряется в блоках. Измерить время в блоках сеть может весьма однозначно.

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

Значит привязываться надо к блокам биткоин.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 23, 2012, 02:00:45 PM
В днях нельзя задавать такой важный параметр как TTL. Время - это такое расплывчатое понятие в распределенной сети. Если привязываться к нему, то надо всех клиентов анально принуждать иметь строгий sync по NTP. Иначе куча непоняток будет.

Время в такой сети измеряется в блоках. Измерить время в блоках сеть может весьма однозначно.

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

Значит привязываться надо к блокам биткоин.

Согласен. Я в принципе и перевел в блоки: с (текущий-26064) до текущего. Интервал конечно надо обсуждать отдельно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 23, 2012, 02:09:12 PM
А после того как сеть забыла про не подписанный
вовремя домен он освобождается для регистрации кем угодно ?
В клиентах будут зашиты инструкции считать домен свободным спустя TTL блоков после последней операции.
Клиенты заинтересованы в этом, т.к. они могут чистить свои базы на этом основании.

Каким вы видите  количество возможных
одновременно обслуживаемых доменов
в системе :
 очень большим но конечным
 или все-таки бесконечным ?

Каковы тут ограничения по масштабированию ?

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

Я верю в свободный рынок и силу конкуренции
я за то чтобы в системе было как можно БОЛЬШЕ конкуренции
 как "внутривидовой" напр. между стореджами
так и всех со всеми напр.  майнеров со стореджами

Стореджи - это была неверная интерпретация выказывания Гевина. Стореджами будут все полноценные клиенты как минимум. Ну по крайней мере посредники и пуллы заинтересованы быть стореджами, т.е. DHT нодами.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 23, 2012, 02:58:00 PM
Quote
краткий пересказ этого обсуждения:
- шеф, все пропало, клиент уезжает, гипс снимают
- спокойно, гипс белый, клиент трезвый
- надо решить проблему зеленого гипса, без этого никуда
- да, конечно, пьяный клиент лучше
- ну что? всем понятно что гипс должен быть белым?
- да, само собой, ты прав, сделаем гипс твердым и сухим!
- а куда уезжает шеф?
- туда же куда и снимают гипс.
Я надеюсь все видят некоторую несвязность обсуждения?

Какой смысл обсуждать техническую незначительную составляющую, если не ясна концепция!
DHT это конечно важно, но прикрутить это хранилище можно уже потом, на работающую систему, хоть на bitcoin!
Так же просто замечательно, если удастся вытащить финансовую/монетную составляющую из проекта и поместить/оставить в bitcoin.. только боюсь реализовать это сразу не получится даже в тестовой сети, слишком оно консервативно.

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

Пока не будет решена проблема цены - об остальном говорить просто нет смысла!


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 23, 2012, 03:26:23 PM
https://bitcointalk.org/index.php?topic=65900.0 (https://bitcointalk.org/index.php?topic=65900.0)

Я предлагаю начать голосование с выбором приемлемого диапазона цен,
после этого попробуем определиться с выбором алгоритма расчета цены.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 23, 2012, 03:27:31 PM
При это все просто молча закрывают на первоочередную проблему - цена за домен!
Есть проблема нижней планки.

Есть мысли как пропорционально и обоснованно задавать нижнюю планку?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: promankirov on February 23, 2012, 04:23:33 PM
При это все просто молча закрывают на первоочередную проблему - цена за домен!
Есть проблема нижней планки.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 23, 2012, 04:27:29 PM
Я так понимаю что сейчас в bitcoin транзакции с нулевой комиссией не проходят, то есть есть какая-то заданная минимальная комиссия.
Так может приравнять эту нижнюю планку к этой минимальной комиссии за bitcoin перевод?
Дело в том что в биткоине счас ситуация другая. Там награда за блок идет почти полностью с coinbase, которой в диане нет. А мелкие транзы мешают майнерам.

Я могу исправить в сырцах биткоина минимальную комиссию в ноль, перекомпилить и запустить. Транзакция уйдет, но она попадет в low priority. Ее судьбу решают майнеры.

Но майнеры в диане - заинтересованные лица, которые заинтересованы такие транзы обрабатывать в первую очередь вообще то =)

По этому тут такое не пройдет.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 12:39:28 AM
В английском треде враги атакуют =) Этот филин меня уже достал, ходит за мной по пятам и твердит "namecoin is fine".

Впрочем это признак того, что идем верной дорогой.

В честь дня защитника отечества выпивши побузил немного =) Пьяный русский хакер непобедим.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 24, 2012, 02:17:26 AM
Если оно fine, то почему про него даже не всякий биткоинер в курсе, и почему на гуаномамонтовой версии апстрима базируется. Так и спроси. ;D

А по сабжу, все же без собственной денежной системы система слишком зависима от парент-цепочки. Имхо, не нужно никаких обязательных парентов, это слабость. Они должны быть опцией (как merged mining - он не является обязательным, он опция), и не более.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 02:27:31 AM
Пьяный русский хакер непобедим.
Главное не перестарайся, у нас уже был неприятный инцидент: ссылка (https://bitcointalk.org/index.php?topic=6950.0).
И не забывай, что о продукте могут судить и по его производителю. ;)

может, у тебя слишком "русский" характер и манера общения. Далеко не все такое поймут. Я сам не раз сталкивался с непониманием и обидами со стороны представителей других культур.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 03:03:18 AM
Народ, напрягите мозги че я там в топе по цене отписал. По мне - так гениально :)

Быть зависимым от биткоин несет в себе массу плюсов, см. выше. И ИМХО, это не зависимость а симбиоз.

А форк со своей цепочкой это такой гемор, шо ппц. А еще я не умею на с++ писать. Еще пол литра и я выскажу все, что я думаю о коде сатоши =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 03:11:18 AM
По мне - так гениально :)
Ну, тут два варианта. Оба описаны тут: ссылка (http://zl-day.promodj.ru/blog/411891.html). ;D

Еще пол литра и я выскажу все, что я думаю о коде сатоши =)
Не надо, все кто его изучал, и так уже получили свой когнитивный диссонанс. :)
Но ведь это работает, значит - Сатоши гениален, тут нельзя получить иной вывод.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 06:44:55 AM
Быть зависимым от биткоин несет в себе массу плюсов, см. выше. И ИМХО, это не зависимость а симбиоз.
Быть зависимым уже плохо. Если биткойн рухнет, рухнете вслед за ним.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 07:47:17 AM
При это все просто молча закрывают на первоочередную проблему - цена за домен!
Есть проблема нижней планки.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 08:22:40 AM
Если оно fine, то почему про него даже не всякий биткоинер в курсе, и почему на гуаномамонтовой версии апстрима базируется. Так и спроси. ;D

А по сабжу, все же без собственной денежной системы система слишком зависима от парент-цепочки. Имхо, не нужно никаких обязательных парентов, это слабость. Они должны быть опцией (как merged mining - он не является обязательным, он опция), и не более.

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

В этом разрезе мне нравится моя идея иметь много парентов :
 то есть чтобы можно было заверять блоки DIANNA в нескольких цепочках
 но не одновременно в 2-3 а переключаясь с одной на другую
 при необходимости
 скажем начинаем работать с Bitcoin -- все гладко идет
 потом у Bitcoin возниают эпические проблемы
 а у нас заранее сделан механизм переключения на другой парент
 На блоке DIANNA 20666 мы переключаемся на Litecoin
 и дальше едим на нем -- до той поры пока будет хоть один блокчейн
 на Земле -- мы непобедимы
-------------------------------------------------------
Геморой конешно лишний
Какие  тут есть недостатки -- кто что видит ?
А механизм парента какой?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 08:47:22 AM
Нужно придумать четкий и однозначный алгоритм прыжков с одного пэрента на другой.
Необходимо, чтобы все узлы DIANNA однозначно знали, где нужно брать штамп времени.
Прыжки по номеру блока не подходят, пэрент может обвалиться в неподходящее время.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 08:56:11 AM
Quote
А в чём проблема, если кто-то по своей воле пропустит доменную транзакцию (ещё и увеличивающую сложность) без коммисии?
1)  мы не хотим бесплатных доменных операций
 чтобы не набежали секулянты и не зарегали 100500 мильенов доменов
 на халяву перегрузив нашу сеть до ее обвала.
Есть идея, что каждая(!) доменная транзакция в блоке должна увеличивать сложность вычисления блока (а может общую сложность, а может и изменений сложности должно вычисляться по закону, аналогичному закону вычисления сложности или как-то ещё). Т.е. регулирование сложности регистрации должно приводить к тому, что проводить бесплатные транзакции было невыгодно.
2) Каждый труд должен быть оплачен
    хочешь безотзывной домен -- заплати по разумной цене
   за его обработку и обслуживание  в нашей сети
  но никакой халявы -- "иначе мучительная смерть" (С) ( Postal (film) )
Производство пирожков с начинкой из говна тоже? Трудовая теория стоимости неверна же.
-----------------------------------------------------------------------

 Парент -- здесь цепочка внешней сети где заверяются
 блоки DIANNA <-- которые содержат толко домены
 текущий драфт-концепт предполагает что, у нас нет своих койнов
 и значит нам нужна внешняя цепь
 для "merged timestamping" <-- заверения наших блоков по времени (типа как печать на
 документах)
 и для проведения денежных потоков за доменные операции

 Пока наш воображаемый парент -- > сеть Bitcoin
-------------------------------------------------------------------------

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 09:10:23 AM
Ну я себе это представляю как переход на другой парент

1) с предв. аннонсом ВСЕМ-ВСЕМ-ВСЕМ за N блоков ДО перехода

2) и через обязательный апдейт клиентов-программ и наверное нод хранения по всей сети
Централизованная система? Не, спасибо.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 09:22:17 AM
Это легко реализуется через алерты. Посылаем алерт, что нужно
прыгнуть на другой пэрент через столько-то блоков, майнеры же
поместят алерт в блок, все точно будут знать, что нужно делать.
Минус: прыжками руководит pent, алерты подразумевают центр.

Вообще, возможно ли децентрализовать прыжки? Какое условие?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 09:31:10 AM
Это кому адресовалось? Я пока что единственный коммитер помимо pent.
Если к O01eg, то я считаю, что он прав, обновление клиента недопустимо
в принудительном порядке для таких целей как смена пэрента. Иначе же
это будет опять-таки Namecoin, где правила меняются от сборки к сборке.

это исключительная ситуевина -- редкое событие -- и дай бог чтобы его ваще не было
Вероятность этого стремится к 100% во времени, как бы мы не хотели. :(


UPD. Все, понял, о чем речь. Не о теориях нужно спорить, а об алгоритмах.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 11:01:19 AM
Если у Вас есть ссылка на математически верное доказательство
того что трудовая теория НЕ ВЕРНА -- ссылку дайте мне !
Доказательства верности трудовой теории стоимости нет, тем более математических. Это не более чем измышления Адама Смита с Марксом, которые выводят цены через другие цены через другие цены, которые в трудовой стоимости ниоткуда не берутся. Собственно, эта бесконечная рекурсия (точнее, безначальная) сама по себе и есть опровержение.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 11:39:31 AM
Теорию пусть обсуждают другие -- меня интересует практика

Мои голодные майнеры и операторы нод хранения -- хотят есть
Если вы станете им доказывать -- что они должны за свой счет
обслуживать сеть DIANNA и влететь в убыток -- они съедят Вас
Они народ горячий и тоже не любят сомнительных теорий
Вот, поэтому дианна должна в себе содержать и валютную часть, которой расплачиваться с майнерами. А обмениваться на более ликвидные деньги можно и на биржах.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 12:09:10 PM
А мне вот понравилась идея DIANNA без внутренней валюты. Это что-то новенькое.
Но если не сможем такое сделать, придется все-таки вводить yet another currency.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 12:10:50 PM
То O01eg :

Текущий драфт родился не на пустом месте
 и не от нашего закоснелого невежества
 он как раз пытается решить известные проблемы блокчейнов -- любых
 НЕ стандартными методами
Кстати, а где можно почитать именно текущий(!) драфт?
наша цель  алмазной твердости DNS сеть
http://ru.wikipedia.org/wiki/Теорема_CAP
а не новое средство для спекулянтов койнами
 или доменами -- все равно

 Я не имею ничего против спекулянтов
 они полезны -- берут на себя риск
Если бы они были бесполезны, тогда бы к ним никто не обращался. А если бы к ним никто не обращался, тогда бы их риск не вознаграждался.
но и создавать им тепличные условия
 мы не будем -- пусть приспосабливаются
 к тому что есть
Если делать парент, вы становитесь зависимыми от спекуляций в паренте. Вы добавляете дополнительные уязвимые в том числе и для спекуляций звенья.
у нас будут свои правила -- кто сможет по ним жить
 и заработать на этом -- молодец
 кто облажается -- вечная память
Спекуляции так и работают, они уже несут на себе бремя риска.
Естественный отбор в чистом виде
-------------------------------------------------------------
И вы хотите его нарушить.
Как спекулянт спекулянту -- скажите как
 на духу -- вы хотите прикупить
 доменов или внутренних койнов ??  :)
Мне внутренние койны намного интереснее сейчас.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 24, 2012, 12:14:33 PM
внутренней валютой могут быть сами домены. В контексте моей идеи  идеально было бы создание доменной биржи, (децентрализованной?) где продавцы продавали бы готовые домены, а покупатели могли бы выставить заявку на включение в блок своей доменной транзы.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 12:25:27 PM
внутренней валютой могут быть сами домены. В контексте моей идеи  идеально было бы создание доменной биржи, (децентрализованной?) где продавцы продавали бы готовые домены, а покупатели могли бы выставить заявку на включение в блок своей доменной транзы.
А как будет проходить проверка цепочки? Как мы будем определять, откуда взялся тот или иной домен?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 12:40:35 PM
ЭЭ текущий драфт это все что раскидано
на этих двух ветках ближе к их концам

То есть высказанное Дао драфта
--------------------------------------------------

Истинное Дао драфта храниться в голове у pent
И я о нем ничего не знаю

Когда pent выйдет из Нирваны
он поделиться с нами
своими новыми откровениями

Это будет новое не истинное Дао

Истинное Дао нельзя прочитать
но его можно почувствовать

но это дано не каждому
-----------------------------------------------
Внутренних койнов в текущем
драфте нет -- 99 %

Спекуляции в обоих сетях
любого рода
пока они не мешают
работе нашей сети
Мне безразличны
ЕСЛИ
и это важно
они не создают нам
слишком плохой славы

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

------------------------------------
-------------------------------------
то panic :
насчет встроенной
 биржи доменов
это к pent
когда он появится

пока нам нужен
оформленный драфт

в отдельном посте
или нескольких
и новое обсуждение
Такое ощущение, что я единственный, кто к этому серьёзно относится. Может, в этом моя проблема?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 24, 2012, 12:44:08 PM
внутренней валютой могут быть сами домены. В контексте моей идеи  идеально было бы создание доменной биржи, (децентрализованной?) где продавцы продавали бы готовые домены, а покупатели могли бы выставить заявку на включение в блок своей доменной транзы.
А как будет проходить проверка цепочки? Как мы будем определять, откуда взялся тот или иной домен?
ну пусть будет эмиссия коинов через coinbase. Т.е. каждый сгенерированный блок даёт N новых доменов.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 12:54:08 PM
внутренней валютой могут быть сами домены. В контексте моей идеи  идеально было бы создание доменной биржи, (децентрализованной?) где продавцы продавали бы готовые домены, а покупатели могли бы выставить заявку на включение в блок своей доменной транзы.
А как будет проходить проверка цепочки? Как мы будем определять, откуда взялся тот или иной домен?
ну пусть будет эмиссия коинов через coinbase. Т.е. каждый сгенерированный блок даёт N новых доменов.
Предположим, тогда как им будут присваиваться имена? А если запрошено имён меньше, чем N?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 24, 2012, 01:48:33 PM
Кроме транзакций по смене владельца домена, продлении жизни домена и изменения других параметров, нужно ввести транзакцию смены имени домена. Тогда можно будет генерировать вообще рандомные домены.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: Balthazar on February 24, 2012, 01:52:52 PM
Мне одному непонятно, зачем вставлять в пост столько энтеров? Реально бесит, как будто не с FullHD, а с мобилы тред читаю... Зачем? о_О


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 01:55:19 PM
Такое ощущение, что я единственный, кто к этому серьёзно относится. Может, в этом моя проблема?
Тут нужно попроще, иначе можно сойти с ума. ;)

Лично я за исправление Namecoin, но раз уж тут...
Я пока что единственный коммитер помимо pent.
Чувствуете? Я вот чувствую, что тут еще очень сыро. :)

Мне одному непонятно, зачем вставлять в пост столько энтеров?
Могу предположить, что Вы пока что еще не познали Дао Драфта. ;)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 02:50:45 PM
It seems that it was a bad idea to read about LSD. ;D
I'm so ashamed that I gave a link. It was a joke. :-[


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 03:07:36 PM
I see that you are okaaaay already. I'm thinking about Pent.
I don't follow what is going on with him. He'll celebrate his
birth tomorrow. So why is he drunk? I can't understand this.

UPD. Oh, I think that he's just sleeping now. So don't panic.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 03:16:37 PM
Блин, ну че мне уже расслабиться нельзя?  ;D Я пока две недели эти схемы в башке крутил, у меня весь серотонин закончился.

Даю новое Дао.

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

Где взять ту мерку, что такие то деньги должны быть обеспечены такой то работой?

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

Следовательно, майнеров нужно нагрузить работой настолько, насколько награда за доменные транзакции относится к награде за блок. Это мой знаменитый PDiff.

Это основа, три слона системы. Деньги должны быть обеспечены пропорциональным трудом.

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

to be continued.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 03:27:03 PM
Возникает вопрос. Как определять цену?

Я отвечу. Давайте отдадим этот выбор майнерам и посредникам. Но хитро.

Диана пристыкована к биткоину. Секьюрный таймштампинг берется оттуда.

В максимуме, блоки дианы будут выходить с частотой блоков биткоин и это будет наивысшая активность сети.

В минимуме, блоки дианы не будут выходить вообще. Это будет минимальная активность сети.

Следовательно, диана может оценить активность своей сети. Чем ближе частота блоков к частоте биткоин, тем выше активность дианы. Чем реже, тем ниже.

Далее.

Мы не можем нагрузить майнеров работой слишком сильно.

Давайте нагружать их работой пропорционально активности сети диана.

Диана, наподобии биткоин будет сама задавать поправку сложности PDiff пропорционально частоте выхода своих блоков.

Но PDiff это не только ценный мех поправка к сложности, но и максимальная сумма доменных комиссий на блок. Отсюда будет вытекать цена, устанавливаемая майнерам.

Следовательно, диана сможет приспосабливаться к активности по доменным операциям. Частота блоков приближается к биткоин - PDiff выше. Понижается - PDiff ниже. Это так же будет косвенно влиять на цену домена.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 03:35:49 PM
Пусть вас не смущает то, что PDiff может находиться в промежутке от 0 до десятка процентов от награды блока.

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

На самом деле я просто беру мерку работы, выраженную в деньгах из биткоина (Bounty/Difficulty) и применяю ее к диане.

Дианна объявляет заказ на этой неделе за каждый блок, ("план" на пятилетку :) ), выраженный, в проценте от награды биткоиновского блока. И каждую неделю корректирует обхем заказа согласно активности сети.

Отсюда и вытекает рыночная цена домена.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 04:19:32 PM
Ukigo: прошу впредь не отписываться, не извиняться и вообще ничего не делать за меня, я большой мальчик, сам разберусь.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 04:35:59 PM
Quote
1) Предлагаю пока ограничиться обеспечением доменами только анонимных
   сетей   и построить и обкатать систему не больше чем на 300 - 500 тысяч доменов
 всего . Она должна обеспечить мин. 50000 новых регистраций в год при любых
  раскладах снаружи и внутри системы.
  Это позволит:
Я ничего ограничивать не собираюсь. Любые ограничения - это централизация. Система живет своей жизнью и никому не отдает предпочтения или дискриминации. В этом ее прелесть.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: O01eg on February 24, 2012, 04:44:57 PM
OKay, раз вы, оказывается, занимаетесь мозговым штурмом, присоединюсь:

Давайте уйдём в i2p целиком! Кого-то волнуют юридические вопросы? Мы шифруемся. Гевин насылает на нас орды терахэшей? Они увязнут в тормозах i2p. ICANN? Ко-ко-ко.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 05:36:32 PM
Ты не прав -- я только  хотел спасти твою репутацию перед ними
Но ты сам спалился в русской ветке  ;)
 
Если ты хочешь хороших отношений с ними тебе следует зайти туда и извиниться самому
мое извинение для них ничего не значит -- а так как ты возобновил контакты -- это не то

вот именно -- мальчик  :)
тебе надо расти
Не переживай за мою репутацию, она всегда была хреновая. Я за тобой по пятам не бегаю и не разъясняю народу что ты имел в виду. Это неприятно.

Надеюсь, на этом оффтоп закончен.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 24, 2012, 05:46:30 PM
Уже напоминали. Ты теперь не сам по себе, ты уже:
1) лидер проекта DIANNA (а ведь могут надеяться);
2) представитель русскоязычной части сообщества.

Если что-то делаешь не так, то:
1) от этого теряет DIANNA (это меня не очень беспокоит);
2) и портится мнение о русскоязычной части сообщества.

Теперь оффтоп закончен. :)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 05:56:06 PM
Короче :)

Будет такая формула

Sum(domain fees) = PDIff * (BitcoinBlockReward + Sum(Bitcoin TR fees))

Чтобы разрешить блок, майнер должен соблюсти Sum(domain fees). PDiff устанавливается Дианой в зависимости от активности сети.

Если у майнера получилось Sum(domain fees) больше или меньше нужного значения, будет дополнительный пеналь на сложность.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 06:10:49 PM
Да хорошо, буду архангелом Михаилом. Давайте только вернемся к дискуссии.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 06:39:55 PM
В общем, майнер должен соблюсти

Sum(domain fees) = PDIff * (BitcoinBlockReward + Sum(Bitcoin TR fees))

Допустим, он отклонился от этого плана блока и набрал транз на Sum1(domain fees).

Тогда разность с намеченным планом будет

SDiff=|Sum(domain fees) - Sum1(domain fees)| (по модулю, шоб в обе стороны было)

Тогда вводится дополнительный коэффициент к сложности PDiff, зависящий насколько сильно он отклонился от плана.

PPDiff=(1 + SDiff/Sum(domain fees)) - лояльный, линейный вариант:
Отклонение Пеналь
100%           100%
200%           200%
300%           300%

PPDiff= 2 ** (SDiff/Sum(domain fees)) - жеский, экспоненциальный вариант:
Отклонение Пеналь
100%           200%
200%           400%
300%           800%

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

BlockDiff=PDiff*PPDiff*BitcoinDiff + BitcoinDiff

Здесь PDiff задается DIANNA сетью, PPDiff - пеналь за несоблюдение плана (1, если план соблюден), BitcoinDiff - сложность PARENT блока bitcoin


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 07:00:39 PM
Это целиком и полностью решает проблему спекуляций и злоупотреблений. Цена домена жестоко завязана на объем затрачиваемой работы.

Но мне здесь не нравится сегментация.

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

Но мне кажется это решается динамическим PDIff, который устанавливает сеть.

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

То есть это все таки не приведет к архи-форсированию конкуренции пуллов.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 24, 2012, 07:14:08 PM
Хорошо. Тогда давайте десегментируем. Нефиг им объединяться.

Пусть платеж за домен будет не на личный счет майнера, а просто как комиссия за блок биткоин. Специально скрафченная комиссия, помеченная подписью домена и со ссылкой на доменную транзу.

Тогда будет пофигу какой майнер ее обработал и включил в блок. Пусть плодятся и размножаются :) Однако что делать с синхронизацией? Любой майнер может захапать эту транзу себе без работы по DIANNA.

Короче без вмешательства в bitcoin это невозможно.

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

ДХТ тогда вешаем и на лайт клиентов. Пусть тоже трудятся )


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 25, 2012, 09:31:47 AM
Ну так а чего он предложил? Вопрос цены он не решил. Носителями домена сделал биткоины. Опять какие то централизованные NSы в децентрализованной сети. Засирать цепь биткоин левой инфой предложил. Непонятно кому идет комиссия.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 25, 2012, 09:51:04 AM
Я после выходных пойду весь этот винегрет писать в вики.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 25, 2012, 10:56:54 AM
Сори, я пошел праздновать ) До пнд не ищите.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 25, 2012, 12:38:06 PM
Оплата транзакции в DIANNA.
а. Клиент создаёт доменную транзакцию + указывает сумму которую готов за неё заплатить.
а.1. Клиент оплачивает заявку на включение доменной транзакции в блок DIANNA с указанием её идентификатора. (оплата в размере минимальной комиссии биткоина с целью избежать флуда заявками)
б. Майнер проверяет оплату заявки, после чего, если его устроит цена, включает доменную транзакцию клиента + биткоин адрес майнера + цену транзакции + хеш блока с заявкой в блок DIANNA.
в. Клиент получает сообщение о том, что его транзакция была помещена в блок, но ещё не оплачена.
в.1. Клиент переводит необходимые средства на указанный майнером адрес, добавив в комментарии идентификатор доменной транзакции.
г. Сеть проверяет и берёт на хранение оплаченные транзакции.

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

По поводу сложности.
Используйте проверенный алгоритм. Цель: 1 блок DIANNA в течение 10 минут после генерации блока биткоина с заявкой.

По поводу внутренней валюты и про регистраторов.
В клиентском приложении можно реализовать механизм работы с регистраторами.
1. клиент платит регистратору $ ฿ или ещё какие-нибудь тугрики, взамен получает токен в котором указан адрес регистратора + уникальный код токена. После чего в клиентском приложении токен используется для отправки транзакции регистратору на подпись и для оплаты транзакции.
2. в принципе то же самое, но попроще: опция в клиенте - использовать сайт регистратора + логин:пароль для отправки и оплаты транзакции.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 04:26:06 PM
Оплата транзакции в DIANNA.
а. Клиент создаёт доменную транзакцию + указывает сумму которую готов за неё заплатить.
а.1. Клиент оплачивает заявку на включение доменной транзакции в блок DIANNA с указанием её идентификатора. (оплата в размере минимальной комиссии биткоина с целью избежать флуда заявками)
б. Майнер проверяет оплату заявки, после чего, если его устроит цена, включает доменную транзакцию клиента + биткоин адрес майнера + цену транзакции + хеш блока с заявкой в блок DIANNA.
в. Клиент получает сообщение о том, что его транзакция была помещена в блок, но ещё не оплачена.
в.1. Клиент переводит необходимые средства на указанный майнером адрес, добавив в комментарии идентификатор доменной транзакции.
г. Сеть проверяет и берёт на хранение оплаченные транзакции.

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

По поводу сложности.
Используйте проверенный алгоритм. Цель: 1 блок DIANNA в течение 10 минут после генерации блока биткоина с заявкой.

По поводу внутренней валюты и про регистраторов.
В клиентском приложении можно реализовать механизм работы с регистраторами.
1. клиент платит регистратору $ ฿ или ещё какие-нибудь тугрики, взамен получает токен в котором указан адрес регистратора + уникальный код токена. После чего в клиентском приложении токен используется для отправки транзакции регистратору на подпись и для оплаты транзакции.
2. в принципе то же самое, но попроще: опция в клиенте - использовать сайт регистратора + логин:пароль для отправки и оплаты транзакции.

Не совсем так. Опять же, пусть регистратор = пулл для простоты понимания.

1. Пулл смотрит текущий PDiff системы, смотрит на средний объем своих заявок и определяет оптимальную цену, которая бы позволила все эти транзакции всунуть в блок без пеналей. Вывешивает эту цену на сайте. Пусть будет 0.01 BTC
2. Клиент приходит на сайт, видит цену. Так же как и у обычных регистраторов, проверяет доступность домена.
3. Создает пару ключей, подписывает приватным имя домена
4. Создает транзакцию 0.01 BTC на адрес пулла, включающую подписанную строку
5. Говорит пуллу: Я заплатил 0.01 BTC, вот transaction_id, вот pubkey, вот имя домена - регайте
6. Пулл все проверяет, говорит "Окей", ждет пока таких транзакций накопится на текущий PDiff DIANNA
7. Когда накопилось, мерж-майнит блок DIANNA

Если чето кому то не понравилось - разборки на форумах, кал в репутацию.

Для упрощения пунктов 3,4,5 для клиента, могут появиться посредники.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 26, 2012, 05:28:59 PM
плохо, но это нормально))

Что будет, если большая часть майнеров перейдёт на p2pool?

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

Почему вообще майнер назначает цену за домен, а не свободный рынок?


.......
Майнер добывает биткоины (редкие коллекционные фантики), но цену на них появляется на бирже, никто заранее не станет оплачивать добычу фантиков, майнеры работают на свой страх и риск.
///
из вашей вики:
Quote
Actual DIANNA design was created after inspecting NameCoin design. While NameCoin is designed to provide almost free names at the end, DIANNA is designed to provide authoritative database of names and numbers and pay reward to people (miners) who help to secure DIANNA domain records.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 05:35:50 PM
Так, ну прежде всего, вики устарела, как и пдфки. Я сейчас занят обобщением всего этого винегрета и разложением по вики статьям.

Quote
Что будет, если большая часть майнеров перейдёт на p2pool?

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

Quote
Почему клиент должен платить за ещё не выполненную работу, а если пул упадёт, прилетят марсиане и зохавают одмина? (Проявляются недостатки централизованных систем)

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

И это уже становится вопрос ценности своего авторитета - кидать клиентов или делать все как надо. Мы не можем это проверить.

Quote
Почему вообще майнер назначает цену за домен, а не свободный рынок?

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 05:44:44 PM
Я говорил про
http://foswiki.org
вики на перл такая продвинутая -- как раз -- хочу на ней писать документы
если она выдержит

Это почти псевдокод -- прорвемся   :)

http://rosettacode.org/wiki/Averages/Arithmetic_mean#Octave
Ну давай уж на медиавики писать. Чем не нравится?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on February 26, 2012, 06:56:18 PM
Quote
Понимаете ли, мы вынесли финансовую цепочку вовне, решив этим кучу проблем. Это "вовне" мы не можем контролировать полностью, по этому появляются локальные централизованные авторитеты - майнеры, которым платят деньги.
Я предложил вариант с заявками, в котором финансовая составляющая контролируется полностью.
Возможно есть вариант с использованием криптографии, но пока готового решения у меня нет.
Есть ещё один недоработанный вариант: награждать майнеров доменами (в bitDNS проскакивала такая идея), полученные домены майнеры потом выменивают на деньги (также как сейчас продают нэймкоины).

.....
У мелких пулов ведь вообще не остаётся никаких шансов заработать. В итоге крупные пулы будут за проценты давать работу мелким, становясь ещё жирнее и недоступнее.
+ в последствии возможно давление на пулы со стороны заинтересованных лиц, может появиться TOS, PP, сбор информации о клиенте, необходимость предоставления документов и прочие прелести централизованных систем.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 07:01:36 PM
Нет, как раз мой анализ говорит о том, что появление DIANNA будет способствовать к равномерному размазыванию мощностей по пуллам.

Дело в том что мощные пуллы будут иметь мощность, позволяющую им взвинтить PDiff до больших высот, недоступных мелким пуллам.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 07:14:06 PM
Кхе кхе


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 26, 2012, 07:20:44 PM
Нет, как раз мой анализ говорит о том, что появление DIANNA будет способствовать к равномерному размазыванию мощностей по пуллам.

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

p.s. p2pool уже сейчас предоставляет работающие возможности к merged mining (проверял только namecoin, но я так понимаю, установив прокси можно майнить сразу кучу валют)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 07:32:44 PM
Скажем так, будет размазываться по скучившимся майнерам до установления какой то устойчивой структуры.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 09:26:01 PM
Ну вроде все накатал в вики. Правда по английски.

http://dianna-project.org/wiki/Design_Overview


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 26, 2012, 10:25:53 PM
Конкуренты подняли свой топ, пошло оживление: https://bitcointalk.org/index.php?topic=6017.msg756060#msg756060 "Ох, да, какой зачетный патч!"

Народ зашевелил задницей.

Им есть из-за чего переживать. Валюта все таки. А нам нет. Нет валюты - мы за правду-матку стоим :)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 27, 2012, 01:40:43 AM
Берегите мозг, счас сломаю шаблон.

Я вот подумал. Сеть будет обслуживать разные неймспейсы, разные анонимные сети. Вот и2п, например, большая по сравнению с cjd. Но и2п это капля в море по сравнению с ICANN .com зоной.

То есть, в неймспейсах цена домена должна коррелироваться с популярностью неймспейса.

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

Каждая ветвь имеет свой pdiff, базирующийся на активности ветви.

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

Киллер-фича! Цепь блоков в 3D! Смотрите в ближайших кинотеатрах...


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 27, 2012, 08:35:14 AM
Будьте готовы, что конкуренты как минимум будут 'сражаться'... денег в namecoin вбухано немало (я имею в виду не разработчикам а спекулянтами и будущими киберсквотерами, хотя кто знает, не те же ли все лица).

К тому же ваши наработки вполне успешно перенести и в другие проекты... например разделение финансовой части (завязать ее на bitcoin тем же способом что и merged mining - очень полезно для будущих проектов, я уже вижу децентрализованный торрент/форум с рейтингом на bitcoin и без лишнего мусора в нем).

Идея нелинейного blockchain, например древовидного - очень интересна для того же bitcoin, хотя бы потому что при большом объеме транзакций узлы тупо не будут успевать все обрабатывать (а если по аналогии с DHT каждый узел будет обрабатывать log(n) транзакций...)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 27, 2012, 03:48:57 PM
Ukigo, чего ты куканишь?

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

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

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

Далее смотрим на дырки. Если есть - брейншторм, новый дизайн.

Итак пока все от зубов не будет отскакивать. Брейншторм - новый дизайн - критика.

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

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

Я не буду это стартовать пока все не станет ясно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 27, 2012, 04:00:42 PM
может прийти какой то сатоши и порвать шаблон опять как Гевин
Ого, слово "сатоши" теперь стало нарицательным. ;D


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 27, 2012, 04:14:10 PM
Не, ну а че это за бардак? Я не прав что ли? Укиго, чем я тебя обидел?

Мы обсуждаем идею, вносим модификации.

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

Идея еще не готова.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: LZ on February 27, 2012, 04:19:32 PM
pent, я думаю, что тебе следует поучиться уважать чувства единомышленников.

Ukigo, форум не лучше место для этого, есть блоги на любой вкус: готика, эмо...


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 27, 2012, 04:25:58 PM
Я уважаю чувства единомышленников, но я не люблю бесполезную суету, хаос и информационный мусор (это не относится к брейн-шторм идеям).

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

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

В такой сложной системе хаос недопустим.

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

Надеюсь я был политкорректен. Я стараюсь по крайней мере.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 27, 2012, 09:16:55 PM
Добавил список общих изменений в версиях дизайна дабы можно было легко ориентироваться что изменилось
http://dianna-project.org/wiki/Design_Changelog

Добавил список известных проблем
http://dianna-project.org/wiki/Known_Design_Issues

Регистрируйтесь, обсуждайте, вносите вклад. Регистрация открыта.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 29, 2012, 06:40:01 PM
В общем так. Последние штрихи.

1) Вводится нелинейный блок-чейн (http://dianna-project.org/wiki/DIANNA_Block_Chain) - Block Tree.

Каждый неймспейс (http://dianna-project.org/wiki/Namespace) имеет свою цепочку, все цепочки произрастают из дженезис-блока.
Соответственно, идет борьба за неймспейсы.
4 млрд неймспейсов уже не нужно, думаю хватит и DWORD=65536.
Каждый блок несет в себе номер неймспейса.
Каждый неймспейс представляет собой свою цепь блоков, со своим PDiff. А значит, имеет свой собственный оптимальный transaction fee.

Соответсвенно, клиент может выбирать в каком неймспейсе он будет оперировать, слушать изменения, загружать блоки. Например, неймспейс для i2p под номером 1 - здесь будут блоки только для i2p доменов. Клиенты i2p вообще не будут вкурсе что там творится в других неймспейсах (в Tor например).

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

2) Доменная транзакция (http://dianna-project.org/wiki/Domain_Transaction) имеет только 1 input и только 1 output. И оба касаются только 1 домена.
Это позволит избавиться от многих неопределенностей с ценой за килобайт и т.д. и упростит дизайн в целом.
И вообще, в системе с псевдо-централизованным приемом платежей множественные inputs/outputs ни к чему.

v1.4: http://dianna-project.org/wiki/Design_Changelog

Какие еще есть проблемы?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on February 29, 2012, 08:25:40 PM
* кто/как определяется связь между кодом неймспейса и его именем (1 => i2p)?
* 1 output? то есть два владельца домена быть не могут? ой, не так.. внутренний язык  в транзакции как в bitcoin ожидается или транзакции будут фиксированного типа?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 29, 2012, 08:46:04 PM
* кто/как определяется связь между кодом неймспейса и его именем (1 => i2p)?

Ну в "обычном" интернете этим занимается IANA. Ну, например, вводит список стандартизированных TCP/UDP портов (http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers). Это носит характер рекомендации, чтобы девелоперам было от чего плясать, но соблюдать его - дело девелоперов. Например, я могу повесить апач на порт 675, однако такое действие отпугнет общественность.

Так же и тут. Создадим страницу в WIKI, где будет рекомендовано, кто какой неймспейс юзает.

Поскольку это все замутилось из-за i2p, пусть i2p будет №1, к нему я собираюсь написать первую имплементацию.

* 1 output? то есть два владельца домена быть не могут? ой, не так.. внутренний язык  в транзакции как в bitcoin ожидается или транзакции будут фиксированного типа?
Конечно не могут. 1 домен принадлежит только 1 владельцу в фиксированный момент времени. Если владелец хочет передать домен другому, он в output его просто подписывает ключом другого владельца. Соответственно, владеть доменом он с этой минуты перестает. Точнее с минуты, когда транзакция будет включена в блок.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on February 29, 2012, 09:37:22 PM
В общем, если ни у кого нет возражений, то теперь мне нужны добровольцы.

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

Проект предположительно на Java. По скольку я знаю Java :) Это касается толстого клиента, тонкие там уже разберутся на чем писать.

Обсуждение, разумеется, продолжается. Просто я вижу что вызрело нечто, к чему можно примерить свой NetBeans  ::)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 01, 2012, 09:38:02 AM
1. Будет ли складываться PDiff и дополнительная сложность за превышение цены на домен? Не появится ли возможность у крупных пулов за счёт небольшого увеличения сложности получить больший приоритет своих блоков, тем самым отменяя блоки конкурентов?
2. Возможно ли существенное влияние на сеть дианы изменение сложности или цены биткоина?
3. Сколько получит майнер за свой труд? Хотелось бы увидеть формулу.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 12:12:07 PM
1. Будет ли складываться PDiff и дополнительная сложность за превышение цены на домен? Не появится ли возможность у крупных пулов за счёт небольшого увеличения сложности получить больший приоритет своих блоков, тем самым отменяя блоки конкурентов?
2. Возможно ли существенное влияние на сеть дианы изменение сложности или цены биткоина?
3. Сколько получит майнер за свой труд? Хотелось бы увидеть формулу.
Тут все немного не так как в обычной жизни :) Диана устанавливает не цену, а "заказ" сети. Диана устанавливает, сколько денег по доменам следует процессить за 1 блок. В процентах от награды блока биткоин. И это есть PDiff (http://dianna-project.org/wiki/Difficulty_addition_percent). За этот процент - хочешь или не хочешь, диана сдерет с тебя работу.

То есть вот установила диана в неймспейсе 1 PDiff=1%.
Это значит в 1 блок дианы в этом неймспейсе должно влезть транзакций с суммой комиссий ~ 0.5 BTC (считаем что доход блока биткоин по обычным комиссиям ничтожно мал).
Это так же значит, что в любом случае, минимальная сложность будет "BitcoinDiff + 1%" при расчете блока.

Если майнер набрал в блок транзакций на 0.5 BTC, его доход будет 0.5 BTC (1% от дохода блока биткоин), отработанный за 1% оверхед по сложности. Справедливо.

Если майнер набрал 1 BTC транзакций, его доход будет 1 BTC, но сложность будет, учитывая пенальти:
BitcoinDiff + 1%*2=BitcoinDiff + 2%

На 2 BTC:
BitcoinDiff + 1%*(2^3) = BitcoinDiff + 8%

То есть, рост работы здесь превышает рост дохода из-за пенальти.

Формула одна и майнеры должны выполнять этот заказ:
http://dianna-project.org/wiki/images/d/d4/Summ_fee_formula.gif

Отступление от нее в большую-меньшую сторону вызывает экспоненциальный пеналь по сложности PPDiff (http://dianna-project.org/wiki/Difficulty_penalty):
http://dianna-project.org/wiki/images/2/2b/Sdiff.gif
http://dianna-project.org/wiki/images/4/4a/Ppdiff2.gif

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

Нужно так же помнить, что в интересах майнеров держать PDiff на вразумительном уровне. С этой величиной, сложность дианы всегда будет чуть больше сложности биткоина. А значит, чем больше PDiff, тем выше вероятность найти решение Bitcoin, но не найти решение DIANNA. И что в таком случае делать? Отказываться от решения Bitcoin? Нет, отказываться от блока DIANNA и ждать следующего блока Bitcoin.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 01, 2012, 12:31:49 PM
непонятно, зачем майнерам нужен будет весь этот геморрой, если в итоге они будут получать столько же сколько и за обычный майнинг...


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 12:37:44 PM
Здесь вопрос во времени :) Они получают в среднем награду блока за некую единицу времени. С дианной они будут получать немного больше на мержед майнинге.

Кстати, если кто нить выведет формулу матожидания решения в зависимости от сложности/таргета, я даже назову точные цифры.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 12:52:19 PM
Кстати да, парочки формул в системе не хватает.

Да будет матан!


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 03:55:00 PM
Да, все правильно в биткоин вики написано. Матожидание нужного значения будет

M = D * 2**256 / (0xffff * 2**208) = D * 2**256 / 2**224 = D * 2**32

или

M = MaxTarget * 2**32 / Target


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 04:45:40 PM
Да вот формула цены домена, тут как раз все просто )

http://img845.imageshack.us/img845/9273/codecogseqn18.gif

Bounty - награда за биткоин парент блок
PDiff - типа вкурсе, PDIff неймспейса
sum(bfee(j)) - сумма по комиссиям транзакций парент блока биткоин
N - среднее количество доменных транзакций на блок у майнера/пулла для этого неймспейса


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:12:57 PM
Надо найти замедление появления блоков DIANNA по сравнению с Bitcoin. Будем считать что у нас 1 неймспейс.

Исходя из (https://en.bitcoin.it/wiki/Difficulty#How_soon_might_I_expect_to_generate_a_block.3F), время нахождения блока биткоин майнером при постоянном хешрейте H и сложности Dbit:
http://dianna-project.org/f/c1/t1.gif
Частота:
http://dianna-project.org/f/c1/f1.gif


Для блока DIANNA:
http://dianna-project.org/f/c1/t2.gif
Частота:
http://dianna-project.org/f/c1/f2.gif

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

Тогда блоки DIANNA будут выходить реже блоков Bitcoin в Slow раз:

http://dianna-project.org/f/c1/slow.gif

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:29:21 PM
По этому мы откидываем PPDiff, поскольку это саморегулирующаяся величина, не в интересах майнеров ее наращивать больше единицы.

Так же из предыдущего расчета видно, что майнить биткоин будут в обычном режиме. Потери будут только на блоках DIANNA. На биткоин PDiff не отразится. И в самом деле, кто будет пропускать блок Bitcoin из-за блока DIANNA, если награда за биткоин по дефолту выше?

Следовательно, DIANNA должна компенсировать PDiff'ом замедление сети: Отсюда вытекает формула PDiff:

http://dianna-project.org/f/c1/pdiff.gif

f1 - частота выхода Bitcoin блоков
f2 - частота выхода DIANNA блоков в заданном неймспейсе


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 05:31:29 PM
Quote
Будем считать что у нас 1 неймспейс.
Можно я кину еще пару вопросиков для размышлений?
* не ответили про то, система транзакций повторяет идею bitcoin, про использование встроенного языка программирования? ответ необходим для ответа на вопрос - возможен ли одновременный merged mining сразу всех неймспейсов при майнинге с bitcoin?
* merged mining одновременно с bitcoin полностью независимый? т.е. если сложность в неймспейсе diana ниже чем у bitcoin, при майнинге bitcoin возможно нахождение решений diana? или только при поиске готовых блоков bitcoin?
 - этот вопрос вытекает из непонимания, как будет завязана финансовая часть bitcoin <-> diana. Для того чтобы оплатить домен необходимо будет создавать обычную транзакцию в bitcoin? или необходимо быть майнером bitcoin и упаковывать блок со своими условиями? если первое - то майнинг независимый, если второе - то получается домены будут подтверждаться только при нахождении блока bitcoin майнером, настроившим merged mining diana.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:31:38 PM
a PDiff тоже может быть == 1 ? или == 0 ?
1 может.

Мне вот не нравится PDiff=0 )

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 05:38:00 PM
a PDiff тоже может быть == 1 ? или == 0 ?
1 может.

Мне вот не нравится PDiff=0 )

Хотя почему бы и нет? Тогда цена домена на старте неймспейса будет равна нулю, народ ломанется, пойдут транзакции, PDiff пойдет вверх вместе с ценой.
Когда я спрашивал, вы мне отвечали, что пересчет не для каждого блока, а как в bitcoin - через 2016 блоков.

Значит бесплатные, дешевые домены будут доступны - долго! Я же говорил про раскачивания сложности.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:40:58 PM
Можно я кину еще пару вопросиков для размышлений?
У тебя мозги очень правильно стоят :) Всегда спрашиваешь правильные вещи :)

* не ответили про то, система транзакций повторяет идею bitcoin, про использование встроенного языка программирования? ответ необходим для ответа на вопрос - возможен ли одновременный merged mining сразу всех неймспейсов при майнинге с bitcoin?

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

Тогда надо делать доп. проверку if (PDiff<0) Pdiff=0;

* merged mining одновременно с bitcoin полностью независимый? т.е. если сложность в неймспейсе diana ниже чем у bitcoin, при майнинге bitcoin возможно нахождение решений diana? или только при поиске готовых блоков bitcoin?
Не понял однозначно слова "независимый"
Сложность в неймспейсе dianna не может быть ниже сложности парент блока биткоин. Никогда. Это как деление на ноль )

- этот вопрос вытекает из непонимания, как будет завязана финансовая часть bitcoin <-> diana. Для того чтобы оплатить домен необходимо будет создавать обычную транзакцию в bitcoin? или необходимо быть майнером bitcoin и упаковывать блок со своими условиями? если первое - то майнинг независимый, если второе - то получается домены будут подтверждаться только при нахождении блока bitcoin майнером, настроившим merged mining diana.

Надо будет создавать необычную транзакцию Bitcoin (http://dianna-project.org/wiki/Fee_Transaction). Предположительно, она будет делаться из фулл клиента DIANNA.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:45:37 PM
Когда я спрашивал, вы мне отвечали, что пересчет не для каждого блока, а как в bitcoin - через 2016 блоков.

Значит бесплатные, дешевые домены будут доступны - долго! Я же говорил про раскачивания сложности.
Ну вроде как через 2016. Но для первых блоков можно и ограничиться, например, сотней :) И не вижу ничего плохого в этом кстати.

Если майнер открывает свой неймспейс и начинает там регать бесплатно домены, пока есть халява, то:
1) Домены все таки когда то проекспайрятся
2) Помимо майнера, должен еще кто то быть заинтересован в этом неймспейсе, чтобы хранить весь этот хлам. Иначе он будет хранить его сам.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:46:45 PM
ok. спасибо за формулы -- завтра посмотрим что я смогу из
этого всего выжать.
Ага, спасибо :)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 05:54:04 PM
Не, PDiff=0 это деление на ноль в формулах. Не канает. Надо задать минимальный PDiff.

А минимальный PDiff это минимальная цена (квант биткоин) в одной транзакции. То есть

http://dianna-project.org/f/c1/pdiff_min.gif


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 05:58:14 PM
Еще бы мои вопросы слушали... и зачастую ответ я получаю только на часть.. не самую важную.

Не понял однозначно слова "независимый"
Сложность в неймспейсе dianna не может быть ниже сложности парент блока биткоин. Никогда. Это как деление на ноль )
Сложность - это я подразумеваю число, которое возвращает bitcoin по RPC команде getdiffculty. Сейчас у bitcoin сложность БОЛЬШЕ чем у namecoin, который почти все пулы майнят через merged mining...

Независимый.. это значит пул майнинга bitcoin может настроить свой пул на майнинг через прокси кучу других валют... namecoin, diana, ixcoin, xxxcoin... и факт нахождения блоков в этих форках и bitcoin не связаны (то есть не требуется находить блок bitcoin чтобы найти блок namecoin)

Этот вопрос вытекает из плохого понимания мной сути merged mining... если я верно все понимаю, майнинг форков независимый.. если блок bitcoin не найден но искомый nonce вдруг стал подходить для блока форка - то этот блок упаковывается как при обычном майнинге.

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

Если майнер открывает свой неймспейс и начинает там регать бесплатно домены, пока есть халява, то:
1) Домены все таки когда то проекспайрятся
2) Помимо майнера, должен еще кто то быть заинтересован в этом неймспейсе, чтобы хранить весь этот хлам. Иначе он будет хранить его сам.
Ой, ой,.. ну не надо говорить про хлам... место на дисках падает в цене чуть ли не по экспоненте.. уже сейчас в новостях проскакивают разработки, сулящие петабайтовые хранилища для хомяков.

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

Вы похоже не понимаете как такое будет возможно? Киберсквотер спокойно создаст свою версию клиента diana, которая не рассылает транзакции в сеть, но майнинг настроен на использование пула своих приватных транзакций как следует.
p.s. у вас же opensource проект? :)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 06:11:41 PM
Сложность - это я подразумеваю число, которое возвращает bitcoin по RPC команде getdiffculty. Сейчас у bitcoin сложность БОЛЬШЕ чем у namecoin, который почти все пулы майнят через merged mining...

Независимый.. это значит пул майнинга bitcoin может настроить свой пул на майнинг через прокси кучу других валют... namecoin, diana, ixcoin, xxxcoin... и факт нахождения блоков в этих форках и bitcoin не связаны (то есть не требуется находить блок bitcoin чтобы найти блок namecoin)

Этот вопрос вытекает из плохого понимания мной сути merged mining... если я верно все понимаю, майнинг форков независимый.. если блок bitcoin не найден но искомый nonce вдруг стал подходить для блока форка - то этот блок упаковывается как при обычном майнинге.

Да, независимый. Но отдельный майнинг без bitcoin невозможен.

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

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

Вы похоже не понимаете как такое будет возможно? Киберсквотер спокойно создаст свою версию клиента diana, которая не рассылает транзакции в сеть, но майнинг настроен на использование пула своих приватных транзакций как следует.
p.s. у вас же opensource проект? :)
Майнеры итак будут майнить исключительно свои транзакции, которые были оплачены исключительно им. Не надо для этого делать форк :)
С киберсквоттерами бороться вообще бесполезно, надо просто их усилия привязать к работе. Хочет миллион доменов - пусть пыхтит. Работа по PDiff - себестоимость домена.

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

Короче, я думаю что это выстрел себе в ногу. Переубедите меня.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 06:16:40 PM
Да, и кстати, чтобы заниматься таким срамом, надо генерировать тысячи/миллионы транзакций биткоин. Мелких. Сомнительная затея. Есть же такие вещи как MAX_BLOCK_SIZE у биткоина и прочие ограничительные мероприятия.

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

Меня лично не напрягает это явление в ICANN. Ну занят dianna.org. Ну и фигли? Зарегал dianna-project.org Я вообще часто регаю домены и кибресквоттеры меня не напрягают.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 06:46:24 PM
Майнеры итак будут майнить исключительно свои транзакции, которые были оплачены исключительно им. Не надо для этого делать форк :)
С киберсквоттерами бороться вообще бесполезно, надо просто их усилия привязать к работе. Хочет миллион доменов - пусть пыхтит. Работа по PDiff - себестоимость домена.

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

Короче, я думаю что это выстрел себе в ногу. Переубедите меня.
Невозможно указать ошибки тому кто как минимум не слушает ;)

Кстати я еще не получил ответ, как же именно желающие приобрести домен будут его оплачивать? Вообще что из себя будет представлять бизнеспроцесс регистрации?
Quote
1. Скачиваем и запускаем клиент bitcoin и клиент diana, возможно они сразу будут объеденены или офицальный клиент bitcoin разродится до модульной структуры.
2. При нажатии в клиенте diana кнопки зарегистрировать домен будет выпадать прайс лист текущих пулов майнинга (это просто рассылаемая информация средствами сети, не в вики же их публиковать)
3. в окно указания цены можно писать любую цену, или указывать цену-майнера из прайса (при этом транзакция как то маркируется, чтобы майнер/пул мог знать, что ему платят)
4. создается 2 связанных транзакции bitcoin и diana (кто то на кого то ссылается хешем), bitcoin - условное перечисление денег на пул, условие должно быть очень хитрое (то же multisig/escrow), подписанное чем-то, что должно будет появиться в блокчейне diana - этот момент мне полностью не ясен, но если этого не делать, то невозможно будет гарантировать что пул возьмет деньги но не зарегистрирует домен.. не будем же все на веру оставлять? обратное же можно гарантировать залогом от пула (блокировать сумму например равную стоимости предложенной стоимости домена, пока не будет зарегистрирован домен).
4.1. кстати условие возврата денег было бы желательно (например по истечении времени, если домен так и не будет зарегистрирован, не говоря про случай занятого домена)... а то так можно очень хорошо гадить всем клиентам diana, тупо предлагая услуги по регистрации, но не выполняя их. Если возврата не будет - деньги пропадут.
5. майнеры собирают себе заявки на регистрации - анализируя транзакции diana/bitcoin.
6. при нахождении очередного блока, майнеры упаковывают собранные транзакции (не обязательно все! все в их руках - если хочешь следить за сложностью)
7. все довольны
Как видим это вариант с оплатой обычной транзакцией, тоесть после создании транзакции на регистрацию домена уже нельзя сменить того, кому передана оплата.
Можно попытаться реализовать bitcoin-транзакции при условии доступности - тому единственному кто упакует в блок домен diana, то же не ясно как это сделать, так как недостаточно просто взять число их блока diana, любое отвлетвление - и блок стал orphaned, а денюшки уже тютю.
Отсчет необходимого количества подтверждений diana можно сделать например повторным запросом какого-то кода у клиента, желающего регистрировать домен (он может проконтролировать что домен создан)...
Пока писал у меня появилась интересная идея по защите bitcoin-сетей от 51% атак.
Настоятельно прошу ответить на вопрос про бизнеспроцесс регистрации домена.. подробно, примерно так же как я расписал.

Примерный алгоритм по выбору транзакций у diana для киберсквотера (у которого есть какой угодно пул майнинга bitcoin):
1. по факту все пулы майнинга будут киберсквотерами
2. берем две сложности майнинга, текущую CurDiff и предыдущую PrevDiff:
если CurDiff>=PrevDiff то регистрируем только чужие то транзакции (за их денежки) - этот этап будет долгим, так как сложность высокая, блоки будут идти медленно
если CurDiff<PrevDiff  то регистрируем только свои транзакции (за бесплатно) - этот этап будет очень быстрым (гонка, все пулы будут стараться успеть пока не начнется перерасчет), количество доменов в блоке ограничено только лимитами в коде (сколько вы там хотите выставить).
3. активно флудим в рекламном прайс листе позиции с разными ценами на регистрацию домена, захватывая как дорогой сегмент так и дешевый.

Да, и кстати, чтобы заниматься таким срамом, надо генерировать тысячи/миллионы транзакций биткоин. Мелких. Сомнительная затея. Есть же такие вещи как MAX_BLOCK_SIZE у биткоина и прочие ограничительные мероприятия.
Не понял зачем bitcoin? Киберсквотеру bitcoin не нужен совсем! только как средство майнинга diana. Весь мусор в блокчейне diana (максимум в bitcoin должна быть одна транзакция на блок diana).... или я все еще не понимаю какой механизм оплаты и регистрации доменов.

p.s. еще раз и много много раз... если будет возможность гадить, получая прибыль, то НАЙДУТСЯ ТЕ КТО БУДУТ ГАДИТЬ!!!


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 07:05:51 PM
Желающие приобрести домен будут оплачивать либо спец транзакцией через диану-фулл, либо фиат посреднику, посредник уже делает спецтранзакцию.

Погодите с процессом. Меня осенило. Все это через *опу. Мы ограничили майнеров в сумме, но не ограничили в количестве.

Короче. Давайте так. Пусть DIANNA задает именно цену домена, а не PDIff - базируясь на частоте последних N блоков. Ниже частота - ниже цена. Выше частота - выше цена. Начиная с 1E-8 BTC. И эту цену нельзя нарушить.

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

Хочешь - насуй в блок транзакций на 50 BTC. Но считать его будешь по двойной сложности.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 07:28:55 PM
То есть у тебя даже в теории бизнеспроцесса небыло? мдаа... а уже волонтеров-добровольцев кодеров набираешь.

Ограничить количество? количество чего? всего доменов в секунду? доменов на руки? не смешно..

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

p.s. развитие diana у тебя будет идти по следующему пути - пока проект мало известен, пулы майнинга потихоньку, аккуратно расчитав оптимальную скорость регистрации доменов, забивают себе в карманы базу данных whois, продлить домены будет проще, чем зарегистрировать (если при продлении будут упираться в скорость регистрации, выкидывать менее перспективные)


еще родил красивый вопрос:
* зачем нужно разделение на неймспецсы в блокчайнах? уже сейчас владельцы прибыльных доменов стремятся закрыть для фишинга все возможные пути, регистрируя домены в нескольких зонах - ru, com, org.ru,.. значит и тут будет та же фигня, будут пачками регистрировать во всех неймспейсах (уж киберсквотеры точно)
пусть будут неймспейсы, но блокчейн один... одно имя сразу дает доступ к доменам во всех неймспейсах.


предлагаю схему защиты доменов от киберсквотеров на время старта проекта, чтобы киберсквотеры не захапали чужие домены из текущей системы:
- подтверждать только те регистрации новых доменов, для которых не существует действующего домена в текущей DNS Интернета, а если домен уже существует, подтверждать принадлежность через подпись файлом с сервера в Интернете по специальному протоколу (кстати в текущей DNS похожая схема присутствует, где то от меня требовалось создать в регистрации DNS файлы с соответствующим типом), но тогда регистрация должна быть открытой

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 07:36:20 PM
То есть у тебя даже в теории бизнеспроцесса небыло? мдаа... а уже волонтеров-добровольцев кодеров набираешь.
Да как это не было, Было (http://dianna-project.org/wiki/Design_Overview#Use_cases). Просто ты своими вопросами заставил задуматься, я опять порвал шаблон и бизнес процессы изменились.

еще родил красивый вопрос:
* зачем нужно разделение на неймспецсы в блокчайнах? уже сейчас владельцы прибыльных доменов стремятся закрыть для фишинга все возможные пути, регистрируя домены в нескольких зонах - ru, com, org.ru,.. значит и тут будет та же фигня, будут пачками регистрировать во всех неймспейсах (уж киберсквотеры точно)
Чтобы разделять активность и цену. CJDNS например, нищеброды. Какой киберсквоттер туда сунется?


предлагаю схему защиты доменов от киберсквотеров на время старта проекта, чтобы киберсквотеры не захапали чужие домены из текущей системы:
- подтверждать только те регистрации новых доменов, для которых не существует действующего домена в текущей DNS Интернета, а если домен уже существует, подтверждать принадлежность через подпись файлом с сервера в Интернете по специальному протоколу (кстати в текущей DNS похожая схема присутствует, где то от меня требовалось создать в регистрации DNS файлы с соответствующим типом)

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

Мне этот способ огораживания не очень пахнет. Это завязка на ICANN. См. выше что я написал про новую схему.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 07:50:58 PM
Пусть DIANNA задает именно цену домена, а не PDIff - базируясь на частоте последних N блоков. Ниже частота - ниже цена. Выше частота - выше цена. Начиная с 1E-8 BTC. И эту цену нельзя нарушить.
Ну вот наконец новые идеи, а от как придумал одну, так и вцепился в нее, с закрытыми глазами.

Что такое частота последних блоков?
Намекну, что времени, записанному в блоках верить НЕЛЬЗЯ, единственное чему там можно верить - сложность (она однозначно проверяема).

Мне этот способ огораживания не очень пахнет. Это завязка на ICANN.
Нельзя закрывать глаза на то что уже существует... во время развития с ними придется считаться.
Чтобы разделять активность и цену. CJDNS например, нищеброды. Какой киберсквоттер туда сунется?
Остаться в конце концов должен кто то один! А вот кому понравится регистрировать xxx доменов в неймспейсах, количество которых кстати будет зависеть от прихоти кого-то, редактирующего публичную вики страничку проекта, на которой записаны рекомендации по неймспейсам? Просто этот момент напрямую вытекает из недостатка самой системы DNS.. развиваться необходимо в другую сторону, ключевые слова и поисковики.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 07:59:45 PM
Бизнес процесс значит.

Основы.

За доменом закрепляется пара ключей. Приватный ключ хранится у юзера и никому он его не дает. С публичным варианты.
Диана устанавливает цену доменной операции для неймспейса, исходя из активности неймспейса. Эту цену нарушить нельзя.
Блок дианы мерж-майнится по прежнему против парент блока биткоин. PDiff есть отношения суммы по доменам к награде парент блока биткоин. Но уже не задается системой.
Основанием для помещения доменной транзы в цепь дианы есть аут спец транзакции биткоин с комиссией.
Транза с комиссией помечается добавлением в скрипт подписи имени домена приватным ключом и за этим OP_DROP и далее обычный биткоин скрипт.

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

Как я уже говорил, new,update,renew,transfer - одна и та же хрень по одной и той же цене.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 08:18:23 PM
Что такое частота последних блоков?
Намекну, что времени, записанному в блоках верить НЕЛЬЗЯ, единственное чему там можно верить - сложность (она однозначно проверяема).

Дык как нельзя, если верят? Я так понимаю, там +/- час не вопрос, но в целом, таймштамп должен укладываться в какие то разумные рамки.

Вот, биткоин таргет по таймштампу вычисляет:

Code:
   // Limit adjustment step
    int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
    printf("  nActualTimespan = %"PRI64d"  before bounds\n", nActualTimespan);
    if (nActualTimespan < nTargetTimespan/4)
        nActualTimespan = nTargetTimespan/4;
    if (nActualTimespan > nTargetTimespan*4)
        nActualTimespan = nTargetTimespan*4;
    
    // Retarget
    CBigNum bnNew;
    bnNew.SetCompact(pindexLast->nBits);
    bnNew *= nActualTimespan;
    bnNew /= nTargetTimespan;
    
    if (bnNew > proofOfWorkLimit())
        bnNew = proofOfWorkLimit();

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 08:25:56 PM
Неймспейсы позволяют:

1) Разделить семантику значения ключей.

У традиционных DNS зон например семантика значения будет такая:
Code:
KEY<domain.com>=VALUE<@ IN NS ns1.hoster.com.;@ IN NS ns2.hoster.com;>

У I2P семантика значения будет - 516 байт-хеш назначения
Code:
KEY<domain.dia.i2p>=VALUE<sdfjdslfjsdlfsldfkldsfjsldjfdsjf23r3489r943u943f0--дохрена байт--34c83u349c93u0c4>

Ну и зачем данные с разными семантиками в одном неймспейсе?

2) Ограничить объем актуальных данных только своим неймспейсом. И правда, зачем DNS клиентам I2P принимать блоки с доменами CJDNS там например

3) Разделить активность сети, а значит и цену за домен. Своя цепь блоков, в которых фигурируют только свои домены. Значит своя активность. Значит своя цена за транзу.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 08:34:10 PM
я так и не получил ответов на ключевые вопросы:
* как человек выбирает/находит себе регистратора
 - наисложнейший вопрос... выбор не верной методики точно будет концентрировать все заказы у минимального количества регистраторов, а так как диффиренцировать рынок тут не чем (дорогие и дешевые операции) то регистратор в конце концов будет останется один/мало - кстати будет еще один повод подмять под себя пулы майнинга bitcoin.
* что за спец-транзакция с комиссией? я вроде четко расписал варианты, вопросы остаются следующие фазы:
 1. факт пожелания в регистрации
 2. проверка переданных средств в bitcoin
 3. проверка того что домен зарегистрирован
 4. только после этого деньги должны поступить на счет пула
тут минимум 2 атомарные операции, их невозможно сделать только в bitcoin или только в diana... дальше вытекают проблемы с ttl необработанных транзакций (для которых домен еще не зарегистрирован)...
Или даже об этом не задумывался и у нас на лицо простая и тупая централизация - доверимся регистратору, он не обманет???
* выбрав регистратора человек платит именно ему, сразу после создания транзакции (пары diana/bitcoin?) никто не может создать с тем же доменом, но на себя?
* transfer - получается для передачи домена другому владельцу нужно заплатить одновременно старому владельцу и комиссию... грустно это, очень грустно.

Quote
Вот, биткоин таргет по таймштампу вычисляет:
я уже в ужасе хватаюсь за голову...
просто еще никто не гадил в блокчейне с ложным временем... я уже вижу алгоритм, выставляющий время в блоке заведомо неверное такое (на пару недель в будущее или в прошлое, чтобы увеличить сложность), чтобы при расчете новой сложности получился коллапс (сложность станет низкой и можно успеть совершить атаку 51%).
Вы понимаете что нет никакой!!! возможности проверить время (хотя есть... если все клиенты будут проверять текущее время у центрального источника, и при сильных расхождениях времени на компьютере и в блоке - просто переставать работать).

В коде bitcoin есть какие либо проверки времени в блоке и текущего времени на компьютере? А проверка времени в соседних блоках? Может оли сейчас новый блок иметь время старее чем указано в предыдущем блоке в цепочке?
Хотя на слишком большие промежутки времени можно найти разумный компромис/алгоритм, в т.ч. децентрализованную синхронизацию времени.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 08:49:22 PM
* как человек выбирает/находит себе регистратора
 - наисложнейший вопрос... выбор не верной методики точно будет концентрировать все заказы у минимального количества регистраторов, а так как диффиренцировать рынок тут не чем (дорогие и дешевые операции) то регистратор в конце концов будет останется один/мало - кстати будет еще один повод подмять под себя пулы майнинга bitcoin.
Ох что то я об этом уже писал много раз :)

* Объявление пулла/регистратора на форуме: Регистрирую DIANNA! Принимаются все/некоторые неймспейсы! Наинизшая цена!
* Тоже: в adsense
* В любом другом удобном месте поспамиться

Мы вынесли фин-цепочку вовне. Платеж идет непосредственно на кошель пулла/регистратора. То есть лично. И контролировать ее прохождение можем лишь частично. Все остальное - ложится на репутацию регистратора или пулла. Как в обычном бизнесе. Кинул пацана - по **лу на! :) Ну то есть вонь на форумах и прочие методики загаживания кармы недобросовестных контор.

Немного централизованно, но пулл здесь лишь проводник, он не может управлять доменом. Если че не так - социальное давление опять же.

* что за спец-транзакция с комиссией? я вроде четко расписал варианты, вопросы остаются следующие фазы:
 1. факт пожелания в регистрации
 2. проверка переданных средств в bitcoin
 3. проверка того что домен зарегистрирован
 4. только после этого деньги должны поступить на счет пула
Нет, предоплата. Если чета не получается - рефанд через тикеты. Как в обычном бизнесе.
Ты посылаешь деньги - тебе регистрируют домен. Если не регистрируют, кричи что они мудаки.
Единственное что - должна быть специальная транзакция биткоин, созданная хоть пользователем, хоть пуллом на основе хеша, предоставленного пользователем. Так DIANNA узнает что эта транзакция есть ни что иное как комиссия за доменную операцию. Доменная операция создается только с ссылкой на эту транзакцию.

* выбрав регистратора человек платит именно ему, сразу после создания транзакции (пары diana/bitcoin?) никто не может создать с тем же доменом, но на себя?
Домены внутри дианы подписываются ключами типа как коины. Только владелец приватного ключа домена может проводить с ним транзакции. Регистратор или пулл просто просят клиента подписывать некоторые строки этим приватным ключом в процессе регистрации, но сам ключ всегда у клиента.

* transfer - получается для передачи домена другому владельцу нужно заплатить одновременно старому владельцу и комиссию... грустно это, очень грустно.

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

просто еще никто не гадил в блокчейне с ложным временем... я уже вижу алгоритм, выставляющий время в блоке заведомо неверное такое (на пару недель в будущее или в прошлое, чтобы увеличить сложность), чтобы при расчете новой сложности получился коллапс (сложность станет низкой и можно успеть совершить атаку 51%).
Вы понимаете что нет никакой!!! возможности проверить время (хотя есть... если все клиенты будут проверять текущее время у центрального источника, и при сильных расхождениях времени на компьютере и в блоке - просто переставать работать).

В коде bitcoin есть какие либо проверки времени в блоке и текущего времени на компьютере? А проверка времени в соседних блоках? Может оли сейчас новый блок иметь время старее чем указано в предыдущем блоке в цепочке?
Хотя на слишком большие промежутки времени можно найти разумный компромис/алгоритм, в т.ч. децентрализованную синхронизацию времени.
Наверняка какие то проверки есть, не копался точно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 09:07:30 PM
Касательно таймштампа в биткоин, проверяется, не залез ли блок далеко в прошлое за предыдущий:

Code:
main.cpp: CBlock::AcceptBlock()
    // Check timestamp against prev
    if (GetBlockTime() <= pindexPrev->GetMedianTimePast())
        return error("AcceptBlock() : block's timestamp is too early");

В будущее не проверяется :) гыгы. А чем это может навредить?



Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 09:17:32 PM
Ничем. Если намайнят такой блок, то такой блок не будет иметь потомков в течении указанного времени в будущем, а занчит другой блок-кандидат с нормальным таймштампом перебьет его по высоте.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 09:27:20 PM
В будущее не проверяется :) гыгы. А чем это может навредить?
Code:
int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
...
bnNew *= nActualTimespan;
сделать bnNew какой хочешь... МАЛЕНЬКОЙ. и в момент пересчета сложности совершить атаку 51% если ты пул просто с самой большой мощностью (даже если не добираешь по мощности), или просто получить больше монет за короткий срок, контролируя сложность такой, какую пожелаешь... а уж что произойдет если сложность станет отрицательной ;)

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 09:31:37 PM
Да при чем тут слепо? У биткоина правило фундаментальное - у какого форка цепи высота больше - тот и принимать за истину. Форки цепи происходят постоянно. Постоянно генерятся сотни тысяч кандидатов блоков на текущую высоту. и на основе их идут другие форки. Но сеть принимает наивысший форк.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 09:45:19 PM
Кстати регистраторы по ходу отпадают. Или они просто продают биткоины за фиат дабы клиент мог зарегать домен из дианы.

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

Нужна возможность непосредственной регистрации/апдейта из гуя дианны. Сложная конечно процедурка:

1. Сгенерить/выбрать ключ домена для регистрации/апдейта
2. Раздобыть каким то образом биткоины на биткоин-кошель дианы (да, диана будет включать в себя базовый клиент биткоин)
3. Найти пулл, получить адрес для платежа
4. Скрафтить комиссию в биткоин сеть, подождать подтверждений
5. Скрафтить доменную транзу на основе это комиссии

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 01, 2012, 09:48:21 PM
Про отсутствие контроля сетью за исполнение своих обязанностей регистраторами - мне это не нравится. Пока проект молодой, может и не страшно, но если взлетит - это обернется еще большими проблемами...

Как тебе отказ в продлении домена путем сговора крупнейшими пулами? И ведь смогут отжать себе доменчик по типа google.diana или microsoft.diana...

Или вот - 'Истину говорю вам, этот гадкий регистратор мошенник, он отказал мне в регистрации и зарегистрировал его на себя... что? говорите нет, все было по честному? брехня, верьте мне!!!' - вот как в таком бардаке вести нормальные дела?

p.s. неужели ты начал понимать всю беду?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 09:55:33 PM
Начал понимать, понимаешь. У я такие схемы в башке кручу, что иногда деталей не видно.

Никакая это не беда, это обычный бызнес.

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

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

С тех пор как мы вынесли фин цепочку вовне, все платежи на авторитете пуллов.

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

К тому же есть такие вещи как p2pool. Я хрен знает че такое, не разбирался, но звучит обнадеживающе :)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 10:08:45 PM
Единственная возможность избежать авторитетов - вмешательство в биткоин, пропихивание какого нить очередного BIP, который заставит биткоин учитывать блок-чейн дианы со всеми его приколами.

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

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

Я всеми ногами и руками за такое решение, но я правда не представляю как это сделать.

Может кто помозгует, с новомодными введениями бип16 и пр. такое можно замутить? Если да, то это будет просто ништяк.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 01, 2012, 11:58:29 PM
Обновил дизайн результатами дискуссии. Не обделил авторством rpMan :)

v1.5
http://dianna-project.org/wiki/Design_Overview
http://dianna-project.org/wiki/Design_Changelog


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 02, 2012, 07:37:19 AM
На кой черт вообще создавать систему, существование и работоспособность которой зависит от человеческого фактора - захочет/поверит/понадеется/обманет?!. Тем более нет особых проблем, кроме определения правила формирования цены, для реализации всего этого.

diana - должна стать полностью автоматизированной системой по управлению доменными именами с оплатой в bitcoin.
Не должно быть ничего, что принимается на веру! все должно быть математически доказуемо, даже с такими допущениями, как атака 51%.. так как это позволяет, например, оценить риски (стоимость атаки на сеть bitcoin определяет максимальную сумму транзакций, которые в ней можно проводить).


Для контроля в принципе все уже есть в bitcoin - пусть участники следят сами друг за другом (желающие зарегать домен следят чтобы их домен был зареган, а регистраторы - чтобы им платили).
Достаточно чтобы в bitcoin и diana было реализовано escrow, а дальше, перекрестные транзакции, и многоэтапный процесс регистрации:
1. клиент регистрирует домен и переводит деньги
2. пул проверяет что деньги ему перевели и регистрирует домен (ждем когда блок или несколько будут найдены)
3. клиент ждет когда в блокчейне появится его домен и будет доступен ему (а то пул зарегистрирует на себя)
 * если так - подтверждает обе транзакции в bitcoin и diana (multisig transaction - для доступа к монетам должны быть подписаны несколькими участниками)
 * иначе не подписывает и транзакция, по прошествии ttl откатывается (вот тут реально я не знаю сделано это в bitcoin или нет.. но технически не вижу проблем для реализации)
то есть для того чтобы домен был зарегистрирован, оба и клиент и регистратор должны быть онлайн (хотя бы поочередно.. клиент дважды - чтобы послать и подтвердить регистрацию, регистратор чтобы как минимум принять регистрацию и найти блок)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 02, 2012, 08:30:44 AM
Ukigo, очень правильно считаешь, за исключением одного...
bitcoin - сеть молодая, цена спекулятивная и неправильно низкая (просто иначе при большем количестве участников на всех тупо не хватит), значит сравнивать текущую цену на bitcoin и развитую ICANN как минимум странно.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 02, 2012, 09:24:52 AM
Я думаю меня устроит и 2$, а кого то и 20$...

Вы загляните с другой стороны.. кому может понадобиться такая замечательная опция - независимость, неподконтрольность? это то чего не может приложить ни один существующий регистратор (они все в конце концов сидят под дулом США). И сколько она может стоить.

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 02, 2012, 12:40:22 PM
Единственная возможность избежать авторитетов - вмешательство в биткоин, пропихивание какого нить очередного BIP, который заставит биткоин учитывать блок-чейн дианы со всеми его приколами.

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

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

Я всеми ногами и руками за такое решение, но я правда не представляю как это сделать.

Может кто помозгует, с новомодными введениями бип16 и пр. такое можно замутить? Если да, то это будет просто ништяк.
между прочим я уже описывал один из вариантов механизма оплаты:
Quote
Оплата транзакции в DIANNA.
а. Клиент создаёт доменную транзакцию + указывает сумму которую готов за неё заплатить.
а.1. Клиент оплачивает заявку на включение доменной транзакции в блок DIANNA с указанием её идентификатора. (оплата в размере минимальной комиссии биткоина с целью избежать флуда заявками)
б. Майнер проверяет оплату заявки, после чего, если его устроит цена, включает доменную транзакцию клиента + биткоин адрес майнера + цену транзакции + хеш блока с заявкой в блок DIANNA.
в. Клиент получает сообщение о том, что его транзакция была помещена в блок, но ещё не оплачена.
в.1. Клиент переводит необходимые средства на указанный майнером адрес, добавив в комментарии идентификатор доменной транзакции.
г. Сеть проверяет и берёт на хранение оплаченные транзакции.
теперь стоит прокомментировать идеи, находящиеся между строк:
1. заявка через блокчейн биткоина является публичным обьявлением работы, т.е. любой пул посчитавший что заявка валидная и будет оплачена может сразу же приступать к работе. (заявка прикрепляется с помощью ID к транзакции, рассылаемой через сеть дианы)
2. скорее всего пулы не будут доверять любой заявке, поэтому в систему вводятся регистраторы, подписывающие заявки. Идентифицировав регистратора по его публичному ключу, пул может собрать историю выплат регистратором, на основании которой принять решение доверять ему или нет.
3. сложность блока дианы всё также может определяться зависимостью от частоты блоков / количества транзакций. Но. Лучше привязать сложность к скорости выхода блока после заявки используя тот же алгоритм, что и в биткоин.
4. самое главное нововведение, вытекающее из последнего пункта: база данных доменных записей и блокчейн(-ы) должны быть разделены, так как (в такой реализации) в цепочке блоков дианы могут быть неоплаченные транзакции. Актуальную DNS базу данных следует группировать в блоки и подтверждать их изменение в блокчейне (с некоторой задержкой, необходимой для оплаты транзакции).


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 02, 2012, 12:58:05 PM
5. предложенный алгоритм не отменяет ограничений в виде "справедливой цены" и "привязки сложности к цене". Каждый full клиент сможет проверить соответствие блока дианы необходимым требованиям.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 04:56:58 PM
@pent

Наваял сценарий на Питоне по формулам. Выводы :

 1) не хватает формулы для ReqSum (трешхолда) -- как его вычислять ?
 
 2) формула для цены домена дает среднюю за домен в последнем блоке DIANNA
   а нужна формула определяющая цену домена для регуляции мощности сети.

 3) нужны желательные начальные значения при виртуальном запуске сети
   чтобы было от чего отталкиватся при тестировании формул.

 4) похоже в некоторые формулы потребуется ввести некие коэффициенты
    или какие-то довески.

 5) PDiff minimal должна быть много больше твоей.

Нет уже никакого ReqSum. Цена домена назначается дианой, а поправка к сложности считается по формуле. Ограничений никаких нет. PDiff minimal тоже нет. Все упростилось.

http://dianna-project.org/wiki/images/d/d4/Summ_fee_formula.gif

На старте неймспейса назначается цена домена в 1E-8 BTC. Например. Ну или 1 BTC. Ну или как определить корректный старт?

Дальше цена изменяется согласно активности сети.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 05:01:25 PM
теперь стоит прокомментировать идеи, находящиеся между строк:
1. заявка через блокчейн биткоина является публичным обьявлением работы, т.е. любой пул посчитавший что заявка валидная и будет оплачена может сразу же приступать к работе. (заявка прикрепляется с помощью ID к транзакции, рассылаемой через сеть дианы)
2. скорее всего пулы не будут доверять любой заявке, поэтому в систему вводятся регистраторы, подписывающие заявки. Идентифицировав регистратора по его публичному ключу, пул может собрать историю выплат регистратором, на основании которой принять решение доверять ему или нет.
3. сложность блока дианы всё также может определяться зависимостью от частоты блоков / количества транзакций. Но. Лучше привязать сложность к скорости выхода блока после заявки используя тот же алгоритм, что и в биткоин.
4. самое главное нововведение, вытекающее из последнего пункта: база данных доменных записей и блокчейн(-ы) должны быть разделены, так как (в такой реализации) в цепочке блоков дианы могут быть неоплаченные транзакции. Актуальную DNS базу данных следует группировать в блоки и подтверждать их изменение в блокчейне (с некоторой задержкой, необходимой для оплаты транзакции).
5....
Все это весело конечно, но я уже написал выше что не вижу способа деперсонализации майнера.

То есть, сделать так, чтобы клиент посылал комиссионную транзакцию в сеть непонятно кому - и на основе ее делался блок диана - Я НЕ ЗНАЮ как так сделать.

В текущем варианте оплата посылается персонально майнеру. Он видит эту оплату и принимается за блок.

Я не вижу альтенативы.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 05:03:40 PM
То есть, сделать так, чтобы клиент посылал комиссионную транзакцию в сеть непонятно кому - и на основе ее делался блок диана - Я НЕ ЗНАЮ как так сделать.

Тут ссылочку подкинули...

https://en.bitcoin.it/wiki/Contracts


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 02, 2012, 05:24:10 PM
 :o
1. транзакция с минимальной комиссией отправляется самому себе.
2. в блок дианы майнер добавляет свой адрес, куда слать коины.
3. после того, как я убедился, что моя транзакция добавлена в блок, я оплачиваю её стоимость.
4. DNS хранилище проверяет оплату и добавляет / обновляет запись в своей базе.
5. Все довольны.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 05:44:58 PM
Прикольно, но DNS хранилище это и есть блок чейн дианы. Фишка блок-чейна в том, что все, что туда запечатано - валидно.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 02, 2012, 05:57:35 PM
DNS хранилище разбиваем на блоки и подтверждаем их в блокчейне. Неоплаченные транзакции идут лесом. см. пункт 4 в комментариях https://bitcointalk.org/index.php?topic=64282.msg779439#msg779439 (https://bitcointalk.org/index.php?topic=64282.msg779439#msg779439)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 06:43:15 PM
Объясни плз подробнее, чето я не пойму. А их кто подтверждать будет и за какой $?

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

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

Дальше чего? Ты предлагаешь еще один блок чейн, куда такие транзакции будут включаться только если они оплачены? А кто будет майнить этот блок чейн и за какие деньги?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 07:04:13 PM
@Ukigo, окей.

Счас вот майнеров деперсонализируем и определимся с ценой. Вернее уже определились, не определились с какой цены стартовать и как ее изменять.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 07:05:35 PM
А насчет контрактов - а юзает ли их кто-нибудь на практике ?
Если да -- то тебе было бы полезно с ними пообщаться -- мож чего подскажут
Я сейчас изучаю сырцы на предмет поддержки nLockTime и sequenceNumber. Ато везде говоря типа поддержка отключена. Но я там точно видел функции по этой теме, смысл которых мне тогда был не понятен.

По моему все это было упразднено мультисигами.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 07:23:18 PM
nLockTime и nSequence поддерживаются. Выключили похоже только в UI интерфейсах.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 02, 2012, 07:33:37 PM
Объясни плз подробнее, чето я не пойму. А их кто подтверждать будет и за какой $?

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

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

Дальше чего? Ты предлагаешь еще один блок чейн, куда такие транзакции будут включаться только если они оплачены? А кто будет майнить этот блок чейн и за какие деньги?
1. В сети дианы я объявляю, что хочу зарегистрировать вот-такие вот домены, и заплачу за них вот столько-то.
2. Пул видит это дело, смотрит в блокчейн биткоина, находит транзакцию с хешем моей заявки и, если его устраивает цена, начинает искать блок дианы.

3. Валидный блок дианы должен содержать:
-валидные транзакции.
-биткоин адрес майнера.
-цены транзакций.
-хеши биткоин блоков с принятыми заявками.
-изменение хешей и добавление новых хешей блоков DNS хранилища.

4. После того, как блок дианы найден, я оплачиваю транзакцию. (а скорее всего не я, а регистратор с хорошей репутацией)
5. В ближайшем блоке дианы пул изменяет блоки DNS хранилища и добавляет новые хеши блоков в блок дианы. Очевидно, что все изменения должны быть сделаны по правилам дианы, чтобы другие узлы сети могли воссоздать блок и получить хеш указанный в блоке.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 02, 2012, 07:56:35 PM
Кстати, такое хранилище может существовать и без блокчейна дианы, если некие "правильные" узлы будут фиксировать его изменения в цепи блоков биткоина.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 02, 2012, 08:40:42 PM
Вот "правильные" узлы - это как раз централизация и цензура.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 02, 2012, 10:37:36 PM
Я же вроде описал решение, которое позволит не добавляя в bitcoin чего-то нового (нужна поддержка multisig транзакций для escrow, я просто технических подробностей не знаю, но оно как я понимаю УЖЕ ЕСТЬ и работает), из недостатков, регистрация не мгновенная (как минимум условие ожидания подтверждений в bitcoin) и требует на время проведения регистрации клиент и регистратор должны быть онлайн.
Для контроля в принципе все уже есть в bitcoin - пусть участники следят сами друг за другом (желающие зарегать домен следят чтобы их домен был зареган, а регистраторы - чтобы им платили).
Достаточно чтобы в bitcoin и diana было реализовано escrow, а дальше, перекрестные транзакции, и многоэтапный процесс регистрации:
1. клиент регистрирует домен и переводит деньги
2. пул проверяет что деньги ему перевели и регистрирует домен (ждем когда блок или несколько будут найдены)
3. клиент ждет когда в блокчейне появится его домен и будет доступен ему (а то пул зарегистрирует на себя)
 * если так - подтверждает обе транзакции в bitcoin и diana (multisig transaction - для доступа к монетам должны быть подписаны несколькими участниками)
 * иначе не подписывает и транзакция, по прошествии ttl откатывается (вот тут реально я не знаю сделано это в bitcoin или нет.. но технически не вижу проблем для реализации)
то есть для того чтобы домен был зарегистрирован, оба и клиент и регистратор должны быть онлайн (хотя бы поочередно.. клиент дважды - чтобы послать и подтвердить регистрацию, регистратор чтобы как минимум принять регистрацию и найти блок)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 12:07:44 AM
Все то оно так, да что мешает клиенту подтвердить только DIANNA транзакцию без bitcoin транзакции.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 12:44:40 AM
После вникания в суть вот такого предложения (https://en.bitcoin.it/wiki/Contracts#Example_5:_Trading_across_chains) у меня родилась идея.

Перед операцией, майнер и клиент создают у себя некие рендомные одноразовые пароли:
* passC - клиентский пароль, hash_passC - его хеш sha256(RIPEMD160()) (соответствует OP_HASH160 в скриптах)
* passM - майнерский пароль, hash_passM - его хеш sha256(RIPEMD160())

Так же,
* bit_pub_M - публичный ключ (адрес) bitcoin, принадлежащий майнеру и hash_bit_pub_M - его хеш160
* dia_pub_C - публичный ключ dianna, принадлежащий клиенту и его хеш hash_dia_pub_C

Майнер дает hash_passM клиенту.

Клиент создает транзакцию Bitcoin с sigScript в ауте:
Code:
OP_HASH160 <hash_passM> OP_EQUALVERIFY OP_HASH160 <hash_passC> OP_EQUALVERIFY OP_DUP OP_HASH160 <hash_bit_pub_M> OP_EQUALVERIFY OP_CHECKSIG

Для того, чтобы забрать эту транзакцию, майнеру нужно будет в следующем INPUT предъявить два пароля в открытом виде + нормальная биткоин проверка на сигнатуры (все что после OP_DUP). Input должен будет быть таким:

Code:
signature bit_pub_M passC passM

Клиент так же создает транзакцию DIANNA с sigScript в ауте:

Code:
OP_HASH160 <hash_passM> OP_EQUALVERIFY OP_HASH160 <hash_passC> OP_EQUALVERIFY OP_DUP OP_HASH160 <hash_dia_pub_C> OP_EQUALVERIFY OP_CHECKSIG

Чтобы клиент мог воспользоваться в дальнейшем этим доменом, ему так же надо будет предъявить два пароля + проверка сигнатуры:

Code:
signature dia_pub_C passC passM

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

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

Однако тут есть недостаток. Что если майнер скажет: А вот хрен с теми деньгами, не дам я тебе пароль! И клиент теряет домен через TTL блоков.

Проблема в том, что по ссылке что я привел описана схема обмена двух равноценных активов. А у нас домен может быть подороже чем операция за него. Что ж теперь, просить залог?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 03, 2012, 06:46:43 AM
Кстати, такое хранилище может существовать и без блокчейна дианы, если некие "правильные" узлы будут фиксировать его изменения в цепи блоков биткоина.
это просто мысли вслух.
Вот "правильные" узлы - это как раз централизация и цензура.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 06:53:13 AM
Не, майнеры таким образом заинтересованы от балды добавлять в "правильную" базу "правильные" записи. В такой схеме без клиентских проверок никуда.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 07:19:40 AM
Ну хорошо. У майнеров итак много привилегий.

Пусть клиент просто тупо создает мультисиг транзакцию 2 из 2.

ы?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 03, 2012, 07:33:56 AM
Не, майнеры таким образом заинтересованы от балды добавлять в "правильную" базу "правильные" записи. В такой схеме без клиентских проверок никуда.
xDD
в биткоине всё так и происходит) Майнеры заинтересованы добавить в блок левую транзакцию (начать свою цепочку блоков). Только нехватка мощи не позволяет.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 07:57:55 AM
Мы ушли от темы.

Чтобы одинаково обезопасить и майнера и клиента, надо или использовать сторонний эскроу, или научить биткоин понимать диану. Третьего не дано.

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

Как деперсонализировать майнера я не знаю.

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

Ато я тут с мельницами по моему сражаюсь.

Заговор? От заговоров есть антимонопольные комитеты."20 Гбит UDP DDOS" называются.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 08:14:49 AM
Пусть параноики чешут на эскроу сервисы. Они как раз будут вскоре созданы для таких случаев, когда подтверждение транзакции требует некоторое неведомое биткоину событие. Типа впечатывание домена в блок дианы.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 08:25:49 AM
Пуллы работают по айпи обычному. И заговоры всегда чреваты утерей электората. Особенно если всколыхнуть общественность.

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

Нездоровый перфекционизм всегда мешает.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 03, 2012, 08:45:39 AM

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 07:42:40 PM

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 03, 2012, 09:02:42 PM

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 03, 2012, 09:08:44 PM
по поводу оплаты:
можно не заморачиваться и предположить, что включённая в блок дианы транзакция была оплачена, переложив полностью ответственность на регистраторов, тем более, что идентифицировать регистратора и проверить его прошлые выплаты не составит труда.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 09:25:03 PM
это атака не для совершения даблспенда, это даже вообще не атака, скорее уязвимость, приводящая фактически к захвату сети.
Если у меня будет более 50% работы всей сети и более-менее приличная мощность (чтобы не сильно отстать по времени), я смогу сгенерировать более длинную цепочку валидных блоков. В итоге конкурентам придётся выполнять на 25 - 30% больше работы (так как их блоки получат статус orphaned).
Даже если уязвимость надуманная, докажите обратное.
Майнеры могут разве что генерировать блоки на холостом ходу, то есть, мерж-майнить домены самим себе, повышая тем самым цену. Но это значит эти домены имеют какую ценность для них. Значит цена повышается. Логично. Заниматься этим в больших масштабах - зачем? Ведь они снизят реальный спрос, а значит их эти активы обесценятся, плюс они станут меньше получать реального бабла за домены.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 09:27:13 PM
по поводу оплаты:
можно не заморачиваться и предположить, что включённая в блок дианы транзакция была оплачена, переложив полностью ответственность на регистраторов, тем более, что идентифицировать регистратора и проверить его прошлые выплаты не составит труда.
Я об этом и говорю, что ответственность на майнерах и чистота ведения бизнеса. Но проверить оплату это не вопрос, транзакция дианы включает в себя ссылку на транзу биткоин. Только если последняя валидна, диановская транза может считаться валидной.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 09:30:36 PM
По поводу стартовой цены, предлагаю сделать кто открыл первый блок в неймспейсе, тот и задает первую цену.

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: panic on March 03, 2012, 09:39:50 PM
есть предложение фиксировать цену купленного домена.
Плюсы: дополнительный интерес к системе со стороны инвесторов/спекулянтов.
Минусы: ...?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 03, 2012, 09:59:09 PM
Не, цена должна находиться в прямой зависимости от спроса, то есть от отношения частоты выхода блоков биткоин к частоте выходов блоков дианы.

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

Price_k = F_bitcoin/F_dianna - 1

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 04, 2012, 03:01:31 AM
Чтобы определить формулу цены, надо:

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

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 05, 2012, 04:26:26 PM
Что то работы скопилось по основной занятости =)

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

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

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

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

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

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

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

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

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

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

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 05, 2012, 05:55:25 PM
Я похоже не до конца понимал принцип работающей версии мержед майнинга.

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

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

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

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 05, 2012, 08:31:06 PM
Да, мухлюют с таймштампами. Но в определенных границах. Там погрешность от десятков минут до пары часов. Что в контексте двух недель особой погоды не делает.

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

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

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

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

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

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 08:18:50 AM
И у нас есть формула поправки цены. Я изобретать велосипед не стал. Взял сатошинскую формулу пересчета таргета. То есть функция вида 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) выглядит так:

http://img204.imageshack.us/img204/4837/kf2.png

Далее, проверяем что 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.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 09:55:39 AM
Ага. Получается чето типа

diana1:bitcoin1
diana2:bitcoin3
diana3:bitcoin5

Если проплата была в bitcoin2, то ищем ближайший меньший блок дианы, то есть diana1.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 10:03:20 AM
Кстати, это все выше идеальная формула. В реалиях там цифру 6 надо заменить на реальную частоту выхода Bitcoin блоков, чтобы перестраховаться наверняка от излишней активности или медлительности сети.

Ну и там будет интегральный расчет, без всяких double'ов. Без бутылки не разберешься.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 10:49:37 AM
Чето уж сильно жеские коэфициенты получаются. Надо брать более либеральную пологую функцию. Не разницы а отношения

K=1/(F/6 - 1)

Получается на промежутке от 9 до 12,5 блоков в час цена вальсирует в пределах 20%.

В общем, Ukigo, пересчитай плз обе

http://img214.imageshack.us/img214/5494/kf3.png


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 11:18:03 AM
Для начала можно просчитать динамику развития неймспейса .bit http://img688.imageshack.us/img688/542/trollfaceq.gif Данные по нему в динамике имеются в блокчейне. Дамп блоков неймкоин доступен через RPC.

Нужны дампы активности доменных операций в формате

блок:таймштамп:кол-во операций с доменами
блок:таймштамп:кол-во операций с доменами
блок:таймштамп:кол-во операций с доменами

кол-во операций это name_firstupdate + name_update


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 12:02:26 PM
Так, я короче гоню. Взял частоту вместо отношения. Получилось все наоборот :)

Счас перепишу формулы.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 01:48:30 PM
А вот теперь правильно, в интегрально-дружелюбном исчислении.

Возьмем время, за которое биткоин вычисляет 2016 блоков как tsBase
Возьмем время, за которое дианна вычисляет 2016 блоков как ts

Тогда коэффициент K будет выражен как

K=tsBase/(ts-tsBase)

График функции K(ts). K становится меньше с возрастанием ts и не позволяет ts достигнуть tsBase (1.21E6)

http://img192.imageshack.us/img192/2373/45265294.png

ts так же можно выразить через частоту блоков в час, если принять биткоиновские данные константами:

F=2016*3600/ts

Это облегчает восприятие предыдущего графика функции. Тогда зависимость K от частоты выхода блоков дианы будет такая:

http://img837.imageshack.us/img837/9278/74392119.png


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 02:21:06 PM
Тогда значит примерно алгоритм nextFeeRequired на языке Ы (деления на ноль не проверял! :) )

Для простоты понимания эту процедуру в диане я назвал тоже ретаргетом. Хотя это репрайсинг =)
Code:
DChain=get_dianna_chain_index(); // Цепь дианы
BChain=get_bitcoin_chain_index(); // Цепь биткоин

tsTgt=60*60*24*14; // Шаг ретаргета биткоин и дианы в секундах (биткоин не ретаргетится по этому значению)
nB=2016; // Шаг ретаргета биткоин и дианы в блоках
lastRetarget=query_dianna_db("last_retarget_height"); // номер блока дианы с последним ретаргетом

Bfirst = BChain[BBestHeight - nB]; // блок последнего ретаргета биткоин
Blast = BChain[BBestHeight]; // последний блок биткоин
Dfirst = DChain[lastRetarget]; // блок последнего ретаргета дианы
Dlast = DChain[DBestHeight]; // последний блок дианы

tsB = Blast->ts - Bfirst->ts; // Сколько времени прошло с предыдущего ретаргета Bitcoin
tsD = Dlast->ts - Dfirst->ts; // Сколько времени прошло с предыдущего ретаргета DIANNA
retarget=0;
if (Dlast->height % nB == 0) retarget = 1; // ретаргет через nB блоков!
if (tsD >= tsTgt) retarget = 1; // ИЛИ ретаргет через tsTgt секунд

if (retarget == 1) :
  // Приводим к общему знаменателю
  tsD *= nB;
  tsD /= Dlast->height - Dfirst->height; // int!!!
  price = Dlast->price * tsTgt; // int64!!!!
  price /= tsD - tsTgt; // int64!!!!
  // Защита от дурака
  if (price > Dlast->price*4) price = Dlast->price * 4;
  if (price < Dlast->price/4) price = Dlast->price / 4;
  query_dianna_db("set_block_retaget_marker",BBestHeight + 1, true);
  return price;
endif

return Dlast->price;


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 02:26:52 PM
это даже проще для меня  :)

А как тогда выразить среднее ожидаемое время нахождения блока дианы в секундах ?

среднее время нахождения блока биткойна я считаю у себя так :
  time = difficulty * 2**32 / hashrate*10**9
то есть трудность и хэшрейт относятся к предыдущему блоку, а время исп. уже для текущего

Представь что сложность берется из текущего биткоин блока. Это почти одно и тоже.

Но диана добавляет к этой сложности еще PDiff (http://dianna-project.org/wiki/Difficulty_addition_percent) %. То есть если Difficulty = 10**6, а PDiff насчитали на 0.1, то блок дианы считается по сложности (10**6 + 10**5), т.е. DiannaDifficulty=Difficulty*(1+Pdiff)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 02:44:01 PM
Пару слов о сложности. Difficulty, это просто такая мера величины для прикида на глаз, т.к. это дабл. А дабл значение не может быть точно выражено в процессорном понимании.

Биткоин оперирует понятием таргет. Это uint256.

Для простоты понимания таргета был введен difficulty=maxtarget/target

Но для тестовых расчетов всяких там ожиданий difficulty годится. Не годится в боевом коде.

Считай мощности биткоин и дианы равны. Как будто оба обладают одинаковыми мощностями. Мержед это предоставляет.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 06, 2012, 02:55:38 PM
Ну коли охота трахаться с uint256, то валяй =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 07, 2012, 03:44:34 PM
Мне кажется ты зря мучаешься с эмуляцией биткоин цепи. В биткоин итак все понятно. Bounty=50, sum(txfee)-->0

Можно просто взять данные развития неймкоин с апреля 2011 по сей день.

далее из неймкоин вытянуть такую таблицу:

block_id:block_timestamp:num_ops
block_id:block_timestamp:num_ops
....
block_id:block_timestamp:num_ops

Далее, создаем 1 блок дианы (считаем 1 неймспейс) датой 1 блока неймкоин с одной транзакцией и стартовой ценой, скажем, 0.01 BTC.

Потом, исходя из таблицы неймкоин, создаем другие блоки. Их expectation time будет на PDiff % больше, чем у биткоина, то есть в среднем 10+10*PDiff минут. Создаем их так, чтобы виртуальным кастомерам не приходилось ждать более суток апдейта. Делаем репрайсинг и т.п.

Хотя мне чето кажется все равно это не реально будет. У неймкоин домены были сначала дорогие, счас вообще халява, спама полно. К тому же оборот по диане начнет влиять на курс USD/BTC, а этого мы не можем рассчитать.

Например, если биткоин вдруг взлетит до 100 USD, а цена дианы была 0.5 BTC, то никто не захочет за 50 баксов апдейтить домен. Спрос упадет, за ним и цена дианы до приемлимого уровня.

В общем тут есть взаимные влияния, которые трудно рассчитать.

Надо если рассчитывать, то предполагать что курс USD/BTC фиксированный. Что биткоин блоки выходят каждые 10 минут на одинаковой сложности. Тогда расчет какой то вменяемый получится. Обратные связи в системе скомпенсируют эти допущения в реале.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 07, 2012, 05:13:59 PM
Время в блоках, цены в коинах. Да. А как по другому?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 07, 2012, 06:24:36 PM
Время в блоках -- это разумно
Дык я и не шучу -- не стоит беспокоится слишком много о курсе к $
через пару лет в Америке все равно дефолт будет

завтра понастраиваю свою беду
может у тебя еще какие варианты формулы цены есть ?
я бы их заодно попробовал


За курс точно не стоит беспокоиться, т.к. есть обратная связь. Если курс подскочил, получается подскочила и цена. Клиенты сказали "данунах" и спрос упал. Значит упало количество блоков в промежуток времени. Значит, цена будет вскоре пересчитана в меньшую сторону.

И наоборот.

Так что обратка есть, все нормально.

Вариант формулы изменения цены окончательный. Может еще просто лимиты K подправить надо будет. Сейчас 0.25 <= K <= 4

http://dianna-project.org/wiki/Domain_Transaction_Fee


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 07, 2012, 08:14:58 PM
Я подумал, а может же быть DDoS такой, что один майнер будет майнить по 1 транзакции на почти минимальной сложности биткоина и может завысить цену до потолка, не теряя ничего при этом? Может.

А мы тогда будем привязывать блок дианы не к предыдщему PARENT блоку, а непосредственно к нему.

То есть, PARENT блок Bitcoin должен быть включен в официальную цепь bitcoin. Только тогда блок DIANNA будет принят системой.

Сложность DIANNA всегда больше сложности Bitcoin. Значит любой подошедший PARENT-блок биткоин имеет немало шансов попасть в мейнстрим. Это еще больше повышает безопасность системы.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 07, 2012, 08:57:56 PM
Описал структуру доменной транзакции http://dianna-project.org/wiki/Domain_Transaction#Syntax
Описал логику Transaction Fee http://dianna-project.org/wiki/Domain_Transaction_Fee


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 08, 2012, 12:12:57 AM
Описал возможные операции с доменом http://dianna-project.org/wiki/Domain_Transaction#Domain_operations
Переделал описание блока, описал синтаксис http://dianna-project.org/wiki/DIANNA_block#Syntax


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 08, 2012, 01:22:43 AM
Описал детали имплементации мержед майнинга в DIANNA http://dianna-project.org/wiki/Merged_Mining


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 08, 2012, 03:19:48 AM
Очередное изменение, ногами не бить :) Формула цены не была окончательной :)

Репрайсинг теперь происходит базируясь не на частоте блоков биткоин, а на пред-предыдущей частоте блоков DIANNA. То есть базируясь на частоте двух последних чекпоинтов репрайсинга. По этому цена гуляет в какую хош сторону и ищет свое значение, значение PDiff и частоту блоков, которая бы устроила данный неймспейс. Во!

http://dianna-project.org/wiki/Repricing_procedure

Если в цепи не было активности в течении последнего "bitcoin-года", цепь уничтожается (http://dianna-project.org/wiki/DIANNA_Block_Chain#Truncating_chain).

Это реально ТруЪ получился. Каждый неймспейс будет иметь свой адекватный прайс, и свою адекватную частоту появления блоков.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 08, 2012, 06:10:53 AM
Цена сдирается за полный или неполный килобайт, точнее 1000 байт. А пдифф считается по сумме таких сдираний.

Цена операции равна прайсу в простом случае, когда значение не больше килобайта.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 06:47:01 AM
А что ты вообще считаешь? Какие исходные данные? Какой первый блок? Сколько он генерируется?

Quote
замена умножения на сложение приводит к плавному росту цены в облака

Кгхм. Ну ессесно. К - это не цена, это нельзя добавлять.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 06:53:20 AM
Мои комментарии по поводу tru

Code:

def reprice(h):
    if h == 0:
        return old_price
    n_prev = h - check_prev
    n_preprev = check_prev - check_preprev
    ts_prev = times[h-1] - times[check_prev]
    ts_preprev = times[check_prev] - times[check_preprev]
    koef = (ts_preprev * n_prev)/(ts_prev * n_preprev+333) # division by zero !!!
    price = old_price * koef
    return price

Во-первых, нет никакого деления на ноль:
Code:
 if n_prev == 0 and n_preprev == 0:
     return old_price/4;
 if n_prev == 0:
     return old_price/4;
 if n_preprev == 0:
     return old_price*4;

Во вторых, s/+333//g, это оч большой костыль.

В третьих,
Code:
if price > old_price*4:
 price = old_price*4;
if price < old_price/4:
 price = old_price/4;

В четвертых, у тебя питон воспринимает koef как integer, а не float. То есть дробную часть откидывает. Я не очень дружу с питоном, но вот это исправило ситуацию

Code:
   koef = float(1)
    koef = koef * ts_preprev/ts_prev
    koef = koef * n_prev/n_preprev

В-пятых, скорость появления блока < 600 секунд маловероятна.

Code:
return int(times[b-1] + winestim + random.randrange(1, 90))

Впрочем, это не важно, можешь оставить -130 .. 130

В шестых, вот этот кусок кода надо сделать вот таким образом:
Code:
  if ((z - check_prev) % 2016 == 0):
       checks.append(z)
       print "==checkpoint by blocknum"
       new_price = reprice(z)
       check_preprev = check_prev
       check_prev = z
    else: ###### !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       if ((times[z]-times[check_prev]) >= 1209600): ##### !!!!!!!!!!!!!!!1
          checks.append(z)
          print "==checkpoint by time: span=", times[z]-times[check_prev], " (tgt: 1209600)"
          new_price = reprice(z)
          check_preprev = check_prev
          check_prev = z

ИТОГО:
Code:
#!/usr/bin/env python

import time, sys, random

random.seed(time.asctime())
#print random.randint(1,77)

last = 200000

winestim = 600

check_prev = 0
check_preprev = 0

prices = []
checks = []
times = []

deltas = []


start_price = 0.02


def set_time(b):
    if b == 0:
        return 1370000000
#    print times[b-1] + winestim + random.randrange(-130, 130)
    return int(times[b-1] + winestim + random.randrange(1, 90))
#    return int(times[b-1] + winestim + 30)


def reprice(h):
    print "=====checkpoint @", h
    if h == 0:
        return old_price
    if h == 2016:
        return old_price
    n_prev = h - check_prev
    n_preprev = check_prev - check_preprev
    if n_prev ==0 and n_preprev ==0:
        return old_price/4
    if n_prev == 0:
        return old_price/4
    if n_preprev == 0:
        return old_price * 4;
    ts_prev = times[h-1] - times[check_prev]
    ts_preprev = times[check_prev] - times[check_preprev]
    print "check_prev=",check_prev," check_preprev=",check_preprev
    print "nprev=", n_prev, " npprev=",n_preprev
    print "tsprev=", ts_prev, " tspprev=",ts_preprev
    koef = float(1)
    koef = koef * ts_preprev/ts_prev
    koef = koef * n_prev/n_preprev
    print "k=",koef
    price = old_price * koef
    if price > old_price*4:
        price = old_price*4
    if price < old_price/4:
        price = old_price/4
    print "old=", old_price," new=", price
    return price


old_price = start_price

for x in range(0, last):
    times.append(0)

for z in range(0, last):
    times[z] = set_time(z)
#    if z !=0:
#       print "Block #",z," time=", times[z], "diff=", times[z]-times[z-1]
    if z < 2016:
        continue

    if ((z - check_prev) % 2016 == 0):
       checks.append(z)
       print "==checkpoint by blocknum"
       new_price = reprice(z)
       check_preprev = check_prev
       check_prev = z
    else:
       if ((times[z]-times[check_prev]) >= 1209600):
          checks.append(z)
          print "==checkpoint by time: span=", times[z]-times[check_prev], " (tgt: 1209600)"
          new_price = reprice(z)
          check_preprev = check_prev
          check_prev = z
    if new_price != old_price:
        old_price = new_price
        print "====== repricing ======="
        print "price =", old_price, "at block #", z
        prices.append(old_price)
print
print "min & max prices were =", min(prices), max(prices)
print
print "checkpoints were : "
print
print checks
print


РЕЗУЛЬТАТ при равномерном распределении спроса (random) и стартовой цене 0.02, за 200к блоков
Code:

min & max prices were = 0.0200060868679 0.0211689919176

checkpoints were :

[2016, 3892, 5768, 7644, 9521, 11396, 13272, 15147, 17024, 18901, 20774, 22648, 24526, 26401, 28277, 30151, 32030, 33905, 35779, 37655, 39530, 41406, 43283, 45157, 47033, 48907, 50783, 52659, 54534, 56410, 58289, 60167, 62043, 63918, 65792, 67671, 69543, 71419, 73297, 75173, 77051, 78927, 80804, 82682, 84558, 86435, 88311, 90189, 92064, 93938, 95815, 97689, 99567, 101444, 103317, 105193, 107067, 108946, 110822, 112700, 114577, 116455, 118330, 120207, 122080, 123958, 125833, 127709, 129581, 131458, 133332, 135209, 137086, 138963, 140838, 142715, 144592, 146466, 148345, 150225, 152100, 153975, 155850, 157726, 159601, 161479, 163356, 165233, 167109, 168985, 170861, 172738, 174616, 176490, 178367, 180245, 182120, 183996, 185869, 187739, 189618, 191496, 193370, 195244, 197122, 198997]

Цена гуляла в течении 4 лет аж в пределах 10%. Но это без обратки. "Общественность" в виде функции random не "возмущалась" по поводу скачка цены, понижая спрос :) И вообще цена random() устраивала похоже :) По этому наблюдался стабильный рост.

Полный лог http://pastebin.com/2TvsE3pJ


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 08:40:19 AM
Рост цены в 10% за 4 года при псевдо-равномерном распределении я связываю с тем, что где то допущена ошибка в расчете блок-фрейма. Где то откуда то надо вычесть единицу в общем в индексе =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 08:50:12 AM
Во. Пофиксил.

Code:

--- diatest.old 2012-03-09 10:12:03.000000000 +0200
+++ diatest     2012-03-09 10:56:24.178976763 +0200
@@ -9,8 +9,8 @@
 
 winestim = 600
 
-check_prev = 0
-check_preprev = 0
+check_prev = 1
+check_preprev = 1
 
 prices = []
 checks = []
@@ -32,12 +32,12 @@
 
 def reprice(h):
     print "=====checkpoint @", h
-    if h == 0:
+    if h <= 1:
         return old_price
-    if h == 2016:
+    if h <= 2017:
        return old_price
-    n_prev = h - check_prev
-    n_preprev = check_prev - check_preprev
+    n_prev = h - check_prev - 1
+    n_preprev = check_prev - check_preprev - 1
     if n_prev ==0 and n_preprev ==0:
        return old_price/4
     if n_prev == 0:
@@ -45,7 +45,7 @@
     if n_preprev == 0:
        return old_price * 4;
     ts_prev = times[h-1] - times[check_prev]
-    ts_preprev = times[check_prev] - times[check_preprev]
+    ts_preprev = times[check_prev-1] - times[check_preprev]
     print "check_prev=",check_prev," check_preprev=",check_preprev
     print "nprev=", n_prev, " npprev=",n_preprev
     print "tsprev=", ts_prev, " tspprev=",ts_preprev
@@ -67,11 +67,11 @@
 for x in range(0, last):
     times.append(0)
 
-for z in range(0, last):
+for z in range(1, last):
     times[z] = set_time(z)
 #    if z !=0:
 #      print "Block #",z," time=", times[z], "diff=", times[z]-times[z-1]
-    if z < 2016:
+    if z < 2016 or (times[z] - times[1]) < 1209600:
         continue
 
     if ((z - check_prev) % 2016 == 0):

Результат: при равномерном распределении спроса (random) и стартовой цене 0.02, за 200к блоков
Code:
min & max prices were = 0.0199220322999 0.0200676816951

checkpoints were :

[2016, 3907, 5800, 7692, 9586, 11486, 13373, 15262, 17154, 19048, 20941, 22834, 24727, 26623, 28515, 30409, 32301, 34193, 36088, 37980, 39867, 41759, 43651, 45539, 47432, 49321, 51212, 53102, 54992, 56885, 58777, 60667, 62562, 64455, 66347, 68239, 70131, 72025, 73913, 75804, 77695, 79586, 81478, 83367, 85260, 87153, 89043, 90934, 92824, 94714, 96606, 98494, 100386, 102276, 104167, 106059, 107950, 109842, 111737, 113630, 115522, 117414, 119306, 121200, 123090, 124985, 126876, 128766, 130657, 132548, 134438, 136333, 138226, 140121, 142012, 143904, 145797, 147690, 149583, 151476, 153369, 155262, 157153, 159046, 160937, 162828, 164721, 166609, 168503, 170396, 172287, 174176, 176067, 177960, 179855, 181745, 183635, 185525, 187419, 189312, 191200, 193091, 194982, 196875, 198770]

http://pastebin.com/8UDWrXfp

0.78% изменение за 4 года. Вполне себе ничего для рэнда. Удивительная стабильность в наше то время =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 09:16:08 AM
Пусть будет 42000 блоков.
Примерно год при нормальной активности.

Но у каждого неймспейса будет своя оптимальная частота блоков. То есть у одних это будет год, у других 10 лет... Непорядок =) Говорю ж, ттл надо в биткоин блоках считать. Раз уж у нас есть маппинг соответствия одних блоков другим...

Пусть тогда будет в биткоин блоках, 52560 (6x24x365).


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 09:27:54 AM
Теперь смотри. Иммитируем спонтанный фазовый переход системы.

Допустим в районе блока 15000 с неймспейсом что то произошло и спрос резко упал, то есть блоки стали выходить стабильно реже. Как отреагирует система?

Иммитация ситуации. После блока 15000 замедляем выход блоков.
Code:
def set_time(b):
    if b <= 1:
        return 1370000000
    if b < 15000:
        return int(times[b-1] + winestim + random.randrange(-10, 90))
    else:
        return int(times[b-1] + winestim + random.randrange(200, 1000))

Результат:
Code:
чекпоинт K новая_цена
13372 0.99902716676 0.0199641703093
15140 0.935328976233 0.0186730669768
16153 0.572426654024 0.0106889612499
17155 0.989222036231 0.0105737560128
18158 1.00095017004 0.010583802879


min & max prices were = 0.0105674481166 0.0199923549873
Спустя 1 чекпоинт цена адекватно просела и больше особо не изменялась! Блоки стали выходить гораздо реже. То что надо.

http://pastebin.com/0091kP6R


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 09:33:39 AM
Так ты хочешь для ВСЕХ неймспейсов сделать одинаковый TTL или для каждого свой ?

Но для тестов мы пока используем как бы один неймспейс
То есть TTL примерно один год в обычном выражении, так ?
Я то хочу взять цену исходя из доходов в $  ;D

И сделать прогоны с разной нач ценой , скажем 5$/год , 10$/год и 15$/год

Для всех одинаковый.

Это возможно посчитать только учитывая все обратки:
- воздействие спроса на price
- воздействие оборота по DIANNA на курс USD/BTC

то есть только на практике

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 09:48:43 AM
Думаю сделать domain просто набором байт до 64 байт. Система интерпретирует при внутреннем поиске этот набор не как строку, а как просто байты.

Что в эти байты пихать - юникод или ASCII - решать имплементаторам.

Если это доменное имя mydomain.dia.i2p, то domain здесь будет "mydomain". Регистратор должен положить этот домен в lowercase в базу. И искать домен нужно, предварительно преобразовав  строку поиска в lowercase.

Ну это в общем выбор за неймспейсами и их днс клиентами.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 09, 2012, 10:04:52 AM
О формате представления данных в базе 'имя -> информация о домене' есть какие-то наработки? может что готовое?

Для обычных доменов как минимум нужна поддержка метасимвола * (*.mydomain.diana), много IP на домен (плюс географическая привязка), в т.ч. алиасы в другие сети/цепочки... может еще что, я просто не в курсе в текущих веяниях DNS в Интернет.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 10:38:28 AM
О формате представления данных в базе 'имя -> информация о домене' есть какие-то наработки? может что готовое?

Для обычных доменов как минимум нужна поддержка метасимвола * (*.mydomain.diana), много IP на домен (плюс географическая привязка), в т.ч. алиасы в другие сети/цепочки... может еще что, я просто не в курсе в текущих веяниях DNS в Интернет.

Если ты имеешь в виду семантику <VALUE> домена, то глянь сюда:

http://dianna-project.org/wiki/Namespace

Это тоже дело имплементаторов - что туда пихать и в каком формате.

Конкретно для твоего случая отвечаю.

Допустим, TLD .diana соответствует неймспейс 100. Есть какая то страничка в вики для этого неймспейса с RFC-подобным описанием, что именно и в каком формате должно содержаться в <VALUE>. Может быть это будет даже RFC. А может у неймспейса будет свой сайт. Вариантов много.

Ладно, не буду грузить вариантами, перейду к конкретике. Значит в этом неймспейсе домен mydomain.diana будет иметь имя "mydomain".

Я так понимаю, если речь идет об централизованном IP, то будет использоваться традиционная схема DNS. А значит домен "mydomain" будет иметь <VALUE>:

Code:
@ IN NS ns1.hosting.com. ; @ IN NS ns2.hosting.com.;

А уже на этих NS'ах будет стоять бинд и расчехлять всякие вайлдкарды *.mydomain.diana => IP,IP,IP

Другой пример - децентрализованная I2P с TLD .dia.i2p и доменом mail.dia.i2p, которому будет соответствовать дестинейшин хеш.

Для I2P будет неймспейс 1, в нем будет запись с именем "mail" и значением:
Code:
Y~V8YK2M-my6-Gw0lkrkJouxeqPuB03idp-4uT9pkIXCA5nki9m4YFfPObSPv0E7c2shBxwlUo-6beaRQ-7tCawJssDRc0C0PhRj12QUYYdtZP7JS8SQXy68gZIylY-wfyEXleIC4mYY5mSthhdUUfyo1lqzrdHc1NpjPBxRJcyMBFBGUeM7Of9E9M518jXpVl0bAmxSnr5dy7sgKAVNufzfqIBfEHnmL2ZYH78FoGnPybsV0F9~154emkmt89ZUbx0BuYvH3kT1zin8pSxKw1NqxvqYt7p8CElq1--U38rO9U5Y~kLB9f6F3RYJdkl28ANkvdgJUgqiHLVI5oPWATrJLAOokyGKhK4Xl4Bjp4SCuemxHwTOGyd-4Kl8cO41u3w1LksndX9stkV6U1X0gL9BeSIoa1997IgMLVbUiDMyCz7-cA0y2tc0EdQdlpc2y77nTdo7z23dMSJzWDXsrfmLhX7M24D70htLLc1dpwZ1BUEvM1uPqGfsBSrHdl-sAAAA

Именно этот дестинейшин хеш сейчас соответствует хосту mail.i2p

Однако он содержится в файле hosts.txt конфиг директории i2p, навязан разработчиками, ничем не подписан и не авторизован.

И получится у нас вот такая вот штука: http://i2psupport.org/ (с чего все началось собсно)

http://i2psupport.org/images/sopa12.jpeg

Только я рисовал это для неймкоин :) будет mywebsite.dia.i2p или mywebsite.tor =)

Это будет бомба. Форк Интернет без контроля и границ. Никто не сможет вычислить и закрыть сайт, а серфинг по таким сайтам станет удобным и понятным. Полная криптоанархия!


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 11:13:22 AM
Для централизованных IP сетей тоже будет полезно забить себе какой то namespace и объявить его как TLD .diana, как верно подметил rpMan.

Почему?

Потому что вот эта запись, которая будет храниться в DIANNA:

Code:
@ IN NS ns1.hosting.com. ; @ IN NS ns2.hosting.com.;

вообщето сейчас эта запись хранится на рутовых корневых серверах IANA/ICANN. И все эти сервера расположены в США. Лишь зеркала по миру раскиданы.

В последнее время до амеров начало доходить, что эти сервера вообще то стоят у них и они имеют власть затереть любую такую запись на основании SOPA/PIPA запроса. Мол, сайт что то там нарушает.

Явный пример беспредела:

http://www.megaupload.com/

Зайдите и убедитесь что может быть с каждым сайтом.

Так вот нехер хранить такие записи на центральных серверах =)

Конечно, по IP могут прикрыть, но можно ведь переехать. Домен то не потеряешь - он в цепи DIANNA. А там его не так то просто выпилить.

Но вообще всю эту кашу я специально для I2P заварил =) Там реально ТруЪ получится.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 11:45:00 AM
Мой на Ы устарел. Этот почти верный, насколько я могу судить невыспавшимся мозгом.

Надо усложнять скрипт.

Ввести функцию создания блока. Она будет добавлять транзакции, считать общую их цену, вычислять PDiff. Время появления такого блока будет рассчитываться исходя из BitcoinDiff + PDiff*BitcoinDiff и текущего хешрейта сети биткоин (допустим он постоянный).

Когда складываем транзакции, для упрощения берем их цену из текущего блока.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 12:02:46 PM
Ну нормально =)

Надо ввести еще функцию жадности майнеров. Это какая то обратная парабола вероятности от PDiff, означающая что майнер запустить блок в сеть.

То есть, например на значениях PDiff ~10% высчитать блок не проблема. Вероятность хорошая. Больше - геморой с расчетом. Меньше - жаба давит.

То есть функция майнерской жадности пусть будет выглядеть так:

p(PDiff)=100 - 4*(PDiff*100-10)^2

http://img802.imageshack.us/img802/701/graph1v.png

Только Pdiff сюда передается не в процентах, а так, float.

Фунrция возращает вероятность от 0 до 100 что данный блок с данным PDiff будет запущен в майнинг. А значит он выйдет через

time = BitcoinDiff*(1+PDiff) * 2**32 / hashrate

BitcoinDiff,hashrate брать текущие, считать их константами.

И поехали. Добавляем транзакции в блоки, выпускаем блоки, делаем репрайс и т.п.

Таким образом мы сэмулируем поведение майнеров. Оно довольно предсказуемо =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 12:45:18 PM
Ну и последнее, нам надо сэмулировать спрос. А вот тут сложнее.

Предположим что курс BTC фиксированный. И рядового юзера устраивает цена $0.1 = 0.02BTC.

Предположим, спрос будет в виде SQRT фукнции, в зависимости от номера блока:

num_transactions(num_block)=10*sqrt(5*num_block)

http://img849.imageshack.us/img849/5006/graphk.png

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

Тогда надо ввести функцию, описывающую довольство клиентов. Очевидно коэффициент довольства будет равен 1 при цене в 0.02BTC. При цене ниже, коэфициент довольства будет резко увеличиваться. Если выше - резко падать.

То есть, если предположить что p=price/base_price (base_price=0.02), то довольство будет

dov(p)=2^(2*(1-p))

http://img43.imageshack.us/img43/4007/graph3m.png

Тогда количество транзакций на блок с номером N будет

NumTrans(N,price)=num_transactions(N)*dov(price/0.02)

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 12:52:55 PM
Ukigo, сделай плз эти все вещи ) Я погляжу код и запустим эмулятор. Надеюсь я все учел. Не учел только влияние оборота дианы на курс биткоина. А оно будет.

Короче потом сэмулируем влияние на курс. Это тоже не сложно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 01:57:17 PM
Смотри. Пусть транзакции у нас по 0.1 BTC.

Тогда если майнер возьмет 50 транзакций, то его PDiff (http://dianna-project.org/wiki/Difficulty_addition_percent)=50*0.1/50=0.1 (или 10%)

Теперь смотри на обратную параболу. 10% соответствует вероятность 100%:

p(0.1)=100 - 4*(0.1*100-10)^2=100%

Значит этот блок выйдет через (BitcoinDiff*1.1 * 2**32 / hashrate) секунд.

Если майнер взял 60 транзакций, то Pdiff уже 60*0.1/50=0.12 (12%)

p(0.12)=100 - 4*(0.12*100-10)^2=84%

Значит, запускаем rand(0,100). Если 0 <= rand(0,100) <= 84, то блок выйдет через  (BitcoinDiff*1.1 * 2**32 / hashrate) секунд. Если нет, то повторяем процедуру через 600 секунд.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 02:05:18 PM
Но вообще это выглядеть будет так.

Существует буфер, куда добавляются "заказы" каждый раз в 600 секунд по функции NumTrans(N,price)=num_transactions(N)*dov(price/0.02), где N - номер "раза".

Из этого буфера майнер забирает транзакции в блоки.

Он должен набрать транзакций на PDiff~=10%. Тогда он выпускает блок. Если он не может выпустить блок по причине недостатка транзакций, он пытается его выпустить с вероятностью

p(PDiff)=100 - 4*(PDiff*100-10)^2

Если же он "перебрал" транзакций из буфера, то он тоже пытается выпустить блок с этой вероятностью.

То есть система "шагает" шагом в 600 секунд. Каждый шаг наполняет буфер транзакций по функции. И каждые 600 сек принимается решение о выпуске блока дианы
(если предыдущий успел рассчитаться).


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 02:10:42 PM
Хотя нет, в сад жаность майнера. Пусть делает что делает.

Сколько набрал из буфера - по такому PDiff и посчитал блок и выпустил его через соотв. количество секунд time = BitcoinDiff*(1+PDiff) * 2**32 / hashrate

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

Посмотрим как система сожрет такой SQRT спрос =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 09, 2012, 02:22:44 PM
ну вроде да


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 04:23:13 AM
Так, корректировка.

Значит спрос у нас будет такой:

sqrt(5*x)

Где x = шаг в 10 минут

http://img259.imageshack.us/img259/999/graph4.png

Довольство клиентов будет измеряться более простой функцией

good_price/price

При good_price=1 вот такое довольство будет

http://img191.imageshack.us/img191/9040/graph5te.png

Еще довольство будет зависеть от скорости выхода блоков. Ведь если блок выходит раз в неделю, то кому это надо, правильно?

Допустим, 5 часов - терпимый промежуток выхода блоков

43200/blktime

http://img851.imageshack.us/img851/5023/graph6.png

Тогда функция спроса будет такая

Code:
def num_domain_trans(step, prc, blktime):
    return sqrt(5*step)*(start_price/prc)*(43200/blktime) ## changed coeff. 10 --> 2 !!!

Я чесно не подгоняю ничего, я просто ввожу какие то адекватные обратные связи вида 1/x
Погоняем на другом спросе потом

Значит эмулятор будет такой
http://pastebin.com/HeP3kQKV

Получается вот что
http://dianna-project.org/c/diaemu.log


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 04:50:11 AM
Получается такое

Шаг на графике - 10 минут. Т.е. если step=100, то это 1000 минут. step типа время.

Время нахождения блока
http://dianna-project.org/c/dia-blocktime.png

Транзакций на блок
http://dianna-project.org/c/dia-numtx.png

Цена транзакции
http://dianna-project.org/c/dia-price.png

Доход майнеров на блок
http://dianna-project.org/c/dia-fees.png


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 05:31:36 AM
Оформил в вику http://dianna-project.org/wiki/Calc_1


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 05:47:59 AM
Ты шагал блоками дианы, а я шагаю блоками биткоин - почти реальным временем.

TTL я думаю будет измеряться в блоках биткоин. У нас же есть соответствие.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 05:57:32 AM
Ну можно еще погонять на другом спросе, на других ожиданиях кастомеров.

Ну а вообще по моему можно уже кодить. Мне надо только с текущей работой разгрестись.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 06:10:10 AM
Можно на экспоненте, только реальной какой то. Или просто наполнять буфер реальными данными неймкоин.

Ну и ожидание блока на час поменять.

Кодить думаю на яве. Там есть гугловский BitcoinJ и protobuf.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 06:27:52 AM
Надо будет взять какой то подходящий и перепилить.

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

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 08:51:42 AM
Не вижу проблем с переходом на Bounty=25 BTC

В районе шага 30к переходим на 25 BTC

Code:
bounty=50.0

for z1 in range(1, last):
    if z1 == 30000:
        bounty=25
#bla-bla
    pdiff = domfee/(bounty + bitcom)

Что с ценой?

http://img338.imageshack.us/img338/6305/diaprice2.png


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 09:30:24 AM
Какая разница, какой bounty, какой trfee, какая стартовая цена?

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

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

43200/blktime

А по чето вроде

Code:
1                                                   if blktime < expected_blocktime
2**(1 - blktime/expected_blocktime) else

То есть, если блоки выходят с временем < ожидаемого, то все впорядке. А если больше, начинается экспоненциальное падение спроса.

Прально я говорю? А то предыдущая формула спрос взвинтила только потому что блоки выходят чаще чем требуется.

Code:
def num_domain_trans(step, prc, blktime):
    k1=1.0*(start_price/prc)
    k2=1.0
    if (blktime > 43200):
        k2=2**(1 - blktime/43200);
    return sqrt(5*step)*k1*k2


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 10:08:52 AM
Все таки, если в процессе происходит какой то фазовый сдвиг (Bounty 50 -> 25) например, система очень плохо стабилизируется, по графикам видно. С ценой то более-менее, а вот с остальным плохо - шатает во все стороны. В правильном направлении, но уж очень шатает.

И вообще, чет надоело мне в питоне это все считать и в маткад перекидывать. Счас буду в маткаде считать непосредственно.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 10:24:24 AM
Я вообще сразу не заметил но вот это вот плохо

http://dianna-project.org/c/dia-blocktime.png

Шатает очень нехило. В правильном направлении, но нехило.

Думаю дело не в pdiff, просто надо к какому то реальному показателю времени репрайсинг привязать. К степу например.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 11:03:18 AM
Это естественно что шатает -- но это редкое событие раз в 210000 блоков
Но да можно формулы подкрутить чтобы переход был плавнее
Дело не в том что редкое. А в том, что его шатнуло раз и дальше пошел раскач. Незатухающий.

Сейчас формула пересчета цены Fprev/Fpprev

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

Если мы будем считать Fprev/Fbitcoin, привязываясь, то это форсанет систему держать выход блоков в строгих рамках. Но активность в немспейсах может быть разная. А оно будет форсировать определенную активность. Таким образом, шатать в таком случае будет цену.

Как быть?


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 10, 2012, 12:00:38 PM
Когда происходит резкий скачек значения Fprev/Fpprev, то оно дальше не затухает. Идет "гармошкой": медленный-быстрый-медленный-быстрый и т.д.

Надо ввести затухающий фактор в это выражение.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 11, 2012, 12:11:55 PM
Да полностью левый эмулятор. Я его гоняю, поражаюсь.

То что цену шатало, это я пофиксил. Там формула Fprev/Fpprev, Только Fpprev это частота двух последних чепоинтов, а Fprev - частота только последнего. Тогда нормально затухает.

При чем функция затухания зависит от k_max (макс изменения цены). Сейчас 1/k_max < k < k_max, k_max=4. Это значение должно быть больше двух (Fprev/Fpprev), чтобы затухание шло и цена стабилизировалась.

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

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

Где золотая середина?

Эмулятор очень кривой.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 11, 2012, 12:33:32 PM
Я даже на перле его переписал, все не то.

оффтоп

Настроение херня, на бирже сегодня не повезло.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 11, 2012, 12:41:23 PM
По-моему  лучше сначала встроить туда автоматическое изменение баунти
как оно должно идти 50 25 12.5 и т.д.
адаптировать формулы чтобы система справлялась с изменением баунти достойно
а потом уже добавлять устойчивость ко всяким тяжелым ситуациям
так оно будет проще и быстрей
С баунти нормально он справляется. Дело не в этом. А в том, что процесс выхода блоков несовершенный.

Не так он эмулирует, как в реале будет происходить. На майнера транзакции раз в 600 секунд не обрушиваются.

Наверно надо буфер убрать.

И формулу К новую я озвучил.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 12, 2012, 02:56:58 PM
Цены нельзя фиксировать на цифрах. Все может меняться, при чем кардинально. Цену надо фиксировать только на работу. А это делает формула PDiff.

Количество транз тоже нельзя фиксировать. Система подстраивается под них с помощью репрайса.

Вообще ничего нельзя фиксировать. Ну разве что вот K_min/K_max, который не позволит расшатать систему какими то резкими фазовыми переходами.

Я не вижу изъяна в формулах. Я вижу изъян в эмуляторе =) Все происходить будет совсем не так. И то эмулятор показывает правильные тренды.

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

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

Поскольку Диана требует от каждого блока присутствия парента в менйстриме биткоин, чтобы серъезно нагрузить неймспейс Дианы, надо обладать серъезной мощностью от 30% биткоина. И то, это длительный и неблагодарный труд с непонятными перспективами. Не лучше уж использовать его во благо, в прямой себе профит?

Неймспейсы уязвимы к атакам на начале. Да. Но вообще то их 4 миллиарда, а столько неймспейсов 1 клиент обслуживать и мониторить не в состоянии. 1 неймспейс это минимум 10 TCP сессий. Памяти не хватит даже у хорошего компа чтобы видеть что происходит хотя бы в тысяче неймспейсов.

Собрался народ, решил открыть неймспейс. Собрали денег, заплатили майнеру, он высчитал первый блок по 2х сложности. Если плохой дядька с большой мощностью узнал номер этого нейспейса и решил напакостить, он это будет делать долго. А пока он это делает, можно забить другой неймспейс пока злой дядька сражается с мельницами =)

Намайнить миллиард транзакций? Удачи. Каждый блок должен иметь парента в мейнстриме биткоин. Значит майнер может намайнить столько блоков дианы от общего числа, сколько у него мощности от общей мощности биткоин.

В количествах транзакций на блок майнер тоже ограничен. Цена в блоке фиксирована. Чем больше сумма транзакций, тем больше PDiff, тем больше время расчета блока. Я не знаю, сколько майнер будет считать хотя бы миллион транзакций на начале. Очень долго =) Достаточно долго, чтобы народ увидел что неймспейс засран и свалил в другой неймспейс. А значит все труды майнера в /dev/null.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 12, 2012, 03:20:29 PM
Еще смешная идея выкристаллизовалась - создатель неймспейса определяет формулу (формула определяется в корневом блоке).

Ошиблись, после развития системы в формулах.. не стоит ломать и корежить исходники заглушками if(nuBlock>23456) doNewCoolFormula(...), а просто сдеали форк в соседний неймспейс (ну это я загнул).


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 12, 2012, 03:24:27 PM
Формулу репрайса и pdiff на скриптовом языке? ) Хм =)


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 12, 2012, 03:49:17 PM
Биткоин никоим образом не обеспечивает безубыточность работы майнеров. И ничо.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: rPman on March 13, 2012, 06:56:07 AM
В чем заключается атака на неймспейс? данные хранятся в DHT - на узлах памяти требуется логарифм, запарятся атаковать, обрабатывать неймспейс - добровольное дело каждого майнера, желаешь обрабатывать - вперед


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 13, 2012, 08:11:26 AM
В чем заключается атака на неймспейс? данные хранятся в DHT - на узлах памяти требуется логарифм, запарятся атаковать, обрабатывать неймспейс - добровольное дело каждого майнера, желаешь обрабатывать - вперед
Наиболее вероятная атака - атака на повышение цены. Просто сидеть и майнить блоки неймспейса, пусть с одной транзакцией, до посинения.

Однако:
1. Возможности атакующего ограничены его хешрейтом по отношению к хешрейту биткоин. Каждый его намайненый блок должен иметь реального парента в цепи биткоин. Чтобы реально насрать, надо иметь 100% мощности сети биткоин.
2. В таком случае частота блоков скакнет на величину прироста частоты блоков при следующем репрайсе (макс в 4 раза), т.е. примерно на отношение паразитной активности к активности неймспейса
3. Однако и останется на этом уровне после этого. Чтобы еще раз ее повысить в 4 раза при следующем репрайсе, надо будет увеличить свою же мощность в 4 раза.
4. Цена начнет приспосабливаться к текущим реалиям, постепенно снижаясь до приемлемого в неймспейсе значения. Атакующий грызет локти.
5. Когда атакующего попустит, будет обратный скачок в другую сторону, после чего цена опять вернется на приемлемые значения.

Sybil атака на дхт я думаю не будет возможна, т.к. метаданные дхт (хидеры) хранятся у каждого.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 13, 2012, 10:17:03 AM
Надеюсь он все таки появится.

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


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 13, 2012, 01:15:33 PM
Кто нибудь может запустить IRC бота нормального на канал #dianna @freenode?

Надо нормальный канал сделать и там общаться. А то топ уже вырос.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 13, 2012, 02:43:14 PM
Вот чето и у меня уши завяли, когда попытался разобраться с этими ботами =)

Да, пойду пожалуй какой то софт для общения поставлю.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 13, 2012, 06:41:35 PM
Далеко ходить не стал, поставил SMF :)

Добро пожаловать на форум.

http://dianna-project.org/forum/index.php


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on March 25, 2012, 01:37:00 AM
Очередной вброс =)

Объявляю о старте разработки =) . Создан реп на гитхабе, кодинг на Жабе.

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

http://dianna-project.org/forum/index.php/topic,10.0.html



Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: topikwm on April 20, 2012, 11:10:59 AM
pent - просто хочется сказать спасибо за инициативу, жаль я не прогер.


Title: Re: DIANNA: IANA Decentralized концепт дизайн
Post by: pent on April 20, 2012, 11:13:04 AM
Инициативы мало. ДИАНА ждет своего часа, своих людей.