Bitcoin Forum
February 20, 2018, 04:10:21 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 »  All
  Print  
Author Topic: TrueCoin <-- правильная монета  (Read 19304 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Ukigo
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 03:54:05 PM
 #81

Я уже примерно так и считаю )
при неком проценте близким к вашим константам
 из постов выше ( я лишь поделил их
 на 720 блоков в день) у меня вышло почему-то
 +0.77% эмиссии в год.
 Попробую считать целое число лет
 скажем 10 ( это ~10 мин )) ), и еще помудрить с нач. значениями ,
 чтоб проще было % прироста получать.
 
Потом сделаю др. расчет  с плавным
 исчезновением PoW и переходом на PoS.
Пока буду начислять проценты на блоки обоих
 типов одинаково.

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1519143021
Hero Member
*
Offline Offline

Posts: 1519143021

View Profile Personal Message (Offline)

Ignore
1519143021
Reply with quote  #2

1519143021
Report to moderator
1519143021
Hero Member
*
Offline Offline

Posts: 1519143021

View Profile Personal Message (Offline)

Ignore
1519143021
Reply with quote  #2

1519143021
Report to moderator
1519143021
Hero Member
*
Offline Offline

Posts: 1519143021

View Profile Personal Message (Offline)

Ignore
1519143021
Reply with quote  #2

1519143021
Report to moderator
Storan
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
March 31, 2013, 04:33:21 PM
 #82

Для симулятора наверно проще считать год как 720*365 = 262800 итераций/блоков?

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

На код можно будет глянуть потом? Пока простые обкатки идут, вроде должен суметь "прочесть".
Ukigo
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 04:45:36 PM
 #83

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

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

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 05:38:40 PM
 #84

moneysupply (M) вначале : 1.0
через год : 1.03191439...
через 2 года : 1.06484718...
----------
У вас там умножение на ноль меня пережевало Wink
вот исходник :
Code:
package main

import (
"os"
"fmt"
"strconv"
"math/rand"
)



var block = 0//block count ( for genesis block = 0 )

//var maxBlock = 262980
var maxBlock = 525960

//var percent = 0.00008601204 //
var percent = 0.00000011946

var Coin = int64(1000000)
var Cent = int64(10000)

var mplus, wMplus, sMplus float64

var wDiff = float64(1.0)
var sDiff = 0.0001

var supply = 1.0//moneysupply

var wHour = 29//PoW blocks' rate per 1 hour
var shour = 1// PoS blocks' rate per 1 hour


func main() {
wReward := 0.000001
// sReward := 0.000001
rnd := rand.New(rand.NewSource(7556))
for {
// wReward = wReward * (1.0 + percent)//first variant
wReward = supply * percent
fmt.Println("PoW bounty: ", wReward)
block++
// coinAge := rnd.Int63n(89970) + 30 //pseudorandom  coin_age in days
// sReward := float64((33 * coinAge) / 60265)*0.01
// sReward = sReward * (1.0 + percent)
// fmt.Println("PoS: ", sReward)
// block++
fmt.Println("----------------------------------------------------------")
supply = supply + wReward
// + sReward
fmt.Println("moneysupply: ", strconv.FormatFloat(supply, 'f' , -1, 64), " at block #", block)

fmt.Println("==========================================================")
if block > maxBlock { break }
}

os.Exit(0)
rnd.Intn(1)
}
Спрашивайте если что...
// это нерабочие строки (комменты).

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

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 05:48:04 PM
 #85

вот рез. через 10 лет (блок 2629801) :
1.36910331191
процент ускоряется...

оно считало 40 сек ) - потому что  в файл,
это много быстрее выходит.

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

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 05:57:40 PM
 #86

через 20 лет :
1.87444365476
сложные проценты разгоняют эмиссию
( если я ничего не перемудрил Wink ).
надо что-то с этим делать...

PS. Я брал год 365.25 дней

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

Activity: 112
Merit: 10


View Profile
March 31, 2013, 06:09:16 PM
 #87

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

И удвоение за ~25 лет - вполне нормально.
Биг мак за пол века подорожал в ~10 раз - а о постоянно безумной инфляции в США как-то не кричали всё это время  Cheesy


p.s. rand.NewSource(7556) - чего делает? обычный rand() си-шный, но в диапазоне 0-7556?
Ukigo
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 06:27:38 PM
 #88

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

Go не С. Так что Rand тут другой.
7556 это seed для инициализации генератора.
Взят от балды и там надо как то по др.
 это сделать.
посчитаю 18 и 19 лет - надо посмотреть
, между сосед. годами процент стабильный
или нет ?
То я закодировал, что вы задумали , или нужно что-то менять ?


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

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 06:39:39 PM
 #89

