比特币随想 - 分层架构
之前的一篇文章讲述了我对分层信任模型的理解。很自然地我们会思考:分层信任模型会产生怎么样的软件架构?
分层架构
分层信任自然会导致分层架构。我们之前提到越是民主信任,其去中心化程度越高、抗审查能力越高;但是,相应的其效率也会随着共识程度需要而降低。这是一个不能两全的问题,必然是会获得一个,而牺牲另一个。
分层设计是软件工程,乃至整个工程学中重要的设计方法。分成设计的核心是:每一层专注一个功能,为上一层提供一些接口;越接近底层,功能应该越稳定;越接近上层,功能应该越丰富。
这种设计有如下优势:
比特币随想 - 信任模型
本文偶尔使用“大饼”替换BTC,因此“大饼网络”,“大饼协议”等请自行替换。
我通常称大饼网络的信任模型为“民主信任”模型。
信任不会消失,只会转移
每次重新思考这个问题的时候,我都会回到比特币的白皮书。比特币网络提供了一个不依赖第三方金融机构的、纯点对点的在线电子支付系统。这句话很短,但是非常值得玩味。这句话有三个重点:
- 电子支付
- 纯点对点
- 不依赖某一个或几个第三方
比特币随想 - 我为什么只买大饼 BTC?
这篇回答一个问题:为什么我只买 BTC(大饼)?
- 大饼社区为什么这么佛系?
- 大饼是什么?
关注我一段时间的小伙伴可能知道,我属于所谓的“Bitcoin Maxilism”,即大饼最大化主义。我并不喜欢贴标签,而且这个标签并不是大饼支持者自己按上的,而是所谓的 “Alt coiner” 给我们岸上的,实际上讽刺大饼支持者的意思更浓厚一些。
现在的区块链社区(Crypto、数字货币、Web3等等,名字也是千奇百怪)割裂的很明显:大饼和 Alt Coin(比如 ETH、SOL)。基本的关系是:Alt Coin 攻击、鄙视大饼,Alt Coin 内部互相攻击,大饼社区非常佛系,感觉有点与世无争。
大饼社区为啥这么“佛系”?
Quant Dev 4 - 数据库
一些软件设计原则
- 先设计,后编码
- 写”明显没有错误的“代码
- 学最激进的技术,用最简单的实现
- 把可变的东西隔离到配置数据中
- 多考虑意外情况,不要只实现 happy path
- 在设计阶段就开始考虑异常情况
- 复用的诀窍:只做一件事情
- 学习测试理论
先设计,后编码
需求和设计阶段应该在软件开发的 60% 时间,而实现占 40%。没有事先规划,想哪写哪;结果被层出不穷的状况(还美其名曰需求变更)牵着鼻子、面多了加水水多了加面:这就是绝大多数软件开发时间冗长、状况不断、无疾而终的根本原因。
写”明显没有错误的“代码
而不是”没有明显错误“的代码。
ASICs 和去中心化常见问答 - 译
本文翻译自:ASICs and Decentralization FAQ
原作者:Andrew Poelstra @ 2015-04-08
原文链接:https://download.wpsoftware.net/bitcoin/asic-faq.pdf
关键词:Proof of Work,Proof of Stake,ASICs,去中心化,能量
【方括号里面的内容是我,译者,的话,这是一篇从编程以外的角度理解工作量证明的优秀文章。】
比特币随想 - 再看工作量证明
比特币随想 - 我不讨厌以太坊!
比特币随想 - 比特币工作量证明用了多少电?
工作量证明,Proof of Work,是比特币网络的共识算法,也是确保网络安全可靠的根本,具体的算法介绍可以看之前的文章 比特币随想 - 重拾 Proof of Work。
这一篇我们探讨工作量证明(PoW)的能源消耗问题,为了理解我们需要知道:
- 工作量证明需要进行大量 CPU 密集的哈希运算
- CPU 密集计算最终需要消耗电能
- 电能有很多产生方式:煤炭、石油、风、太阳、沼气等等
这篇讨论分几个不分:
- 比特币网络到底用了多少能源?
- 比特币用了哪些类型的能源?
- 使用能源是坏事吗?