因为2016年跳槽到一家保险科技公司,因此,对于区块链早期落地(非炒币)有了一定的认识和理解。但真正开始思考区块链的问题,应该是从2018年初开始的,因为,经典互联网技术在我过去一年的产品化商业化实践中,给了自己一些新的启示。
如果说,开始,自己认为区块链只是从技术的维度去来看待和评价它给金融科技带来的助推作用,那后来,随着自己的思考和认识,觉得,从更深层次方面去理解,则是它对现实社会,特别是对未来经济关系所带来的一些变化。
首先,从技术角度来看,区块链主要涵盖了以下几个技术点:
- 共识算法
- P2P网络
- 加密安全技术
现在对以上三个技术点做分别的介绍。
其中,共识算法涉及到我们常规技术中使用到的一致性算法,衍生理论是CAP。我们期望在任何情况下,都能实现Strong Consistency,但这只是一个理论的期望,现实应用中,我们不得不考虑可用性和分布式所带来的分区特性。比较为人所熟知的算法,如Paxos、Raft。在Bitcoin的实现中,则用到PBFT(Practical Byzantine Fault Tolerance)。这使得链上数据的状态在整个链上或局部链上保证数据的一致性。
P2P网络早期广泛应用于各类下载软件,如BitTorrent、FlashGet和Thunder等。P2P网络中尽可能保证每一个节点都是对等节点,最大化的使接入到网络中节点以平等的地位进行通信。
加密安全技术主要是RSA及哈希散列算法。常用的一些技术选型如Sha256、Ripemd16及Keccak256。
其次,我们从业务的角度来看待链上的数据通信和交易。
构建完善的挖矿机制及奖励,交易机制是业务层面的核心,挖矿一般涉及到对工作量或是共识计算的基础依据,可供参考的机制有Pow、Pos、DPos及Poi等。
Bitcoin采用的是Pow,一般六个区块的打包入账确凿一笔交易,10分钟一个区块的生成,使得一笔交易的落地需要1个小时。Ethereum采用的则是Casper,是Pos的一种实践。当然V神最近提出了Ethereum 2.0的Pow+Pos混合挖矿计划。
在交易层面,链上账户模型一般分为UTXO及账户余额两种。这两类模型在实践中,确保了链上数字货币的价值传递,安全的进出交易双方的钱包。
以上关注点,基本上构成了一个链平台的技术栈。
技术始终是为了业务服务的,场景的设计围绕区块链的特点来进行扩展,区块链上链数据不可变更和数据的加密安全是区块链突出的技术特点,在过去的一两年,针对这些特性构建的智能合约可以在防伪溯源、交易安全、积分激励和局部领域去中心化起到积极的推动作用。
关于以上提到的各个关注点,后续会逐一分析论述。