V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  acess  ›  全部回复第 36 页 / 共 110 页
回复总数  2191
1 ... 32  33  34  35  36  37  38  39  40  41 ... 110  
2020-10-22 23:53:35 +08:00
回复了 Ficelle 创建的主题 Bitcoin 对于区块链和比特币想请教一下问题
关于 2 楼的问题,交易是谁发送的?

答案是任何人都可以发送,都可以转发,不需要是全节点(别人也没办法知道你是不是全节点),哪怕你就是调用 netcat 直接连接上比特币 P2P 网络的一个节点也可以,但是正常的全节点会检验交易是否合法,拒绝转发非法交易。但是很显然,只有掌控私钥的人能签名交易。

不过,给矿工发奖励的 coinbase 交易是特殊的,它没有输入,内容是矿工自己写的——当然,这里也必须符合规则,奖励总额不能超过新币(被叫做“区块补贴”block subsidy,当前是 6.25BTC )+手续费。
奖励可以少于新币+手续费,但是正常情况下追求利益最大化的矿工很显然不会这样挖,只有偶尔软件出问题的时候会产生这种区块(仍然是合法区块),然后这样也等于是让对应量的比特币被永久销毁了。

另外,交易除了“合法性规则”之外,还有“标准性规则”( standardness rule ),违反标准性规则的交易(也就是非标准交易),仍然可以是合法的,这种交易,全节点不会转发,(对于矿池或 solo 矿工来说)默认也不会打包进自己要挖的区块,但是如果别人打包进去了,也不会拒收相应的区块。
2020-10-22 23:44:11 +08:00
回复了 Ficelle 创建的主题 Bitcoin 对于区块链和比特币想请教一下问题
第 2 个问题,还有一点,很显然,验证全网所有交易(尤其是历史交易)负担非常重,显得很浪费。
但是这个问题据我所知几乎无解。
众所周知区·块·链最鸡肋的地方,就是它对外部真实世界无能为力,如果输入了假数据,它无法明辨是非。
如果你觉得多条链就能解决问题,我想说,对于链 A 来说,只要它不去跑 B 全节点验证 B 链的内容,那 B 链对他来说就是“外部”,然后 B 链上发生违规行为,A 链就无能为力。

除此之外还有一个概念“欺诈证明”( fraud proofs ),可以追溯到白皮书本身,白皮书描述 SPV 时,不是提到可以用警告机制,来引导 SPV 、让它们不要跟随非法链(哪怕非法链积累工作量更大)么?所以说,只要把非法链里面具体违反规则的证据亮出来,SPV 看到了,就可以自己得出毋庸置疑的结论,知道这条链是非法的,就不会跟随了。
比如一条链里如果把一个币花了两次,这样其实就是另一种形式的通胀、凭空造币,那只要把这两个交易的内容,还有 Merkle proof (还有区块头链)拿出来,SPV 看到这个证明就会确信这条链有非法内容,不能跟随。
但是这个概念在很多年前就被比特币核心开发者弃坑了,理由是如果制造非法链的人把违反规则的地方藏起来,那就拿不出对应的欺诈证明。如果要把类似于“某个高度的区块无法完整下载”这个消息本身作为欺诈证明 /警告消息,那也是没有意义的,因为收到这个警告消息的人,必须自己亲自去试试看那个区块能不能完整下载,然后,就产生了拒绝服务攻击,可以恶意生成假警告、让其他人去尝试下载本来完全能正常下载的区块,这样最终的、最坏的结果,就是 SPV 还是把整条区·块·链下载回来了,这样还叫什么轻量级客户端呢,还不如从一开始就老老实实跑全节点。
2020-10-22 23:32:08 +08:00
回复了 Ficelle 创建的主题 Bitcoin 对于区块链和比特币想请教一下问题
2.最早定义的矿工=节点,节点会完整验证全网所有交易,这样才能确保账本里没有违规行为,比如打破 2100 万币总量上限凭空印 100 万币,再比如无视数字签名直接把别人的币抢过来划到自己头上。

这些违规行为并不是受什么数学定理或者自然定律而做不到,想要制造此类非法区块,并没有任何难度,顶多就是挖矿要消耗算力。