18 лет : 1.760293788
19 : 1.81647227375


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

Activity: 112
Merit: 10


View Profile
March 31, 2013, 06:47:03 PM
 #90

Вроде бы всё то же самое

изменил строки
var percent_year = 0.0314159
var percent_day_multi =  math.Pow(1+percent_year, float64(1.0/365.0))
var percent = (percent_day_multi - 1) / 720.0


PoW bounty:  1.2522628786536848e-07
----------------------------------------------------------
moneysupply:  1.0638667494366378  at block # 525961
==========================================================

у moneysupply на одну тысячную разница. наверно из-за 365 дней в проценте.

1.81647227375:1.760293788 = 1,03191. Процент на 0,05 отличается от задуманного. может тоже из-за расхождений по високосным/обычным годам?

В общем,
Симулятор слабо-инфляционной валюты, со стабильным % эмиссии готов. Теперь осталось приспособить формулы из какой-нибудь "true money theory" для динамического изменения годового процента, и математическая база готова  Grin

если изменить на /365.25, и прогнать опять до 18 и 19 - по идее должно выйти 1.0314159, плюс-минус ошибки округления Smiley
Storan
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
March 31, 2013, 06:57:13 PM
 #91

ещё вариант - погрешность может накапливается, из-за того процент на блок вычисляется /720, а не извлечением корня 720-й степени из (1+day/100), но имхо с такой точностью уже подгонять - это маразм  Tongue
Ukigo
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 07:07:14 PM
 #92

у меня время в блоках - я считал
 год 720 * 365.25 -- все годы поровну.

Ну не совсем готов - это полуфабрикат,
 надо наверное определиться с комиссиями
 и он типа считает чистый PoW.
И еще подумать что тут к чему.
например можно внести исправления
 для високосных лет ( или это не нужно Huh )

Чистая инфляция будет меньше мы не вычитаем потерю монет.Кстати тож можно попробовать
 ( в Биткойне потеря монет ( не считая Сатошины 2 мил.) ~1% в год +- трамвайная остановка ) учесть это.

С денежными теориями  все плохо.
Я там давал выше пост с 4 ссылками.
там есть график если туда засунуть
time preference будет более правдиво
 может из этого удастся извлечь оценку
 денежного спроса Huh

А вообще по прочтении ~ 30 статей на тему,
 мне кажется что лошади лучше и полезнее экономистов ...





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

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 07:18:25 PM
 #93

Дык, я самого начала  и говорю :
PI - здесь просто красивое число Wink
Точно его подогнать не удастся,
оно ведь бесконечное в дробной части
 и все равно обрежется когда дойдет до пределов представления типа float64.

не уверен что корень такой адской степени
 удастся извлечь, в том числе и на C++
( для клиента ) с разумной скоростью. Wink

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

Activity: 938
Merit: 1000


View Profile
March 31, 2013, 07:40:17 PM
 #94

с вашими изменениями у меня выходит
между 18 и 19 : 0.031439103491001305 ( %
прироста в долях).
считал на Python, а не калькулятором.

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

Activity: 112
Merit: 10


View Profile
March 31, 2013, 07:58:30 PM
 #95

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

блок - квант времени

М - общая денежная масса (где М0 - виртуальные монеты, нужные для эмиссионого алгоритма, (M + М0) - те самые supply из симулятора)

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

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

Vп - "бизнес"-транзакции с комиссией (минимум ~0,0..zz% от суммы транзакции) (практически "подтверждённая" деловая активность системы)

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

PoS%, % награды при PoS-генерации - величина стимулирующая "сбережения" и "накопления", при значении близком к I%, может вызывать стремление свернуть активность (транзакции) в пользу накоплений путём генерации PoS-процентов (но при добавлении несложного кода, на величину эмиссии никак не влияет)
Также PoS% по сути определяет минимальную границу стоимости кредита в системе (Таким образом понятие бесроцентный кредит - это кредит в 2*t% разовых + PoS% годовых).

из всего вышеперечисленного - косвенно можно вычислять объёмы "активных" монет (задействованных в транзакции + PoS), и объёмы "анабиозных/мёртвых" (оставшиеся, нигде не задействованные)

Итого, наблюдая на текущем блоке k (и для предшествующих блоков) параметры М, V, Vп, также вычисляя объёмы активных денег (транзакционных), денег на сбережении (PoS), и денег в анабиозе /мёртвых система по заранее заложенным правилам может изменять I%, PoS%, t/t%.

Ukigo
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000


