BlockChain Knowledge

区块链技术知识学习

推荐书籍:<图说区块链> <区块链技术指南> <区块链开发指南>


区块链基本概念

1.区块链是什么?

区块链(Blockchain)是由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。它是比特币的一个重要概念,完整比特币区块链的副本,记录了其代币(token)的每一笔交易。通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。 区块链是由一串使用密码学方法产生的数据块组成的,每一个区块都包含了上一个区块的哈希值(hash),从创始区块(genesis block)开始连接到当前区块,形成块链。每一个区块都确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的。通过对以区块(block)形式存在的一组数据,实施随机散列而加上时间戳,并将该随机散列进行广播。显然,该时间戳能够证实特定数据必然于某特定时间是的确存在的,因为只有在该时刻存在了才能获取相应的随机散列值。每个时间戳应当将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成了一条链(Chain)。

2.比特币

  • 比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
  • 与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个。

3.区块链有哪些特征?

区块链是一种共享的分布式数据库技术。尽管不同报告中对区块链的一句话介绍措辞都不相同,但以下4个技术特点是共识性的。

  1. 去中心化(Decentralized):去中心化金融系统没有中介机构,所有节点的权利和义务都相等,任一节点停止工作都不会影响系统整体的运作;
  2. 去信任(Trustless):系统中所有节点之间无需信任也可以进行交易,因为数据库和整个系统的运作是公开透明的,在系统的规则和时间范围内,节点之间无法欺骗彼此;
  3. 集体维护(Collectively Maintain):系统是由其中所有具有维护功能的节点共同维护的,系统中所有人共同参与维护工作;
  4. 信息不可篡改:一旦信息经过验证并添加至区块链,就会按照时间先后顺序记录永久的存储起来。生成不可篡改的、可信任的数据库,进而限制相关的不法行为。因此区块链的数据稳定性和可靠性极高。

4.区块链工作原理

我们以比特币为例说明,区块链的运行过程就是记账的过程,可以分为几步:

  • 记账权的竞争——POW工作量证明函数求解;
  • 记账——打包上一个区块的信息,添加新增交易信息,建立新的区块;
  • 广播、验证——记账节点广播新区块随机数,其余节点进行验证;
  • 成功记账——验证通过后,盖时间戳或,新区块创建完成。
  • 新的区块按顺序接到原有区块的末端,区块链不断延续。

5.共识机制

共识机制是区块链系统中节点竞争记账的规则。区块链是一个去中心化的账本,其中产生的交易需要有一个节点来记账并广播到全网,如何在这些节点中选择一个呢,这就需要制定一个规则,按照规则选取。这个规则就是共识机制,每个参与进来的节点都要遵从共识机制。不同的区块链系统中运行着不同的共识机制。常见的共识机有POW、POS、DPOS。

6.什么是去中心化?

在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能, 没有单一方控制数据或信息。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。区块链上的每一方都可以访问整个数据库及其完整的历史记录。 直接验证其交易合作伙伴的记录,而无需中间人。

7.为什么数据不可篡改?

单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改。当节点基数足够大时,这个事情几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。

8.什么是智能合约?

从用户角度来讲,智能合约通常被认为是一个自动担保账户,例如,当特定的条件满足时,程序就会释放和转移资金。 从技术角度来讲,智能合约被认为是网络服务器,只是这些服务器并不是使用IP地址架设在互联网上,而是架设在区块链上。从而可以在其上面运行特定的合约程序。所有人都可以看到智能合约,因为这些智能合约的代码和状态都在区块链上(假设区块链是公开的)。智能合约的代码由所有参与挖矿的设备来执行(这也意味着进入单个合约的算力是有限的,尽管挖矿难度的自动调整会调节这种影响)。 智能合约是编程在区块链上的汇编语言(或由其他语言编译),代码的执行是自动的:要么成功执行,或者所有的状态变化都撤消(包括从当前失败的合约中已经送或接收的信息。事先设好合约规则后,智能合约自动执行,没有任何人可以进行操控,从而保证了公正性。

9.私钥是什么?如何解密签名实现交易?

私钥是保证你维基币安全的最重要的一环,当你生成一个普通私钥的同时,它就会保存到你电脑或手机上,当你用你这个私钥对应的地址进行交易的同时,会要求你输入钱包密码,实际上就是对私钥进行解密的过程,用你这个私钥进行签名,交易就会广播出去,完成交易。

10.钱包是什么?

钱包是密钥的管理工具, 用来管理代币的密钥。钱包中包含成对的私钥和公钥。用户用私钥来签名交易, 从而证明该用户拥有交易的输出权。而输出的交易信息则存储在区块链中。用户在使用钱包时, 你的钱包文件信息, 明文私钥, 都是钱包, 钱包文件是你加了"锁"的钱包, 而明文私钥是完全暴露在外的钱包, 没有任何安全性可言, 所以在使用明文私钥时, 一定要注意保密。

11.地址是什么?

维基链地址由公钥 (公钥是私钥通过非对称加密算法生成) 生成,由以W开头的字母和数字组成的34位字符串组成。例如: (WZa9hSDWcBubNTXs4ukQwobXdGrgo9SWq9)如果将钱包比作银行卡, 那么钱包地址就是银行卡号。

12.区块浏览器是有什么用?

区块浏览器可以方便任一用户查看区块网络所有信息,包括区块信息、地址信息、交易详情信息、应用产生的记录信息的,为区块链公开透明提供了见证场所。

13.数字签名

采用了非对称加密技术,包括一对公匙和私匙。通过公匙加密的信息只有对应的私匙可以解密,通过私匙加密的信息只有对应的公匙可以解密。公匙是公开的,供别人向自己传递信息使用,私匙是只有自己知道的,用于证明自己身份和行驶权利。

14.区块链的发展

  • 区块链1.0

区块链1.0由数字货币和支付行为组成,主要功能就是记录交易信息。以比特币为代表。主要特征是链状数据块模式、全节点共享、非对称加密。

  • 区块链2.0

区块链2.0是图灵完善的,可以开发智能合约和DAPP,比如以太猫。通过机器合约代替人工操作,使得过程更加透明高效,代表是以太坊。

  • 区块链3.0

区块链3.0是为了解决2.0的痛点。如性能差,拥堵。TPS低的问题,如果这个问题可以得到解决,区块链技术将会被大规模应用,代表有EOS,WICC。

15.区块链分类

公有链

公有区块链(PublicBlockChains)是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。

联盟链

联盟区块链(ConsortiumBlockChains):由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询。

私有链

私有区块链(privateBlockChains):仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。(Dec2015)保守的巨头(传统金融)都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化,私链的应用产品还在摸索当中。

results matching ""

    No results matching ""