但是如果区块里有了这些违规行为,别的节点看到这样的区块,检验时就必定会发现违反规则,然后拒收,拒绝在这个非法区块上继续延长区·块·链账本。
这样一来,虽然非法区块被挖出来了,但是没人承认,会被抛弃掉,然后在这个非法区块上付出的算力就付之东流了,这样等于是惩罚了挖非法区块的行为。

每个节点都知道别人会这样验证,知道自己如果打破规则胡乱写交易,自己付出的算力(背后是货真价实的电费)会付之东流,所以最后的结果就是每个人都“老实”了。而且,这是通过博弈达成的,每个节点是出于自己利益的考虑而“老实”,而不是什么道德啦法律啦之类的原因。


后来,矿工和节点实质上分离了。这个原因也挺复杂,有技术层面的原因,比如网络延迟,现在比特币自然产生的孤块分叉少其实是因为用了中心化的 FIBRE 服务器;还有挖矿 /共识规则本身,对小算力 solo 矿工极不友好,所以才有提出 GHOST 之类的机制试图缓解这个问题;也有经济层面的原因,也就是规模经济,马太效应,最后垄断。

矿工加入矿池,甚至压根就不在乎矿池给他们发的任务是啥;
(全)节点则失去了算力,只能监视网络,虽然这样不会跟随非法链(因为全节点可以检验出来是否违反规则),但是如果算力搞事了(比如 51%攻击,注意,这里认为 51%攻击并不能打破规则、把非法的变成合法的),或者干脆跑路了、没算力挖矿延续区·块·链账本了,那从技术上讲全节点只能干瞪眼,或者就“耍流氓”改规则改挖矿 /共识算法。


还有,你应该也注意到了,“规则”这个东西本来就是中本聪钦定的,是人为的,所以某种程度上也是主观的。
这里其实就有争议,算是“政治话语权”上的争议吧。
有人认为只有跑了全节点的用户才是真正的用户,基于这个前提假设,51%攻击也是不能打破规则的(但攻击方看不爽的链,51%攻击可以扰乱其正常运作,使其停摆、陷入混乱),所以,持有比特币 /愿意接受比特币支付,同时又自己跑全节点验证交易的用户,也就是所谓的“经济上的大多数”,才是说话算数的;
有人就不同意,认为按照白皮书和中本聪本人的发言,用户不需要跑全节点,SPV (其实 SPV 并没有能力验证交易有效性,它是盲目跟随算力的)才是真正的用户,只有矿工 /算力才是真正说话算数的;全节点没有算力、不能出块,所以只能干瞪眼。
2020-10-22 23:03:55 +08:00
回复了 Ficelle 创建的主题 Bitcoin 对于区块链和比特币想请教一下问题
1.我怀疑你是不是把 51%攻击的概念和正常的挖矿混淆了。51%攻击是挖分叉链,让原本较短的分叉链反超之前的长链;而不是延长已知的最长链(严格来说是积累工作量最大链)。
正常情况下,所有矿工都会共同延长同一条区·块·链账本,“宏观”来看,有点像百家被,算力多的,挖出区块占比就多,算力少的,占比少;“微观”来看,当然是有运气成分了,算力多,挖到的概率就大,算力少,概率就小,但是并不是没有。
这里还有一点要注意,挖矿是无记忆性的( memoryless ),无论全网在当前高度挖了多久、挖了“多少铲子”,是前一秒刚刚挖出一个新区块,还是等了一个小时也没挖出新区块,从此刻起下一个区块被挖出时间的数学期望都仍然是十分钟。
(还有,如果算力非常非常低,比如一般的电脑 CPU,跟专业 ASIC 矿机有好几个数量级的差距,而且全网还有数以万计的 ASIC 矿机参与竞争,那在现有难度下,独立( solo )挖出区块的时间几乎是天文数字;如果再考虑到全网算力不断增长,那甚至可以认为永远也不能独立( solo )挖出区块)
2020-10-18 11:35:27 +08:00
回复了 redtea 创建的主题 Bitcoin OKEX 因为私钥负责人被有关部门控制,已无法提币。
@labnotok 还有,这类事情也不是我朝特色吧,BitMEX 的 CTO 不是最近也被抓了。
2020-10-15 23:15:33 +08:00
回复了 weitch 创建的主题 Bitcoin 比特币系统没有分解者,最终会导致系统的崩溃
这里还可以扯上一个梗,就是中本聪白皮书里那个裁剪(回收磁盘空间)其实是不可行 /没意义的。

