V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  memorybox  ›  全部回复第 4 页 / 共 9 页
回复总数  175
1  2  3  4  5  6  7  8  9  
2020-01-27 12:57:45 +08:00
回复了 blueberryman 创建的主题 Bitcoin 比特币的双花攻击问题解决
再重新说明一下第一个疑问:

Merkle 树的任何修改都会影响 Merkle Root,而 Merkle Root 的改变会影响 block header,此时要保证 block header 的合法性,就需要重新计算 coinbase 交易,这个过程为什么不需要算力呢?

一个轻节点收到一条 SPV 证明,验证逻辑是:

1. 验证 Merkle 树的合法性
2. 通过 Merkle Root 验证其所在 block header 的合法性;
3. 轻节点通过其自带的 check point HASH 值,以及接收到的其他全节点广播的最近的 block header 验证此 block header 合法性

不论怎样,要发送一个修改的 Merkle 树作为 SPV 证明欺骗轻节点,前提是需要伪造一个合法的 block header,这同样需要极大的算力才能做到啊?
2020-01-27 12:36:00 +08:00
回复了 blueberryman 创建的主题 Bitcoin 比特币的双花攻击问题解决
有些地方我不是很理解;

1. 我仔细阅读了您提到的裁剪 Merkle 树对一些 SPV 节点"欺诈"的过程,其实还是没有搞明白:

Merkle 树的任何裁剪都会影响 Merkle Root,而 Merkle Root 的改变会影响 Coinbase 交易,如果要裁剪 Merkle,那么 Coinbase 交易,以及工作量证明都需要重新计算,即使是不考虑其他全节点的广播,我作为一个 SPV 节点,即使只收到了一笔有意义的最近的 block,那么就肯定得出了当前难度值的下限,那么此时我收到了许多"欺诈节点"发来的 block,即使这些 block 中的交易构造是一个裁剪过的 Merkele 树以及合法难度的 Coinbase 交易,不都是要花费相当大的算力的吗?为什么不需要有算力呢?

除非这个 SPV 节点从头到尾都沉浸在"欺诈"的全节点的包围中,但这就是私有链了;而且现在所有开源的 SPV 钱包实现,其实发行版都包含了几个 checkpoint 之前的合法的 block header 集合,接收到全节点的广播后,一般钱包会再就 SPV 同自带的本地的 block header 相比较,所以工程实现上基本上没有问题。


2. 中本聪原论文中的算力攻击计算其实省略了一部分,分叉攻击者有两种情况:

* 当两条分叉从同一起点开始竞争时,就是一个酒鬼漫步问题;攻击者一方相当于不断的要逼近诚实者一方挖出的区块高度;这时候其实只需要 50%的算力即可完成攻击;

* 从交易被收录进区块的时候开始,诚实矿工出了 z 个块。攻击矿工在此期间出块数记为 k,只要攻击者不广播别人就不知道,k 可能等于 0、1、2……直到无穷大。此时的攻击成功概率是中本聪论文中计算的结果;

关于这个问题,我也写过一篇科普文:

https://happy123.me/blog/2018/11/17/bchfen-cha-cheng-dan-de-feng-xian-51-percent-gong-ji-zhe-gai-lu-wen-ti/

严格说来,51%攻击其实是个 50%攻击问题,当然这也是吹毛求疵了。
2020-01-27 07:54:14 +08:00
回复了 blueberryman 创建的主题 Bitcoin 比特币的双花攻击问题解决
@acess 感谢科普;

前几年我也花了一段时间认真学习比特币的原理知识,共用了 pyspv 和 pycoind 的实现,写了一个简单的 Segwit 分叉之前的比特币全节点;

https://github.com/brain-zhang/chainhorn

实现了 PROTOCOL_VERSION(60002)最基本的交易接收,广播功能;

之后也没什么人有兴趣关注就没有再继续下去,您有兴趣来参与一下吗?
2020-01-23 08:13:19 +08:00
回复了 blueberryman 创建的主题 Bitcoin 比特币的双花攻击问题解决
1. 写入区块链的交易才被承认,双花交易只存在于内存池中,所有的双花交易只能有一笔进入区块链
2. 更改已经进入区块链的交易,只有发动 50%攻击
3. 消费 coinbase 交易需要 100 block 的成熟期,现在不少裁剪节点是以 prune 方式运行的,一般设定 prune=4096,所以说,理论上区块链重组是有可能的,但是 100 个 block,4000 个 block 级别就变成近乎不可能的事情,一般情况下,6 个 block 确认就基本上确保一切; 历史上曾发生过最多 31 个 block 的重组事件,是在 2013 年 3 月份发生的,现在几乎不可能再有这种情况发生了;

