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.


Topics - abit

Pages: 1 ... 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 ... 26
241
General Discussion / [BSIP42] Consider derailing feed price
« on: August 17, 2018, 11:22:19 pm »
We THOUGHT that feeding accurate price for BTS/FIAT will bring stable pegged smart coins. However, market told us that we were wrong. In a downtrend, smart coins are always running with a premium; in a uptrend, smart coins are tend to run with a discount. See this chart: https://coinmarketcap.com/currencies/bitusd/

Without a tight peg, the smart coins are useless -- we won't get mass adoption. Why do we keep the broken rules unchanged?

Apparently we can adjust the input data. We SHOULD adjust the input. When smart coins are running with a premium, we can feed higher BTS price to encourage more shorting and more supply, to reduce the premium. When running with a discount, we feed lower BTS price.

How much offset should we apply to the price so that we can achieve a tight peg? I don't know the exact value. It depends. However, without trying we'll never know.

Please discuss, and act.


BSIP doc: https://github.com/bitshares/bsips/blob/master/bsip-0042.md


Poll workers:

1.14.118 Poll - BSIP42 - Adjust price feed dynamically

1.14.119 Poll - BSIP42 - NO adjustment to price feed

242
公开市场基金(worker 1.14.102)已经运作一段时间了,运作过程中,存在一些客观问题,需要改进。

声明:
1. 我本人是不支持这个 worker 的。从worker创建至今,我从没有对这个 worker 投过赞成票,我也没有投票同意过任何与这个基金有关的转账、挂单、调整债仓的提案操作,虽然我的账号配在了CNY操作账号 (committee-cnytrader) 里,占1/3有效权重。但是,这个 worker 客观上已经投票通过,所以我也接受这个事实。从大局考虑,基金运作需要遵循一定规范。
2. 我本人很尊重巨蟹,对于巨蟹对 BitShares 生态做出的努力和贡献也非常感谢。这个帖子不针对个人,主要是对当前形势的客观表达,以及提出改善方案。


基金运行至今,巨蟹一直在积极操作,基本上所有的转账、挂单、调整债仓的操作提案都是巨蟹发起,其他人动手点一下同意,如果发现提案操作有问题,就不点同意。客观上来说,因为有多签设置,巨蟹没有对基金的完全控制权,所以“操纵基金”的说法是靠不住的。所有操作都是公开完成,如果出现问题,所有参与操作者都有责任。
(这里需要说一下usd操作账号,目前是1/3多签,但是只有巨蟹操作过)

一方面,这说明巨蟹付出了努力;但另一方面,这也说明其他人对这个基金实际运作的不够关心,从而可能导致风险。

个人认为,巨蟹作为基金“主操作者”,是不合适的。原因如下:

1. 巨蟹的操作风格,与公开市场操作基金是不匹配的。
众所周知,巨蟹本人持有巨大债仓,操作比较激进,被多次爆仓。而基金运作的第一要务是资金安全,操作上应该是偏保守。

2. 技术方面,巨蟹的债仓管理能力,是值得质疑的。
“目标抵押率”功能,从7月19日硬分叉生效,至今已经两个多星期。这个功能的使用,特别是大债仓对这个功能的使用,对市场稳定性非常重要。众多中小投资者/抵押参与者都第一时间开始使用这个功能(感谢鼓鼓钱包)。但是,巨蟹本人的巨大债仓,以及公开市场操作基金的债仓,却是很晚才开始使用这个功能。客观上说,原因是 bitshares-ui 钱包正式发布版本直到8月8日才支持目标抵押率的功能;但是,在发布正式版本前,支持这个功能的测试版本在8月1号就已经发布,另外还有命令行钱包从6月份开始就支持这个功能。这方面巨蟹对债仓的处理是有欠缺的。

3. 巨蟹本人的债仓,与公开市场基金存在直接冲突。
这里说下实际情况。
在8月7日之前,巨蟹本人的债仓爆仓价在 1.05 CNY 左右,没有设置目标抵押率。
在8月7日前后,公开市场操作基金在1.01-1.08附近挂了大额买单。
在8月8日前后,巨蟹爆仓单砸向市场,事实上做了公开市场操作基金的对手盘(虽然不一定有直接成交记录)

4. 源水基金,与公开市场基金存在潜在冲突。
这里说潜在冲突,是因为事实上还没有成为对手盘。
目前源水基金与公开市场基金操作方向是一致的,基本都是买。
今后有成为对手盘的可能,因为毕竟基金设立目的不一样。
巨蟹参与了源水基金的管理,参与了债仓调整操作。

