Ted在高中时发现,随着年级的增加,接触的东西更多,其他同学也开始对计算机竞赛感兴趣,甚至有人比他学得更快。这让他感到竞争压力增大,成绩没有初中时那么突出。
Ted在大学时通过实习和与教授的交流,逐渐探索出自己的兴趣方向。他在大三时去康奈尔大学交流,与Gün教授合作,这让他意识到自己对分布式系统的兴趣,并决定继续深造。
Gün教授喜欢说大实话,常常指出别人的研究方向没有意义或已经被时代淘汰,这让其他学者感到尴尬和难堪。尽管他的研究非常出色,但他的直言不讳让他在学术界不太受欢迎。
Gün教授更多是以同事的方式与Ted合作,而不是手把手教学。他鼓励Ted自己解决问题,并告诉他,读博士的目的是在自己专注的领域超越导师,而不是依赖导师。
学术界对区块链是否是一个值得研究的方向没有达成共识。尽管区块链相关的论文在会议上越来越多,但很多论文因为对区块链的偏见而被拒。直到工业界如Facebook的Libra项目出现,学术界才开始更积极地关注区块链。
BFT共识算法主要分为两大类:一类是基于资源证明的,如比特币的挖矿;另一类是基于投票机制的,如PBFT。前者需要借助外部资源(如算力)来达成共识,后者则通过投票逻辑来保证共识的形成。
在比特币出现之前,BFT共识算法在工业界没有得到重视,因为当时的既得利益者认为没有必要将机器交给别人运行。直到比特币的成功,这类算法才重新被学术界和工业界重视。
Ted在博士期间主要研究BFT共识算法,尤其是HotStuff算法。他也在做一些与共识不那么直接相关的研究,如key-value存储系统。
本期我们有幸请到了 HotStuff 作者,美国康奈尔大学在读博士生尹茂帆(Ted Yin),一起聊聊他的学术之路。 摘要 高中打信息学竞赛,并不是他人眼中的一帆风顺,中间有许多不为人知的内心时刻。 大学暑假去康奈尔, 通过和 Gün 教授一起工作,慢慢探索出未来发展道路。 早在 2016 年因 DAO Hack 事件在国内闻名之前,Gün 教授因 Selfish Mining 在国际 Crypto Space 已经很有名了。 大学学的东西远远不够,读 PhD 是一个很好积累的过程。 Gün 教授是个喜欢说大实话的 Hacker,在学术界并不是很招人喜欢。 大扫除在文件堆里找到了 NSA(美国国家安全局)对 Gün 教授及其学生的感谢信。 读一个 PhD,迟早你要在专注的那个领域做到比你老板还厉害,不然的话,你读它干嘛。 PhD 三成时间是在学怎么和人交流,三成时间做科研 ,三成时间学做项目,或者说学习组织去做好一件系统的事情。 好的表达和交流会帮助你解决问题以及获得更多资源,你也需要去经营资源 。 学术界并没有达成统一共识,区块链是不是研究方向。 大众能去了解共识非常神奇,因为这是一个非常 Low Level 的事情,这也反应了整个行业目前还很不成熟。 BFT 是从历史尘埃中找出来的东西。 共识算法中新的算法并没有很多,魔改的很多。 ShowNotes ACM ICPC (https://zh.wikipedia.org/wiki/%E5%9B%BD%E9%99%85%E5%A4%A7%E5%AD%A6%E7%94%9F%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AB%9E%E8%B5%9B) John E. Hopcroft (https://www.cs.cornell.edu/jeh/) Robert Tarjan (https://en.wikipedia.org/wiki/Robert_Tarjan) Elaine Shi (https://www.engineering.cornell.edu/faculty-directory/elaine-shi) Ari Juels (https://www.engineering.cornell.edu/faculty-directory/ari-juels) Emin Gün Sirer (http://www.cs.cornell.edu/people/egs/) Gün’s Twitter about DAO Hack (https://twitter.com/el33th4xor/status/1008417777663774720) Ittay Eyal (https://webee.technion.ac.il/people/ittay/) Robbert van Renesse (https://www.cs.cornell.edu/home/rvr/) Paper about selfish mining (https://www.cs.cornell.edu/~ie53/publications/btcProcFC.pdf) SPIN operating system (https://en.wikipedia.org/wiki/SPIN_(operating_system)) Chain Replication for Supporting High Throughput and Availability By Robbert van Renesse (https://www.cs.cornell.edu/fbs/publications/ChainReplicOSDI.pdf) Bosco: One-Step Byzantine Asy (https://research.cs.cornell.edu/projects/Quicksilver/public_pdfs/52180438.pdf) Practical Byzantine Fault Tolerance (http://pmg.csail.mit.edu/papers/osdi99.pdf) Paxos (computer science) (https://en.wikipedia.org/wiki/Paxos_(computer_science)) Lorenzo Alvisi (https://www.engineering.cornell.edu/faculty-directory/lorenzo-alvisi) Dahlia Malkhi (https://en.wikipedia.org/wiki/Dahlia_Malkhi) DLS consensus algorithms (http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf?spm=a2c65.11461447.0.0.4c15478eYwX53X&file=jacm88.pdf) Zyzzyva: Speculative Byzantine Fault Tolerance (http://www.cs.cornell.edu/lorenzo/papers/Kotla08Zyzzyva.pdf) Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols (https://allquantor.at/blockchainbib/pdf/ben1983another.pdf) Tendermint: Byzantine Fault Tolerance in the Age of Blockchains (https://allquantor.at/blockchainbib/pdf/buchman2016tendermint.pdf) HotStuff: BFT Consensus in the Lens of Blockchain (https://arxiv.org/abs/1803.05069) The Honey Badger of BFT Protocols (https://eprint.iacr.org/2016/199.pdf) Algorand: Scaling Byzantine Agreements for Cryptocurrencies (https://algorandcom.cdn.prismic.io/algorandcom%2Fa26acb80-b80c-46ff-a1ab-a8121f74f3a3_p51-gilad.pdf) Snow White: Robustly Reconfigurable Consensus and Applications to Provably Secure Proof of Stake (https://eprint.iacr.org/2016/919.pdf) Ouroboros-BFT: A Simple Byzantine Fault Tolerant Consensus Protocol (https://eprint.iacr.org/2018/1049.pdf) Special Guests: Ted Yin and 万涔涔.