区块链及以太坊常用概念整理(一)

  1. 区块链:

    起源于中本聪的比特币,主要解决信任问题。一般定义为:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义区块链主要指几大公链,广义区块链则包含各种联盟链,私有链,甚至是只要采用这个模式的网络。

  2. 比特币:

    一种点对点电子货币系统。一种完全的点对点电子货币应当允许在线支付从一方直接发送到另一方而不需要通过一个金融机构。通俗点说,就是不需要银行就可以直接进行用户转账。

  3. 中本聪:

    中本聪于2009年带来了两个颠覆性的概念,一是“比特币”,二是“区块链”。然而中本聪后来功成身退,再也没有出现。

  4. 不可篡改:

    这里使用以太坊为例讲解不可篡改特性。以太坊使用了一种改进的默克尔树来进行数据存储。它是一种二叉树,它的哈希是从下向上扩散的,任何人只要改动其中一个数据,就会造成区块哈希的变动。而区块间是通过哈希相连的,此变动会导致后面已经连接区块的链接哈希与之不相符,该区块会被认定为无效的,不会被接受。除非改动该区块及之后所有的区块。

  5. 去中心化:

    “去中心化”是一种现象或结构,其只能出现在拥有众多用户或众多节点的系统中,每个用户都可连接并影响其他节点。通俗地讲,就是每个人都是中心,每个人都可以连接并影响其他节点,这种扁平化、开源化、平等化的现象或结构,称之为“去中心化”。同时“去中心化”是区块链的典型特征之一。

  6. 难伪造:

    大致同不可篡改,然而并不是不可能。虽然改动某个数据会造成该区块无效,但是攻击者可以改动该区块及以后的所有区块哈希,从而形成一条新链,只要新链的长度大于原来链的长度,就可能被接受。但是这是需要较大的攻击成本的,也就引申出了51%攻击。

  7. 51%攻击:

    攻击者如果从区块链的某一区块分支了一个新链(改动了数据伪造的链),只要新链的长度超过了原来的长度,矿工们默认会自动选择最长的链为主链,这样就会切换到伪造的链上来。要使伪造的长度超过原来的链,需要不停的追赶,以比原来链更快的速度生成区块。因此,平均来讲,只要控制了51%以上的算力,就有实现追赶的可能。(因为你要和剩下的其它算力作竞争,所以必须控制全网络一半以上算力,也就是至少51%)。在算力较小的链上容易发生这种攻击,最新一次攻击发生在ETC上,2020年8月发生的,使得OKEX损失约560万美元。

  8. 轻节点:

    一个完全节点会存储所有数据,这样数据增长太快,造成对存储的压力。在某些应用场合,例如简化支付验证(SPV)允许存在一种轻节点,它只下载区块头和自身交易相关的默克尔树分支,就能确认任何一笔交易的状态和账户当前的余额。所以说它叫简化支付验证。目前轻节点无法做交易,必须连接全节点才能交易。

  9. 分布式:

    其实应该为分布式系统,当然也可以说系统是分布式的。分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。通常分布式主要有分布式计算(computation)与分布式存储(storage)。区块链中的分布式应该是指分布式拓扑结构,它所有的节点都是对等的,分布在全球各地,都执行同样的功能。单个节点故障不会影响整个网络。

  10. 挖矿:

    在采用工作量证明的区块链系统中,大家同时计算一个数学难题,谁先算出谁就出块。这种生成区块的行为形象的比喻成挖矿(计算的过程就是挖的过程,最后的区块就是矿),那些进行计算的人叫矿工。因为有算力成本在,生成区块后是有奖励的。

  11. 区块奖励:

    因为挖矿是有难度(数学迷题难度)和成本(硬件成本和电力成本),所以必须给生成区块的一定的经济补偿,才能维护矿工们不停的挖矿。这个经济补偿就叫区块奖励,区块奖励不是固定的,隔一段时间会减半。同时由于作废区块的存在,在以太坊中,叔区块也有一定的区块奖励。

  12. 工作量证明POW:

    工作量证明(Proof-of-Work,PoW)是一种对应服务与资源滥用、或是拒绝服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。该概念于1993年被提出,但是发扬光大却是2009年中本聪应用于比特币上。

  13. 哈希迷题:

    用于工作量证明,假定有一个公式,输出任一数字,会输出一个哈希(相同的数字输出同样的哈希,但由哈希无法反向推导出输入数字)。然而不是输出的任意哈希都是有效的,必须满足一定的难度条件,比如前多少位数字必须是0。为找到能生成这样一个哈希的输入数字,只能一个一个不停的尝试,没有捷径可言。通常需要大量计算(算力)才能得到,小概率事件很快找到。这就是工作量证明与哈希迷题。当然,每个区块的公式是不一样(里面有个随机数)的。

  14. 拜占庭将军问题:

    在分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论从而破坏系统一致性。拜占庭将军问题被认为是容错性问题中最难的问题类型之一。

    原问题为:9名拜占庭将军,4人投票进攻,4人投票撤退,还有1人是叛途,它可以故意向撤退的人投撤退,向攻击的人投进攻,从而使双方都认为自己为多数决定,破坏整体的一致性。另外,将军间依靠信使通信(不安全),这中间的投票决定也可以被篡改。

    假使那些忠诚(或是没有出错)的将军仍然能通过多数决定来决定他们的战略,便称达到了拜占庭容错。

    早期的多种解决方案中,有一种认为只要出错率小于1/3,仍然可以达到拜占庭容错。1999年,提出了实用拜占庭容错(PBFT)算法。该算法能提供高性能的运算,使得系统可以每秒处理成千的请求,解决了原始拜占庭容错算法效率不高的问题。PBFT算法的核心理论仍然是n>=3f+1。

  15. 哈希函数:

    又叫散列函数。给定任一种数据,该函数能生成一个哈希值。一个好的哈希函数很难发生哈希碰撞现象(哈希碰撞是指生成的哈希值相同,这是因为如果将一个大区间上的数值映射到一个小区间上,它一定是有冲突的)。哈希函数同时有以下特征(给定同一个哈希函数):(1)如果生成的两个哈希值不同,那么它们的原始输入是不同的,称之为确定性。(2)从哈希值无法得到输入值 ,称为不可逆性。(3)同一输入,只会生成同一哈希。

  16. 椭圆曲线:(Elliptic curve cryptography),简称ECC,是一种建立公开密钥加密的算法,也就是非对称加密。类似的还有RSA,ElGamal算法等。ECC被公认为在给定密钥长度下最安全的加密算法,比特币及以太坊中的公私钥生成以及签名算法ECDSA都是基于ECC的。其实椭圆曲线并不是我们平常学习的椭圆形状,其名字的由来是因为椭圆曲线的描述方程,类似于计算一个椭圆周长的方程。RSA利用了“大数质因数分解”的复杂度,而ECC利用了“椭圆曲线上的离散对数问题”的复杂度。

  17. 密码学:

    可分为古典密码学和现代密码学。古典密码学主要关注信息的保密书写和传递,以及与其相对应的破译方法。而现代密码学不只关注信息保密问题,还同时涉及信息完整性验证、信息发布的不可抵赖性以及其它安全性问题。密码学是数学和计算机科学的分支。

  18. 非对称加密与公/私钥:

    非对称加密算法需要两个密钥:公开密钥publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。反之用私钥加密,用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

  19. 公/私钥:这里以以太坊为例(比特币类似),每个外部账号(非合约账号)都由一个公/私钥对组成。私钥为一个32字节的16进制字符,使用椭圆曲线算法ECDSA-secp256k1可以由私钥推导出唯一公钥(64字节),但反过来不能推导。使用哈希算法Keccak-256对推导出的公钥进行哈希运算,得到32位字节的哈希值,然后取其最后20字节作为账户地址。所以账号公钥并不等于账号地址。这里的公/私钥同时也是非对称加密的公/私钥。

  20. 数字签名:

    数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。比如以太坊上的外部账号使用私钥对交易进行数字签名,表明该交易是该账号发起和认可的。

  21. 公有链:

    开放式公有网络,任何人都可以参与;去中心化、匿名性、不可篡改、透明性是它的主要特征。主要代表有比特币、以太坊等。然而,公有链在安全性和性能方面进行了权衡,所以吞吐量较弱,TPS较低,出块时间较长。

  22. 联盟链:

    将区块链技术运用于商业组织的一种非开放的许可网络,通常为多个企业之间的共同协作提供服务。主要代表有Hyperledger、FISCO BCOS等。

  23. 私有链:

    同联盟链类似,但一般仅用于单个企业,具有更强的权限控制。

  24. 侧链:

    区块链中的侧链(sidechains)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链,该名词是相对与比特币主链来说的。侧链协议是指:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。

    侧链的本质是,首先把你的一部分资产锁定在主链上,并且在侧链上对你的资产进行操作,当操作周期结束之后再在主链上结算。

  25. 跨链协议:

    各种区块链之间信息是隔离的,跨链技术可以让不同的区块链实现互操作,从而形成区块链的“互联网”,实现更大的应用空间和价值。狭义来说,跨链是一种解决两个或多个不同链上的资产以及功能状态互相传递、转移、交换的协议。广义的来说,侧链和跨链都是链间互操作协议的一种具体方案,因此我们将所有的侧链和跨链协议统一称为跨链互操作协议。

  26. 雷电网络:

    以太坊提高交易处理能力的方式主要有:分片技术(shard),Plasma链、状态通道技术(state channels)。

    雷电网络(Raiden Network)是状态通道技术在以太坊上的实现。以太坊的雷电网络类似于比特币的闪电网络,不过它支持所有 ERC20 代币。雷电网络雷电网络利用支付渠道网络来扩展以太坊网络的链下扩容,这样区块链不必参与每次代币传输。这些链下交易比链上交易更快、更便宜,更适用于物联网。

    雷电网络应用:raidEX,一个是建立在以太坊和雷电链下状态通道技术之上的去中心化的交易所。

  27. 闪电网络:

    比特币区块链的链下扩展,作用和雷电网络类似,但是只支持BTC传输。

  28. Plasma:Plasma 是另一个扩容网络,帮助以太坊区块链处理比目前更巨大的数据集。它采用和主链类似的方式处理智能合约,只向以太坊公链广播已完成的交易。雷电网络和 Plasma 具有互补性——Plasma 可以处理智能合约,这将触发雷电网络执行这些支付。雷电网络和Plasma链称为 Layer 2 扩展方案,因为它们不是在主链上扩展,是第二层网络。

  29. 分片:

    随着以太坊网络的使用不断增加,应用和交易越来越多,这使得以太网络的速度变慢。分片是以太坊2.0的一种Layer 1扩容方案。它的主要思想就是将数据分片,每个节点群只验证其中的一片就可以了。根据计划,以太坊2.0最初会启用64个分片。

  30. 信标链(Beacon Chain):

    以太坊2.0的核心,2.0并没有采用POW,而是采用验证者模型。信标链的主要内容就是记录验证者地址的注册表、每个验证者的状态、见证消息、以及链接到分片的信息。验证者在参与前需经过信标链激活,也可以转变自己的状态。

    信标链就是通过交联来跟跟踪分片链(的最新区块)。因为有 64 个分片,每个信标链都能包含最多 64 个交联。信标链充当分片链分叉选择、分片链确定性以及跨分片通信的基础。

  31. 区块链扩容:

    随着交易和应用的增加,当前区块链在提高可扩展性上遇到了一个难题:每个节点都必须验证和执行所有交易。

    而从计算机科学的角度来看,要扩展吞吐量,主要有两种办法:

    A. 垂直扩容:大意是加强节点,让节点变得越来越强大。
    B. 水平扩容:大意是,加入更多节点。

    因为区块链的去中心化机制,只能进行水平扩容。扩容包括Layer 1和 Layer2 的扩展两种方式。

  32. 共识机制:

    区块链是一种去中心化的分布式账本系统,共识机制在去中心化的思想上解决了节点间互相信任的问题。共识机制让区块链各节点之间达成一致性。共识机制包括共识算法和共识规则。常见的共识机制有如下几种:POS,DPOS,POW,RAFT,BFT,PAXOS,POOL,RPCA等。

  33. 数字货币:

    数字货币可以认为是一种基于节点网络和数字加密算法的虚拟货币。比特币出现后,对已有的货币体系提出了一个巨大挑战。虽然它属于广义的虚拟货币,但是有着本质的区别。因此,称之为数字货币。它的主要特点有:交易成本低、交易速度快、高度匿名性。

猜你喜欢

转载自blog.csdn.net/weixin_39430411/article/details/108228222