5. 巨蟹对基金操作规则的执行存在争议
毕竟是第一个公开市场基金,从 worker 建立至今,操作规则一直不稳定,有些变化有书面说明,有些没有,而有书面说明的部分,也不一定完全达成了共识,因为市场不是非黑即白,有时候需要偏重追求效率。
主要争议在于,1) 债仓抵押率设多少, 2) 多少价格挂多少量的买单。
第一个规则相对简单,也容易遵守,从最初的4倍抵押率,到后来的按价格调整抵押率,公式很清楚。
但是在执行过程中,却没能完全遵守规则,最近最低抵押率甚至低于2倍,大大超出很多人的心理预期。
第二个规则,需要对市场行情有所把握,这里暂不讨论。


基于以上几点,个人认为,为了避嫌,减少公开市场操作基金的争议,巨蟹应该主动退出公开市场操作基金的操作。

顺便说下,小山参与了源水基金管理,一定程度上也应该避嫌。


如果巨蟹退出,那么就存在一个需求:公开市场操作基金谁来管?因为实际情况是,现在除了巨蟹,没人管。

那么,公开招聘操盘手怎么样?

243
General Discussion / SPRING fund
« on: July 13, 2018, 08:57:05 pm »

244
中文 (Chinese) / 讨论下 GDEX 的交易挖矿
« on: July 12, 2018, 09:55:08 am »
GDEX 今天开启交易挖矿。白皮书地址 https://www.gdex.io/files/GDP_whitepaper_v0.4.pdf

交易挖矿本质相当于 ICO 。

按白皮书来看,预计总发行量 10 亿 GDP ,早鸟价 0.5 CNY,相当于初始估值 5 亿。

第一期释放 1000w GDP,占总量的 1%;按早鸟价计算,相当于 500w CNY,由于是交易费用50%返还,相当于融资 1000w CNY。

gdex 能否公布一下上线至今的运营情况,包括交易量、代管资金量(充值量)、手续费收入、运营支出等等?

245
General Discussion / BitShares-Core Release 2.0.180612
« on: June 13, 2018, 10:12:16 am »
This is a protocol upgrade release. All nodes should upgrade before `2018-07-19 14:00:00 UTC`.

Detailed info and binaries for download: https://github.com/bitshares/bitshares-core/releases/tag/2.0.180612

