КрияДеньги. Часть 1. Введение
КрияДеньги. Часть 2. Идея
КрияДеньги. Часть 3. Теория
КрияДеньги. Часть 4. Возможные проблемы и их решение
КрияДеньги. Часть 5. Программная реализация
Предупреждение!
В этой статье очень много формул, мало поясняющего текста и совсем нет картинок. Статья будет интересна далеко не всем. И для ее понимания придется вдумываться в каждый параметр каждой формулы. Это скучно и трудно.
Отказ от гарантий
Сразу хочу сказать, что все что будет написано в этой статье — это моё сугубо личное мнение. Все, что здесь написано может быть абсолютно не верным. В каждой формуле может быть идеологическая или фундаментальная ошибка. Кроме того эта статья не полностью описывает все формулы и используемые термины. При попытке достаточно глубоко вдуматься в суть написанного может произойти изменение системы ценностей. Поэтому читайте на свой страх и риск.
Теория
Реализовать передачу денег используя транзакции можно аналогично, как это реализовано в Bitcoin. А вот реализовывать эмиссию придется по-другому. Попробую объяснить как это можно попытаться реализовать на примере.
Крия
Для начала, предлагаю ввести понятие "Крия" проекта. Значение Крия определяться в зависимости от кол-ва «действий» затраченных на реализацию проект и от оценки проекта обществом («кармы» проекта). Другими словами под Крия понимается количественное значение ценности, которую приносит проект для общества.
"Крия — букв, «действие». В самом общем смысле означает любую деятельность, в специфическом — религиозную деятельность (обряды, таинства и т.п.). В йоге и тантре (см.) обозначает контролируемые движения и позы тела."
Крийя (Крия) — действие, движение, деятельность. Первые две ступени аштанга-йоги (яма и нияма) составляют отдельную крийя-йогу, йогу действия.
В общем смысле крийя означает любую деятельность. В специфическом значении это религиозная деятельность, особенно обряды, таинства и церемонии.
Артха
Кроме этого предлагаю ввести понятие "Артха". Под Артха будем понимать накопления пользователя, его деньги.
Артха — материальное процветание, одна из целей человеческой жизни.
Формулы
Формула изменения Артха пользователя после завершения голосования:
Артха += ЭмитируемыеНовыеДеньгиПрибавочнойЦенности
(1)
Эмиссия новых денег определяется так:
ЭмитируемыеНовыеДеньгиПрибавочнойЦенности = КоэфЭмисии * КрияПроекта
(2)
Новые деньги прибавочной ценности эмитируются один раз для каждого проекта.
Если КрияПроекта меньше нуля, то положительной прибавочной ценности нет и эмиссия не производится.
Формула расчета коэффициента эмиссии за предыдущий расчетный период (например за предыдущие 65536 циклов):
КоэфЭмисии = СредняЭмиссияЗаЕдиницуКрияЗаВесьПериод / СредняяЭмиссияЗаЕдиницуКрияЗаРасчетныйПериод
(3)
где
СредняЭмиссияЗаЕдиницуКрияЗаВесьПериод = СуммаВсехДенегСистемы / КолвоВсехЦиклов
СредняяЭмиссияЗаЕдиницуКрияЗаРасчетныйПериод = СуммаВсехДенегЭмитируемыхЗаРасчетныйЦикл / 65536
Коэффициент эмиссии позволит сглаживать периоды сильного роста эмиссии (при наплыве большого кол-ва проектов) и периоды малого кол-ва проектов. При использование этого коэффициента эмиссия денег будет примерно одинакового размера как в первый период существования системы так и в последующие. В периоды, когда проектов будет мало за единицу Крия будет эмитироваться больше денег, чем в периоды, когда проектов много. Это должно обеспечить стабильность развития системы в целом.
В начальный период существования системы формула расчета КоэфЭмиссии не будет работать. Поэтому, до момента в 65536 циклов КоэфЭмиссии нужно принять постоянной величины (константа). Например равное 1.00. Или, как вариант, отсчет циклов начинать не со значения 1, а со значения 65536.
Формулу для определения значения Крия проекта я предлагаю такую:
КрияПроекта = ОценкаПроекта * СтоимостьПроекта
(4)
Формула определения значения оценки проекта:
ОценкаПроекта = Сумма(Оценка*Крия) / СуммаКрияВсехПользователей
(5)
где
Оценка — ОценкаГолосующегоПользователя
Крия — КрияГолосующегоПользователя
ОценкаПроекта сможет принимать значения от -1 до +1. Значение -1 возможно, если все пользователи проголосуют против проекта; значение +1 возможно, если все пользователи проголосуют за проект. Оценивать проект могут только пользователи с положительной Крия, в значение СуммаКрияВсехПользователей так же учитываются только положительные Крия.
Формула оценки пользователя («Карма» пользователя):
ОценкаПользователя = Сумма(ОценкаПроекта)
(6)
Формула определения значения Крия пользователя:
КрияПользователя = Сумма(КрияПроекта)
(7)
Примеры
Простой пример
Допустим есть три пользователя с положительной Крия (User1, User2, User3). У пользователей User1, User2, User3 следующие значения Крия:
User1 +1000
User2 +2000
User3 +3000
Так же есть три проекта (Proj1, Proj2, Proj3), которые создали два других пользователя (User4, User5). User4 создал проекты Proj1 и Proj2, User5 создал проект Proj3. Проекты Proj1, Proj2, Proj3 набрали следующее кол-во денег на реализацию (стоимость проектов):
Proj1 100
Proj2 200
Proj3 300
Допустим все три проекта набрали необходимую сумму и были завершены (но с разными результатами). Пользователи проголосовали за проекты следующим образом (кто — за какой проект голосует — оценка):
User1 Proj1 +1
User1 Proj2 +1
User2 Proj1 +1
User2 Proj2 -1
User3 Proj2 -1
User3 Proj3 -1
Сумма Крия пользователей составляет:
SummKriya = +1000+2000+3000 = 6000
Учитываются только пользователи с положительным Крия, остальные в расчете не участвуют.
Оценки проектов будут такими (формула 5):
ProjEst1 = (+1*1000+1*2000)/6000 = +0.50
ProjEst2 = (+1*1000-1*2000-1*3000)/6000 = -0.67
ProjEst3 = (-1*3000)/6000 = -0.50
Крия проектов будут такими (формула 4):
ProjKriya1 = +0.50*100 = +50 => Эмиссия
ProjKriya2 = -0.67*200 = -134 < 0 => Нет эмиссии
ProjKriya3 = -0.50*300 = -150 < 0 => Нет эмиссии
Изменения Крия авторов проектов будут такими:
UserKriya4 = ProjKriya1+ProjKriya2 = +50-134 = -84
UserKriya5 = ProjKriya3 = -150
Для расчета коэффициента эмиссии нужно знать сколько было создано новых денег за расчетный период (предыдущие 65536 циклов) и сколько было создано денег за весь срок существования системы (например прошло 100000 циклов). Допустим за предыдущий период было создано 10000 единиц денег, а за весь период создано 12000 единиц денег. Тогда коэффициент для эмиссии будет таким (формула 3):
EmissionFactor = (12000 / 100000) / (10000 / 65536) = 0.786
Эмиссия составит (формула 2):
Emission = 0.786*50 = 39 единиц денег
В итоге, эти новые деньги будут зачислены прибавлены к Артха автора проекта Proj1 (формула 1):
Artha += 39
Пример определения максимальной эмиссии
0. Допустим, в момент создания системы будет эмитировано 1000 единиц денег за первый проект и 1000 единиц Крия.
1. Далее, при создании второго проекта стоимостью 1000 единиц и положительной оценки Крия проекта составит:
КрияПроекта = +1.0*1000=1000
Допустим КоэфЭмиссии в начальный период работы системы равен:
КоэфЭмиссии = 1.00
Эмиссия составит:
Эмиссия = КоэфЭмиссии * КрияПроекта = 1.00 * 1000 = 1000
Общее кол-во денег в системе составит:
ОбщаяМассаДенег = 1000 + 1000 = 2000
2. Далее, при создании еще 10 проектов стоимостью 200 единиц и при положительной оценке
Суммарная Крия всех проектов прошлого периода:
КрияПрошлогоПериода = 1000 + 1000 = 2000
Суммарная Крия всех новых проектов:
КрияОдногоНовогоПроекта = +1.0*200 = 200
КрияНовыхПроектов = 10*200 = 2000
Общая эмиссия:
Эмиссия = 10 * КоэфЭмисии * КрияПроекта = 10*1.00*200 = 2000
Общее кол-во денег в системе:
ОбщаяМассаДенег = 2000 + 2000 = 4000
3. Далее, при создании еще 10 проектов стоимостью 400 единиц и при положительной оценки каждого
КрияПрошлогоПериода = 2000 + 2000 = 4000
Суммарная Крия всех новых проектов:
-КрияОдногоНовогоПроекта = +1.0*400 = 400
КрияНовыхПроектов = 10*400 = 4000
Общая эмиссия:
Эмиссия = 10 * КоэфЭмисии * КрияПроекта = 10*1.00*400 = 4000
Общее кол-во денег в системе:
ОбщаяМассаДенег = 4000 + 4000 = 8000
И так далее увеличиваясь в два раза за каждый цикл реализации проекта.
4. Рассмотрим более реальную ситуацию, когда кол-во проектов возрастет и далеко не все проекты будут получать положительные оценки. Например будет создано еще 10 проектов стоимостью 800 единиц каждый, но каждый проект в среднем наберет оценку 0.5 (что равносильно, ситуации когда половина массы проголосует положительно, а остальные проигнорируют проект).
ОбщаяМассаДенегПрошлогоПериода = 8000
КрияПрошлогоПериода = 8000
Суммарная Крия всех новых проектов:
КрияОдногоНовогоПроекта = +0.5*800 = 400
КрияНовыхПроектов = 10*400 = 4000
Общая эмиссия:
Эмиссия = 10 * КоэфЭмисии * КрияПроекта = 10*1.00*400 = 4000
Общее кол-во денег в системе:
ОбщаяМассаДенег = 8000 + 4000 = 12000
То есть рост массы денег уменьшился и составил 4000/8000 = 0.5 = 50% за цикл реализации проекта.
Цикл реализации проекта — это все то время, когда вложенные деньги не могут быть потрачены на что-либо пока не будет решения собрал проект необходимое кол-во денег или нет. Реализация таких транзакций, в принципе, не будет сложной проблемой. После того как становится известно набрал проект необходимую сумму или нет, транзакция или подтверждается или считается не принятой. Если сбор средств у каждого проекта будет проходить в течение 10000 циклов, то максимальное число «циклов реализации проекта» будет 65536 / 10000 = 6. И за это время максимальный прирост денежной массы составит 1000*(2^6)=64000.
Если в данном цикле совсем не будет проектов или все проекты получат отрицательные голоса, тогда эмиссия производиться не будет.
Пример 2
Рассмотрим более реальный пример, когда в начальный период будут положительно оцениваться не все проекты и не во все проекты будут вкладываться свободные средства.
0. Допустим, в момент создания системы будет эмитировано 1000 единиц денег за первый проект и 1000 единиц Крия.
1. Далее, при создании второго проекта стоимостью 1000 единиц и положительной оценки Крия проекта составит:
КрияПроекта = +0.8*1000=800
Допустим КоэфЭмиссии в начальный период работы системы равен:
КоэфЭмиссии = 1.00
Эмиссия составит:
Эмиссия = КоэфЭмиссии * КрияПроекта = 1.00 * 800 = 800
Общее кол-во денег в системе составит:
ОбщаяМассаДенег = 1000 + 800 = 1800
2. Далее, при создании еще 2 проектов стоимостью 500 единиц каждый (на общую сумму 1000 единиц) и при средней оценке +0.25
Суммарная Крия всех проектов прошлого периода:
КрияПрошлогоПериода = 1000 + 800 = 1800
Суммарная Крия всех новых проектов:
КрияОдногоНовогоПроекта = +0.25*500 = 125
КрияНовыхПроектов = 2*125 = 250
Общая эмиссия:
Эмиссия = 2 * КоэфЭмисии * КрияПроекта = 2*1.00*125 = 250
Общее кол-во денег в системе:
ОбщаяМассаДенег = 1800 + 250 = 2050
3. Далее, при создании еще 3 проектов стоимостью 300 единиц каждый и при средней оценки каждого +0.3
КрияПрошлогоПериода = 2000 + 2000 = 4000
Суммарная Крия всех новых проектов:
КрияОдногоНовогоПроекта = +0.3*300 = 90
КрияНовыхПроектов = 3*90 = 270
Общая эмиссия:
Эмиссия = 3 * КоэфЭмисии * КрияПроекта = 3*1.00*90 = 270
Общее кол-во денег в системе:
ОбщаяМассаДенег = 2050 + 270 = 2320
И так далее, увеличиваясь не на много за каждый цикл реализации проекта.
В итоге за первые 65536 циклов, по прикидкам, получится 10000-20000 новых единиц денег при начальной сумме 1000 единиц.
Что это все дает?
Мы уходим от недостатков существующей системы. А именно, в предлагаемой системе будет:
1. Обеспеченность денег. Деньги будут обеспечены реально выполненной полезной работой.
2. Распределенная эмиссия. Эмиссия чётко определяется алгоритмом, а не кучкой банкиров.
3. Прозрачность. Максимально возможное прозрачное распределение новых денег получаемых при эмиссии.
4. Безопасность. Никто и никогда не сможет заблокировать деньги на вашем счету.
5. Анонимность. При желании можно для передачи данных системы использовать I2P.
В следующей части я планирую предусмотреть все возможные проблемы системы. И, в частности, проблему адекватной оценки проектов сообществом. Для этого я предлагаю разделение всего общества на отдельные тематические сообщества и заложить более сложную формулу для расчета оценок. В частности, оценка проекта будет зависеть как от оценки проекта участниками проекта (теми кто вложился в проект), так и членами тематического сообщества (которые будут выступать в роли экспертов).
Продолжение: КрияДеньги. Часть 4. Возможные проблемы и их решение
P.S.1. Иногда случается, что доменное имя под интересную идею быстренько занимают киберсквотеры (в комментарии по ссылке обратите внимание на дату публикации комментария и дату регистрации домена). Поэтому, для того чтобы такого не получилось, я решил заранее занять доменное имя kriyamoney в зонах com org и ru. Если у тебя есть желание развивать проект, написать программу-клиент (на подобие bitcoin-qt) а так же сделать сайт, то я с радостью передам тебе все три домена.
P.S.2. Предыдущие две статьи сократили мою карму вдвое. Если сообщество Хабра решит заминусовать мою Карму окончательно, то выложить следующие части я уже не смогу. Но, как говориться, если что-то должно произойти, то оно не может не произойти. Если будут вопросы или предложения, то мои контакты доступны в профиле.
Автор: prof1983