博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区块链技术基础:术语&用例
阅读量:6611 次
发布时间:2019-06-24

本文共 1770 字,大约阅读时间需要 5 分钟。

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答!!

区块链技术基础:术语&用例

  1. 区块和区块链网络

区块链是一种在整个业务网络上共享的分布式账本。业务交易被永久记录在有顺序的、仅可附加的、防篡改的账本区块中。所有经过确认和证明的交易都通过哈希算法从创始区块一直链接到最新的区块,因而得名区块链。

区块链是自网络中的区块链启动以来发生的所有交易的历史记录。可将区块链用作该网络的单一事实来源。
区块链网络可以是许可网络或无许可网络。无许可 网络向所有参与方开放,参照网络上的已有规则对交易进行验证。任何参与方都可以查看账本上的交易,即使参与方是匿名的。在无许可和公有区块链网络中,比特币是人们最熟悉的一个示例。
另一方面,许可网络通常是私有的,仅能由给定业务网络中的参与者访问。在许可区块链上,参与者只允许查看与他们相关的交易。

  1. 分布式账本

分布式账本 是一种在网络成员之间共享、复制和同步的数据库或记录系统。分布式账本记录网络参与者之间的交易,比如资产或数据的交换。这种共享账本消除了调解不同账本的时间和开支。

网络中的参与者根据一致性原则来制约和协商对账本中的记录的更新。没有中间的第三方仲裁机构(比如银行或政府)的参与。分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有交易的可审计历史记录。

  1. 参与者

商业区块链网络是一个集体共享的对等网络,由一组可识别且可验证的参与者运营。参与者可以是个人或机构,比如企业、大学或医院。

  1. 资产、交易和渠道

任何可被拥有或控制来产生价值的事物都是资产。资产可以是有形的(比如汽车或刚从农场采摘的桃子)或无形的(比如抵押或租赁)。交易是指资产转移,将资产转移到账本或从账本将资产转移出去。在 Hyperledger Fabric 区块链中,资产表示为一组二进制和/或 JSON 形式的键值对(比如 vehicleOwner=Daisy)。

在 Hyperledger Fabric 区块链中,渠道是两个或多个特定网络成员之间的通信的私有“子集”,旨在执行私有且机密的交易。 如果两个参与者形成一条渠道,那么这些参与者(不是任何其他参与者)必须经过验证和授权,才能在该渠道上进行交易并共享针对该渠道的账本副本。得益于渠道,需要执行私有和机密交易的网络成员可与他们的业务竞争者和其他受限成员共存于同一个区块链网络中。

  1. 共识性

共识性是一个协作式流程,区块链业务网络的成员使用它来协商交易是否有效,并以共识原则让账本保持同步。共识机制降低了欺诈交易的风险,因为要篡改添加到账本的交易,必须同时在许多地方执行更改。

要达成共识,参与者需要同意并证实交易,然后将它永久记录在账本中。参与者还可以建立验证交易的规则。任何人(哪怕是系统管理员)都不能删除已添加到账本的交易。与无许可区块链中存在的更高成本相比,受信任的参与者网络可减少建立共识的成本。
在商业区块链中,有各种各样的共识机制可供选择。信任度很高时,一次简单的多数表决可能就足够了,否则网络可能选择使用更复杂的方法。

  1. 智能合约和链代码

智能合约通过账本管理交易,它们可以允许网络参与者自动执行交易的某些方面。例如,智能合约可以规定运输商品的成本,运输成本会依据商品到达时间而变化。双方对条款达成一致并将其写入账本后,会在商品到达时自动执行适当的资金调整。

在 Hyperledger Fabric 的上下文中,会将智能合约写入链代码中,并认为合约条款是基本同义的。
在 Hyperledger Fabric 中,链代码是一段使用 Go 编写的代码,它定义了网络资产和修改资产的交易指令(业务逻辑)。链代码由一位适当授权的成员安装到一个渠道上并将其实例化。在该渠道上调用交易时,链代码中的一个函数会读取值并写入账本中。

  1. 区块链应用

一个区块链应用需要 3 个相互依赖的组件:面向用户的应用、智能合约和账本。

顶层是面向用户的应用,用于满足网络参与者的需求。 该应用让用户调用智能合约在业务网络中触发交易。智能合约封装网络的业务逻辑:资产、所有权和转移方式。每次调用智能合约,都会在网络中创建一个交易并更新账本。账本持有智能合约数据的当前值(如 vehicleOwner=Daisy),并分发到整个网络。

转载地址:http://aeaso.baihongyu.com/

你可能感兴趣的文章
【转】聚集索引和非聚集索引的区别
查看>>
【转】mac os 安装php
查看>>
C# DllImport的用法
查看>>
Github-Client(ANDROID)开源之旅(二) ------ 浅析ActionBarSherkLock
查看>>
eclipse中如何去除警告:Class is a raw type. References to generic type Class<T> should be parameterized...
查看>>
C#线程安全的那些事
查看>>
rpm安装PostgreSQL
查看>>
k sum(lintcode)
查看>>
Android 控件属性
查看>>
Unity5.1 新的网络引擎UNET(十五) Networking 引用--中
查看>>
React-Native 之 GD (十六)首页筛选功能
查看>>
SSISDB5:使用TSQL脚本执行Package
查看>>
【转】UIColor对颜色的自定义
查看>>
asp.net后台进程做定时任务
查看>>
Ural_1671. Anansi's Cobweb(并查集)
查看>>
给vs2012换肤
查看>>
java接口中多继承的问题
查看>>
索引笔记《二》确定需要建立索引的列
查看>>
libjpeg的问题
查看>>
Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
查看>>