Author [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: 觉得bts攻击仍然未解决  (Read 2814 times)

0 Members and 1 Guest are viewing this topic.

Offline alt

觉得bts攻击仍然未解决
« on: March 01, 2014, 09:49:33 AM »


I have a laundry list of items that need to be addressed.  There have been a number of requests discussed in this thread and in the attack thread that are causing some delays.   Things I need to handle are:

1) Enforce minimal market depth.
2) Increase default collateral requirement to 10x.
3) Fix a bug where wallet loading errors erase wallet contents.
4) Cover a position without requiring additional capital.
针对bts交易攻击,以上是 bm 的4点修改计划。今天bm又提交了部分代码,市场深度是要求买单/卖单都有1%的xts。
Quote
Initial code for tracking market depth prior

Requires at least 1% of the shares to be on each side of the market
before automatic trading will execute for a given pair.
有几个问题:
1. 对xts有16个资产,如果想交易,买单卖单就要保证至少 32%的xts挂在市场上,不知道这样是否会压抑市场交易?
2. 这个市场深度好像无法有效保护攻击,有10%xts 就很可能发动攻击。
比如bitusd的买单,总共有4万个xts,要买4000万个bitusd。我先挂 1xts买 1万亿bitusd,再按10倍抵押,拿40万个xts,发行10亿亿个bitusd,把买单打穿,同时我的最低价成交,获得1万亿 bitusd。
实际攻击成本可能更低。在市场上bitusd买单本来就不多,比如 4千个xts的时候,我自己挂1个xts买1万亿bitusd,同时挂4万个xts买10亿亿bitusd(仅仅是为了满足市场深度的限制,不需要成交)。然后我只需要拿出10倍抵押,也就是4万个xts发行10亿亿bitusd,最后卖给自己1万亿。

我觉得解决办法应该抓住两个重点:
1. 对发行bitusd的卖单可以做延迟,比如1小时之后才能成交,这样买单会有博弈,发行的bitusd无法保证被自己拿到,增加攻击风险。
2. 对发行bitusd的价格可以做限制,比如涨跌幅度不能超过10倍。
« Last Edit: March 01, 2014, 09:53:00 AM by alt »

Offline checkie

  • Full Member
  • ***
  • Posts: 162
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #1 on: March 01, 2014, 11:58:46 AM »
同意楼上,现实股市的限涨跌方法可以借鉴,但会增加系统开发难度,分布式的系统不好做到实时调控

Offline HackFisher

  • Hero Member
  • *****
  • Posts: 883
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #2 on: March 01, 2014, 12:04:44 PM »
可能没有完全理解楼主的意思,但是不喜欢太复杂的设计,越复杂漏洞越多,打patch打不完
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Sharp116

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #3 on: March 01, 2014, 12:14:43 PM »
思考了很久,似乎只有限制单位时间段内的涨跌幅度才是最终解决之道。。。测试链期间坚信有大户会尝试一下这个bug :o :o :o

Offline 00091lacer

  • Hero Member
  • *****
  • Posts: 624
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #4 on: March 01, 2014, 12:16:23 PM »
LZ应该向BM提这些意见,不过10倍的抵押量确实对交易带来了很大限制,因为这是个新系统,很多人不熟悉,又因为这个抵押量过大很少人会进入这个系统交易。这样极有可能BTSX初期发展带来不利影响。

Offline taoljj

  • Full Member
  • ***
  • Posts: 175
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #5 on: March 01, 2014, 02:39:00 PM »
同意 要是有攻击 10倍抵押用处不大
还需另外限制
BTS      Witness: delegate.taoljj

Offline metalallen

  • Sr. Member
  • ****
  • Posts: 262
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #6 on: March 01, 2014, 03:18:31 PM »
没关系,测试期能够解决这个问题
浮壹白的微博:http://weibo.com/u/2279693077
BTSX Account:metalallen

Offline alt

Re: 觉得bts攻击仍然未解决
« Reply #7 on: March 01, 2014, 03:40:32 PM »
每个区块设置一个涨停跌停也是可以的,幅度到10%就不允许成交了。按5分钟一个区块,这已经够刺激了。
这规则也挺简单的

Offline checkie

  • Full Member
  • ***
  • Posts: 162
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #8 on: March 01, 2014, 03:53:49 PM »
这个要顶,限制下一个块的涨跌幅度,超过幅度的不能成交

Offline alt

Re: 觉得bts攻击仍然未解决
« Reply #9 on: March 01, 2014, 04:05:56 PM »
我觉得只限制块内就够了,块之间不要互相限制,否则又搞麻烦了。
比如有人上来就拿 1xst 买0.000000000001 bitusd,咱们就傻了,如果块之间有限制,xst 再也涨不回来了

Offline BTSdac

Re: 觉得bts攻击仍然未解决
« Reply #10 on: March 01, 2014, 04:57:05 PM »