把一笔交易裁剪掉,只留下 hash 值,确实可以不影响 Merkle 树的验证;但是裁掉了交易,交易历史记录就不完整了,不再可以自证清白。
比如一个币本来被花掉了,如果把花掉它的交易“裁剪”掉,那本来被花掉的币看上去又变回还没花掉的状态了。

经常说比特币没有账户余额,但实际上 UTXO 集合不就是全网账户余额数据库么……形式上,比特币没有账户;但是实质上,我觉得其实没有什么不同。
2020-10-15 23:11:05 +08:00
回复了 weitch 创建的主题 Bitcoin 比特币系统没有分解者,最终会导致系统的崩溃
Bitcoin Core 全节点里那个 chainstate 目录里放的就是 UTXO 集合数据库。chain state,这名字是什么意思很显然了。
还有,貌似以太坊也有如出一辙的状态大爆炸问题。
2020-10-15 23:05:57 +08:00
回复了 weitch 创建的主题 Bitcoin 比特币系统没有分解者,最终会导致系统的崩溃
@qdwang 重点并不是浪费多少币,而是处理这些花不掉的死币也需要占内存,比特币是去中心化系统,而且每一个节点都需要独立完成全网所有交易的验证,所以死币越攒越多很显然问题很大。
@powermobai 延迟劣化了,但是丢包也许会有改善吧。
(这么老的帖子现在都有人回复……我有点害怕)
2020-10-06 15:25:57 +08:00
回复了 515576745 创建的主题 Windows 如何永久关闭 Win10 的 defender 的实时保护
我记得是“篡改保护”必须先关掉,然后改组策略才能生效。
2020-10-04 00:08:36 +08:00
回复了 AnotiaWang 创建的主题 Android Magisk 21.0 和 Magisk Manager 8.0 发布
@HankAviator Android 确实有安全模式,但是这版 magisk 也确实新增了安全模式的检测,跟着系统进入安全模式一起禁用掉所有模块。
在 recovery 下禁用模块其实只需要 touch 新建一个文件即可,mm 只是操作方便。
2020-10-03 23:19:00 +08:00
回复了 AnotiaWang 创建的主题 Android Magisk 21.0 和 Magisk Manager 8.0 发布
@zhiyzellda 这貌似不靠谱吧,万一是扩容盘,写进去不报错,数据全没了呢。
2020-10-03 23:18:12 +08:00
回复了 AnotiaWang 创建的主题 Android Magisk 21.0 和 Magisk Manager 8.0 发布
@lithium148 启动不了,一般把不带 magisk 的 boot.img 刷回去就可以了吧。然后还可以进一步尝试定位具体是哪个模块导致问题,把它禁了或者卸了即可。
而且这版 magisk 还多了个安全模式呢。
2020-09-30 00:44:44 +08:00
回复了 weitch 创建的主题 Bitcoin 比特币系统没有分解者,最终会导致系统的崩溃
@frienmo
0.这个限制貌似并不是共识层面的,如果矿工愿意,还是可以把小于这个阈值的粉尘直接打包进区块。
1.所以这还是会增长,哪怕没有恶意制造粉尘也会无意地产生粉尘。而且矿工费率因为拥堵而升高的时候,有些原来不是粉尘的小额碎币也会变成“花不出去”的粉尘。
2.固定的新币奖励再减半几次就几乎枯竭了,然后如何激励矿工继续挖矿呢?理论上貌似也是个悬而未决的问题。很多年前就有篇论文 On the instability of Bitcoin without the block reward,里面提到,如果内存池里可挖的手续费很少,也许恶意矿工会把前一个区块已经打包的交易拆出来、自己抢过来重新打包,同时可以分一半给愿意同流合污的矿工,由此来增加获胜几率。


