ITPub博客

首页 > > > 转载:区块链简介

转载:区块链简介

作者:小尾巴鱼 时间:2019-12-20 10:34:38 0 删除 编辑

区块链简介

本文参考了区块链白皮书

引入

问:世界上,每个新的事物的出现都是用来解决问题的,那么区块链到底是为了解决什么才设计出来的呢?

答:通信中信任问题。基于密码学的实现信任化的信息存储和处理技术。

概念

首次提出

2008年中本聪首次提出了区块链的概念。概括性的说,就是一种发行透明、去中心化、自动化控制的数字货币。特点是自动控制、总量有限、发行透明、去中心化等。

自动控制:比特币是一套自动化软件代码,新币的发行、身份的验证、交易的确认,账本的记录等都是由比特币网络中的计算机节点(矿工,或叫Miner)自动执行的。如果一个用户把自己的所有比特币都转卖出去,就可以认为是清仓套现。

总量有限:总量为2100万个,2009年生成第一批50枚比特币,此时的总量就是50个,之后每10分钟生成50个;当未发行的比特币数量减少到总量的50%,新币发行速度就开始减半,10分钟产生25个,依次类推,预计在2140年就不在产生新币。

发行透明:不由某个国家的央行以不透明的方式控制。

去中心化:不存在任何中心控制节点,只要一台计算机连入互联网,再加上比特币的P2P分布式网络中,就能参与比特币的发行和交易等核心业务。任何人和机构都可以自由的参与,都是平等的,他们之间的差别仅仅是算力的多少。

信任问题

问:需要问大家一个问题,在网络上购物的时候,你为什么要使用淘宝、京东等电商提供的服务?

答:当然是因为你信任它们啊!!!

因为他们存在着,你作为客户,不用去担心你要购买的的东西不发货,同样地,因为有他们的担保,那些供货商也不用去担心你没有付款(或者耍无赖等突发事件的发生)。

其实,在上边那个购买商品的过程中,支付宝充当的就是一个可信任的机构。它的代名词是权威和信用。这整个过程就类似于给银行存钱,银行就是一个权威性的机构。

所谓信任问题就是说,当没有支付宝的时候,你怎么办?没有这种权威性的机构时,你要去和商家直接会面的话,商家不信任你,你不信任商家,那怎么去让这笔交易成功进行呢?所以区块链就应运而生了。它就是为了解决这类问题而产生的一种模式,一种算法。

另外,比较“老、旧”的信任问题还包含拜占庭将军问题、TCP的红蓝军问题等。

拜占庭将军问题是一个点对点(peer to peer)的问题:

拜占庭的国土辽阔,为了防御,每个将军都分隔的很远,他们之间的通信只能是靠信使。在战争的时候,所有将军和副官必须达成一致的共识。但是,军队中存在叛徒!所以在达成共识的时候,并不一定会代表大对数人的意见。所以需要解决的是其他忠诚的将军在不受叛徒的影响之下达成一致的协议。

更加现实,更加容易理解的一个例子,学生作弊问题,描述如下:

假设现在是考试时间,你的前、后、左、右都是学霸,你是一个学渣,这次考试必须借助学霸的帮助才能不挂科。

本来4个学霸都答应你了,可是其中有人却希望你挂科!

做选择题的时候,有A、B、C、D选项。你问了前边的那个学霸,学霸回答说选择A,你问了后边的学霸,学霸回答说选B,然后你还依次问了左边和右边的学霸,但是1个说是选择A,另一个说是选择B。

那么,问题来了,你要做出选择,是不是很难?最好的情况是4个人很统一,但是有人希望你挂科,故意说了错误的答案。

关于学生作弊问题,当出现2:2的比例时,那我就只能说,你该挂!

因为这种情况就相当于是拜占庭将军问题中,有一半人是奸细,那你要是能打赢这场仗就真的奇怪了。所以就需要更多的学霸来帮你,最终选择大多数人选的那个答案就可以了。这样问题就得到解决了。这种解决问题的算法就叫做拜占庭容错算法(BFT)。