有几个问题:
1. 对xts有16个资产,如果想交易,买单卖单就要保证至少 32%的xts挂在市场上,不知道这样是否会压抑市场交易?
2. 这个市场深度好像无法有效保护攻击,有10%xts 就很可能发动攻击。
比如bitusd的买单,总共有4万个xts,要买4000万个bitusd。我先挂 1xts买 1万亿bitusd,再按10倍抵押,拿40万个xts,发行10亿亿个bitusd,把买单打穿,同时我的最低价成交,获得1万亿 bitusd。
实际攻击成本可能更低。在市场上bitusd买单本来就不多,比如 4千个xts的时候,我自己挂1个xts买1万亿bitusd,同时挂4万个xts买10亿亿bitusd(仅仅是为了满足市场深度的限制,不需要成交)。然后我只需要拿出10倍抵押,也就是4万个xts发行10亿亿bitusd,最后卖给自己1万亿。

40万个XTS 发行10亿亿个bitusd ,那你的 BTS 价格是很高的,  如果有人用 1个 BTS 发行 100个bitusd,那你发行的 BITUSD 就不可能成交, 除非你先把别人发行的那个100个 bitusd(1个 BTS 发行 100个bitusd)先买掉

github.com :pureland
BTS2.0 API :ws://139.196.37.179:8091
BTS2.0 API 数据源ws://139.196.37.179:8091

Offline Sharp116

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: 觉得bts攻击仍然未解决
« Reply #11 on: March 01, 2014, 05:04:39 PM »
我觉得只限制块内就够了,块之间不要互相限制,否则又搞麻烦了。
比如有人上来就拿 1xst 买0.000000000001 bitusd,咱们就傻了,如果块之间有限制,xst 再也涨不回来了


以上一个块的最高价和最低价作为参考,下一个块的最高价不能超过上一个块的最高价的x倍,最低价不能低于上一个块的最低价的1/y,只要x、y设置合理(可能的话可引入动态调整机制),并不会对正常的市场波动产生多少影响,但能非常有效地避免诸如此类1XTS成功抵押1万亿bitusd的案例。

始终认为,这样一个去中心化交易体系,许多参数都需要不断测试才能找到合适的数值范围,still a long journey to go..

漏洞命名:“XTS快速升值漏洞”
漏洞症状:已如alt老兄所述
漏洞后果:将造成系统中存在超巨量、极低于当前市场共识价格的bitusd,使得bitusd从根本上无法锚定美元。
« Last Edit: March 01, 2014, 06:17:32 PM by Sharp116 »

Offline BTSdac

Re: 觉得bts攻击仍然未解决
« Reply #12 on: March 01, 2014, 05:11:36 PM »
不知道 成交规则是什么样的,   比如  A 用1BTS 抵押了产生了 100 bitusd,      然后出售 bitusd,     B 用 1BTS 抵押产生了 200个 bitusd    C想用 1BTS 买 150个 bitusd, 
那成交 B 还是成交 A?
A的卖出价格 是 0.01BTS/bitusd   B的卖出价格是0.005BTS/bitusd      C的买入价格是 0.0067BTS/bitusd
那就应该 B和C成交吗 ? 
而我认为应该是 A 和B成交,
如果B和C成交,这个系统本身就是一个发散的系统?
github.com :pureland
BTS2.0 API :ws://139.196.37.179:8091
BTS2.0 API 数据源ws://139.196.37.179:8091

Offline cgafeng

Re: 觉得bts攻击仍然未解决
« Reply #13 on: March 01, 2014, 10:38:02 PM »
其实不会发生楼主说的这种情况,市场深度限制了参与交易的玩家数量,没达到一定数量不会产生交易。
所以BM之前有提过说bts发布后要冻结市场x天后才开始产生交易单,他假设了一个数值,14天。
你假设的这种情况只会发生在参与交易的人数很少的情况下,即大部分买单卖单都是同一个人的,那他当然想怎么买卖都没问题,参与的人多了就不可能操纵市场,除非你握有大量筹码,比如超过30%bts。但在现实中如果你手中握有超过30%RMB的话同样可以操纵任何市场。
所以你的这种假设是没有意义的。
« Last Edit: March 01, 2014, 10:45:28 PM by cgafeng »
BTC:1EYwcZ9cYVj6C9LMLafdcjK9wicVMDV376

Offline cgafeng

Re: 觉得bts攻击仍然未解决
« Reply #14 on: March 01, 2014, 10:49:58 PM »
不知道 成交规则是什么样的,   比如  A 用1BTS 抵押了产生了 100 bitusd,      然后出售 bitusd,     B 用 1BTS 抵押产生了 200个 bitusd    C想用 1BTS 买 150个 bitusd, 
那成交 B 还是成交 A?
A的卖出价格 是 0.01BTS/bitusd   B的卖出价格是0.005BTS/bitusd      C的买入价格是 0.0067BTS/bitusd
那就应该 B和C成交吗 ? 
而我认为应该是 A 和B成交,
如果B和C成交,这个系统本身就是一个发散的系统?

系统成交的规则是最高买价和最低卖价匹配,就你说的这种情况就是B和C成交,按C的买入价格,C超出B的卖价部分的bts直接摧毁。
即C以0.0067BTS/bitusd买到150个bitusd,B以0.005BTS/bitusd卖出150个bitusd,摧毁bts=(0.0067-0.005)*150 = 0.255bts
BTC:1EYwcZ9cYVj6C9LMLafdcjK9wicVMDV376

 

Google+