我比较仔细的研究过这些情况,写过一篇科普文章,有兴趣可以翻阅下:

https://happy123.me/blog/2019/01/21/bi-te-bi-de-blockchain-1/
2019-12-08 07:39:15 +08:00
回复了 zhiqiang 创建的主题 问与答 台式机能配到 256G 内存吗?
我不知道楼主对高主频要求到哪种程度,我自己也在做一些大数据量运算,比较看重核数;

个人觉得配台式机不如淘宝一台二手刀片服务器,或者工作站,内存插到 1T 也可以;

个人在用 HPZ840:

E5-2699V3*2 2.3G 主频 36 核心 /72 线程
DDR4 ECC 16G*16

加个渲染显卡 1.5 万元左右,价格实惠;

稳定运行 1 年;

台式机主要是稳定性不靠谱,我之前同样配了台台式机,最长不过运行 3 个月,总是有问题;实际体验靠谱的二手工作站稳定性优于自配台式;
typo fix:

再仔细想一想,其实这是人们对于某一样风险的定价不同而已;

对一些人来说,死亡是一个无限大的风险,他愿意买保险,锻炼身体,注意交通安全......

对一些人来说,比起死亡,穷困潦倒一生无疑风险更大,所以他愿意买彩票,横穿马路节省点时间挣钱.....

虽然很残酷,但现实就是如此。
再仔细想一想,其实这是人们对于某一样风险的低价不同而已;

对一些人来说,死亡是一个无限大的风险,他愿意买保险,锻炼身体,注意交通安全......

对一些人来说,比起死亡,穷困潦倒一生无疑风险更大,所以他愿意买彩票,横穿马路节省点时间挣钱.....

虽然很残酷,但现实就是如此。
万维钢老师《万万没想到:用理工科思维理解世界》有个解释很有意思,彩票的概率和保险的概率大概是相当的;

如果足够理性,应该是两者都不应该买。因为两者概率相等,如果投入的金钱相等的话,那么期望是一样低的。

但人并不是绝对理性的;人们总是不愿失去,人们担心失去胜过渴望得到。而应用到彩票和保险,人们应该更担心失去宝贵的生命,但是人们做出的行动却相反,这里存在着人们的侥幸心理。

人在买彩票的时候是个乐观主义者,买保险的时候是个悲观主义者;如此而已;
2019-11-07 07:23:13 +08:00
回复了 Livid 创建的主题 Python 关于 Flask 项目的代码文件组织
一个提供 restapi 的示例,组织很简洁,有参考价值:

https://github.com/frol/flask-restplus-server-example
2019-10-29 09:33:36 +08:00
回复了 raysonlu 创建的主题 程序员 区块链可以理解为是一种加密技术吗?
研究区块链绕不过比特币,读白皮书,看代码是最好的学习路径;

blockchain 这个单词缘何而来,我经过了大量的搜索,认为它最初源自于中本聪 bitcoin v0.01 的代码注释中;

中本聪曾在 bitcointalk.org 上面说过,他大概是在 2007-2008 年期间构思比特币的,所以有理由推测,blockchain 这个单词就是在 2007-2008 年诞生于世间的;

我整理了中本聪发布 bitcoin v0.01 时的代码和原始编译环境,自己编译了一个 bitcoin0.01 的客户端,在 winxp 里面跑了起来,很有意思;

分享给大家:

https://github.com/brain-zhang/bitcoin_satoshi
2019-10-17 07:51:03 +08:00
回复了 Voyager76 创建的主题 投资 定投指数基金真的靠谱吗?
最后再说一个上限吧,打击一下我们的暴富心理;

芒格说长期市场的收益会趋近于 ROE,这个值是 12%;就是无论你做什么买卖,什么投资,即使将来发明了长生不老药,如果自由竞争,这个买卖的长期收益就是年化 12%;

这个星球上最牛的巴菲特,1964-2004,年化 22%;

彼得林奇,1977-1990,年化 29%;

可能不同的统计方法会有一定误差,但这就是这个星球上最厉害的投资者,换算到篮球界就是乔丹科比的存在;

相信很多人都对自己的篮球技能有很清醒的估计,我们是怎么练也达不到乔丹的水平的;但是还是会有人跳出来说,巴菲特那是大资金,他自己也说过资金小了能年化 50%,或者 A 股市场特殊性,年化 20%不难等等...

其实我们可以问自己,篮球场上,我跟乔丹差多少?难道他场均 30+10+5,我就能场均 10+5+3 吗?投资领域里面残酷的是,有很多职业选手和很多业余选手同场竞技,而且一般职业选手的装备更精良。

