紫霞仙子:听说你最近在学区块链,说说吧~1.通俗点说什么是区块链?时间,这个地方,我对紫霞你说:至尊宝爱紫霞万年。2.现在我把这句话写在纸上:3.但是如果我把这张纸交给紫霞,你怕我反悔。而如果我把这张纸给月老,恐怕月老会修改内容,改成只爱你一年。4、为了防止类似的事情发生,我把这些爱咒给师父、二师弟武能、三师弟武净、白龙马、牛魔王等人讲了一遍,他们都给我们记录了信息.5、现在这个信息是安全的,我不能否认,我会爱你一万年。6.为了感谢他们帮忙记录资料,我给他们每人发了一个红包。7.而帮我们记录的,就叫做节点。8、至尊宝艾紫霞万年+时间+地点的文字打包形成一个信息包,是区块链中的一个区块。并且多个区块连接在一起形成区块链。9.去中心化意味着月老不需要统一记录这些信息。10.新婚那天,答应了紫霞的三个条件,还需要再录一次,而师弟都很忙,不想浪费时间录,所以决定择人帮助大家记录这些信息。12.我应该选择谁来录制?不安全吗?那我们来做一道有难度的算术题吧。谁能计算出来,谁就记录下来。我也会给记录者一个大红包,就是比特币。做数学被称为工作量证明。13.而记录的人就叫矿工。矿工们不断地计算和争夺记录信息的权利。获取信息记录奖励。2、什么是区块链?区块链的英文为BlockChain,其技术的产生和发展与比特币有着千丝万缕的联系。由于比特币的流行,区块链技术被世界所熟知。比特币是区块链技术最成功、最成熟的应用案例。区块链技术是构建比特币数据结构和交易系统的基础技术。区块链是一个去中心化的分布式数据库。数据由密码学产生的一系列数据块组成,块中包含一定时间内不可篡改的数据记录。信息。区块链由多种技术组成:密码学、数学、经济学、网络科学等,这些技术以特定的方式组合在一起,形成了一个新的去中心化的数据记录和存储系统。每个块都打上时间戳,形成一个上下文连续的诚实数据记录存储结构。3、为什么会有区块链?区块链解决了以下两个问题:交易确认和资金清算。在现实世界中,各种经济活动都涉及资金结算。除了直接现金交易外,双方还需要进行以下步骤:在银行或其他机构开立账户。资金结算通过开户机构进行。但由于公民在多家开户机构开立账户,甚至是跨境开户,当事人的交易必须在开户机构之间清算。严重影响了交易确认和资金清算的效率和成本。中心化问题传统的信用建立依赖于许多中心,如中央银行、商业银行、法院、经济警察等,但问题是成本太高。而且,我们存的钱是被银行控制的。如果银行倒闭,省下来的钱可能就没有意义了。4.什么是比特币?比特币最早是由中本聪在2008年发表的论文《比特币:一种点对点的电子现金系统中》提出的。比特币是一种虚拟的加密数字货币,是一种去中心化的支付系统。它不依赖于特定货币机构的发行,不受中央银行或任何金融机构的控制。根据特定算法,通过大量计算生成。计算得到的区块奖励最初是50个比特币,每10分钟左右产生下一批50个比特币。当总量达到1050万(2100万的50%)时,奖励将减半至25。每4年,奖励减半至最高2100万。比特币可以通过挖矿获得,也可以通过交易购买。下图总结了普通货币和比特币的区别:普通货币和比特币的区别5.区块中包含什么?区块链的区块由两部分组成:区块头和区块体。区块头:由前一个区块的哈希值、区块体的哈希值、一个4字节的随机数、时间戳等组成。固定80字节。区块体:区块中包含的交易数据,第一笔交易是CoinBase交易,这是一种激励矿工的特殊交易。区块中包括什么6.区块链的特点是什么?去中心化区块链不依赖中央处理节点,实现数据的分布式记录、存储和更新。每个区块链节点必须遵循相同的规则,规则基于密码算法而不是信用,每次数据更新都需要网络中其他用户的认可,因此不需要第三方中介或信托机构背书.在传统的中心化网络中,如果中心被攻击,整个系统就会被摧毁。透明性读写数据记录对所有网络节点都是透明的。区块链采用开源程序,公开规则,参与度高,全网可审核可追溯。开放性除了加密的隐私信息外,区块链数据对所有人开放(特殊区块链系统除外)。任何人都可以通过公共接口查询记录。自治整个系统可以自由安全地交换数据、记录数据和更新数据。信息不可篡改一旦信息被验证并添加到区块链中,它就会永久存储并且无法更改。除非可以同时控制系统中超过51%的节点,否则对单个节点上的数据库的修改是无效的。匿名性交易的双方都是匿名进行的,没有必要通过公开身份来取得对方的信任。7、什么是挖矿?挖矿是指比特币。挖矿是指开采比特币。挖矿的过程其实就是解决复杂的密码学问题。矿工是指使用挖矿设备(如CPU、GPU等算力设备)进行挖矿的人。作为对他们服务的奖励,矿工会收到他们确认的交易中包含的费用,以及新铸造的比特币。矿池是指大家一起用矿机挖矿,算力集中的地方。以及如何开采比特币?这涉及工作证明。8.什么是工作量证明?ProofofWork的英文是ProofofWork,简称PoW。现实生活中也有工作量证明的说法:比如大学的学位证、毕业证,就是证明你在大学期间通过4年的努力完成了相关的课程,更不用说了。汗,你没有努力就拿到了证书。换句话说,工作量证明就是证明你通过指定的结果完成了一定的工作量。在区块链中,这项工作就是哈希运算。区块链中的节点通过哈希运算得到合格的哈希值来证明工作量。而这个过程就是一个随机数搜索过程,俗称挖矿。找到满足条件的随机数的方法是不断随机尝试,直到找到有效数字。而这个随机数是由N个前导零组成的,零的个数取决于网络的难度值。例如,以下随机数由四个前导零组成。0000ec5927ba10ea45a6822dcc205050ae74ae1ad2d9d41e978e1ec9762dc404工作量证明三要素如图:工作量证明三要素输入:一个固定长度为80字节的区块头。算法:双重SHA256散列。即对SHA256哈希运算的结果进行哈希运算。条件:计算出的哈希值只有小于目标值才有效,否则无效,必须重新计算。9.区块链是如何运作的?计算出满足条件的哈希值后,如何处理呢?矿工将哈希值的信息广播给集群中的所有其他节点,其他节点对其进行验证,验证通过后,将之前矿工的区块加入到自己的区块链中,最终形成一系列的区块链.具体步骤如下:区块链工作原理1.节点向全网广播新的数据记录。2.接收节点检查接收到的数据记录信息的有效性,如果有效,该数据记录将被包含在一个块中。3.接收节点对区块执行共识算法。4.达成共识后,将该区块纳入节点的区块中进行扩容。最终形成的区块链如下图所示:区块链长什么样子十、如何攻击区块链?计算哈希值完全取决于硬件的计算能力。算力越强,计算出哈希值的概率越高,时间越短。也就是说,如果坏人拥有51%的算力,他就可以发起51%的攻击,比如双花攻击(DoubleSpending)。也就是说,同样的钱花了两次。如果攻击者拥有更多的算力,他可以挖掘出一条原链更长的攻击链。然后将攻击链广播到全网。节点会按照约定接受更长的链,即接受攻击链,丢弃原链。如下图所示:攻击区块链攻击链是红色的,比原来的链分支多一个块,被系统接受,称为有效链,而原来的链被丢弃。11.区块链的缺点区块链太大。随着区块链的不断发展,节点存储的区块链数据体量会越来越大,存储和计算的负担也会越来越重。例如在目前的比特币区块链中,完整的数据已经超过了60GB。如果数据同步到比特币客户端,至少需要三天三夜。数据确认时间过长。一笔比特币交易的确认时间约为10分钟,完成6次确认的时间为1小时。请等待1小时确认。交易频率太低。比特币每秒最多可以处理6.67笔交易。你是怎么计算的?每笔交易约250字节,假设区块大小限制为1MB,可容纳的交易数据量为4000。每10分钟产生一个区块,每天可产生144个区块,144*4000=576000笔交易可以交易,然后除以每天的总秒数86400,即576000/864400≈6.67。目前需要解决扩容问题才能突破这个瓶颈。受制于现行制度,目前监管部门对这项新技术缺乏足够的认识和期望,法律和制度的建立可能滞后,也缺乏必要的制度规范和法律保障,增加了风险。长期主题。12、区块链物联网应用。在传统的物联网模型中,数据中心负责收集有关连接设备的信息,这是非常昂贵的。区块链用于将这些设备连接在一起,形成一个可持续的分布式网络。每个设备都可以自己发送更换部件的订单,甚至可以与其他设备进行电力竞价,以最大限度地减少用户家中的能源消耗。保险。传统的保险模式是通过被保险人申请理赔的方式。但如果利用区块链的智能合约技术,保险公司可以主动赔付,无需等待投保人申请理赔。医疗的。现在医院已经改用电子病历,但信息都存储在医院里。这是一个中心化问题,带来医患纠纷和安全问题。如果采用区块链技术,病历信息不可篡改,保密性高。总结本文从一个故事开始,深入浅出地解释区块链的概念,然后用11个核心问题来阐明人们在区块链中经常关心的问题。这篇文章既是科普文章,也是原则文章。对于原理性的问题,我会用图解的方式来解释,相信会更容易理解。区块链与分布式密切相关。比如在区块链中使用PoW算法和拜占庭容错,充分利用分布式的特点。学习区块链的过程也是学习分布式的过程。巨人的肩膀:《分布式协议与算法实战》《区块链:从数字货币到信用社会》https://zhuanlan.zhihu.com/p/267270739https://www.zhihu.com/question/268487023代码关注。转载本文请联系悟空聊天架构公众号。
