区块链平台调研

蚂蚁链

文档https://antchain.antgroup.com/docs

共识协议

蚂蚁链平台的共识组件通过提供不同的共识插件来实现共识协议。目前,蚂蚁链系统中已实现的共识算法包括 PBFT 和 ABFT。

  • PBFT(Practical Byzantine Fault Tolerance)共识协议

    能容忍系统中不超过 1/3 的拜占庭节点,在此基础上还能保证任意数量的诚实节点宕机重启后的状态一致性。该协议通过 PrePrepare、Prepare、Commit 的三阶段提交协议来达成共识。蚂蚁链提供的 PBFT 共识插件支持使用交易哈希进行共识,以及对大消息使用纠删码广播的技术,降低网络带宽消耗,提升共识效率。此外通过确定性的状态持久化确保异常节点恢复后状态的一致性,防止分叉的可能性。

  • ABFT(Asynchronous Byzantine Fault Tolerance)共识协议

    同样能容忍系统中不超过 1/3 的拜占庭节点,在此基础上还能保证任意数量的诚实节点宕机重启后的状态一致性。相对PBFT来说,ABFT不用依赖单一节点的提议,实现了节点间角色的完全平等;同时基于其纯异步假设,能在网络延迟任意大的情况下运行,不需要借助超时机制。这样在网络情况不稳定、延时较高时能够健壮地运行。

PBFT 和 ABFT共识算法特性对比如下:

image-20230517145948139

目前蚂蚁链可以根据网络情况和集群情况流畅地在PBFT 和 ABFT共识算法之间进行动态共识切换

跨网络部署

可以根据联盟参与方需求跨云平台部署区块链节点,即部分参与共识的节点运行在金融科技平台,部分参与共识的节点运行在用户的 IT 环境。

网络安全保障

多个独立的区块链节点部署在金融区的 VPC 网络中,保证网络安全性。同时,该 VPC 网络与用户在金融科技平台上的 VPC 可以连通,保证用户应用在安全的网络环境中访问操作区块链。

自动化部署
区块链节点软件采用自动化部署方式,根据用户申请需求快速自动建立区块链平台。对于区块链节点软件版本更新,可后台各节点逐步升级,同时不影响区块链功能。

新增链/节点

https://antchain.antgroup.com/docs/11/211499

FISCO BCOS

文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/introduction.html

  • 共识机制:可插拔的共识机制,支持PBFT、Raft和rPBFT共识算法,交易确认时延低、吞吐量高,并具有最终一致性。其中PBFT和rPBFT可解决拜占庭问题,安全性更高。

信博弈论

区块链中最玄妙的部分是“共识算法”。共识算法的定义是在一个群体中,用一种机制协调大家共同或轮流记账,得出无争议的、唯一性的结果,且保证这个机制可以持续下去。

换句话说,大家一起维护一个账本,选择谁做为记账者?凭什么相信记账者的动作是正确的?怎么防止记账者作恶?如果记账者正确记账如何得到激励?共识机制完整地回答了这些问题。

共识的逻辑是发生在线上的,但实际上,背后是现实世界的竞争博弈。

POW(工作量证明)采用算力去竞争记账者的席位和获得记账者的奖励。现实生活中,为了构建具有竞争力的算力工厂,矿工通常需要研发或购买大量的新型号矿机,运输到有稳定和便宜电力供应地区,消耗大量的电费、网费以及其他运营费用,在被监管时又得举家搬迁,浪迹全球,实际上投入了大量(现实世界的)资金、精力以及背着巨大的风险。如果要在POW竞争中获得稳定可观的收益,投入的资金动辄以亿计,并不亚于办一家企业。

POS和DPOS用权益证明代替了算力消耗,看起来是环保多了。而代表权益的token,除了创始团队自己发行的之外,“矿工们”一般需要通过币币兑换,或者直接法币购买数字币的方式获得,即使是币币兑换,掏出来的币也常常是采用法币购买的,或者至少这些权益都能以法币进行标价,这其实也是现实世界里的财富注入和背书。