做个简单的总结:比较成功的长期(>15 年)投资收益分界线是:

1. 青铜: 年化 2~6%;银行理财,债券,货基,存款等等
2. 白银: 年化 8%;比较稳健的资产配置,合理分配股票、债券、货基、理财等仓位
3. 黄金: 年化 10%; 一般极有耐心的投资者,定投指数 7 年以上达成此成就
4. 大师: 年化 12%;黄金级选手智慧加成,此类投资者已然傲视群雄
5. 史诗: 年化 15%;不说了,基金公司抢着要你;
6. 传说:年化>20% ; 天赋+耐心+运气,你是这个星球上的 TOP100 ;
2019-10-17 07:24:32 +08:00
回复了 Voyager76 创建的主题 投资 定投指数基金真的靠谱吗?
很多朋友上面都总结了,宽基指数就是投国运;如果你相信未来我们的经济能继续发展,生活越来越来,那投资指数是靠谱的;美股、德国 DAX,日经指数,恒生指数都是一样的道理;

巴菲特的老话就是:好公司,合适的价格,长期持有;

1. 比如好公司就是我看好中国经济的长期发展,那就买宽基指数,比如沪深 300,中证 500,中证红利,这都是老牌的宽基指数;如果想要一些大家已经公认的优化 Beta 因子,那可以选低波动、300 价值、红利因子、神奇公式等等;

2. 合适的价格就是判断指数到底便不便宜;我们买东西因为有个参考,比如猪肉,年前多少钱,现在多少钱,大家对于贵贱一目了然;但是具体到指数或者某个公司就不好判断了,肯定不能说前几个月指数 3200,现在 3000 就是便宜,或者 3500 就是贵了;我们就整出来如 PE、PB、ROE 等等无数的因子,然后用这些因子去做后视镜回测,得出其中好像是比较有效的因子称为 Beta 因子,也叫聪明因子,但是没人能保证这些因子以前有用,未来还会继续有用;更何况市场上造假横行,谁能保证这些算出来的数据没有水分呢。
这个是无解的,一个买卖是否便宜只能自己判断;你可以做无数的回测来催眠自己,让自己对这种策略更有信心;现在的量化平台都是免费的,这种回测没啥成本,比如我的策略的回测: https://www.joinquant.com/view/community/detail/23096

3. 长期持有,我认为 A 股市场是有标准答案的; A 股的牛熊周期是 7 年,答案就是买指数,平均一轮你要拿 7 年以上,才能有一个好的收益;更长期就是永远拿着,跟祖国共命运,这基本上就是吃股息当养老金拿着了;

这是最难最难的,一个人一心一意做一件事情坚持 7 年,无论做什么都大概率成功;道理就放在那里,但是我们能做到的人很少;

天下事有难易乎?投资就是一个考验耐性的游戏;
2019-10-16 14:18:24 +08:00
回复了 Voyager76 创建的主题 投资 定投指数基金真的靠谱吗?
我认为是靠谱的;关键是要买的便宜,最好定期不定额;

那么每一期怎么确定仓位呢?我自己设计了一个最简单的策略,是开源的,可以参考一下:

https://github.com/brain-zhang/kanglong
2019-06-14 18:01:11 +08:00
回复了 memorybox 创建的主题 VPS 在不同的 VPS 账号之间迁移 Linux 虚机和快照
@notgood 这种情况我还是采用 1 楼的办法。rsync+手工改;

有人说可以用 dd 命令,我比较菜,总是遇到奇怪的问题。老实说,现在不同提供商服务器之间的迁移,还是很麻烦。
2019-06-04 14:54:09 +08:00
回复了 leegoo 创建的主题 区块链 大家对现在的区块链的前景如何看?
区块链现在除了投机类应用外确实没有落地的实际应用;大多数是噱头,广告意义大于实用意义;

区块链所用到的技术并无巨大的切换成本,多学一点东西不吃亏;

若是赌行业,想要找风口,就要先耐得住寂寞;
问问自己,假如这个行业需要十年的铺垫和积累,十年没有成果,自己能抗住吗?能一直不骄不躁不忘初心的坚持吗?

一点浅见供参考。
2019-04-12 07:18:06 +08:00
回复了 KasuganoSoras 创建的主题 问与答 KVM 虚拟机间歇性断网问题
是否 mac 地址有问题,抓包看看?
最简单的就是批量登陆验证一下,我不知道有没有现成的工具,但是我想到的最简单的办法可以用 Python 的 Fabric 搞一搞:

