Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ebit

Pages: 1 ... 114 115 116 117 118 119 120 [121] 122 123 124 125 126 127 128
1801
中文 (Chinese) / 授权股权证明详解(关于假设及算法)
« on: April 17, 2014, 03:25:01 am »
DPOS授权股权证明是这样的一个过程:股东可以影响block的产生。股东如何去影响呢?就是去给代表投票。代表是这样的一个角色:在预定的时间,尽可能将所有合法的交易打包成block。

接下来的问题,就是怎么设计一个算法保证能有效可靠的产生block。这个网络要围绕一个目的来建立规则和程序,这个目的就是:保持权力分散和迅速纠正权力滥用。

假设和恒定

1.   算法设计前提是假设:客户端是在秒级的世界时下同步的。
2.   股东对某个代表要么投票赞成要么反对,不能又赞成又反对,这是始终不变的。第一笔交易投给了一个代表,下一笔交易可以投给另外的代表。
3.   代表接受投票的上限是股份额的2%,即8万票。系统拒接代表接受多余的票。
4.   大户可以在预定的时间投票给自己。如果大户滥用这个权利,股东可以投反对票。所以,即使是大户,也要关心小股东的声音。
5.   这种算法的目的是少出力多干活。用户使用这个系统时不需要额外交易(译者理解:相对于mastercoin),额外的内容(代表接受的投票)附加在了交易块里。
(bts::blockchain::transaction) http://bitshares.org/documentation/structbts_1_1blockchain_1_1transaction.html
(bts::blockchain::transaction::vote) http://bitshares.org/documentation/structbts_1_1blockchain_1_1transaction.html#a3cd65e9deb9efbb5fc899aa7b62226f3

代表注册
1.   代表要注册一个特殊标志符,作为股东们的投票对象。
(1)   标识符是int32格式,要简单易于引用。
http://bitshares.org/documentation/structfc_1_1signed__int.html#details
(2)   标识符的状态可以显示出被支持和被反对的情况。
(3)   注册用这个程序代码:bts::blockchain::claim_name_output
http://bitshares.org/documentation/structbts_1_1blockchain_1_1claim__name__output.html
<1>当,bts::blockchain::claim_name_output::delegate_id等于0时,表示没有获得投票。大于0,虽然有投票但投票额不在有效排行内,则代表为辞职状态。
<2> bts::blockchain::claim_name_output::name名字要是各民族人群都能识别的。
<3> bts::blockchain::claim_name_output::data这里面放附加信息,如一个网站域名。
2.   注册费是一个块税收额的100倍。
(1)   确保代表严肃重视这项工作。
(2)   某代表获取1000个block的投票的时间间隔是两周还是两个月,取决于网络。
3.   代表们每年要更新一次注册。
(1)   排名前100的代表,0付费。
(2)   其他代表重新支付一次注册费。
4.   注册时名程不能重复,要有信息沟通渠道,如一个网页。

投票算法
每个钱包都有以下信息:
1.   trusted_delegates—本客户端保存的代表IDs数组,他们是可信的,他们在本客户端上没有污点记录。
2.   distrusted_delegates—本客户端保存的代表IDs数组,他们是不可信的,本客户端掌握了他们的污点记录,即使是蛛丝马迹。
3.   observed_delegates—这个数组保存本钱包观测到的代表IDs和统计数据。

Blockchain追踪这个:
1.   ranked_delegates—这个数组保存所有当前block接收的网络投票。

一旦形成个交易,你的钱包就有按下面的规则精确的选择一个代表接收投票:
1.   如果你钱包里有一个distrusted_delegates,并且他在本轮投票中拍前200名,那就优先投这个反对票。
2.   如果没有反对票要投,就投一个排名落后的trusted_delegates。
3.   如果你的钱包没有怎么用过,没有trusted_delegates,那就从observed_delegates中找一个积分高,但本轮中别人使用少的代表。

一旦形成一个交易,你的钱包就要根据代表选择参与交易的币 (你的某个币也是经由投票得来的,传给你某币时经手的代表给你的币涂上了“颜色”),程序如下:
1.   如果是要投反对票,那就优先使用distrusted_delegates经手的币。(不信任了就断交吧,留着闹心)
2.   优先使用币龄大的。避免静止风险。
3.   如果币龄超过11个月了,那就自动参与交易进行更新。(可能类似找零机制)

代表评分
一个客户端,根据自己观察到的某代表工作性能为依据对其进行评分,统计工作性能的方法:
1.   所有block--这个代表产生的所有block。
2.   所有丢失的block—这个代表理应产生但未产生的block,以chain记录为准。
3.   平均向后延迟—从接收到产生block的要求到实际产生出来的延迟时间。延迟的因素很多,可能外因居多。
4.   平均向前延迟—产生block时抢跑,可能是客户端时钟问题,也可能是向后延迟的太厉害。一个代表出现这种行为,也可以怀疑是为了同其他代表竞争而作弊。跑的慢不好,但也要避免抢跑,大家的指标要尽量稳定。
5.   计划产量和实际产量的比值—这里的产量,即,block中包含的交易数量。漏掉的交易越少越好。比值为1最好。
6.   Unkonwn交易在block中的比例。代表可能会添加奇怪交易,希望避免发生这种现象。
7.   无效block数目。代表们都是很严肃的,不要发生这种添乱的行为。
8.   上限收费行为所占的比例。收费上限:最近100个block平均手续费的10%。收费便宜的代表更有群众基础。
评分系统不是完美的,数据不是绝对的,只是鼓励代表们多多竞争,并且以排名进行分类。

