网络与分布式2018cs.brown.edu
从分布式计算视角看区块链
Blockchains from a Distributed Computing Perspective
进阶 · 约 60 分钟读完前置知识:分布式系统基础、共识算法、拜占庭容错
导读
这篇论文从分布式计算视角审视区块链,把区块链账本理解为不可篡改的追加日志,并讨论它与共识、拜占庭容错等经典分布式问题的联系。作者试图说明区块链的许多机制可以放在已有的分布式系统理论框架中理解。
HN 关注点:这篇可读性较强的综述,并围绕其中供应链类比是否成立、私有链/智能合约的实际价值以及区块树替代方案展开争论。
HN 评论精选
这几条评论里:质疑 2 补充 2
补充推荐用区块树替代链式结构。
你可能会对 Sompolinsky 和 Zohar 的另一篇论文感兴趣[1],它主张用区块树(block-tree)而非区块链作为更好的结构方法。
jasonzemos查看英文原文
You may be interested in another paper[1] by Sompolinsky and Zohar describing block-trees rather than block-chains as a better structural approach. 1: https://eprint.iacr.org/2013/881.pdf
质疑供应链类比有漏洞:经手方可接触并替换全部传感器,BFT 假设不成立。
我欣赏作者写出这篇可读论文的努力,但我觉得前几节的类比相当牵强。例如:Alice 决定把供应链上链。她租云存储保存账本,并在每个冻酸奶容器安装联网温度传感器。她担心传感器不总是可靠(Bob 可能篡改一些),所以把传感器接入拜占庭容错共识协议,用多轮投票确保温度读数不会被少数故障或被腐化的传感器扭曲。既然所有冻酸奶容器都从 Carol 到 Bob 再到 Alice,Bob 在某个时刻不是能接触所有容器和传感器吗?那 Bob 可以轻易腐化全部,使方案失效。比如把传感器全换成恶意传感器,在他卡车里报告错误温度。我漏掉了什么吗?
kccqzy查看英文原文
I appreciate the effort in writing this readable paper, but I do find the analogies in the first few sections to be quite strained. Here's an example: > Alice decides it is time to blockchain her supply chain. She rents some cloud storage to hold the ledger, and installs internet-enabled temperature sensors in each frozen yogurt container. She is concerned that sensors are not always reliable (and that Bob may have tampered with some), so she wires the sensors to conduct a Byzantine fault-tolerant consensus protocol, which uses several rounds of voting to ensure that temperature readings cannot be distorted by a small number of of faulty or corrupted sensors. Now, since all frozen yogurt containers pass from Carol to Bob to Alice, doesn't Bob at some point in time have access to all the frozen yogurt containers and their temperature sensors? Then Bob can easily corrupt all of them, rendering this scheme useless. He can, for example, replace all of the sensors by malicious sensors that report wrong temperatures when they are in Bob's truck. Is there something I'm missing?
质疑质疑文章定义和私有链/智能合约价值,认为 git 加 PoW 已足够,图灵完备与 gas 等论点站不住。
读者必须决定:要么“账本只是各方交易不可磨灭的追加日志”为真,那么按此定义以太坊不是区块链[0];要么区块链只是抽象流行词。技术上,git 作为追加日志和区块链一样强大,只是缺少最重要成分——工作量证明。2. 有一整节讲私有区块链。你能写一个用私有区块链(如 IBM Hyperledger)能写而用 git 不能写的程序吗?私有链、预挖币、染色代币、资产等全都算。3. 关于智能合约,你能展示区块链中图灵完备性的一个用途吗?如果能,以太坊实际上也不是图灵完备,因为 gas。4. 如何确定网络中操作码的 gas 价格?以太坊怎么做?5. 按 OSI 模型分层,智能合约的必要性是琐碎的。展示一个你能“在”区块链中做的智能合约,我就告诉你怎么“在”比特币上做。
kang查看英文原文
> a ledger is just an indelible, append-only log of transactions that take place between various parties. Readers should decide either the above statement is true and ethereum is not a blockchain by that definition[0] or blockchain is just an abstract buzzword. Technology wise, git is as powerful as a blockchain at being an append-only log without the most important ingredient - proof-of work. 2. There is a whole section on private blockchains Can you write one program using a private blockchain(for eg use ibm's hyperledger) that can't be written using git? Private blockchains, premined coins, colored tokens, assets etc all of them. 3. Regarding smart contracts, can you show me one use of turing completeness in a blockchain? If yes, ethereum is not turing complete practically cause gas. 4. How does one determine the gas price of an opcode in a network? How does ethereum do it? (i think only people understanding need of proof-of-work will understand this) 5. W.r.t the layers of OSI model, the need for smart contract is trivial. Show me one smart contract you can do 'in' a blockchain and I will tell you how to do it 'on' bitcoin. [0]https://ethereum.stackexchange.com/questions/9535/how-does-a-hard-fork-rollback-transactions
补充指出草稿中的两处错字。
因为这是草稿,我指出两个错字:4.1 中“if fills”应为“it fills”;4.3 中“1000 to 10”应为“1000 to 100”。
0xdada查看英文原文
Since it's a draft I'll point out two typos. In 4.1 "if fills" should be "it fills". In 4.3 "1000 to 10" should be "1000 to 100".
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2018Hacker News 讨论帖235 分 · 66 评
同领域还值得读
Paxos vs. Raft:分布式共识是否已达成共识?
Paxos vs. Raft: Have we reached consensus on distributed consensus?
重新审视了 Paxos 与 Raft 两种分布式共识算法之间的差异,试图在一个统一的框架下比较它们,并论证二者的相似程度远高于通常的认知,许多所谓的差别只是表述层面的。
网络与分布式2020 · 343 分 · 65 评 · 引用 10进阶 · 约 28 分钟编辑精选Stellar 协议:互联网级共识的联邦模型
Stellar Protocol: A Federated Model for Internet-Level Consensus (2016)
提出 Stellar Consensus Protocol(SCP),一种面向互联网级共识的联邦拜占庭协议模型。
网络与分布式2018 · 301 分 · 61 评专业 · 约 90 分钟编辑精选拜占庭将军问题(1982)
The Byzantine Generals Problem (1982)
这篇 1982 年论文提出并形式化了拜占庭将军问题:在分布式系统中,部分节点可能叛变或故障、通信不可完全信任时,忠诚节点如何达成一致行动。
网络与分布式2018 · 290 分 · 77 评进阶 · 约 75 分钟编辑精选Google 变差了吗?对搜索引擎中 SEO 垃圾的纵向调查
Is Google Getting Worse? A Longitudinal Investigation of SEO Spam in Search
对搜索引擎结果中的 SEO 垃圾内容做了纵向追踪:作者团队在一段时间内持续采集 Google、Bing、DuckDuckGo 等引擎针对商品评测类查询的结果,用分类器识别联盟营销…
网络与分布式2024 · 276 分 · 274 评入门 · 约 45 分钟编辑精选使 CRDT 能够容忍拜占庭故障
Making CRDTs Byzantine Fault Tolerant
Martin Kleppmann 等人的论文研究如何让 CRDT(无冲突复制数据类型)抵御拜占庭故障节点,即部分参与者恶意篡改数据时仍能保证一致性。
网络与分布式2022 · 266 分 · 40 评进阶 · 约 90 分钟编辑精选