http://www.fabfile.org/
2019-02-16 12:20:49 +08:00
回复了 myrual 创建的主题 推广 Python3 收发比特币的中文教程之一: 创建一个 Mixin Network 应用
@james2012 圈钱这个事情太难判定了,大家毫不怀疑 99%的项目都是圈钱,不过也可能会有一个真正有意思的东东出来,但是甄别其真伪难度太大了,其实像 litecoin,甚至 ethereum,发展了这么长时间,也很难说。

我仔细读了一遍 Mixin 的白皮书,还是挺有意思的。至少不是那种明显的组装起来骗韭菜的;

目前跨链交易的底层技术 atomic swap 其实已经讨论的很充分了,剩下的就是怎么造轮子,如何划定界限,哪一部分是可以做到钱包里面的,哪一部分是可以抽象出来变成一个分布式的服务;

利益相关,肯定所有的钱包提供商都会跳出来说,将来我就是个分布式的跨链交易所,啥也不说了,来我这里存币吧,顺便做跨链交易~~~

其实想想还是有很多地方暧昧不明的:

1. 众所周知,跨链的交易需要两方都支持多重签名,并且交易的过程可能有多次调价,那么者信息需要广播上链吗?
2. 跨链交易需要双方进行一部分币的冻结,那么每次交易,这个支付通道需要在双方两条公链上进行 `打开->关闭`的动作吗?如此动作是不是太耗费时间?
3. 支付通道可靠的中继和路由如何实现?好吧,复用闪电网络的通道吗?还是另起炉灶?

看到了吧,上面的每个问题,都牵扯到社区、交易所、软件供应商等等,都是利益关系啊;谁能组织起来一统天下呢?

目前看到谁也没办法。

所以从 bitshares 开始,想要创造一条锚定所有资产的·公链·,并提供自由的资产交换的项目,数不胜数。目前谁也没成。

这不是一个简单的技术问题,而且目前看来也没有一揽子解决方案。

这还是一片处女地。
2019-02-16 09:57:52 +08:00
回复了 myrual 创建的主题 推广 Python3 收发比特币的中文教程之一: 创建一个 Mixin Network 应用
我再理一遍思路:

现有的`闪电网络+跨链原子交易`的问题是:

1. 所有的钱包都要支持一遍
2. 即使有了可靠的路由和中继,在其之上构建一个能自由交换多种 token 的去中心化交易所还需要大量的工作和权衡:

- 交易信息是否上链
- 用户的热钱包怎么去监控交易信息更改
- 如果交易信息上链,不可避免的又要重新实现一个 POS 的公链;而且为了流转方便,又要在其之上发行一个公用的 Token

为了解决这些问题,同时对现有的一些公链缺陷的改进,所以就有了 Mixin。

最后,这个东东最终要做的事情跟 atomicwallet 是一样的吗?

https://atomicwallet.io/
2019-02-16 09:37:04 +08:00
回复了 myrual 创建的主题 推广 Python3 收发比特币的中文教程之一: 创建一个 Mixin Network 应用
读了一下 Mixin 的白皮书;感觉是一个很有意思的现有技术的组装再利用;说一下我的理解和疑惑:

在我看来 Mixin Kernel 主要是解决了`闪电网络+原子交换`体系里面的很细节的落地的方面;比如:

1. 交易双方的多重签名地址管理
2. 一个可信的路由策略和中继节点管理
3. 快速的交换网络

在我看来 1 是将来的各类币种(BTC、LTC、ETH)客户端钱包要解决的问题; 2,3 是闪电网络要解决的问题;

而 Mixin 试图要将其统合在一起,不可避免的又要将现有公链的一些实现重新造一遍轮子;为什么要自己发 Token 呢?这很容易就让人怀疑是否在圈钱;

为什么不把 Mixin Kernel 独立出来,致力于解决闪电网络的落地,即 2、3 这些问题呢?

我有一些思考:

1. 多币种的分布式交易需求是刚需吗?在我看来,很可能是伪需求,因为现在为止数字货币的场子还是以投机诈骗者居多,这个市场的人对于分布式交易所的需求可能没有那么高

2. 我为什么不去拓展 `闪电网络+原子交换` 的跨链实现项目,而是再起炉灶,重新开发一套轮子呢?

3. Mixin 所宣扬的交易量、隐私、POS 在我看来并不是多大的优势;

4. 他好像是一个加强版本、公共的 Liquid ; 但是在我看来他要解决的问题太多,是否过度设计?
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1067 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 19:15 · PVG 03:15 · LAX 11:15 · JFK 14:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.