Note: in the previous release ([`2.0.180425`](https://github.com/bitshares/bitshares-core/releases/tag/2.0.180425)) we fixed a serious bug.
* If you're upgrading from `2.0.180425` to `2.0.180612`, you don't need to do anything special;
* if you're upgrading from a release earlier than `2.0.180425` to `2.0.180612`, please check [release notes of 2.0.180425](https://github.com/bitshares/bitshares-core/releases/tag/2.0.180425) to see if you need to perform additional steps.

## Consensus changes

* [BSIP26: Refund Order Creation Fee in Originally Paid Asset when order is cancelled](https://github.com/bitshares/bsips/blob/master/bsip-0026.md)
* [BSIP27: Asset Issuer Reclaim Fee Pool Funds](https://github.com/bitshares/bsips/blob/master/bsip-0027.md)
* [BSIP29: Require owner authority to change asset issuer](https://github.com/bitshares/bsips/blob/master/bsip-0029.md)
* [BSIP30: Always Allow Increasing Collateral Ratio If Debt Not Increased](https://github.com/bitshares/bsips/blob/master/bsip-0030.md)
* [BSIP31: Update Short Position's Margin Call Price After Partially Called Or Settled](https://github.com/bitshares/bsips/blob/master/bsip-0031.md)
* [BSIP32: Always Match Orders At Maker Price](https://github.com/bitshares/bsips/blob/master/bsip-0032.md)
* [BSIP33: Maker Orders With Better Prices Take Precedence](https://github.com/bitshares/bsips/blob/master/bsip-0033.md)
* [BSIP34: Always Trigger Margin Call When Call Price Above Or At Price Feed](https://github.com/bitshares/bsips/blob/master/bsip-0034.md)
* [BSIP35: Mitigate Rounding Issue On Order Matching](https://github.com/bitshares/bsips/blob/master/bsip-0035.md)
* [BSIP36: Remove expired price feeds on maintenance interval](https://github.com/bitshares/bsips/blob/master/bsip-0036.md)
* [BSIP37: Allow new asset name to end with a number](https://github.com/bitshares/bsips/blob/master/bsip-0037.md)
* [BSIP38: Add target collateral ratio option to short positions](https://github.com/bitshares/bsips/blob/master/bsip-0038.md)
* [Bugfix #184: Potential something-for-nothing fill bug](https://github.com/bitshares/bitshares-core/issues/184)
* [Bugfix #214: Proposal cannot contain proposal_update_operation](https://github.com/bitshares/bitshares-core/issues/214)
* [Bugfix #453: Multiple limit order and call order matching issue](https://github.com/bitshares/bitshares-core/issues/453)
* [Bugfix #588: Virtual operations should be excluded from transactions](https://github.com/bitshares/bitshares-core/issues/588)
* [Bugfix #868: Clear price feed data after updated a bitAsset's backing asset ID](https://github.com/bitshares/bitshares-core/issues/868)
* [Bugfix #890: Update median feeds after feed_lifetime_sec changed](https://github.com/bitshares/bitshares-core/issues/890)
* [Bugfix #922 / #931 / #970] Fixed missing checks when updating a smart coin's `bitasset` options E.G. force settlement delay, backing asset ID or etc;
* [Bugfix #942] Fixed missing asset authorities check for "from" account when claiming from a withdraw permission.

## API changes

* `extensions` field of `call_order_update_operation` changed from an array to an object, which affects all related API's E.G. `get_block`, `get_account_history`, `get_relative_account_history` and etc. Due to this, old version of `cli_wallet` won't be compatible with new API nodes when that operation would occur in result.
* [Issue #862, PR #872] Improved pagination of `list_assets` node API
* [Issue #863, PR #871] Node `get_ticker` API now returns time stamp of latest block instead of server time
* [Issue #811, PR #861] Added `get_full_account` command/API to `cli_wallet`


## Other changes

* [[FC PR #36](https://github.com/bitshares/bitshares-fc/pull/36)] Support Boost 1.64-1.65

* [[FC PR #43](https://github.com/bitshares/bitshares-fc/pull/43)] Fixed a memory leak issue in TCP socket destruction

* [[FC PR #44](https://github.com/bitshares/bitshares-fc/pull/44)] Fixed Diffie-Hellman shared key computation (related to memo encryption)

* [Issue #727, PR #880] Added stack trace printing when node crashes (only for boost 1.65)

* [Issue #878, PR #927] Made number of I/O threads configurable (can be manual or auto)

* [Issue #805, PR #840 / #919 / #937] Improved logging level and messages; added logging options about log-rotation

* [Issue #837, PR #848 / #839] Added cli_wallet to Docker

* [PR #938] Fixed an issue that may cause the node to store incorrect block ID to disk when switching forks

* [Issue #582, PR #813] Fixed macOS witness node crash issue when being used as an API server

* [Issue #776, PR #816 / #955] Fixed missing notification to RPC clients when changes occurred on some types of objects

* [Issue #888, PR #954] Fixed an integer overflow issue when checking whether a price feed has expired

* [Issue #864, PR #865] Fixed a `cli_wallet` transaction signing issue when creating proposals with transaction builder

* [Issue #859, PR #801 / #817] Fixed macOS and Ninja build errors introduced in last release

* [Issue #136, PR #928] Fixed an asset supply calculation error in test case

* [Issue #943, PR #869 / #945] Improved a few assertion error messages

* [PR #850] Removed unused asset cache from `cli_wallet`

* [PR #918] Fixed in-code documentation for `set_desired_witness_and_committee_member_count` command/API in `cli_wallet`

* [PR #804] Refactored `node.cpp` and `application.cpp` for easier testing

* [PR #851 / #853 / #854 / #855] Fixed several compiler warnings

## Contributors

* [@abitmore](https://github.com/abitmore)
* [@jmjatlanta](https://github.com/jmjatlanta)
* [@oxarbitrage](https://github.com/oxarbitrage)
* [@pmconrad](https://github.com/pmconrad)
* [@xeroc](https://github.com/xeroc)
* [@cifer-lee](https://github.com/cifer-lee)
* [@ihla](https://github.com/ihla)
* [@zhuliting](https://github.com/zhuliting)
* [@Zapata](https://github.com/Zapata)


246
中文 (Chinese) / 新版重钱包 2.0.180612
« on: June 12, 2018, 05:30:05 pm »
BTS 2.0.180612 新版本已发布。

这是一个协议升级(硬分叉)版本,请所有节点在 2018年7月19日(周四)北京时间晚上22:00前完成升级。

下载地址: https://github.com/bitshares/bitshares-core/releases/tag/2.0.180612

由于有数据变化,升级会自动 replay 。

【注意】前一个版本 2.0.180425 修复了一个账户历史相关的重要问题,主要影响对接,请注意处理以免造成资产损失。详见 https://steemit.com/bitshares/@abit/bitshares-core-release-2-0-180425

* 从 2.0.180425 升级到 2.0.180612 不再需要特殊处理;
* 从低于 2.0.180425 的版本可以直接升级到 2.0.180612 ,但需要参照 上述链接中的方法,自行判断是否需要进行历史对接数据处理。

更新内容参见测试帖:
https://bitsharestalk.org/index.php?topic=26504.0
https://bitsharestalk.org/index.php?topic=26427.0

硬分叉部分:

【BSIP26】如果下单手续费不是用的BTS,撤单返还原始手续费币种而不是返还BTS
【BSIP27】资产发行人可以直接取出资产手续费池中的BTS
【BSIP29】修改资产发行人需要 Owner key
【BSIP30】在爆仓状态可以上调抵押率,不再强制要求必须上调到多少,但抵押率不足最低要求时不能增加借款
【BSIP31】爆仓单部分成交后爆仓价自动更新
【BSIP32】主动吃爆仓单时,成交价是喂价/1.1 (实际数值由喂价产生,1.1是当前大部分智能资产的参数)
【BSIP33】主动吃爆仓单时,会先吃掉比爆仓单价格更低的卖单
【BSIP34】修复买单价高于喂价会导致爆仓单不成交的问题
【BSIP35】降低整除问题对挂单撮合的影响
【BSIP36】删除过期喂价(不再可以通过增加喂价有效期来将已经过期的喂价重新变成有效)
【BSIP37】资产名称可以以数字结尾
【BSIP38】可以设定爆仓后最多归还多少借款(但至少需要满足最低抵押率。默认归还全部欠款)
【Bugfix #184】修正撮合成交会出现付出非0买到0的问题(就是 BSIP35 里的金额为 0 的情况)
【Bugfix #214】修正不能用提案来批准提案的问题
【Bugfix #453】修正多个大爆仓单同时砸盘时可能会和价格不是最高的买单成交的问题
【Bugfix #588】修正可以签虚拟交易上链的问题
【Bugfix #868】修改智能资产的背书资产后,清除现有喂价
【Bugfix #890】修改智能资产的喂价有效时间时,更新喂价并检查爆仓单
【Bugfix #922 / #931 / #970】 当修改BitAsset的参数,比如修改背书资产、修改强清延迟时间等时,遗漏一些检查。现在修正。
【Bugfix #942】 循环扣款时,遗漏对被扣款人进行白名单检查。现在修正。

其他优化部分:

【FC 库 PR #36】 增加支持 Boost 1.64-1.65
【FC 库 PR #43】 修正一处内存泄露问题
【FC 库 PR #44】 修正一个使用diffie-hellman算法计算共享秘钥时的潜在错误(memo加密相关)
【Issue #727, PR #880】 节点崩溃时输出堆栈信息
【Issue #878, PR #927】 可以配置IO线程数,或者根据CPU内核数自动配置IO线程数
【Issue #805, PR #840 / #919 / #937】 增加日志回滚配置项,改进日志记录内容
【Issue #837, PR #848 / #839】将cli_wallet加入Docker

【PR #938】修正一个可能导致错误的区块索引保存到本地磁盘的问题
【Issue #582, PR #813】 修正macOS节点(重钱包)收到挂单后崩溃的问题
【Issue #776, PR #816 / #955】 修正有些交易发生时没有通知客户端、所以客户端不会自动刷新的问题
【Issue #888, PR #954】 修正检查喂价过期时的整型溢出问题
【Issue #864, PR #865】 修正命令行钱包使用 transaction builder 时可能不正确签名的问题
【Issue #859, PR #801 / #817】 修正macOS下、Ninja下编译失败问题
【Iuuse #136, PR #928】修正测试案例中一处资产供应量的计算错误
【Issue #943, PR #869 / #945】 优化报错信息
【Issue #862, PR #872】 优化查询资产列表API的翻页参数
【Issue #863, PR #871】 优化get_ticker API的返回时间戳,现在返回最新块时间戳而不是当前时间
【Issue #811, PR #861】 命令行钱包增加 get_full_account 命令
【PR #850】 命令行钱包不再缓存资产数据
【PR #918】修正一处命令行钱包帮助文档错误
【PR #804】 重构p2p和app模块部分代码以方便测试
【PR #851 / #853 / #854 / #855】修复一些编译警告


代码贡献者:

@abitmore
@jmjatlanta
@oxarbitrage
@pmconrad
@xeroc
@cifer-lee
@ihla
@zhuliting
@Zapata

249
General Discussion / New BitShares TESTNET release: test-2.0.180525
« on: May 25, 2018, 10:49:54 pm »
TESTNET Protocol upgrade (Hard fork) time is scheduled at `Thu, 31 May 2018 14:00:00 UTC`.

Testnet nodes (especially witnesses and public seed nodes and API nodes) please upgrade in time (before the scheduled time).

Github: https://github.com/bitshares/bitshares-core/releases/tag/test-2.0.180525

Details about this release:

### 1. Protocol upgrade (hard fork) related:

* [Bugfix #922 / #931 / #970] Fixed missing checks when updating a smart coin's `bitasset` options E.G. force settlement delay, backing asset ID or etc;

* [Bugfix #935] Fixed missing margin call checks introduced in fix for #868 and #890 in last testnet release.

* [Bugfix #942] Fixed missing asset authorities check for "from" account when claiming from a withdraw permission.

### 2. Other updates (including the ones done in last testnet release but not included in the release notes)

* [FC repository PR #36] Support Boost 1.64-1.65

* [FC repository PR #43] Fixed a memory leak issue in TCP socket destruction

* [FC repository PR #44] Fixed Diffie-Hellman shared key computation (related to memo encryption)

* [PR #938] Fixed an issue that may cause the node to store incorrect block ID to disk when switching forks

* [Issue #582, PR #813] Fixed macOS witness node crash issue when being used as an API server

* [Issue #776, PR #816 / #955] Fixed missing notification to RPC clients when changes occurred on some types of objects

* [Issue #888, PR #954] Fixed an integer overflow issue when checking whether a price feed has expired

* [Issue #864, PR #865] Fixed a `cli_wallet` transaction signing issue when creating proposals with transaction builder

* [Issue #859, PR #801 / #817] Fixed macOS and Ninja build errors introduced in last release

* [Iuuse #136, PR #928] Fixed an asset supply calculation error in test case

* [Issue #805, PR #840 / #919 / #937] Improved logging level and messages; added logging options about log-rotation

* [Issue #943, PR #869 / #945] Improved a few assertion error messages

* [Issue #727, PR #880] Added stack trace printing when node crashes (only for boost 1.65)

* [Issue #878, PR #927] Made number of IO threads configurable (can be manual or auto)

* [Issue #862, PR #872] Improved pagination of `list_assets` node API

* [Issue #863, PR #871] Node `get_ticker` API now returns time stamp of latest block instead of server time

* [Issue #811, PR #861] Added `get_full_account` command/API to `cli_wallet`

* [PR #850] Removed unused asset cache from `cli_wallet`

* [PR #918] Fixed in-code documentation for `set_desired_witness_and_committee_member_count` command/API in `cli_wallet`

* [PR #804] Refactored `node.cpp` and `application.cpp` for easier testing

* [PR #851 / #853 / #854 / #855] Fixed several compiler warnings

250
中文 (Chinese) / 新的测试网版本 test-2.0.180525
« on: May 25, 2018, 10:38:32 pm »
【测试网】 硬分叉时间 北京时间 5月31号 (周四) 22:00 。

测试网见证人及其他参与测试的朋友请及时升级(需要在硬分叉时间前升级)。

这个版本修了3个需要硬分叉的bug,以及一些其他优化。

代码: https://github.com/bitshares/bitshares-core/releases/tag/test-2.0.180525

修改内容:

1. 硬分叉部分:

【Bugfix #922 / #931 / #970】 当修改BitAsset的参数,比如修改背书资产、修改强清延迟时间等时,遗漏一些检查。现在修正。

【Bugfix #935】 上个版本里对#868及#890的修复,在某些情况下不会触发爆仓检查,现在修正以及补查。

【Bugfix #942】 循环扣款时,遗漏对被扣款人进行白名单检查。现在修正。

2. 其他优化部分(包含上个测试版本中未列出的内容)

【FC 库 PR #36】 增加支持 Boost 1.64-1.65

【FC 库 PR #43】 修正一处内存泄露问题

【FC 库 PR #44】 修正一个使用diffie-hellman算法计算共享秘钥时的潜在错误(memo加密相关)

【PR #938】修正一个可能导致错误的区块索引保存到本地磁盘的问题

【Issue #582, PR #813】 修正macOS节点(重钱包)收到挂单后崩溃的问题

【Issue #776, PR #816 / #955】 修正有些交易发生时没有通知客户端、所以客户端不会自动刷新的问题

【Issue #888, PR #954】 修正检查喂价过期时的整型溢出问题

【Issue #864, PR #865】 修正命令行钱包使用 transaction builder 时可能不正确签名的问题

【Issue #859, PR #801 / #817】 修正macOS下、Ninja下编译失败问题

【Iuuse #136, PR #928】修正测试案例中一处资产供应量的计算错误

【Issue #805, PR #840 / #919 / #937】 增加日志配置项,改进日志记录内容

【Issue #943, PR #869 / #945】 优化报错信息

【Issue #727, PR #880】 节点崩溃时输出堆栈信息

【Issue #878, PR #927】 可以配置IO线程数,或者根据CPU内核数自动配置IO线程数

【Issue #862, PR #872】 优化查询资产列表API的翻页参数

【Issue #863, PR #871】 优化get_ticker API的返回时间戳,现在返回最新块时间戳而不是当前时间

【Issue #811, PR #861】 命令行钱包增加 get_full_account 命令

【PR #850】 命令行钱包不再缓存资产数据

【PR #918】修正一处命令行钱包帮助文档错误

【PR #804】 重构p2p和app模块部分代码以方便测试

【PR #851 / #853 / #854 / #855】修复一些编译警告

251
BitAssets' MCR (maintenance collateral ratio) is calculated from price feeds (actually it's the median of feeds), it can change when feed changes, although rarely changes (according to current use cases in production aka BitShares mainnet, but perhaps there are potential new use cases which need to change it frequently).

MCR affects all margin positions. When MCR increased, more short positions will be put into margin call territory; when MCR decreased, more short positions will be pull out of margin call territory.

So, ideally, when MCR changed, all short positions should be reevaluated.

Since the quantity of short positions can be very large, for better performance, a caching mechanism is used in current system, aka "call price". When a short position is created, we calculate its call price with current MCR; when its collateral and/or debt got updated, we update its call price according to current MCR. When median feed price reached call price, the short position is put into margin call territory; when feed price changed backwards, the short position is pull out of margin call territory.

However, in current system, we don't refresh the "call price" cache when MCR changed, that said, existing short positions' call prices can be inconsistent with latest MCR. In the meanwhile, call prices of new positions or updated positions will be always up-to-date as long as MCR didn't change. This may lead to unintended margin calls when MCR decreased, or unintended inability to call when MCR increased.

By the way, BSIP31 partially solved the cache refreshing issue: before BSIP31, when a short position is partially called or settled, its call price won't be updated; after BSIP31, it will. https://github.com/bitshares/bsips/blob/master/bsip-0031.md

Another related feature is BSIP38, using "target_collateral_ratio" option will effectively avoid unintended margin calls, somewhat of double insurance. However, if a borrower is not using "target_collateral_ratio" option, her position can be called unintendedly after MCR decreased. https://github.com/bitshares/bsips/blob/master/bsip-0038.md

Now come back to the MCR topic.

To solve the cache inconsistency issue, we have options:

1. totally drop the caching mechanism, calculate call prices on the fly (may impact order matching performance)

2. update "call price" cache immediately when MCR changed (may impact performance since possibly need to update lots of data at a time)

3. update "call price" cache at maintenance interval since maintenance interval is meant to be used to process mass calculation

With the 3rd approach,

3.1 if we don't change MCR update behavior, aka update "current effective" MCR directly when feed changed, then the call price cache will be still inconsistent before maintenance interval;

3.2 we can defer MCR update to maintenance interval, that said, when detected a MCR change due to feed change or asset option e.g. feed lifetime change, don't apply the MCR update immediately, but apply it in next maintenance interval. With this approach, the call price data will be always consistent to "current effective" MCR.
  * pros: data consistency
  * cons: probably poorer user experience (UX), since users (usually asset issuers and feed producers) need to wait when wanted to update MCR.


Summary:
I recommend the 3.2 approach: defer MCR update to maintenance interval, update call price cache every time after MCR updated.
Update: at present I tend to adopt option 1. Actually, we can also try to move the caching to median price feed.

Thoughts?

252
中文 (Chinese) / 测试网硬分叉版本发布: test-2.0.180510
« on: May 10, 2018, 11:13:21 pm »
中文还没来得及写。

英文见: https://steemit.com/bitshares/@abit/bitshares-testnet-release-test-2-0-180510

New HARD FORK release for [BitShares](https://bitshares.org/) [Open Public TestNet](https://testnet.bitshares.eu) is out, version [test-2.0.180510](https://github.com/bitshares/bitshares-core/releases/tag/test-2.0.180510).

Hard fork time is scheduled at `Sat, 19 May 2018 13:58:00 UTC`.

Testnet nodes please upgrade, ALL PEOPLE please help test.

Mainnet release will be published after test is done, estimated date is around Tue, 12 June.

## Consensus changes:

* [BSIP26: Refund Order Creation Fee in Originally Paid Asset when order is cancelled](https://github.com/bitshares/bsips/blob/master/bsip-0026.md)
* [BSIP27: Asset Issuer Reclaim Fee Pool Funds](https://github.com/bitshares/bsips/blob/master/bsip-0027.md)
* [BSIP29: Require owner authority to change asset issuer](https://github.com/bitshares/bsips/blob/master/bsip-0029.md)
* [BSIP30: Always Allow Increasing Collateral Ratio If Debt Not Increased](https://github.com/bitshares/bsips/blob/master/bsip-0030.md)
* [BSIP31: Update Short Position's Margin Call Price After Partially Called Or Settled](https://github.com/bitshares/bsips/blob/master/bsip-0031.md)
* [BSIP32: Always Match Orders At Maker Price](https://github.com/bitshares/bsips/blob/master/bsip-0032.md)
* [BSIP33: Maker Orders With Better Prices Take Precedence](https://github.com/bitshares/bsips/blob/master/bsip-0033.md)
* [BSIP34: Always Trigger Margin Call When Call Price Above Or At Price Feed](https://github.com/bitshares/bsips/blob/master/bsip-0034.md)
* [BSIP35: Mitigate Rounding Issue On Order Matching](https://github.com/bitshares/bsips/blob/master/bsip-0035.md)
* [BSIP36: Remove expired price feeds on maintenance interval](https://github.com/bitshares/bsips/blob/master/bsip-0036.md)
* [BSIP37: Allow new asset name to end with a number](https://github.com/bitshares/bsips/blob/master/bsip-0037.md)
* [BSIP38: Add target collateral ratio option to short positions](https://github.com/bitshares/bsips/blob/master/bsip-0038.md)
* [Bugfix #184: Potential something-for-nothing fill bug](https://github.com/bitshares/bitshares-core/issues/184)
* [Bugfix #214: Proposal cannot contain proposal_update_operation](https://github.com/bitshares/bitshares-core/issues/214)
* [Bugfix #453: Multiple limit order and call order matching issue](https://github.com/bitshares/bitshares-core/issues/453)
* [Bugfix #588: Virtual operations should be excluded from transactions](https://github.com/bitshares/bitshares-core/issues/588)
* [Bugfix #868: Clear price feed data after updated a bitAsset's backing asset ID](https://github.com/bitshares/bitshares-core/issues/868)
* [Bugfix #890: Update median feeds after feed_lifetime_sec changed](https://github.com/bitshares/bitshares-core/issues/890)

Non-consensus changes and other info to be updated.

253
General Discussion / New BitShares TESTNET release: test-2.0.180510
« on: May 10, 2018, 11:11:33 pm »
This is a repost of https://steemit.com/bitshares/@abit/bitshares-testnet-release-test-2-0-180510

New HARD FORK release for [BitShares](https://bitshares.org/) [Open Public TestNet](https://testnet.bitshares.eu) is out, version [test-2.0.180510](https://github.com/bitshares/bitshares-core/releases/tag/test-2.0.180510).

Hard fork time is scheduled at `Sat, 19 May 2018 13:58:00 UTC`.

Testnet nodes please upgrade, ALL PEOPLE please help test.

Mainnet release will be published after test is done, estimated date is around Tue, 12 June.

## API changes:

* `extensions` field of `call_order_update_operation` changed from an array to an object, which affects all related API's E.G. `get_block`, `get_account_history`, `get_relative_account_history` and etc. Due to this, old version of `cli_wallet` won't be compatible with new API nodes when that operation would occur in result.

## Consensus changes:

* [BSIP26: Refund Order Creation Fee in Originally Paid Asset when order is cancelled](https://github.com/bitshares/bsips/blob/master/bsip-0026.md)
* [BSIP27: Asset Issuer Reclaim Fee Pool Funds](https://github.com/bitshares/bsips/blob/master/bsip-0027.md)
* [BSIP29: Require owner authority to change asset issuer](https://github.com/bitshares/bsips/blob/master/bsip-0029.md)
* [BSIP30: Always Allow Increasing Collateral Ratio If Debt Not Increased](https://github.com/bitshares/bsips/blob/master/bsip-0030.md)
* [BSIP31: Update Short Position's Margin Call Price After Partially Called Or Settled](https://github.com/bitshares/bsips/blob/master/bsip-0031.md)
* [BSIP32: Always Match Orders At Maker Price](https://github.com/bitshares/bsips/blob/master/bsip-0032.md)
* [BSIP33: Maker Orders With Better Prices Take Precedence](https://github.com/bitshares/bsips/blob/master/bsip-0033.md)
* [BSIP34: Always Trigger Margin Call When Call Price Above Or At Price Feed](https://github.com/bitshares/bsips/blob/master/bsip-0034.md)
* [BSIP35: Mitigate Rounding Issue On Order Matching](https://github.com/bitshares/bsips/blob/master/bsip-0035.md)
* [BSIP36: Remove expired price feeds on maintenance interval](https://github.com/bitshares/bsips/blob/master/bsip-0036.md)
* [BSIP37: Allow new asset name to end with a number](https://github.com/bitshares/bsips/blob/master/bsip-0037.md)
* [BSIP38: Add target collateral ratio option to short positions](https://github.com/bitshares/bsips/blob/master/bsip-0038.md)
* [Bugfix #184: Potential something-for-nothing fill bug](https://github.com/bitshares/bitshares-core/issues/184)
* [Bugfix #214: Proposal cannot contain proposal_update_operation](https://github.com/bitshares/bitshares-core/issues/214)
* [Bugfix #453: Multiple limit order and call order matching issue](https://github.com/bitshares/bitshares-core/issues/453)
* [Bugfix #588: Virtual operations should be excluded from transactions](https://github.com/bitshares/bitshares-core/issues/588)
* [Bugfix #868: Clear price feed data after updated a bitAsset's backing asset ID](https://github.com/bitshares/bitshares-core/issues/868)
* [Bugfix #890: Update median feeds after feed_lifetime_sec changed](https://github.com/bitshares/bitshares-core/issues/890)

Non-consensus changes and other info to be updated.

NOTE:

Nodes please upgrade BEFORE the scheduled hard fork time, e.g. upgrade NOW, but not upgrade after the time. If some active witnesses didn't upgrade in time, there will be unintended forking.

Testnet witnesses who have upgraded please leave a message in this thread.

Testnet witnesses who want more votes please leave a message as well.

254
中文 (Chinese) / 新版重钱包 2.0.180425
« on: April 25, 2018, 09:37:08 pm »
BTS 2.0.180425 新版本已发布。这是一个BUG修复版本。

下载地址: https://github.com/bitshares/bitshares-core/releases/tag/2.0.180425

这个版本修复了一个账户历史插件的问题,该问题会导致某些情况下节点会记录错误的操作历史ID。主要影响第三方合作者进行系统对接。

这个问题不影响共识和安全。

## 谁需要更新,需要怎么做

交易所、网关、商户等第三方合作者,如果运行 witness_node 节点时使用了 `track-account` 参数,并且依赖于操作历史 ID (即 `1.11.x`)来唯一识别转账等交易记录,那么很可能已经受到这个BUG影响。

解决方法:
1. 升级到新版本;
2. 使用 `--replay-blockchain` 参数重启节点;
3. 仔细检查以往处理过的操作历史记录 ,和升级后的节点返回的 ID 进行对比,如果需要,处理好其中的差异;
4. 可能需要重新审查业务处理逻辑。

请注意,上面第3点很重要,其目的是为了防止同一笔交易(比如充值)被重复处理,导致损失。因为使用 `--replay-blockchain` 参数重启后,账户操作历史ID可能已经发生变化,比如,某一笔充值在升级前的 ID 是 `1.11.123456789` ,升级后可能变成了 `1.11.123456700` ,如果对接程序不能识别这两个ID其实对应的是同一笔交易,会导致重复入账,带来资金损失。

之前的版本都受到这个bug影响。

## 谁没有受影响

这里列出若干种可能没有受到bug影响的情形。但是,为了您的资金安全,请自行甄别确定是否受到影响。

* 这个bug不影响 `delayed_node` ,所以 `delayed_node` 返回的数据一直是准确的,虽然 `delayed_node` 连接到的 `witness_node` 数据可能不准确。如果对接程序只从 `delayed_node` 获取操作历史 ID,那么应该没有受到bug影响。
  * 注意,如果对接程序也从 `witness_node` 读取数据,则可能受到bug影响

* 不依赖 `1.11.x` 这种ID来识别唯一交易的对接程序,比如按照交易的txID或者签名来识别的,不受这个bug影响。

* 没有使用 `track-account` 参数的节点不受这个BUG影响。
  * 使用默认参数运行的节点不受影响
  * 见证人、API节点、种子节点一般不会使用 `track-account` 参数,所以应该不受影响

* 个人节点可能会配置 `track-account` 参数,所以可能受到影响;但是,一般用户使用节点时,并不关心 `1.11.x` 这种操作历史ID,所以一般来说不用升级。

## 关于BUG的更多信息

如果使用了 `track-account` 参数,当网络发生分叉(常见的原因比如延迟),没升级的节点的账户历史插件会跳过一些操作ID,导致后续的操作ID都不正确。在使用 `--replay-blockchain` 参数重启后,账户历史插件内部的老数据的ID会被自动修正,但是新的数据ID还是可能出错。

升级后的节点不会再跳过ID,保证ID连续,所以不再会有这个问题。

相关 issue 和 pull request 见 https://github.com/bitshares/bitshares-core/issues/585 , https://github.com/bitshares/bitshares-core/pull/873


255
这贴是开头,先说一下原则。

大家知道,债仓的最低抵押率和爆仓惩罚比例是由喂价人指定。对于 CNY 等理事会资产来说,是由见证人指定。

从机制上来说,见证人负责调整这两个参数。为了系统更好运行,比如为了更好的锚定,见证人【应该】适时调整参数。

目前所有见证人都使用固定抵押率 175% 和爆仓惩罚 110% ,一方面是历史原因,是 BM 拍脑袋想出的初始数据;一方面是实验性质,看看固定参数是否能达到理想效果;甚至说得难听一点,也可能是大部分见证人比较懒、不作为、没有去优化。

现在,经过两年多运行验证,从结果来看, CNY 锚定效果不甚理想,所以有理由推测,认为固定参数可能也是原因之一。也有不少人提出了各种修改参数的方法,虽然还没有最终结论。当然,去中心化本身就是百家共鸣,不一定有最优方案。

【但是】,很少见到见证人出来讨论这个问题,更别说优化方案。从 DPoS 本身来说,【持票人】有义务推动见证人进行参数优化:不作为的见证人应该下调绩效考核分数、甚至下岗。

1. 应该鼓励、甚至要求见证人进行参数调整方面的努力,并积极实施,不能仅限于讨论。

2. 有编码能力的见证人,自己修改喂价脚本,进行实验;没有编码能力的,积极探索,如何使用他人脚本,以及提供思路和修改方案。

3. 可以小步走。一开始调整小一点,慢慢增加。

4. 去中心化,不一定大家都使用同样的调整算法,最好有几套算法,至少是多种实现。因为参数和价格一样,最终取的是所有见证人的中间值(不是平均值)。使用多种脚本会降低同时出错几率。

【待续】

Pages: 1 ... 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 ... 26