@weitch “很显然人傻币多(应该说是“对比特币无偿的爱”吧,哈哈)并不是常态”——你说的对,其实我也是这个观点,不过前面一条回复没怎么写出来。
2020-09-29 22:36:55 +08:00
回复了 weitch 创建的主题 Bitcoin 比特币系统没有分解者,最终会导致系统的崩溃
我也觉得这是个问题,但是我不觉得这和什么熵增、生态系统、分解者什么的有多大关系。

貌似这也不是什么新鲜的话题(但我没有这个问题不严重的意思),就是 UTXO 膨胀。隔离见证也号称可以缓解这个问题,因为原本比特币的交易格式是输出项字节数少、输入项(含有数字签名)字节数多,所以创建 UTXO 比销毁 UTXO 便宜。隔离见证加了一个人为的折扣规则,让输入脚本的字节数被统计时除以 4 (这也就是隔离见证所谓的“扩容”),把这个不平衡的现状往回拉了一下。

这种碎币被叫做 uneconomical UTXO,搭配大额的 UTXO 付出足额矿工费还是可以花出去的,并不是 unspendable (像是烧币地址那种才是 unspendable ),只不过矿工费要盖过币值本身(所以才叫 uneconomical )。
2020-09-29 18:04:54 +08:00
回复了 howellz 创建的主题 Android 有对 wpa_supplicant 熟悉的朋友吗?
entropy.bin 这个应该是 CSPRNG 的种子吧,WPA 不是加密 WiFi 流量的么,所以需要安全的随机数作为密钥。
Android 操作系统本身也有类似的机制 /data/system/entropy.dat ,没记错的话就是把上一次开机收集到的随机数保存起来,这样下一次开机时即便还没来得及收集到足够多的熵,也可以把上一轮留下来的熵直接拿来用。cryptography stackexchange 上也有相关的问题。
2020-09-28 11:30:02 +08:00
回复了 wangking 创建的主题 Bitcoin 主流的 btc 钱包是什么
每一个私钥其实都可以生成上述三种地址。比如,如果从(遵守 BIP44 、49 、84 的) HD 钱包里把私钥导出来,再重新作为单独的私钥导入回钱包,就可以用 BIP44 路径推导出来的私钥生成隔离见证地址(这样就违背了 BIP44 标准)
2020-09-28 11:27:12 +08:00
回复了 wangking 创建的主题 Bitcoin 主流的 btc 钱包是什么
我 11 楼的说法其实也不准确。HD 推导路径和地址类型本质上是两个层面的两码事,只不过是 BIP44 、49 、84 分别规定了三种地址类型的标准推导路径而已,这个标准就是纸面上的规则而已,并不是强制执行的规则(也没办法强制执行,毕竟就是生成私钥、使用私钥的一种方式而已,本质上都是本地进行的数学计算),用户(或者钱包)的行为完全有可能偏离这个标准——当然,偏离了标准,就可能带来上述扫描不到地址上的交易记录和余额这种问题。
2020-09-28 11:22:34 +08:00
回复了 wangking 创建的主题 Bitcoin 主流的 btc 钱包是什么
回头看了一下,我 9 楼的说法其实不对……实际上 BIP44 是有规定 gap limit 的,钱包不应该提前生成超过限制数量的地址,否则,导入助记词恢复钱包时,就会扫描不到超过限制数量之后的地址,所以这些地址上的交易记录和余额也就显示不出来了。
貌似只是 Electrum Personal Server 这类配合本地全节点查 block chain 的奇葩玩意儿,还有 btcpay server 这个面向商户的收款服务器软件(界面很像 bitpay,可以算是对 bitpay 的反叛……)会有很大的 gap limit 、生成上千个地址。
2020-09-22 15:42:50 +08:00
回复了 weilaix 创建的主题 Bitcoin 注册使用方便的比特币钱包有么?
@weilaix 这个我知道的很少。我只知道国外有比特币 ATM,还有就是 bisq 。国内我不清楚,也许会有场外交易群。
1 ... 32  33  34  35  36  37  38  39  40  41 ... 110  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4878 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 09:42 · PVG 17:42 · LAX 02:42 · JFK 05:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.