View Profile
April 01, 2013, 05:36:15 AM
 #96

supply в симуляторе это М ( общая денежная масса.)
Просто он считается нарастающим итогом.
А что такое М0 я не понимаю (
Может М0 это тот прирост эмиссии , который дает PI % в год ?

Пож. не смешивайте симулятор и реальный клиент TrueCoin.
Симулятор - быстрая и опасная абстракция )
Все что на нем  удастся изобрести
 придется потом прикручивать к нормальному клиенту( и на другом языке).
НЕ забывайте также что, реальный клиент таки будет расчитывать block_reward
 по формулам близким к NVC/PPC
 И ПОТОМ вносить в него поправку на рост эмиссии ( чего не делает симулятор
 в нынешнем виде).

Счас разломаю ваши построения еще чуть-чуть )

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

 Также в NVC/PPC комиссии за перевод
  УНИЧТОЖАЮТСЯ. Что ведет к дефляции.

 Если мы тоже так будем делать, то нам
 следует ВЫЧИТАТЬ комиссии из М.
 НО трудно предсказать каков будет объем комииссий. И придется тогда повысить %
 эмиссии ( не знаю насколько).

 Если же комиссии отдавать майнерам,
 то они НЕ ВЛИЯЮТ на рост денежной массы,
 так как просто передаются с одного адреса на другой, и их можно для расчета эмиссии
 НЕ УЧИТЫВАТЬ.
 
 Мне тоже больше нравиться 1% для PoS
(как в PPC) ( в NVC это - 5%).
тогда повысив общий процент эмисии ЕЩЕ на один процент мы сможем бороться с PoS-дефляцией.Захотят ли только PoS-майнеры
 майнить в такой системе ? Вот вопрос !

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

-------------------
Думаю, придется таки просто сделать
 "инфляцию" общей М Huh





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

Activity: 938
Merit: 1000


View Profile
April 01, 2013, 06:48:43 AM
 #97

Можно сделать так :
PoW-майнеры будут получить награды по формуле
+ прирост эмиссии в 3.14% годовых, но никаких
 комиссий.(эти комиссии - уничтожать)

PoS-майнеры - награду по формуле PPC (1%)
+ все комиссии за транзы включенные в PoS-блок.

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

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

Activity: 938
Merit: 1000


View Profile
April 01, 2013, 12:38:01 PM
 #98

Переделал симулятор на более натуральный метод
 подсчета , как-бы на реальных данных )
Результаты :
             всего монет | сумма PoS-комиссий
---------------------------------------------
через год :  1723799.84  |  10702

через 2 :    3419902     |  21414.26

3 года  :    5142299.93  |  32106.45

4 года :     6892737.85  |  42778

5 лет :      8669501.9   |  53463.46

 6 лет :    10475183.3   |  64169.25

 через
  18 лет :  34455927.6   |  192457

  19 лет :  36662355.64  |  203174

  20 лет :  38904060.95  |  213789.77

---------------------------------
Все считалось нарастающим итогом.
Может надо таки меньше сделать рост эмиссии,
 или блокцепи по 20 лет не живут ?

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

Activity: 112
Merit: 10


View Profile
April 01, 2013, 01:32:28 PM
 #99

Да не натуральный это метод подсчёта. Если за 20 лет объём в 22 раза увеличился  Shocked

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

И откуда взялась их идея эмисии в PoW-блоках, в зависимости от сложности системы (как аналог - придумали деньги в городке, рисовали в год по 10000 новых; потом расширили сферу влияния на область - стали рисовать по 1000, потом придумали клише для печатанья - стали выпускать по 100, стране понравились эти деньги - расширились ещё раз, стали выпускать на всю страну в год по 10 новых). Смысл экономический этого каков?
Как я понимаю с точки зрения их методологии: PoW-генерация, это просто распределённый по пользователям и во времени преймайн. Как только система вырастает из детских штанишек - PoW-генерация становится мизерной, и равновесный приход/расход денег в системе начинают обеспечивать PoS|шредер в транзакциях.
Ukigo
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000


View Profile
April 01, 2013, 02:02:17 PM
 #100

В моем новом плане - если уничтожать
комиссии PoW, то народ будеь стараться майнить PoS-блоки. Huh

У блокчейна есть время жизни.
Пусть TrueCoin живет 10 лет, и потом на пенсии еще 2-3 года Wink
Если все будут знать об этом заранее,
 то успеют мигрировать в др. новую платежную цепочку.
Это же только средство расчетов,
хранить в нем заначки никому в голову не придет.

Новый симулятор счас выложу.

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 »  All
  Print  
 
Jump to:  

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