区块链理解

区块链理解
区块链理解

关于区块链

从比特币到区块链

比特币

比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。

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

比特币可以用来兑现,可以兑换成大多数国家的货币。使用者可以用比特币购买一些虚拟物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,也可以使用比特币购买现实生活当中的物品。

区块链

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学法。区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式

自己上网查阅了很多资料,阅读了一些相关书籍,下面是结合所读所学的一些理解:区块链首先是一种社会思潮。它预示着人类社会转型、换代的新时代的到来。区块链的社会学基础是凯文·凯利《失控》一书里观察及论述到的基于生物逻辑的自然、社会、技

术的进化规律:分布式、去中心;从边缘到中心再到边缘,从失控到控制再到失控。微信

之父张小龙奉《失控》为自己行动指南的行为,最好地说明了互联网时代的组织及经济发

展规律已经变了。区块链的技术基础是分布式网络架构,正是因为分布式网络技术的成

熟,去中心、弱中心、分中心及共享、共识、共担的组织架构、商业架构和社会架构才有

可能有效建立起来。分布式网络架构对人类社会的影响和冲击,也许我们都还无法估计,

不可测量!当然,任何事物都是精华与糟粕相生相伴、优点与缺点共存共荣的,区块链技

术也一样。在社会实践中我们已经看到,传统金融机构在接受区块链技术的精华的同时,

已经扬弃了区块链技术当中的纯粹去中心化的无政府主义色彩和对人人都可以发行货币的

去管制、去监管的追求。

区块链其次是一串技术组合。第一,它是分布式账本:全部机构一本总账、各种事务

一本总账;第二,它是新型数据库:没有中心机房,没有运维人员,第三方按共识算法录

入数据,非对称加密算法保证数据安全,数据客观可信,不可篡改;第三,它是智能合

约:是一段能够自动执行约定条件的计算机程序,依靠智能合约技术,理想中的世界就好

像一台精密运行的计算机,一切都可以事先约定,编成代码,依程序行事;第四,它是

TCP/IP模型(互联网模型)里的点对点价值传输协议,它的发明标志着过去20几年,互

联网技术在帮助人们更好地进行信息传输之后,开始帮助人们可以不借助任何第三方的信

任背书,点对点、端到端、P2P地来传递、交易、支付、汇兑价值物。

区块链可以算得上是金融科技里的核心技术。因为区块链技术是金融业的底层技术革命。大家知道,现代银行业起源于意大利。之所以起源于意大利,一是意大利是欧洲最早

开始海洋贸易的地区,复杂的、高风险的海洋贸易必然需要相配套的金融服务;二是意大

利人发明了复式记账法,使得复杂的经济活动在会计上可计量。复式记账法几百年来一直

没有重大的改进,区块链技术将是自复式记账法被发明以来,人类社会记账方法的第一次

革命性改进。作为分布式账本技术,区块链必将给任何需要记账的行业带来降低成本、提

高效率、创新业务、创新服务的机会。

开源区块链平台以太坊

以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。截至2018年2月,以太币是市值第二高的加密货币,仅次于比特币。以太坊是一个平台,它上面提供各种模块让用户来搭建应用,以太坊通过一套图灵完备的脚本语言(EthereumVirtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言。

关于其源码见附加的文件夹。

以太坊的核心原理

什么是以太坊?本质上,就是一个保存数字交易永久记录的公共数据库。重要的是,这个数据库不需要任何中央权威机构来维持和保护它。相反的它以一个“无信任”的交易系统来运行—一个个体在不需要信任任何第三方或对方的情况下进行点对点交易的架构。

用户在以太坊平台之上的应用,其实就是合约,这是以太坊的核心。合约是一个活在以太坊系统里的自动代理人,他有一个自己的以太币地址,当用户向合约的地址里发送一笔交

易后,该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果,这个结果可能是从合约的地址发出另外一笔交易。需要指出的是,以太坊中的交易,不单只是发送以太币而已,它还可以嵌入相当多的额外信息。如果一笔交易是发送给合约的,那么这些信息就非常重要,因为合约将根据这些信息来完成自身的业务逻辑。

以太坊的基础单元是账户,以太坊区块链跟踪每个账户的状态,以太坊区块链上所有状态的转换都是账户之间价值和信息的传递,以太坊账户分为两类:

外部账户,由私人密钥控制

合约账户,由合约代码控制

只有通过外部账户向合约账户发送相应以太币时合约代码才会被执行。且合约操作是原子性的,合约的所有操作要么被全部执行,要么全部不执行,有一个执行失败就会全部回滚,这也是以太坊为了保持节点状态的一致性。

以太坊的每一步操作都需要支付少量的交易费用,交易的发送者必须为智能合约的程序的每一步运算付款,以以太币的形式支付。这种机制可以使以太坊区块链免受恶意运算的攻击,比如分布式拒绝服务或者无限循环。可以通过运行节点打包区块获取交易费用和区块奖励。经济激励保证了以太坊区块链持续不断的运转。

为了确定哪个路径才是最有效的以及防止多条链的产生,以太坊使用了一个叫做“GHOST协议(GHOST protocol.)”的数学机制。

GHOST = Greedy Heaviest Observed Subtree

简单来说,GHOST协议就是让我们必须选择一个在其上完成计算最多的路径。一个

方法确定路径就是使用最近一个区块(叶子区块)的区块号,区块号代表着当前路径上总的区块数(不包含创世纪区块)。区块号越大,路径就会越长,就说明越多的挖矿算力被消耗在此路径上以达到叶子区块。使用这种推理就可以允许我们赞同当前状态的权威版本。

相关主题
相关文档
最新文档