区块链 — 基本概念与应用场景

基本概念

1. 去中心化应用(DApp)

传统的网络应用,都会有一个服务端程序,多个客户端链接到这个服务端,叫做「中心化应用」。

点对点(P2P)应用中并不存在对网络完全控制的中心节点,这类应用成为「去中心化应用」。

但去中心化应用有数据被篡改的风险,所以引入「一致性协议」。

2. DApp 的内部货币

维持DApp节点的正常运行需要费用(硬件、网络等)==》「内部货币」。

每个节点收取多少内部货币?==》由共识协议决定。只有为维护DApp安全和运行作出贡献的节点才可以赚取内部货币

3. 比特币

比特币是一种去中心化的货币,是最热门的DApp。

「账本」用于记录比特币的交易,只能添加新的交易,不能修改和删除交易。

「区块链」是用于创建去中心化账本的数据结构。区块链与数据库类似,是用于存储数据的。区块链中的区块按序号排列,每一个区块都包含一个交易集合、前一个块的哈希码、时间戳、块奖励、块序号等信息。网络中的每一个节点都会保存一份区块链的副本。​​

4. 工作量证明(PoW)

工作量证明就是在修改区块链之前先证明你没有对 DApp 网络进行攻击。

在本地先完成一项艰巨的任务,然后将完成的结果上传到 DApp 网络进行验证。通常的任务是解决计算难题,这种解决计算难题的过程被成为「挖矿」。

「经济惩罚」——既然无法阻止攻击,那么就让攻击付出惨重的代价。

PoW 中要解决的难题通常是计算一个哈希值。例如,给定一个基本字符串“Hello, world!”,我们的任务是在这个字符串后面添加一个名为 nonce 的整数值,对变更后的字符串进行 SHA256 哈希运算。如果得到的哈希结果(16进制)是以 0000 开头的,则验证通过。为了达到这个工作量证明的目标,我们需要不停地变化 nonce 值,对得到的新字符串进行 SHA256 哈希运算。按照这个规则,需要经过 4251 次计算才能找到恰好前 4 位为 0 的哈希散列。而且,随着 0 的个数增加,计算难度会以指数级增加,而且没有算法可以立即算出结果,但结果确是非常容易验证的。

5. 以太坊

以太坊是一个去中心的平台,允许在这个平台上运行 DApp。

DApp 需要依赖「智能合约」,智能合约要使用 Solidity 语言编写。

应用场景

区块链的主要特点是在不引入第三方中介机构的前提下,可以提供去中心化、不可篡改且安全可靠的机制。因此,理论上,所有直接或间接依赖于第三方担保机构的活动,均可能从区块链技术中获益。

  • 资产:数字资产发行、支付、交易、结算
  • 记账:股权交易、供应链金融、商业积分
  • 不可篡改:溯源、众筹、医疗证明、存在性证明
  • 点对点:共享经济、物联网
  • 隐私:匿名交易

参考

《第一行代码——以太坊》

《区块链入门与去中心化应用实战》