区块链技术简介

区块链是什么

分布式账本

一个区块链网络的核心是一个分布式账本,在这个账本中记录了网络中发生的所有交易信息。

区块链账本通常被定义为去中心化,这是因为在整个网络中,每个参与者都保存着一个区块链账本的副本,所有参与者通过协作共同维护着账本。接下来我们会看到,去中心化与协作这两个特点在现实世界的商业货物交易和商务服务中展现出的显著优点。

分布式账本

除了去中心化与协作,区块链的另一个显著特点是信息在只能以“附加”的方式记录在区块链中,同时使用加密技术保障了交易一旦被添加进账本中,就无法被篡改。区块链的这种不可篡改性使得信息来源的确认变得异常容易,这是由于参与者可以肯定信息一旦被写入区块链中就几乎不可被篡改。这也是为什么区块链常常也被称为证明的系统的原因。

智能合约

为了持续的进行信息的更新,以及对账本进行管理(写入交易,进行查询等),区块链网络引入了智能合约来实现对账本的访问和控制。

智能合约不仅仅可用于在区块链网络中打包信息,它们也可以被用于自动的执行由参与者定义的特定交易操作。

例如,买卖双方可以定义一个智能合约,以保证当卖方发货的商品运送到达时,买方支付的货款会自动转账给卖方。

在fabric中,智能合约叫做chaincode,它有6个状态,如下所示:

  • Install → Instantiate → invocable → Upgrade → Deinstantiate → Uninstall.

实际上智能合约就是一段代码,fabric官方认可的是GO语言。首先我们需要把合约代码上传到区块链上,这一步的状态就叫Install。

接着,需要做初始化操作。比如,现在的数据是存放在mysql中的,那么上线时需要用Instantiate把数据迁移至链上,这也算初始化。初始化后,chaincode就进入invocable可调用状态了。

我们可以通过CLI命令行或者程序里用SDK调用合约。

联盟链由于跨多家企业、多个地区甚至国家,很难使得合约保持一致的版本,因此,每个合约都有版本号。而版本升级时,就是Upgrade状态。

同样,这部分在智能运动领域也可以发挥其作用。

区块链的去中心化可以给运动的所有者以及使用者提供足够的信任,区块链的不可篡改性可以用于保存与记录每一个动作的信息,使用智能合约来审核对动作信息的访问,保证访问者的安全。

相信未来,这项技术能够在该领域获得更大的发展。

Jiahui Zhu

Jiahui Zhu

JH. Zhu is a research guy, who is much interested in the sport blockchain development. He enjoys every talk about the chaincode, block, peers, orders.

You May Also Like