主页 > imtoken快速下载 > 了解区块链

了解区块链

imtoken快速下载 2023-06-15 07:24:13

认识区块链

1.区块链的概念

我们一般意识形态中的链条是铁链,由铁制成,有一个环扣。区块链也可以这样理解,只不过它不是铁做的,而是由具有一定数据结构的块以链状结构连接而成。这个结构是一个链表。

一个块被抽象为一种计算机语言作为一个对象、一个结构和一个类。同一个类也可以定义属性、变量和方法,但是块中包含的内容可以自己定义。比如以太坊公链的区块结构,就有我们可以自己定义的变量。下面是我们如何设置块包含变量的示例。

type Block struct {
  Number string // 区块号
  PreHash string // 前一个区块的哈希值
  Hash string // 自身的哈希值
  Value string // 携带的数据
  Create int64 // 创建的时间戳
}

区块链的特征

上述类型Block struct的意思是定义一个block,它定义了变量Number、PreHash、Hash、Value、Create。

当链表中的每个数据实体都是上述区块时,就构成了区块链。区块是区块链每个环节的实体。这是最简单的一种区块链。如图1-1所示,箭头方向表示子块与父块相关联,也可以将箭头反转表示父块与子块相连。

认识区块链

正常形式的1-1链

区块链的特征

由于链中的区块包含数据,比如上面的Value变量,我们在将区块打包到链中的时候,可以在Value中填入值。之后,我们就可以通过访问block内部的数据来读取block中打包的数据,然后输出给用户看。

在上面的例子中,我们用来存储打包到block中的数据的data变量只有一个Value,所以请想象一下,如果将Value换成一个数组或者更多的变量区块链的特征,block会变得更多复杂,其功能也随之而来。

另外,规定链上的块是唯一的,即相同块号的块不能具有相同的标识(以太坊允许不同含义的块具有相同的块号)同一标识它在链中出现两次,如果出现,则链会纠正它。

以下是互联网上对区块链的定义和解释:

区块链的特征

“区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新应用模式。”

这个概念实际上是一个广义的解释。作者倾向于把这种解释理解为区块链节点程序,而不是区块链,因为一个区块链节点服务包含了这个概念中的各个模块,其实还有很多其他的模块。

一般来说,区块链公链包括但不限于以下技术模块:

数据加密和签名技术模块。共识机制技术模块。分布式数据存储技术模块。点对点通信传输技术模块。智能合约技术模块。应用程序接口技术模块。

区块链的特征

当我们将这些模块技术实现的代码集成到一个程序中时,就是一个区块链应用,比如公链。

那么区块链应用程序必须实现所有这些技术模块吗?不,你可以开发自己的区块链公链,哪怕是一个超级简单的原型,只要是链式的区块存储应用,都可以称为区块链。请记住,任何复杂的区块链应用程序,例如众所周知的公共链,都是建立在一个简单的模型之上的,并添加了技术。此外,区块链各个技术模块所包含的知识点也非常丰富,可以说每个知识点都属于一个领域。

2条链的分类

区块链通常分为三种链分类,即公链、私链和联盟链。这三种链的主要区别是:

区块链的特征

公链有很多维护节点,节点网络对所有人开放区块链的特征,任何人都可以访问特定的数据。私有链适用于个人或组织。联盟链由多个组织和团体的节点共同维护,对组织开放。

目前被广泛接受、认可和有价值的“代币”(Tokens)几乎都是基于公链的。

为了实现不同类型公链之间的相互通信,比如比特币公链和以太坊公链之间的BTC到ETH的交换,需要通过技术手段来实现,比如跨链通信技术。

3 区块链能做什么

从区块链的普通去中心化来看,在节点网络中,如果一条公链的合法节点数量达到一定数量级,那么我们可以认为,当前公众的去中心化方案chain 接近 100%,这意味着链上的数据将不再被篡改,所以我们传递到链上并存储在区块中的数据将永远存在,真实且永久。

基于这个特性,我们可以将区块链应用于数据的溯源和存储。此外,还可以根据区块链具体提供的功能进行各种应用。比如以太坊公链,它是一条区块链,提供了智能合约等图灵完备的功能模块,我们可以基于它开发智能合约去中心化应用DApps,其中最常见的就是ERC20智能“token”对应合同。