然而,和现实的商业关系对比,POW和POS等共识并没有法律和监管机制兜底,也容易受不断变化的博弈形势所影响,比如社群的规模、矿工的更迭、核心技术运营团队的变化。慢慢地,本来有钱和有能力的人,或许会更加有钱和有权力,去中心化的网络可能逐渐变成了卡特尔组织,矿工和技术社区的瓜葛也会不停地掀起波澜,造成分叉、回滚、价格倾轧、对韭当割等现象。

总的来说,人们还是信任区块链上的“自治”,在这种分布式自治里,单个事件(如一笔交易)具有“概率性”,同时全网又追求“最终一致性”(公共账本的一致)。这种短期的概率性和长期的确定性,一定程度上可以达成动态的“纳什均衡”,支撑起链的生态,给人演化出一种玄妙的“信仰”感。

另一方面,联盟链的记账者一般是机构级的角色。联盟链要求记账者身份可知,参与者们经过许可才能接入网络,他们之间是一种合作博弈。联盟链引入了现实世界里的身份信息作为信用背书,如工商注册信息、商业声誉、承兑信用、周转资金,或者行业地位、执业牌照、法律身份等,参与者在链上的一切行为均可审计、追查,也让相关的监管部门在必要时可以有的放矢,精准惩戒,强制执行,具有很高的威慑力。

在这种环境里,联盟链的参与者一起协作维护网络,共享必要的信息,在平等透明、安全可信的网络里开展交易,只需要防止少量记账者的恶意操作风险,避免系统上的可用性风险。因引入了现实世界里必要的信任背书,即使联盟链业务逻辑非常复杂,而信任模型却更直观。

所以,所谓的共识机制,背后依旧是现实世界里财力物力的竞争和信用背书,以及相应行之有效的激励和惩戒机制。

天下并没有免费的午餐,也没有平白无故的爱恨。“信”一个记账者,是信他在现实世界里所投入的成本、付出的代价,以及考虑到整个机制有震慑他的惩罚,相信记账者为了持续的收益和增值,不会无故破坏这个网络。

image-20230517170410867

image-20230517170450153

图来自论文:

  1. Dinh T T A, Liu R, Zhang M, et al. Untangling blockchain: A data processing view of blockchain systems[J]. IEEE transactions on knowledge and data engineering, 2018, 30(7): 1366-1385.

  2. Peng Z, Zhang Y, Xu Q, et al. NeuChain: a fast permissioned blockchain system with deterministic ordering[J]. Proceedings of the VLDB Endowment, 2022, 15(11): 2585-2598.

image-20230521140250603

image-20230522143047908

Han R, Yan Z, Liang X, et al. How can incentive mechanisms and blockchain benefit with each other? a survey[J]. ACM Computing Surveys, 2022, 55(7): 1-38.

exonum

https://exonum.com/index

IOTA

https://www.iota.org/

长安链

https://docs.chainmaker.org.cn/

Quorum

quorum doc: https://docs.goquorum.consensys.net/concepts/blockchain-basics

Protocol: PBFT、Raft

Parity

Protocol: PBFT variant

Ripple

Protocol: PBFT variant

Tendermint: Byzantine fault tolerance in the age of blockchains.

https://tendermint.com/

Basil

Suri-Payer F, Burke M, Wang Z, et al. Basil: Breaking up BFT with ACID (transactions)[C]//Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles. 2021: 1-17.

Protocol: PBFT

Fabric 衍生

Protocol: PBFT、Raft

FastFabric、Fabric++、Fabric#、FabricSSI

Cosmos

Tendermint consensus + Atom token

https://github.com/cosmos/cosmos/blob/master/WHITEPAPER.md

Diem

Hotstuff consensus + Diem token

https://developers.diem.com/docs/basics/basics-txns-states

香港学校博士申请追踪

香港博士申请 | 2022-2023年香港院校计算机类专业申请攻略!https://zhuanlan.zhihu.com/p/539646721

香港大学

PhD program (简介)

HOW TO APPLY

Admission Requirement (统一)

Research Area: Faculty of Engineering - Department of Computer Science

PhD Programmes in Computer Science (简介)

Admission (details)

How to apply

Research Groups

Basic Admission Requirements

image-20230515131132753

DDL

image-20230515134845548

CSRanking (Hong Kong, 2013-2023, Computer security only)

image-20230515131314131