它用来解决问题,有一个条件,需要至少三分之二的人是忠诚的,才能解决该问题。

小结

**区块链的概念:**将所有节点连接在一起,使用共识机制,在没有信任基础的双方不需要第三方(权威、信任的机构,类似于支付宝)的情况下,建立互信,使用广播的方式传播交易信息,加上激励机制来保证节点。

本质上,它是一个去中心化的分布式账本数据库,本身是一个使用密码学相关联所产生的数据块,所谓的交易信息就存储在其中。每一个数据块中包含了多次虚拟币网络交易的有效确认信息。

**区块链的特点:**去中心化,不可逆(数据一旦确认,就不可更改),开放性(所有人都能参与读、写),信息不可篡改(永久存储,信息在验证过之后会存储起来,不可逆),匿名性无需信任,无需通过公开身份。

**区块链也能认为是:**分布在全球各地,能够协调运转的数据库存储系统,这也就是特点中的无中心。任何有能力架设服务器的人都能参与其中。可以进行读写。

主要特征:

一个分布式的链接账本,每个账本就是一个区块

基于分布式的共识算法来决定记账者

账本内交易由密码学签名和HASH算法保证不可篡改

账本按产生的时间顺序链接,当前账本含有上一个账本的 哈希值,账本间的链接保证不可篡改

所有交易在账本中可追溯

不足:除了比特币,还没有特别成功的典型应用;区块链在高并发、低延迟的交易场景还有许多技术问题需要解决;只能保证线上数据可信的特性限制了其应用场景。

挖矿机制

**矿工通过专有的机器(又称矿机)计算和挖掘出一个很难得到的随机数,谁先计算出来,谁就得到对应的比特币。这是一个纯粹的、拼算力的竞赛。**比如:


工作量证明机制:挖矿算法也被称为工作量证明(Proof of Work,Pow)算法,即矿机不断地重复一些简单的SHA256哈希运算,直到找到符合条件的目标哈希值。

难度值:在计算随机数时,计算的哈希值是有256位的,当规定“0000”开头的哈希结果是要找的结果时,N=4。另外Difficulty会根据全网算力自动调整,但是,每增加一位,对应的要计算的目标Nonce的工作量就会增加很多。这样可以保持造币的速度,以及新币发行量基本上保持每4年减半的真正原因。

矿工激励制度

问:矿工激励制度为什么会出现?

答:比特币总量有限,如果需要长久的激励矿工们为此比特币网络“打工”,就需要挖矿以外的激励制度。相当于手续费。

在通常情况下,比特币交易确实是免费的,但是在某些情况下必须支付一定的手续费才能完成转账交易。针对小额比特币交易则强制收费,可以防止黑客用大量的小额比特币交易来攻击整个P2P网络,但收取的费用通常很少。这也说明了,比特币是可以分割的,比如一次手续费可以是0.0001枚比特币。

交易机制

挖到比特币后,最重要的是如何去兑换真实货币。每个比特币用户都有一个比特币钱包(Bitcoin Wallet),这个钱包有一个接收比特币转账的地址(比特币地址,Bitcoin Address),类似于支付宝的账号或者银行卡账号,对比特币的交易就是将比特币从一个比特币地址提出,转到另一个比特币地址。

场外交易:在交易过程中,不用将比特币转换成人民币等货币,但比特币的受让方必须支付等值资金给比特币的出让方。这种交易存在风险,需要第三方的交易市场来完成。

中心化的账户系统:UTXO交易输出(Unspent Transaction Output,交易输出)的设计,是不同于关系型数据库的账户余额的设计思路。

智能合约:在交易模块中引入了脚本系统以增强系统的适用性。

比特币交易平台

ent Transaction Output,交易输出)的设计,是不同于关系型数据库的账户余额的设计思路。

智能合约:在交易模块中引入了脚本系统以增强系统的适用性。

比特币交易平台

点赞

————————————————

版权声明:本文为CSDN博主「你家宝宝」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/FBB360JAVA/article/details/103616531

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10718265/viewspace-3162022/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-17

  • 博文量
    140
  • 访问量
    298801