Block确认
产生了一个新block时,钱包要产生下列行为:
查找observed_delegates,并进行记录:
a.   时钟周期。
b.   Block中包含的合理的交易数据比例。
c.   Block中包含的不合理的交易数据比例。
将证实了的block推送到blockchain。最后的一条交易通常是给代表的服务费。

Block制造者
任何一个有代表ID的钱包,如果这个ID在前100名里,就可以去制造block。制造的这个block一经推到blockchain里,就有一个钱包去确认Block,即,坚持这个ID的代表是否合格。合格,则运行下面的程序:
CURRENT_TIME = UTC_SEC / BLOCK_INTERVAL
ROUND_TIME = (CURRENT_TIME / 100) * 100
PRODUCE_TIME = (ROUND_TIME + RANK) * BLOCK_INTERVAL
If PRODUCE_TIME < CURRENT_TIME then PRODUCE_TIME += 100 * BLOCK_INTERVAL
备注:一个钱包,可以有多个代表ID。

原文出处: http://bitshares.org/documentation/group__dpos.html
中文wiki: http://p2p3p.com/index.php?title=Dpos%E6%8E%88%E6%9D%83%E8%82%A1%E6%9D%83%E8%AF%81%E6%98%8E
爱比特btc-address:12iZUK5VCFKHxJTgkKo7NHtxNGbZSTDabb
           pts-address:PuhKqyVgzsptuCQjsV7ZPf96qQWoA2X9st

1802
大家都像酸饼那么务实,离成功能远么?

1803
有道理,合并挖矿可以发挥bts更大潜能。

1804
中文 (Chinese) / Re: 探讨利用阿里云架设BTS矿池
« on: April 16, 2014, 07:19:06 am »
为何不考虑用国外的服务器啊,这样不必考虑备案的问题

国内的好找资料。备案问题先不考虑。

1805
中文 (Chinese) / Re: 探讨利用阿里云架设BTS矿池
« on: April 16, 2014, 07:09:28 am »
阿里云里linux版本太低不行,换个地方试试。

1806
中文 (Chinese) / Re: 探讨利用阿里云架设BTS矿池
« on: April 15, 2014, 01:57:17 pm »
支付宝,本身是针对所有合法支付的服务。
淘宝,本身是针对所有合法物品交易的服务。
但这些都被强行禁止服务于比特币相关的活动。

不知道阿里云服务器是不是也这么搞 ;)

如果米没备案,只要不开80端口没关系的。我用过盛大 阿里 腾讯 云弄过BTC的P2P矿池。速度很不错。

我坚定信心搞下去。

1807
中文 (Chinese) / Re: 探讨利用阿里云架设BTS矿池
« on: April 15, 2014, 12:03:26 pm »
今天安装bts钱包需要libboost套件,折腾了一天还没搞定,明天继续。

1808
中文 (Chinese) / Re: 探讨利用阿里云架设BTS矿池
« on: April 14, 2014, 07:19:38 am »
支付宝,本身是针对所有合法支付的服务。
淘宝,本身是针对所有合法物品交易的服务。
但这些都被强行禁止服务于比特币相关的活动。

不知道阿里云服务器是不是也这么搞 ;)

这一点还没想的,要有心理准备。

1809
中文 (Chinese) / Re: 探讨利用阿里云架设BTS矿池
« on: April 14, 2014, 07:18:42 am »
阿里云可以申请试用。听说神鱼矿池也是用的阿里云。大家搞起来试一试。

用Amazon的云服务器比较稳定。

嗯,先学习下阿里云,再学习Amazon.

1810
中文 (Chinese) / 探讨利用阿里云架设BTS矿池
« on: April 14, 2014, 06:13:06 am »
阿里云可以申请试用。听说神鱼矿池也是用的阿里云。大家搞起来试一试。

1811
这种模式还是向垄断经济模式学习,用户间利益断层悬殊。不像我们3i处理的那么平滑。

1812
中文 (Chinese) / Re: WIKI百科DAC
« on: April 13, 2014, 07:31:21 am »
团队成员添加http://tburl.in/2/6a33df20

团队协作地址:https://www.teambition.com/project/5348dca324e2cf2b63cbca96/home

研究网站 瑞波百科 http://p2p3p.com/

1813
中文 (Chinese) / Re: WIKI百科DAC
« on: April 13, 2014, 03:38:42 am »
看3i和maidsafe及bitcloud走得比较近,BM应该在toolkit里设置他们系统的接口。

1814
中文 (Chinese) / Re: WIKI百科DAC
« on: April 13, 2014, 03:12:41 am »
第一个磁盘空间问题,应该可以随着技术进步逐步解决。

第二点,获取和花费的依据,看是否为系统增加“正能量的知识量”。关于引用条目是否花费主货币这个问题,分析来看,甲如果为了不花费主货币就倾向于不引用乙的条目v,如果乙的条目v很重要,甲此时就会重复建立一个类似条目vv。这样下去,会造成系统不要用的臃肿。所以,从甲的角度,这个经济模型,要实现:主动引用而且愿意花费。这个花费,计入条目u的成本,在特点情形下应该有一定的利益回报。

这个特定情形,可以参考BitsharesDNS的模式,将甲对乙的条目v的引用,视作对条目v的投资,投资额即花费额n2。其后丙,引用乙的条目v时,花费将是n2+1,这多出来的1,倾向于分给甲。

基本思路是:开创新知识成本低,但风险是不能保证被别人引用,即不一定有额外收入;对旧知识增砖填瓦,举一反三,风险是投入花费大,但被别人进一步引用的概率大,额外收入规模大。

1815
General Discussion / Re: WIKI DAC
« on: April 12, 2014, 02:34:55 am »
Yes.
At present, this is only an idea.
Like a cookie in the paper.

Pages: 1 ... 114 115 116 117 118 119 120 [121] 122 123 124 125 126 127 128