香港中文大学

需要按照学科细分,没有综合的介绍

MPhil-PhD in Computer Science and Engineering

requirements

English Language Requirements for Admission

image-20230515150209440

HOW TO APPLY

DDL

image-20230515150400073

image-20230515134314121

image-20230515134345383

CSRanking (Hong Kong, 2013-2023, Computer security only)

image-20230515133429153

香港科技大学

HOW TO APPLY

PhD Programs in Computer Science and Engineering

https://prog-crs.hkust.edu.hk/pgprog/2023-24/mphil-phd-cse

Admission requirements

image-20230515135607789

Admission(Computer Science) https://cse.hkust.edu.hk/pg/admissions/

DDL

image-20230515135207041

image-20230515151258517

image-20230515135803337

香港城市大学

Steps & Procedures

College of Engineering

Admission

English Proficiency Requirements

image-20230515155616835

DDL

image-20230515161745137

香港理工大学

English Language Requirements

The requirements for those who do not have a degree for which English was the language of instruction at a recognised university are:

An overall score of at least 6.5 in the International English Language Testing System (IELTS); OR
A Test of English as a Foreign Language (TOEFL) score of 80 or above for the Internet-based test.

12.1

滑铁卢大学

Electrical and Computer Engineering - PhD

HOW TO APPLY

https://uwaterloo.ca/graduate-studies-postdoctoral-affairs/future-students/programs/electrical-and-computer-engineering-phd-waterloo

https://uwaterloo.ca/graduate-studies-academic-calendar/engineering/department-electrical-and-computer-engineering/doctor-philosophy-phd-electrical-and-computer-engineering#admission_requirements

Minimum requirements for the PhD degree

Admission and English language proficiency requirements

image-20230515195434230

DDL

image-20230515195827497

共识机制学习记录

共识机制对比

image-20230502102811442

https://yuanmomo.net/2020/06/06/bc-consensus/

RAFT

动画演示 http://thesecretlivesofdata.com/raft/

博客 https://blog.csdn.net/yangmengjiao_/article/details/120191314

通信模型

(1) 同步模型(Synchronous model)

在同步模型中,所有节点之间的消息通信都存在一个已知的延迟上界,并且不同节点处理事务的相对速度差值有一个已知上界。同步模型是一个非常理想的通信模型,在现实生活中几乎不可见,但是在分布式系统的理论研究中却发挥着及其重要的作用,许多早期的分布式一致性算法都是在同步网络假设下设计的。

(2) 异步模型(Asynchronous model)

在异步模型中,上述的假设上界都不存在,因此异步模型比较符合现实的互联网环境。异步与同步相比,是一种更通用的情况。一个适用于异步系统的算法,也能被用于同步系统,但是反过来并不成立。在异步模型中设计一个正确的共识算法已经被证明是不可能的。

(3) 部分同步模型(Partial Synchronous model)

部分同步模型是界于同步模型与异步模型之间的一种通信模型,于1988年由Dwork, Lynch等人在论文[1]中提出。该模型中假设存在一个全局稳定时钟GST(Global Stabilization Time),在GST之前整个系统可能处于异步状态,但是在GST之后,整个系统可以恢复到同步状态。部分同步模型的时序假设比较贴合现实世界中对共识算法的需求,即共识总是可以在同步状态下完成,然而一旦网络出现问题,共识可能会进入一段时间的阻塞,直至网络恢复正常。

image-20230510142342769

Layers of the Blockchain Paradigm

image-20230510145555324

Hardware / Hosting: Layer of hardware used for mining / validating. This refers to the devices where the all data in the blockchain is stored

Network: Layer of message passing between the different nodes that make up the network

Consensus Protocol: Layer of finalization

Sybil Control Mechanism: Layer to prevent generation of multiple fake identities

Application Layer: Layer of applications built on top of blockchain platforms

ECDSA及加速方法介绍

公钥密码学(Public-key cryptography)

公开密钥密码学也称非对称式密码学,是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文。

基于公开密钥加密的特性,它还能提供数字签名的功能,使电子文件可以得到如同在纸本文件上亲笔签署的效果。

公钥密码学的两个最著名的应用是公钥加密和数字签名。

learn more >>