求安慰

2012-02-03 21:45:22 +08:00
 fcicq
[
{
"account" : "",
"category" : "orphan",
"amount" : 50.00000000,
"confirmations" : 0,
"txid" : "---",
"time" : ---
}
]

抱歉 txid 和 time 要隐掉.
3051 次点击
所在节点    Bitcoin
4 条回复
Livid
2012-02-03 21:58:08 +08:00
挖到一个完整的?恭喜啊!
fcicq
2012-02-03 22:08:38 +08:00
可是比另一个同高度的 block 晚了一点点.
fcicq
2012-02-04 14:12:22 +08:00
原因分析:
2012.1.21, 更换 bitcoind.
版本 0.3.24 (with 0001-bitcoin-4diff.patch) 到 0.5.99(built from git)

注意到 patch 后 hub mode 的存在有助于更快的获取新 block, 但这不是最后一根稻草.

---

协议和 debug.log 的分析:

https://en.bitcoin.it/wiki/Protocol_specification#inv
新 block 的发现者要广播 inv 消息, 说明自己发现了一个 block (tx 同).
(但收到 inv 消息的客户端只知道有 block 出现, 不知 block 的内容)

客户端广播 getdata 消息获取所有未知的 inv.
获取之后检测其正确性, 并处理新 block.

问题出在 getdata 不成功之时.
The code attempts to limit redundant requests to every 2 minutes for the same block by using a map called mapAlreadyAskedFor to delay the message if necessary.[6]
--- https://en.bitcoin.it/wiki/Satoshi_Client_Block_Exchange

修复: 暂时将重试时间从 120s 改为 10s.
(但对普通 tx 不应使用本项, 需要再调整. 判断为 Block 类型则改为 5s 或更低.)

src/net.h:
// Each retry is 2 minutes after the last
- nRequestTime = std::max(nRequestTime + 2 * 60 * 1000000, nNow);
+ nRequestTime = std::max(nRequestTime + 10 * 1000000, nNow);
v2exmakebetter1
2012-02-04 23:25:39 +08:00
个人挖矿成功率完全等同于中彩票头彩,现在这个难度值,人家集团军1000~3000Ghash/s都要N久才抢到一个,自己的电脑费这个力气,还不如出门买足彩算了。。

ps: bitcoin设计里唯一的不好,是没把计算能力用在有意义上的分布式计算。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/26546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX