tokenpockettokenpocketapp官方下载|什么叫区域块链
区块链是什么概念,一文看懂区块链 - 知乎
区块链是什么概念,一文看懂区块链 - 知乎切换模式写文章登录/注册区块链是什么概念,一文看懂区块链律柒合戎兴旺律师开创法律服务创新品牌“律七团”及“创昱合”。律七团讲解:区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任“基础,创造了可靠的“合作”机制,具有广阔的运用前景。2019年1月10日,国家互联网信息办公室发布《区块链信息服务管理规定》。“区块链”已走进大众视野,成为社会的关注焦点。什么是区块链?从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。这么解释,,很多人还是看不懂,那么小编做一个简单的比喻。假设环境:假如你们家里有个账本,让你来记账。在以前,就是爸爸妈妈把工资交给你,让你记到账本上。中间万一你贪吃,想买点好吃的,可能账本上的记录会少十几块。这只是举一个例子,小编相信小时候大家可能都想从爸爸妈妈的口袋里拿点钱来花。用区块链解决问题的方法:如果用全家总动员的方式记账,上述说的问题就不会有了,因为你在记账,你爸爸也在记账,你妈妈也在记账,他们都能看到总账,你不能改,爸爸妈妈也不能改,这样想买烟抽的爸爸和想贪吃的你都没办法啦。也就是说,区块链这个分布式的数字账本记录了所有曾经发生并经过系统一致认可的交易每一个区块就是一个账本它不仅能记录交易信息还有更多功能2多功能的“区块链”它不仅可以记录每一笔交易,还可以通过编程来记录几乎所有对人类有价值的事物:出生和死亡证明、结婚证、所有权契据、学位证、财务账户、就医历史、保险理赔单、选票、食品来源以及任何其他可以用代码表示的事物。每个区块就像一个硬盘,把以上这些信息全部保存下来,再通过密码学技术进行加密。这些被保存的信息就无法被篡改。区块链系统每10分钟会检验期间产生的所有数据(比如交易记录以及该区块何时被编辑或创建的记录等),并将这些数据储存在一个新的区块上,这个区块会与前一个区块连接,从而形成一根链条。每个区块都必须包含前一区块的相关信息才能生效。这么看来区块链拥有一些超强的技术特点3区块链的特点1、异常安全:不同于公司或政府机构拥有的集中化数据库,区块链不受任何人或实体的控制,数据在多台计算机上完整地复制(分发)。与集中式数据库不同,攻击者没有一个单一的入口点,数据的安全性更有保障。2、不可篡改性:一旦进入区块链,任何信息都无法更改,甚至管理员也无法修改此信息。一个东西一旦出现就再也没法改变,这种属性对于人类目前所处的可以更改、瞬息万变的网上世界而言意义重大。3、可访问:网络中的所有节点都可以轻松访问信息。4、无第三方:因为区块链的去中心化,它可以帮助点对点交易,因此,无论您是在交易还是交换资金,都无需第三方的批准。区块链本身就是一个平台。区块链技术是比特币的底层技术,比特币在没有任何中心化机构运营和管理的情况下,多年运行非常稳定,没有出现过任何问题,所以有人注意到了它的底层技术,把比特币技术抽象提取出来,称之为区块链技术,或者分布式账本技术。区块链的未来发展和应用场景到底是什么样的?1、数字身份很多人开各种证明时会遇到“证明我妈是我妈”的窘境,有了区块链,就再也不用担心了。原来我们的出生证、房产证、婚姻证等等,需要一个中心节点,大家才能承认。一旦跨国,合同和证书可能就失效了,因为缺少全球性的中心节点。区块链技术不可篡改的特性从根本上改变了这一情况,我们的出生证、房产证、婚姻证都可以在区块链上公证,变成全球都信任的东西,当然也可以轻松证明 “我妈是我妈”。2、卫生保健简单说就是利用区块链建立有时间戳的通用记录存储库,进而达到不同数据库都可提取数据信息的目的。例如你去看病,不用换个医院就反复检查,也不用为报销医保反复折腾,可以节省时间和开销。3、旅行消费例如我们经常会用携程、美团等app来寻找并下单入住酒店和其他服务,各个平台从中获得提成。而区块链的应用正是除去中间商,并为服务提供商和客户创建安全、分散的方式,以达到直接进行连接和交易的目的。4、更便捷的交易区块链可以让支付和交易变得更高效、更便捷。区块链平台允许用户创建在满足某些条件时变为活动的智能合约,这意味着当交易双方同意满足其条件时,可以释放自动付款。5、严把产品质量关假如你买了一个苹果,在区块链技术下,你可以知道从果农的生产到流通环节的全过程。在这其中有政府的监管信息、有专业的检测数据、有企业的质量检验数据等等。智慧的供应链将使我们日常吃到的食物、用到的商品更加安全,让我们更加放心。6、产权保护艺术创作者把自己的作品放在区块链上,有人使用了他的作品,他就能立刻知道。相应的版税也会自动支付给创作者。区块链技术既保护了版权,也有助于创作者更好更直接地向消费者售卖自己的作品,而不再需要发行公司的协助。根据西班牙最大银行桑坦德发布的一份报告显示,2020年左右如果全世界的银行内部都使用区块链技术的话,大概每年能省下200亿美元的成本。这样的数据足以说明“区块链”给传统金融领域。编辑于 2020-03-31 21:50赞同 161 条评论分享喜欢收藏申请
区块链是什么,如何简单易懂地介绍区块链? - 知乎
区块链是什么,如何简单易懂地介绍区块链? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册生活调查类问题货币金融区块链(Blockchain)区块链是什么,如何简单易懂地介绍区块链?关注者44,305被浏览13,198,227关注问题写回答邀请回答好问题 21156 条评论分享1,509 个回答默认排序maxdeath信息论博士,区块链博士后 关注更新在20191025之后,说一些新的关于区块链的发展:1,区块链的应用。首先先说央行数字货币——央行数字货币的技术其实早就成熟了,都用不到区块链,因为区块链的目的是去中心化,而央行数字货币用不到这个。当然,采用区块链的央行数字货币技术也早就有了(参见RSCoin),这里面可能会在某些环节采用区块链技术去中心化——例如货币的发行仍旧是中心化的,但是流转中的管理和验证可以通过区块链技术去中心化到其他银行。同时,据我所知,官方早就有一个数字货币研究所在研究这个很久了。我在很早就写过,从大势上,货币的数字化是必然的,但这和比特币是两码事,看起来可能会更像支付宝。然后,现在facebook来了一出libra(请参见我关于libra的文章https://zhuanlan.zhihu.com/p/69941436),我觉得从很大程度上推动了这次区块链的新闻,也推动了央行数字货币的推出。libra本身只代表facebook的野心,目前来看,他们的野心很有可能不会成功,但是也许是这种野心和指明的技术方向让国家产生了紧迫感——因为就算现在libra的所有成员都退出得差不多了,libra本身也前途未卜,但是万一类似的框架被搭起来又吸引了其他的重量级成员加入,那么国家在这上面就失去了主导权。因此,根据最近的新闻,央行的数字货币应该已经非常接近了。但这点,并不足以突然让“区块链”成为国家战略,这里说的区块链,一定是包含数字货币之外的其他应用的。区块链最引人遐想的应用,无疑是以“以太坊”为代表的,用区块链来做一个“全球计算机”,然后,用“智能合约”来编写在这台全球计算机上运行的软件(又被称为Dapp,即去中心化应用)。简单来说,这个全球计算机的好处在于,你可以把一切想要“去掉中间商赚差价”的事情,全都搬到这上面来做,而不需要依赖于某个大企业作为可信中心,例如银行或者互联网巨头。关于这个问题,可参见这篇https://zhuanlan.zhihu.com/p/28930323然而,这种全球计算机的设想在这两年间暴露出了非常多的问题,让人看不到短期的解决希望。于是,从这次区块链的新闻中透露出来的应用方向,“不可篡改”这个区块链的特点,以及它在存证、溯源、防伪、征信等方面的作用。这个,是目前在落地上做的最成熟,也是能够实打实地看出来区块链对比于传统中心化系统优势的应用。2,区块链技术这次战略中最主要提出的,是“要掌握区块链核心技术”,那么区块链的核心技术是什么呢?区块链相关技术有很多方面,我可以把它大致分成4类:1),共识算法;2),隐私保护技术和相应密码学技术;3),智能合约相关技术;4),面向应用相关技术。其中,前三者可以认为是底层,后两者是上层。1),其中,共识算法是区块链最核心,也是整个技术发展和学术界最热衷的领域:大量的公链项目都追求共识算法的创新,同时,大量的研究者也投身于这个领域,然而,大多在国外(我之前主要研究方向也是这个领域)。这点其实并不意外——众所周知,国内很少人愿意搞基础理论研究。但是共识算法中的涵盖面非常广,其中有一个概念非常重要——有许可和无许可,有许可共识算法要求所有参与节点的身份已知,主要采用类BFT算法。而无许可共识算法则允许任何节点只要达到某些条件就能进入,无需事先在任何系统中注册身份,而POW和后来衍生出的POS以及其他许多POx类算法都在此列。前者,多用于联盟链,而后者多用于公有链。其中,两者发展至今日,在速度和延迟上的差异已经不大了,归根结底的差别就是前面说的有无许可的差别。而无许可共识算法由于无许可的特性,又引出了一个很重要的概念叫“激励机制”,比如比特币的挖矿,于是,又衍生出了“货币”。于是,就又衍生出许多非常有趣的方向,例如:ASIC矿机,链上治理,加密经济学等等。以上,哪些方向可能会被认为是这次战略中的“核心技术”呢?我个人更看好许可共识算法的相关技术,而且,这类共识算法也可能布上支付宝的道路,会摒弃很多意识形态方面的需求,追求速度更快,规模更大,使用更方便,更标准化。而非许可类的共识算法,则面临着更高的风险——首先,对于“币”这个事的政策并不明确;其次,在之前所说的应用方向上,公有链相对于联盟链并没有显著的优势。2),其实区块链技术本身采用的密码学技术并不高深也不复杂,无非是哈希函数和数字签名这两个非常经典和简单的密码学工具而已。然而,由于区块链技术和密码学天生的契合性(大部分早期研究区块链的学者都来自于密码学领域),同时,由于“加密货币”这个词,即:cryptocurrency,(注:在英文中,这个词被用来指代所有类似于比特币之类的货币,而不是中文领域中常用的“数字货币”),导致大部分人都认为密码学天生和区块链是联系到一起的。实际上,区块链技术本身并用不到特别先进的密码学工具(当然,一些新的共识算法中采用了一些新的密码学工具)。但是,其中最重要的密码学挑战,是隐私保护技术,而其中,可能会用到的,包括零知识证明,同态加密等目前还在发展之中的密码学工具。这点,其实并不是区块链本身的需求,但又和区块链紧紧联系在一起——原因,还得说回之前区块链的性质和区块链的应用上:首先,区块链最大的特点是所有上链的数据必须通过所有节点的验证,然而,如果区块链得到了大规模应用,这就代表了所有的节点都会获取所有的数据。好吧,我们现在不信任中心,有很大的一部分原因是中心获取了我们所有的数据,而现在倒好,用了区块链去中心之后,所有人都可以获取我们所有的数据了。因此,如何在能够保证隐私的同时还可以享受区块链带来的去中心化优势呢?这需要所有节点能够在不知道数据内容的情况下,还能够对数据的有效性进行验证,例如:在不知道你是谁,具体有多少钱,你想要支出多少钱的情况下,验证你确实有一笔钱可以来完成这笔支出……这听起来像是天方夜谭,然而,实际上我们有一种密码学工具可以实现它——叫做零知识证明。然而,目前零知识证明尽管一直在发展,但是目前仍存在很大的局限性,这种局限性是效率——我们有了一些高效的证明方式,例如:我们可以很快地证明某个未知的数比另一个已知数大,或者我们可以证明某个未知的值来自于某个集合。然而,这些高效的零知识证明,还不足以覆盖区块链的所有应用。因此,可想而知,这些新加密技术,尽管不是区块链技术中的必须品,却是区块链技术能够得到广泛应用的必需品,所以一定是“核心技术”中的一部分。3),智能合约相关的技术,实际上包括语言,包括编译……这些,实际上相当于是当我们已经有了区块链作为底层之后,如何使用它的问题。在这上面目前还没有一个非常明确的方向,因为,其实目前在尝试的思路有几种:i,以太坊式的,高度自由的图灵完备的系统。然而问题是,写程序太容易出错了,而且出错的代价太大。ii,Hyperledger-fabric式的,高度模块化的系统,然而,极度复杂,复杂到想要采用HF的公司,要么放弃,要么花钱请IBM的人帮他们做。iii,Libra式的,专注于某项应用的系统,例如libra的move语言就明白地说了,我们不追求图灵完备,我们的目标是做一个更方便于实现各种金融场景的语言——这可能是个趋势,但是还没有经过足够的检验。这些方向,在目前的尝试还很少。大部分区块链项目仍旧采用以太坊式的系统,或者加以改进。然而,我认为这一点很有可能成为“区块链的核心技术”中最重要的部分——因为一旦区块链上升到了国家战略的高度,那么势必会诞生大量的需求、场景和用户,于是才会有充分的尝试和实现的平台。由此,可能会衍生出一个最适合区块链的语言和开发工具,而这个,会如同OS一样,成为一个新的世界范围内的标准。而从目前来看,在其他的区块链项目都在挣扎着寻求落地的时候,可能只有中国有这样的土壤能够诞生出这样的标准。这大概就是把区块链作为国家战略的原因。4),应用相关的技术。其实在区块链应用方面最大的技术难点并不在技术上。例如:区块链存证,如果我们做一条联盟链将相关各方作为共识节点然后把证据上链,那么,这个证据就是无法篡改的了。这道理大家都懂,然而问题在于:谁来做这个事呢?证据怎么数字化?怎么运行区块链?给出数据我的好处在哪里?最重要的是,谁掏钱?区块链目前落地最大的难点,在于其相比传统的中心化方案,除了在存证,溯源方面的一些场景下,找不到明显的优势,也就找不到可行的商业模式。于是,也就很难通过市场的方式推行出去,近两年币市的低迷已经证明了这一点。然而,这一切都会在国家的支持下产生变化,于是,就如同中国互联网产业从模仿学习国外到开始向外输出抖音一样,中国希望能在区块链领域,能够激发出更多的尝试和场景。于是,在这些场景中,我们会积累相关的经验、技术和商业模式,从而将这种模式在出口到国外去,而这点,也会是区块链核心技术中非常重要的部分。——————————————————————————————首先要搞清一个问题——比特币是区块链,但是区块链并不是比特币。于是,在区块链的这个问题回答里,提到“矿工”,“挖矿”,“最长链”,“分叉”等等词的,其实都不准确。写一点上个月讲课的内容——个人觉得大部分的回答,包括google搜出来的或者wiki的,都不能很好地解释区块链是个什么东西。因为讲比特币的人很多,懂比特币的人也很多,但是具体到区块链,现在并没有一个很清楚的定义说什么是区块链,基本上所有的介绍里都是这样的:比特币——〉区块链是比特币的底层技术。或者比特币——〉比特币是一种区块链。具体到什么是区块链的问题,目前没有看到很好的定义和介绍,更多的是大而化之地讲区块链的意义在哪里的空泛文章,要不然就是一水的矿工和挖矿。所以我来从纯理论角度说一下我个人对区块链的定义:1,区块链是一个放在非安全环境中的分布式数据库(系统)。2,区块链采用密码学的方法来保证已有数据不可能被篡改。3,区块链采用共识算法来对于新增数据达成共识。具有以上三个性质的系统,就是区块链。1,区块链是一个放在非安全环境中的分布式数据库(系统)。这里的要点有两个:(1)分布式,(2)非安全环境。首先,这是一个分布式的,去中心化的系统。所以,有一个中心服务器或者节点的,不是区块链。节点都是安全的,无恶意的,那这不是区块链。同理,从应用的角度讲,如果你的应用必须要使用中心节点(例如要用超级计算机做深度学习)或者没必要考虑节点不安全的情况(例如某个安全的工厂里的传感器),那么并不需要考虑区块链技术。至于后面的词“数据库”,目前大部分成熟的区块链都是数据库,例如比特币就是一个分布式账本,而账本其实就是数据。然后,根据数据的格式,又可以分三种——1,数据是完全不相关的,只是达成的共识,没有有效无效之分;2,数据有某些逻辑结构,例如账本中,一笔交易实际上除了金额,还有输入和输出,连接到之前的交易,这些数据需要通过逻辑验证(例如交易中,节点需要验证输入的交易是否有效);3,数据拥有图灵完备的逻辑,而验证的时候需要通过节点使用算力运算,每笔交易可以有不同的输出和状态,每个节点要做的不仅仅是验证交易的真实性和输入的正确性,还要根据交易里的逻辑读入数值,进行验算然后再验证结果。比特币的系统就是第二种,又叫分布式账本;以太坊是第三种。第三种可以支持智能合约。用比特币举例的话,1,它是一个完全去中心化的系统,2,它放在一个非安全的环境,它并不要求所有使用比特币的人都没有恶意。2,区块链采用密码学的方法来保证已有数据不可能被篡改。这个是误解最多的部分,因为很多人一提到区块链就只觉得是这个。诚然,这部分很重要,而且确实区块链也因此得名,但这只是区块链的定义的一部分。这个部分的两个核心要点是:(1)密码学哈希函数,(2)非对称加密。两个都是密码学的基础概念,网上都有非常清晰的定义,我只简单说下:(密码学)哈希函数:一个函数Y=H(X),有如下性质:1,有X可以很容易算出Y;2,有Y不可能算出X;3,有Y不可能找到另一个X'使得H(X')=Y;3.5,如果X和X'相差很小,H(X)和H(X')则完全不相关。这东西主要用于验证信息完整性——在一个信息后面放上这个信息的哈希值,这个值很小,例如256bit,而且计算方便。收到信息之后收信人再算一遍哈希值,对比两者就知道这条信息是否被篡改过了。如果被篡改过,哪怕只有一bit,整个哈希值也会截然不同。而根据哈希函数的性质,没有人能够伪造出另一个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验。非对称加密:这东西很好理解——对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是啥,然后同一把钥匙解密成原来的消息。非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题,例如因数分解和离散对数,常用的有RSA,Diffie-Hellman和ECC(椭圆曲线),比特币用的是椭圆曲线。非对称加密除了和对称加密一样用于信息加密之外,还有另一个用途,就是身份验证。因为通常情况我们假设一对公私钥,公钥是公开的,而私钥只有本人有,于是一个人如果有对应的私钥,我们就可以认定他是本人。其中一个重要的应用就是数字签名——某个消息后面,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。以上是基础知识,至于区块链怎么实现的,很简单:交易(数据)写在区块里。第一个区块叫创世区块,写啥都行。从第二个区块开始,每个区块的第一部分有前一区块的哈希值。此外,区块里的每一笔交易(数据),都有发起人的数字签名来保证真实性和合法性。于是,先前区块里的任何数据都不可被篡改,原因见上。到这为止有人可能会问:为什么要弄个链啊?直接所有数据加个哈希值不就行了?因为——这个数据库并不是静止的啊。数据库的数据是会增加的,而每次增加的数据,就是一个区块,于是这些生成时间不同的区块,就以这种形式链在一起了。至于如何增加区块,就涉及到第三个部分——共识算法。3,区块链采用共识算法来对于新增数据达成共识。共识算法的目的,就是让所有节点对于新增区块达成共识,也就是说,所有人都要认可新增的区块。对于有中心的系统,这事很简单,中心说什么大家同意就好了,但是放到去中心化系统里,尤其是当有些节点有恶意的时候,这东西非常复杂,计算机科学里有个相应的问题,叫做“拜占庭将军问题”或者“拜占庭容错”(BFT)。有很多用Lamport给出的那个例子来讲BFT的东西,我在这里换一个角度。Lamport大神当年提出这个问题的时候在斯坦福研究中心给NASA做项目,他提出这个问题的原因并不是考虑类似比特币的应用场景(整个互联网成千上万个用户),而是考虑特殊背景下的一个简单的系统——航天飞机的控制系统。如果有航空背景的同学可能知道,飞机有三套独立的控制系统,为什么呢?因为任何系统都不可能完全不出故障,就算飞机控制系统的故障率已经极低了,还是有飞到一半这东西坏了的可能。于是我们可以弄两套独立的系统,同时坏掉的几率就会大大降低。可是两套独立的系统还是不足以容下一个系统的错误——一架飞机迎面飞来,两套系统一个说要躲,一个说不躲,那到底是躲还是不躲呢?所以我们需要三台独立的系统,这样,如果有一个系统有故障了,还有两台能正常工作,能少数服从多数给出正确的结果。学过纠错码的同学对这个应该不陌生,这个系统的输出之间的汉明间距是3,所以可以纠正一位的错误。然而,对于航天飞机,在冷战的背景下,万一某个系统不是坏掉了,而是被敌人控制了呢?三套系统还够吗?答案是否定的,因为不同于单纯只是坏掉的节点,恶意节点可以做一些别的事来阻止整个系统达成共识。这个部分略复杂要讲的话要单开一帖,所以我们只说最简单的情况(无签名同步系统)。我们管三个系统叫ABC,正常工作流程是三个人每次得出结果就互相告诉一下,然后每个人选多数人同意的结果。这是个没有中央节点的分布式系统,也就是说三人不能聚在一起开个会啥的,仨人只能两两通信。这个时候,假设C有恶意,它的目标是破坏这个系统。于是,假设正确的读数是1,A和B都得出了1这个结果,这个时候C这个小婊砸告诉A说“我的结果是0,B也觉得是0”,同时打个电话跟B说“哎我觉得是0,A也这么说”,于是A和B就懵逼了。假设你是A,你听到了两个不同版本的B的答案,B说自己选了1,C说B选了0,可是A这个时候没法知道B和C谁才是那个骗了自己的小婊砸,因为如果B真的告诉A选了1然后告诉C是0,他听到的结果和现在是一模一样的。于是结论是,拜占庭容错,也就是需要容下一个恶意系统而非错误系统,需要4个独立系统。(当然,签名可以解决这个问题,但是这只是同步系统的情况,在异步系统里这问题会变得更加复杂,原因是正常节点的回答有延迟,而恶意节点可以不回复,所以,正常节点一方面要等另一个节点的回复,但是它又不知道对方会不会回复因为对方有可能会有恶意,而在收到回复之前,它完全没法判断对方是正常节点还是恶意节点,这个问题叫异步BFT,也是BFT的最复杂的情况,这里不再做更多的解释,下文提到的BFT算法,其实都是异步BFT的算法)Lamport提出这个问题之后,有无数的算法被提出来,统称BFT(拜占庭容错)算法,其中最有代表性的叫PBFT,然后由于最近区块链的热度,无数针对区块链应用场景优化过的BFT算法也涌现出来,但是一个重要的问题是,所有目前的BFT算法,都只能应用在小型网络里。原因很简单——因为BFT这个问题是设计给类似于航天飞机控制系统这样的场景的,早期的算法考虑的也主要是这种场景。PBFT论文里考虑的就是一个5个节点的系统。就算算上新提出的BFT算法,也最多应用在不超过100个节点的网络里。这个问题被搁置了很久,直到比特币的诞生——中本聪从某种意义上简化了这个问题,在比特币中,同样是共识问题,中本聪引入了一个重要的假设——奖励,他之所以能这样做的原因是,他考虑的是一个数字货币,也就是说共识这个东西是有价值的。于是在这样的系统上,他提出了工作证明机制。所有挖矿,矿工,最长链,分叉等等等等,都可以归结为一句话:说话是要有代价的,说真话是有好处的,说假话是要扣钱的……这就是目前两类共识算法的核心区别:BFT共识模型:恶意节点可以干任何事。比特币共识模型:模型中有公认的“价值”,每个节点说话都需要一定代价,诚实节点会受到奖励,而恶意节点由于只付出代价而收不到奖励,变相受到了惩罚。也就是说,BFT共识模型其实涵盖了比特币共识模型的场景,比特币共识其实放宽了BFT共识模型的限制。比特币共识对于BFT的优势在于,由于给恶意节点的能力做了限制,恶意节点所能造成的破坏大大降低了,尤其是对于异步系统——BFT共识里恶意节点可以一直拒绝相应而诚实节点还需要一直等它(因为不知道它是不是恶意的),而对于比特币共识,随你便,你不响应就没有奖励可拿。于是,比特币共识算法可以应用于成千上万个节点,而且,任何人随时都可以加入,不需要预先在网络里注册自己的身份(而BFT算法里,网络中节点的数量和身份都必须是已知的)。但比特币共识的缺陷在于,首先,得有个有价值的东西,也就是说放在比特币里这东西还行,以太坊的话现在可能也凑合,但是其他数字货币嘛……BFT共识有个严格的限定,就是恶意节点不能超过总数的1/3,然而其实比特币共识没有这样的限制,唯一的限制就是假定大部分节点都是理性的,是逐利的,也就是会采用最佳的策略来赚取最大的价值。所以,严格来说,自私挖矿这种行为在比特币共识里是允许的,而多数攻击,其实也算不上一种攻击,因为这些都没有突破比特币共识的框架——如果这个价值无限大,比特币共识是非常可靠的。然而这并不是事实,因为并不是每个虚拟货币都和比特币一样值钱,而在价值不高的情况下,比特币共识的前提就站不住脚了——当损失可能是几千上万块钱的时候,假定每个人都是理性的是合理,但是如果损失就几分钱这个假设就相当扯淡了,事实上也发生过一个比特币矿池跑到另一个货币恶意挖矿搞垮对手的情况。此外,比特币共识是最长链共识,也就是说最长链-->大多数-->理性,于是分叉是允许的。于是导致了一些附带的问题,例如,如果网络有延迟,你怎么知道你手里那条链是整个网络里当前的最长链呢?于是,如果需要传输的数据多,那么延迟加大。延迟加大,那么越多的人手里的链并不是全网络的最长链。于是,全网络的最长链,就没法代表大多数。这就打破了比特币共识的根本,这也是为什么比特币区块频率是10分钟一块的原因。比特币目前有个著名的7币交易每秒的上限,而现在扩容闹得很厉害,以太坊的交易格式不同,也用了新的工作证明,想要改成权益证明,但这些都不本质。真正本质的是,在目前的网络条件下,如果适用全网的话,比特币共识的交易量基本上超不过100笔交易每秒这个量级。上面这几段有可能太深了,简单来说,BFT共识和比特币共识的区别可以这么理解:BFT共识:来,大家开个会讨论一下集思广益啊,讨论出大家都满意的结果为止。问题:开会的效率大家都懂,人越多越不容易出结果。只能用于少数节点,用于上千个节点的话……大家想象一下一天开一次人大的场景。比特币共识:你的诗念得不错,组织已经决定了,今天就你来当领导了,做得好有奖,做不好扣钱。问题:奖励几千块钱还好,奖励几分钱谁好好干?而区块链也就因此被分成了泾渭分明的两类,很多人都听过什么公有链私有链联盟链,但是,如果你们以为这是根据应用区分的就大错特错,其实,这两种区块链最本质的区别,还是因为共识模型或者说算法不同——BFT算法没法应用于大量节点,所以用BFT算法的就没法做公有链。而比特币共识得有个价值体系,这东西去做私有链联盟链就很不靠谱,因为一个单纯逐利的人的假设还算靠谱,但是如果对象是公司的话,公司的利益就太复杂了,不能简单认为他们只追逐区块链上那点价值。1,公有链,以比特币,以太坊和所有虚拟货币为代表,都采用比特币共识,共识算法基本上都采用工作证明机制,也就是挖矿那些,这种机制其他回答里已经讲得够清楚了,就略过。工作证明一切都好,除了费电……费多少电呢?差不多和一个百万人级别的城市那么多。此外以太坊的创始人特别喜欢权益证明,似乎很快要小范围投入使用(100个区块里一个用权益证明)。但是目前为止,大家对这东西的可靠性还持观望态度。2,私有链和联盟链。以IBM的hyperledger-fabric,以及一大堆其他的类似于tendermint,甚至R3 corda和ripple为代表,都用BFT共识。其实这方面的应用已经很多了,问题是,1,目前基本上所有应用给人的感觉都还是为了做区块链而区块链,真的觉得这东西好到不可或缺的应用还基本没有。2,由于为了区块链而区块链,其实很多场景的安全性和可靠性还值得怀疑,这点经常被被公有链的支持者诟病。嘛,以上就是个人定义的区块链了,顺带概述一下现在区块链领域的发展。之所以写这个帖子,就是因为发现明明是问区块链的问题,所有人都在讲比特币,都在讲挖矿,都在讲工作证明……工作证明不能说过时,也的确是现在公有链唯一可靠的共识算法,但是这东西确实是业界除了比特币死忠之外谁都不想要的东西好吗……编辑于 2019-10-28 14:29赞同 4827251 条评论分享收藏喜欢收起盗盗狂热追随者... 关注友情提醒:比特币采用区块链技术,但是区块链并不等同于比特币;全篇基于比特币底层区块链技术讲述,所以,部分模型可能不适用于以太坊等。另外,由于文章采用了一定的抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,如果让你觉得困惑,可以在评论下方留言或者私信我一起探讨。最后,也是受限于自己知识结构的不完整,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。另外,作为一篇科普性文章,大家可以随意转载,注明这篇文章的出处和作者即可,无需再单独私信询问。---首先不要把区块链想的过于高深,他是一个分布在全球各地、能够协同运转的数据库存储系统,区别于传统数据库运作——读写权限掌握在一个公司或者一个集权手上(中心化的特征),区块链认为,任何有能力架设服务器节点的人都可以参与其中。来自全球各地的掘金者在当地部署了自己的节点,并连接到区块链网络中,成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化、分布式的特征)。与此同时,对于在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又依次的同步,从而实现在区块链网络中所有节点的数据完全一致。 上图中,高亮的点就是区块链系统中分布在全球各地的一个个节点;而这些节点可以简单理解为一台服务器服务器集群为了更简单的阐述那篇文章所构建的世界观,文中所讨论的节点全部粗暴的理解为官方参考实现节点,即最标准的一种节点类型,这些节点不仅可以参与挖矿共识、还可以数据存储和数据点对点传递;不涉及其他复杂的节点类型。关于节点的分类,可以阅读我的专栏文章《区块链节点与钱包的分类、边际和使命,看这篇文章就足够了》# 问题的由来我们反复提到区块链是一个去中心化的系统,确实,「去中心化」在区块链世界里面是一个很重要的概念,很多模型(比如账本的维护、货币的发行、时间戳的设计、网络的维护、节点间的竞争等等等等)的设计都依赖于这个中心思想,那到底什么是去中心化呢?在解释真正去中心化之前,我们还是先简单了解下什么是中心化吧。中心化?回忆一下你在网上购买一本书的流程:第一步,你下单并把钱打给支付宝;第二步,支付宝收款后通知卖家可以发货了;第三步,卖家收到支付宝通知之后给你发货;第四步,你收到书之后,觉得满意,在支付宝上选择确认收货;第五步,支付宝收到通知,把款项打给卖家。流程结束。你会发现,虽然你是在跟卖家做交易,但是,所有的关键流程都是在跟支付宝打交道。这样的好处在于:万一哪个环节出问题,卖家和买家都可以通过支付宝寻求帮助,让支付宝做出仲裁。这就是一个最简单的基于中心化思维构建的交易模型,它的价值显著,就是建立权威,通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全。你一定会摆出一个巨大的问号脸 ⊙.⊙?——“通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全”,真的可以嘛?!假如说,支付宝程序发生重大BUG,导致一段时间内的转账记录全部丢失,或者更彻底一点,支付宝的服务器被ISIS恐怖组织的一个导弹全部炸毁了。而我刚刚转出去的100元找谁说理去,这个时候,你就成了刀殂上的鱼肉;支付宝有良心,会勉为其难承认你刚刚转账的事实,但他不承认你也没辙,因为确实连他自己也不知道这笔转账是否真实存在。上述就是中心化最大的弊端——过分依赖中心和权威,也就意味着逐渐丧失自己的话语权。去中心化?那么去中心化的形态是什么样子呢?还是拿刚才那个例子继续,我们构建一个极简的去中心化的交易系统,看看我们是如何在网络上从不认识的卖家手里买到一本书的。第一步,你下单并把钱打给卖家;第二步,你将这条转账信息记录在自己账本上;第三步,你将这条转账信息广播出去;第四步,卖家和支付宝在收到你的转账信息之后,在他们自己的账本上分别记录;第五步,卖家发货,同时将发货的事实记录在自己的账本上;第六步,卖家把这条事实记录广播出去;第七步,你和支付宝收到这条事实记录,在自己的账本上分别记录;第八步,你收到书籍。至此,交易流程走完。刚才“人为刀俎我为鱼肉”的情况在这个体系下就比较难发生,因为所有人的账本上都有着完全一样的交易记录,支付宝的账本服务器坏了,对不起卖家的账本还存在,我的账本还存在;这些都是这笔交易真实发生的铁证。当然,在这套极简的交易系统中,你已经发现了诸多漏洞和不理解,比如说三方当中有一个是坏人,他故意记录了对他更有利的转账信息怎么办;又比如说消息在传递过程中被黑客篡改了怎么办等等等等。这在以往的计算机概论或者计算机网络书本上中可能都有提及到——“类两军”和“拜占庭将军”问题。这里就不打算赘述,因为暂时跟主线不相关,感兴趣的同学可以去Google或者百度一下,你只需要知道,在我们下面即将展开讲到的区块链系统中,通过巧妙的设计,足以解决上述存在的BUG。既然话已说到这份上,相信了解一点技术、特别是有运维背景的同学大概能够从极简交易系统中窥视到了更多区块链的一些影子——分布式存储,通过多地备份,制造数据冗余让所有人都有能力都去维护共同一份数据库让所有人都有能力彼此监督维护数据库的行为在我看来,你猜测的基本上没错。其实这些就是区块链技术最核心的东西,外人看起来高大上、深不可测,但探究其根本发现就是这么简单和淳朴。当然,这里面肯定会有很多很多很多细枝末节的技术需要重构。如果你差不多认同上面的观点,那我们应该基本上可以达成共识,分布式部署肯定是构建去中心化网络理所当然的解决方向——通过P2P协议将全世界所有节点计算机彼此相互连接,形成一张密密麻麻的网络;以巧妙的机制,通过节点之间的交易数据同步来保证全球计算机节点的数据共享和一致。哈哈,说的轻巧,“交易数据这么重要的东西,在一个完全不信任的P2P网络节点中以一种错综复杂的方式传递,数据的一致性和安全性谁来保证,如果说互相监督,他们到底怎么做到?”好了,不卖关子了,下面让我们围绕这个最最最最直接的问题开始进入到真正区块链的世界,抽丝剥茧看看它到底是如何一步一步形成的,又是如何一步一步稳定运转。# 从全球节点到交易数据这张图的制作的意义为的是帮助你在宏观上先快速理解区块链中所涉及到的相关名词以及他们的层级关系。同时,文章的知识结构和设计思路也大抵上也会按照:首先,将区块作为最小单位体,讲述极简区块链系统是如何运转的;接着,进入到比区块更小单位体——交易记录,理解区块链是如何处理数据的;最后,将所有知识点柔和在一起,重回到区块和区块链,完整讲述整个工作流程。希望你在这个引导和结构下有一个比较好的阅读体验。Let's go~# 区块,混沌世界的起源既然已经达成共识,所以,我们事先构建好了一个去中心化的P2P网络;同时,为了让读者朋友们听起来更轻松,我先粗暴的规定在这个极简的区块链系统里,每十分钟有且仅产生一笔交易。故事继续,在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙世界的神奇区块(你可以将区块想象为一个盒子),这个区块里放着一些数字货币以及一张小纸条,小纸条上记录了这十分钟内产生的那唯一一笔交易信息,比如说——“小A转账给了小B100元”;当然,这段信息肯定是被加密处理过的,为的就是保证只有小A和小B(通过他们手上的钥匙)才有能力解读里面真正的内容。这个神奇的区块被创造出来之后,很快被埋在了地底下,至于埋在哪里?没有一个人知道,所以需要所有计算机节点一起参与进来掘地三尺后才有可能找到(找到一个有效的工作量证明)。显然,这是一件工作量巨大、成果随机的事件。但是呢,对于计算机节点来说,一旦从地底下挖出这个区块,他将获得区块内价值不菲的数字货币,以及“小A转账给了小B100元”过程中小A所支付的小费。同时,对于这个节点来说,也只有他才有权利真正记录小纸条里的内容,这是一份荣耀,而其他节点相当于只能使用它的复制品,一个已经没有数字货币加持的副本。当然这个神奇的区块还有一些其他很特别的地方,后面我们会再细细聊。为了更好的描述,我们将计算机节点从地底下挖出区块的过程叫做「挖矿」,刚才说了,这是一件工作量巨大、运气成分较多、但收益丰厚的事儿。过了一会儿,来自中国上海浦东新区张衡路上的一个节点突然跳出来很兴奋的说:“ 我挖到区块了!里面的小纸条都是有效的!奖励归我!” 。虽然此刻张衡路节点已经拿到了数字货币,但对于其他计算机节点来说,因为这里面还涉及到其他一些利益瓜葛,他们不会选择默认相信张衡路节点所说的话;基于陌生节点彼此不信任的原则,他们拿过张衡路节点所谓挖到的区块(副本),开始校验区块内的小纸条信息是否真实有效等等。在区块链世界里,节点们正是通过校验小纸条信息的准确性,或间接或直接判断成功挖出区块的节点是否撒谎。(如何定义小纸条信息真实有效,后面会讲解,这里暂不做赘述)。在校验过程中,各个节点们会直接通过下面两个行为表达自己对张衡路节点的认同(准确无误)和态度:停止已经进行了一半甚至99.99%的挖矿进程;将张衡路节点成功挖出的区块(副本)追加到自己区块链的末尾。你可以稍微有点困惑:停止可能已经执行了99.99%的挖矿行为,那之前99.99%的工作不是就白做了嘛?!然后,区块链的末尾又是个什么鬼东西?对于第一个困惑。我想说,你说的一点没错,但是没办法,现实就是这么残酷,即便工作做了99.99%,那也得放弃,这99.99%的工作劳苦几乎可以视为无用功,绝对的伤财劳众。第二个困惑,区块链和区块链的末尾是什么鬼?这里因为事先并没有讲清楚,但是你可以简单想象一下:区块是周期性不断的产生和不断的被挖出来,一个计算机节点可能事先已经执行了N次“从别人手上拿过区块 -> 校验小纸条有效性”的流程,肯定在自己的节点上早已经存放了N个区块,这些区块会按照时间顺序整齐的一字排列成为一个链状。没错,这个链条,就是你一直以来认为的那个区块链。如果你还是不能够理解,没关系,文章后面还会有很多次机会深入研究。# 走进区块内,探索消息的本质上面我们构建了一个最简单的区块链世界的模型,相信大多数同学都已经轻松掌握了。但是别骄傲也别着急,这还只是一些皮毛中的皮毛,坐好,下面我们准备开车了。前面我们说到“大概每十分钟会凭空产生一个神奇的区块,这个区块里放了一张小纸条,上面记录了这十分钟内产生的这唯一一笔交易信息”。显然,十分钟内产生的交易肯定远不止一条,可能是上万条,这上万条数据在区块链世界是如何组织和处理的呢?另外,为什么在纸条上记录的只是某一次的交易信息,而不是某一个人的余额?余额好像更符合我们现实世界的理解才对。既然存在这样那样的疑问。现在我们就把视线暂时从“区块”、“区块链”这些看起来似乎较大实体的物质中移开,进入到区块内更微观的世界里一探究竟,看看小纸条到底是怎么一回事,它的产生以及它终其一生的使命:发起交易的时候,发起人会收到一张小纸条,他需要将交易记录比如说“盗盗转账给张三40元”写在纸上。说来也神奇,当写完的那一刹那,在小纸条的背面会自动将这段交易记录格式化成至少包含了“输入值”和“输出值”这两个重要字段;“输入值”用于记录数字货币的有效来源,“输出值”记录着数字货币发往的对象。刚刚创建的小纸条立马被标记成为“未确认”的小纸条。从地下成功挖出区块并最终连接到区块链里的小纸条一开始会被标记为“有效”。若这条有效的小纸条作为其他交易的输入值被使用,那么,这个有效的小纸条很快会被标记为“无效”。因为各种原因,区块从链上断开、丢弃,曾经这个区块内被标记为“有效”的小纸条会被重新标记为“未确认”。区块链里面没有账户余额的概念,你真正拥有的数字资产实际上是一段交易信息;通过简单的加减法运算获知你数字钱包里的余额。上面的1、2、3仅仅作为结论一开始强行灌输给你的知识点,其中有几个描述可能会有点绕,让你觉得云里雾里,没有关系,因为我们立刻、马上就开始会细说里面的细枝末节。上图,是区块内,盗盗在一张小纸条上记录下的交易信息,后被格式化的呈现上图就是从无数打包进区块内的小纸条中,抽取出来的一张,以及它最终被格式化后的缩影。单看右侧的图可能很容易产生误会,虽然看起来有多行,但实际上就是“盗盗转账给张三40个比特币”这一条交易数据另外的一种呈现形态。因为区块链世界里面这么规定,每一条交易记录,必须有能力追溯到交易发起者 发起这笔交易、其中所涉及金额的上一笔全部交易信息;即这笔钱从何而来的问题。这其实很容易理解,在去中心化的网络中,通过建立交易链、和通过交易链上的可溯源性间接保证数据安全和有效。我们继续看,在区块链世界里,我们是如何仅通过“盗盗转账给张三40个比特币” 这条交易信息完成转账流程的。其实跟现实中你在路边买一个包子的流程大抵上相同。第一步:判断是否有足够的余额完成交易这里我们再一次重申,在比特币的区块链世界里是没有余额的概念(以太坊的底层区块链有余额概念),余额是通过简单数字的加减最终获得,你拥有所谓的数字货币实际上是因为你拥一条交易记录,即 “盗盗转账给张三40个比特币”!这里,我们还是拿这条记录说事:追溯“输出值”是“盗盗”相关的全部有效交易记录作为,对有效交易中的数字进行简单求和,判断是否大于等于40,如果确实大于等于,则将这些有效的交易记录合并形成一条新的交易记录(如下图)。如果小于40,其实可以不需要再继续往下探讨。就上图的例子,我们追溯到曾经转账给盗盗的有效交易记录有“小A转账给盗盗10 btc”、“小B转账给盗盗20 btc”、“小C转账给盗盗 25 btc”,我们需要将这三条交易记录合并成一条更复杂描述的交易记录,即 “( 小A转账给盗盗10 btc + 小B转账给盗盗20 btc + 小C转账给盗盗 25 btc ) 转账给张三40 btc ”第二步:判断是否需要找零对追溯到的有效交易数字求和,如果发现大于需要支付的金额,需要将多出的数字重新支付给自己,相当于找零。对应生成了一条全新的交易记录(如下图)。就上图例子来说,我们最后合并成的交易记录 “( 小A转账给盗盗10 btc + 小B转账给盗盗20 btc + 小C转账给盗盗 25 btc + 盗盗转账给盗盗15 btc ) 转账给张三40 btc ” 事实上等同于“盗盗转账给张三40 btc”。其中“盗盗转账给盗盗15 btc”就可以理解找零。第三步:发出去,让全球节点认同和备份小纸条这条内部重新处理过的复杂交易记录被塞进区块,埋到地下,等待节点挖出来,一旦区块被挖矿成功,并且该区块最终被连在了区块链的主链上。张三将最终拥有了这条交易记录,而先前的“小A转账给盗盗10 btc” 、“小B转账给盗盗20 btc” 、“小C转账给盗盗25 btc”都将被视为已经使用过的交易记录——从此被贴上“无效”的标签,意味着这些交易记录将永远不会再被追溯到。我们最后一次重申,只是希望让你加深印象:拥有数字货币=拥有交易记录!通过设计巧妙的精巧密码学保证数据安全记录着交易信息的小纸条借助区块这个载体,在分布式的网络中以不同的轨迹错综复杂的传递,我们前面说了,你真正拥有的数字资产实际上是一段交易信息,而不是你常规意义上理解的货币。所以这个过程就需要重点解决两个问题:接受到的这条交易记录在传输过程没有被其他人所篡改接受到的这条交易记录确实是由发起交易的人所创造在这里,我们需要事先引入两个知识点,可能稍微有点难消化,但都是计算机领域较为成熟的和基础的概念。第一个知识点:SHA256()函数。你只需要知道,任意长度的字符串、甚至文件体本身经过SHA256函数工厂的加工,都会输出一个固定长度的字符串;同时,输入的字符串或者文件稍微做一丢丢的改动,SHA256() 函数给出的输出结果都将发生翻天覆地的改变。注意,SHA256()函数是公开的,任何人都能使用。上图,仅仅一个小数点的变化,输出的结果已经翻天覆地第二个知识点:非对称加密。你也只需要了解,任何人手里都有两把钥匙,其中一把只有自己知道,叫做“私钥”,以及一把可以公布于众,叫做“公钥”;通过私钥加密的信息,必须通过公钥才能解密,连自己的私钥也无解。公钥可以通过私钥生成多把。有了这些知识点的加持,上面两个问题开始变得有解。下面我们来看下内部是如何扭转和工作的吧,这里拿“小A 转账给了小B 100元钱” 举例: 第一步:小A会先用SHA256函数对自己的小纸条进行处理,得到一个固定长度的字符串,这个字符串就等价于这张小纸条。第二步:小A使用只有自己知道的那一把私钥,对上面固定长度的字符串进行再加密,生成一份名叫数字签名的字符串,这份数字签名能够充分证明是基于这张小纸条的。你可以这么理解,在现实中,你需要对某一份合同的签署,万一有人拿你曾经在其他地方留下的签名复制粘贴过来怎么办?!最好的办法,就是在你每一次签名的时候,故意在字迹当中留下一些同这份合同存在某种信息关联的小细节,通过对小细节的观察可以知道这个签名有没有被移花接木。步骤一和步骤二的结合就是为了生成这样一份有且仅针对这条小纸条有效的签名。第三步:小A将「明文的小纸条」、刚刚加密成功的「数字签名」,以及自己那把可以公布于众的「公钥」打包一起发给小B。第四步:当小B收这三样东西,首先会将明文的小纸条进行SHA256()处理,得到一个字符串,我们将其命名为“字符串2”。然后,小B使用小A公布的公钥,对发过来的数字签名进行解密,得到另外一个“字符串1”。通过比对“字符串1”和“字符串2”的一致性,便可充分证明:小B接受到的小纸条就是小A发出来的小纸条,这张小纸条在中途没有被其他人所篡改;且这张小纸条确实是由小A所编辑。可以看得出来,加解密的过程几乎是一环套一环,中途任何环节被篡改,结果都是大相径庭。借助这一连串的机制,其实已经能够很好的在公开、匿名、彼此不信任的分布式网络环境中解决数字交易过程中可能遇到的很多问题。这个环节可能确实有点难理解,现在,我需要你停下来,静下心,花上几分钟闭目慢慢回味其中设计精湛的地方。掌握了这部分知识以后,我们在这里回答一下前面没有解释清楚的问题,「节点对区块的检验」检验的到底是什么?实际上就是:检验区块内的交易记录签名是否准确(是否被篡改)检验区块内的交易记录输入值是否“有效”(是否使用过)检验区块内的交易记录输入值的数字之和是否大于等于输出值的数字…# 重回“区块”和“区块链”的世界好了,对小纸条和交易记录的研究我们点到为止,其实信息量已经是巨大的了,让我们合上盖子,重回较大的实体、继续聊聊“区块”和“区块链”的话题。还记得,咱们在一开始讲到关于区块的特征吗?区块创造后被埋在地下,需要经过节点们马不停蹄的挖采、而且是凭运气的挖采才有可能获得——不仅仅如此,事实上他还有其他很多神奇的地方,比如说:凭空产生的区块在刚刚创建的时候会形成一股强大的黑洞效应,它会尝试将这段时间全世界各个节点上产生的所有小纸条(交易记录)统统吸进来;在合上区块盖子之前,同时会在区块内放上一些数字货币以及其他一些东西。区块拥有一个唯一的ID,但它只会在这个区块被节点成功从地下挖出来之后创建。这个ID至少会跟「区块内所有小纸条的集合」、「即将与之相连的上一个区块ID」以及「挖矿节点的运气值」等因素相关。既然前面我们已经简单了解了“SHA256()函数”这个东西,这里不妨透露给大家:“区块ID = SHA256(‘区块内所有小纸条的集合’+’即将与之相连的上一个区块ID’+‘挖矿节点的运气值’+’…’)” ;基于先前掌握的知识,然后你应该知道区块内任意一张小纸条的信息稍微做改动、或者节点挖矿运气好一点坏一点等等,当前区块的ID都会 “ biu~ ”的发生改变。基于上述1、2点,如果阅读足够仔细的同学可能会有些头大。在文章开头为了更好的描述,我在设计简化区块链系统的时候故意模棱两可了几个概念,这也许已经误导到了部分同学。这里不得不停下来和你一起修正下之前在你大脑中已经构建的区块链世界观。我们前面讲道,“在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙世界的神奇区块”。如何正确去理解这句话呢?——拥有上帝之眼的你,可以这么拆解问题、看待问题:同一个周期内,全网并不是产生唯一的一个区块等待挖掘;每个节点事实上都在周期性的创造区块和挖出区块;只是在某一个节点的视野里,它不能感知到另外一个节点上区块的产生。为何这里要特别强调“在某一个节点的视野里”,就是因为我们刚刚讲到,从区块的视角来说,区块的凭空产生,是基于即将与之相连的上一个区块ID;而从节点的视角来看,区块的凭空产生是基于当前节点区块链末尾的那个区块ID产生的。全网会尽力控制在一个周期内只有一个节点能够成功挖出区块,但是不能够完全避免多个节点同时挖出区块的可能性;如何尽力控制?比如说,当大伙挖矿的热情高涨、工作效率提高,区块会被埋在更深更广的地方等。简而言之,通过提高工作难度,来维持这个平衡。另外,值得注意的:产生区块、挖出区块、校验区块,他们的时间周期近乎相同。对于想从技术角度更加深入理解“区块”、“挖矿”本质的同学们,你们可以移步至我的专栏《探索比特币“挖矿”和“区块”的数学本质》,其中涉及到一些比较复杂的数学和技术细节,相信阅读完那部分内容之后,你对区块链会有更加透彻的认知。当然,对于绝大多数的吃瓜群众,看完那边内容可能会让你更加困惑,如果你不是十分的喜欢追根究底的话,我建议你还是直接选择跳过那块吧。至少在我看来,即便少了那部分内容,也不影响我们去理解区块链的魅力。分叉现在,我们终于对“区块”这个概念有了更全面的认识,文章开头讲的故事就可以继续展开来絮叨絮叨:假如几乎同一时间,「中国上海浦东新区张衡路」上的节点和「美国纽约曼哈顿第五大道」上的节点异口同声喊出来:“我挖到区块了!里面的小纸条都是有效的!奖励归我!”。其他节点也几乎同时参与了对这两个区块的校验,结果发现这俩都没毛病,各节点也开始犯困,因为在他们的视野里他们并不清楚最后哪一个区块应该会被主链接纳。算了!都连在自己区块链尾巴上吧,这时尴尬了,区块链硬生生的被分叉了!产生分叉你肯定在想,那还得了,这种情况继续下去,每个节点的区块以及他们整理维护的小纸条都将变得不一样,这已经严重违背了区块链世界里第一大最基本原则——所有节点共同维护同一份数据。所以,为了解决这个问题,区块链世界引入了一条新的规则——拥有最多区块的支链将是真正被认可有价值的,较短的支链将会被直接Kill掉。我们大伙都知道挖矿的过程存在巨大的工作量(如果没有任何难度,把区块扔在人群中,必然同一时间发现区块的节点数量将大大增加,也就会产生无数的支链,通过这个例子,你大概也就能够明白,比特币的区块链世界为什么需要设置工作难度了吧),并且在计算机的硅基世界里,不可能出现所谓 “同时” 的概念,哪怕纳秒的差别,那也总是会有先后顺序。所以理论上,“分叉”的这种僵局很快会在下一个区块被挖掘出来(以及校验区块)的时候被打破,实在不行下下个,或者下下下个……总之机制可以让整个分叉的区块链世界迅速稳定下来。“分叉”这种僵局在确认下一个区块(以及校验小纸条)的时候被打破,从而整个区块链世界迅速稳定下来就上图而言,所有基于张衡路节点挖矿获得的区块以及后续区块的那条分支被视为有价值,最终会全部保留了下来;其他节点会统一效仿那个拥有更长分支链的节点所做的决策。另外,值得一提的是,同一时间,较短分支上的区块会立即丢弃,而里面的小纸条也会随之释放出来,被重新标记上“未确认”。“双花”与“51%攻击”你可能已经开始困惑或者有点兴奋,末尾几个区块的排序在修复过程中,因为时间差肯定会产生一些模棱两可的地方,这往往会给数据安全埋下一颗雷。一个最简单的假设——我记录的一张小纸条很不巧地被归在了一条较短的支链上,这条支链在竞争过程中理所当然输掉了比赛,区块被丢弃、小纸条被无情的贴上“未确认”的标签。在等待下次区块重新确认的过程中,这个时间差内,我,好像、似乎可以做点什么坏事 ԅ(¯﹃¯ԅ) ,就比如说“双花”(双花,花两次,双重支付的意思)你脑海中也许很快浮过的这样的构想,可不可能通过下面这种方法触发双花问题的产生,从而让我不劳而获:假设有一个名叫X-Man的坏家伙,他控制了一个计算机节点,这个节点拥有比地球上任何一个节点算力都强大的计算机集群。首先,X-Man事先创造了一条独立的(不去广而告之)、含有比较多区块的链条。其中一个区块里放着“X-Man转账给X-Man 1000元”的纸条。接着,X-Man跟张三购买了一部手机,他在小纸条上记录下“X-Man转账给张三1000元”。张三已经比一般的卖家谨慎了,他在这条信息被三次确认后(即三个区块被真实挖出、校验和连接)才将手机给了X-Man。按照我们之前的理解,这条交易记录已经板上钉钉永远无法被串改。X-Man拿到手机之后,按下机房的开关,试图将先前已经创造的区块链条连接在自己这个节点区块链的末尾。大功告成,X-Man拥有了一条更长的区块链条,那些较短、存放着“X-Man转账给张三1000元”的区块链,以及在区块链世界里那则真实转账行为被一同成功销毁。(???)事实真的如此吗?在这里我可以很负责任的说,too young too simple,区块链世界规则的制定远比我们想象的要健全很多,还记得我们之前讲的“区块的ID至少会跟区块内所有小纸条的集合、即将与之相连的上一个区块ID、当前产生区块的时间戳以及挖矿节点的运气值等因素相关”。 在这里,正是因为打算连接到主链的过程中,主链会立马意识到,那条事先准备的链子(的第一个区块)的时间戳存在异常,不属于当前区块链世界里线性增长的时间戳,于是马上意识到这个事先准备的链子(的第一个区块)是无效的,需要重新计算。 在区块链的世界,重新计算的行为等同于把自己(节点)置身于同一个起跑线,跟世界上其他所有的节点一同竞争挖矿。你会说,我拥有更强大的计算能力,但是对不起,跟你竞争的对象并不是第五大道、南京西路、香榭丽舍大道上的某一个节点,而是全球所有算力的集合,在这个集合中,你拥有的算力永远都只是一个很小的子集。所以,根据区块链算力民主、少数服从多数的基本原则,这个构想将永远不会成立。除非....你控制着全球51%的算力,这也就是区块链世界里另外一个著名的概念,叫做“51%攻击”,但这也仅仅是一个理论值,在真实世界里这样的攻击我个人觉得是很难发动起来的,这里面就牵涉到很多经济、哲学甚至政治的因素。举个最简单的例子:X-Man为了回滚刚刚发生的一笔交易记录,成功发起了51%攻击,这意味着很快整个区块链系统将会崩盘,因为这次攻击已经严重伤害到人们对这套系统的信任,接着比特币开始暴跌至几乎一文不值;但是这个拥有51%算力的X-Man原本完完全全可以通过挖矿的方式获取更多收益,购买无数的iPhone手机。那他不是脑袋不是坏了还能是啥?对51%攻击话题感兴趣的同学可以阅读这篇文章《什么是比特币51%攻击?》。至此,我觉得区块链最基础、最核心的知识已经全部讲完了(除了挖矿内部实现原理,作为一个遗憾留在这里,有时间会完善掉),相信你已经对它有了一个宏观的认识。另外,由于这篇文章采用了适当抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,欢迎大家来纠错。另外,也是受限于自己知识结构的缺失,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。--问答部分去中心化的系统中,到底是谁在发行货币?是无限量发行吗?比特币的货币是通过挖矿(工作量证明)来发行的,总数量是通过程序写死了2100万个,而第一笔区块奖励也是硬编码写死的。矿工挖出一个区块所获得的奖励,每隔21万个区块将减少一半,按照平均10分钟挖出一个区块的执行效率,也就就说差不多每四年会锐减一次。2009年1月起每个区块奖励50个比特币,2012年11月减半为每个区块25个比特币,2016年7月减半为12.5个比特币。基于这个规则,到2140年,所有比特币(20,999,999,980)将全部发行完毕,之后不会再有新的比特币产生。矿工节点的收益除了挖出区块以外还有哪些?矿工节点的收益主要由两部分组成:1)挖出新区块的奖励;2)挖出新区块内所含交易的交易费。但就目前来说,一个区块内的交易费大概只占到矿工总收入的0.5%甚至更少,大部分收益主要还是来自于挖矿所得的比特币奖励。然而,随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在2140年之后,所有的矿工收益将完全由交易费构成。是不是只有成为节点才能进行交易?、钱包、尤其是轻钱包是不是也可以挖矿?这个问题是读者问出的,可能之前也有同学提出过类似的问题,但是没有引起我足够的重视,后来发现其实我也把概念混淆了。我一并去查阅了相关资料,对节点和钱包有一些更完整的理解和定义。详细请阅读我的专栏文章《区块链节点与钱包的分类、边际和使命,看这篇文章就足够了》参考中心化与去中心化 https://www.douban.com/note/624421270/图说区块链 https://book.douban.com/subject/27084306/区块链是什么,如何简单易懂地介绍区块链? https://www.zhihu.com/question/37290469 什么是比特币51%攻击? http://8btc.com/article-1949-1.html区块链与新经济:数字货币2.0时代 https://book.douban.com/subject/26804497/詳解比特幣原理和運行機制 https://www.youtube.com/watch?v=P4seQcP77H4区块链是什么:从技术架构到哲学核心 https://v.qq.com/x/page/x0518nuh2z7_0.html区块链核心算法解析 https://book.douban.com/subject/27081206/深入理解比特幣的安全性及程式交易安全性與相關的密碼學原理 https://www.youtube.com/watch?v=3w1Tg3B_oKQ 深度了解区块链——拜占庭将军问题深入探讨 https://wallstreetcn.com/articles/338061精通比特币-挖矿与共识 http://zhibimo.com/read/wang-miao/mastering-bitcoin/Chapter08.html编辑于 2022-08-16 09:47赞同 6847554 条评论分享收藏喜欢
什么是区域链?-CSDN博客
>什么是区域链?-CSDN博客
什么是区域链?
最新推荐文章于 2022-08-08 10:49:52 发布
颠覆认知
最新推荐文章于 2022-08-08 10:49:52 发布
阅读量1.6w
收藏
22
点赞数
5
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术在互联网时代的创新应用模式。
区块链来源:
比特币(Bitcoin)
区块链是为了启用比特币而创建的。它是一种点对点的电子现金系统,基于密码学原理而不基于信用,使得任何达成一致的双方能够直接进行支付,比特币的交易根本不需要通过银行等第三方中介的参与。
区块链的技术原理:
(1) 区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一 种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
(2)区块链是交易的历史记录,非常像数据库。链中的块相当于一本书中的一页面,书中的每个页面都包含:文字、故事,每个页面都有自己的信息:书名,章节标题,页码等。
(3)在区块链中,每个区块都有:包含关于该块的数据的标题:例如 技术信息,对前一个块的引用,以及包含在该块中的数据的数字指纹(又名“散列”)等等。 这个散列对于排序和块验证非常重要。
区块链的特点
为了实现上述的交易,区块链需要满足去中心化,可回溯性等特点
(1)去中心化 :用户之间用点对点(P2P)的方式交易,地址由参与者本人管理,余额由全局共享的分布式账本进行管理,安全依赖于所有参加者,由大家共同判断某个成员是否值得信任。
(2)透明性:数据库中的记录是永久的、按时间顺序排序的,并且对于网络上的所有其他节点都是可以访问的。每个用户都可以看到交易的情况。
(3)记录的不可逆性:由于记录彼此关联,一旦在数据库中输入事务并更新了帐户,则不能更改记录。
区块链缺点:
(1)不可撤销
区块链中,如果误操作,或者丢失密码,损失将无法挽回。
(2)私密性
由于区块链是分布式,交易账本必须公开透明,没有隐私可言。
(3)存储空间
由于需要掌握所有历史记录,交易数量大的时候,性能受影响。
(4)延迟性
分布式的特点,需要大家认证,因此,存在交易的延迟
区块链应用
除了比特币,区块链其实有很多应用,主要包括:
(1)智能合约:数字化法律; 合同文书,自动执行商业交易和协议
(2)智能资产:贸易融资,供应链,工作流程,丰富的数据
(3)清算和结算:更高的交易准确性和更短的结算流程,短期内赢得真正的成本节省
(4)付款:减少当前框架的弊端,节省时间和成本,加快并简化跨境支付
(5)数字身份:注册身份; 为其他服务重新使用该标识,
(6)物联网中的应用:MoIP运行; 机器对机器的通信
优惠劵
颠覆认知
关注
关注
5
点赞
踩
22
收藏
觉得还不错?
一键收藏
知道了
2
评论
什么是区域链?
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术在互联网时代的创新应用模式。 区块链来源: 比特币(Bitcoin) 区块链是为了启用比特币而创建的。它是一种点对点的电子现金系统,基于密码学原理而不基于信用,使得任何达成一致的双方能够直接进行支付,比特币的交易根本不需要通过银行等第三方中介的参与。 区块链的技...
复制链接
扫一扫
区域链实践第一步——区域链开发环境搭建
zgljl2012的专栏
09-21
7373
区域链光速发展,在许多人的期许下,已经成为了互联网下一个革新点。区块链会成就的未来价值互联网,是新时代的基石。
IBM中国研究院开发的超能云(SuperVessel)平台提供了给区块链爱好者、开发者的区块链开发测试环境。通过该平台,用户能够免费、快速创建基于Hyperledger Fabric的多节点区块链、并在自己的链上编写智能合约。
通过IBM的SuperVessel,我们能接触区块链,能自
什么是通证经济?它和区块链又有什么关系呢?
CECBC的博客
08-10
1012
近几年,通证经济成为了各类媒体及业界高频出现的热门词汇。“通证经济”由英文“Token Economy”翻译而来,它的出现常常伴随着“区块链”“经济系统”等诸多词汇,人们对它的认可度越来越高。但另一方面,它似乎又很难懂,很多人对它的认知还是半模糊状态。
那么,“通证经济”是什么呢?
Token 的原意是指“令牌、信令”。而人们对于它的广泛认识,归功于以太坊及其订立的 ERC20标准。基于这个标准,任何人都可以在以太坊上发行自定义的 token,这个token 可以代表任何权益和价值,用 Token来作为代.
2 条评论
您还未登录,请先
登录
后发表或查看评论
区域药品供应链管理平台整体解决策划方案培训资料
06-27
区域药品供应链管理平台整体解决策划方案培训资料
2022正规H5源码,类似陀螺世界区域链区域块游戏源码复利模式带安装教程
04-15
源码是带后台的
这个源码价值几万,同养恐龙、养猫、旅行世界等等游戏一个样复利模式
测试环境:宝塔面板 + Nginx 1.16+PHP 7.2+MySQL 5.6
把php的禁用函数全部删除了
数据库配置文件 configdatabase.php
添加站点,站点运行目录是public
宝塔设置thinkphp的伪静态
执行命令:
cd /www/wwwroot/你的目录/
php think worker:server
后台地址:http://你的域名/zfadmin.php
后台账号:admin
后台密码:123456
此源码仅供学习以及研究,不可用于商业
煤炭产业链的区域效率评价及优化策略
07-18
通过产业关联分析,确定了煤炭产业链的基本类型.并且以DEA方法为基础,构造了区域产业链效率评价的一般方法,计算和比较了煤炭产业链在各省区的技术效率、规模效率和整体经济效率.结果表明,不同省区煤炭产业链效率差别较大,东部地区产业链效率高于中西部地区,产业链效率损失主要体现在技术效率上.为了提升产业链效率,提出了煤炭产业链优化的四大策略:产业链定位策略、产业链延伸策略、产业链转移策略、产业链创新策略.
区域链技术在档案管理中的应用
09-25
基于区块链技术,围绕档案数据的全生命周期进行管理,覆盖档案的归档、保存、利用、共享、移交、销毁等环节,采取档案指纹、分布式认证、分片存储、快速共享、安全管控等技术手段,促进档案管理的安全体系和共享机制建设。
JS实现超精简的链接列表在固定区域内滚动效果代码
10-23
主要介绍了JS实现超精简的链接列表在固定区域内滚动效果代码,非常常见的页面元素属性变换控制实现滚动效果,简单实用,需要的朋友可以参考下
什么是区域链
weixin_34082695的博客
12-30
982
2019独角兽企业重金招聘Python工程师标准>>>
...
区域链接(district)
kzhshsh的博客
08-08
253
district
区块链基本概念
my_miuye的博客
02-14
7553
区块链中最基本的一些概念的解释,通过这些基本概念可以对区块链有个基础的认识。
指定图片某块区域加超链接 (热点)
热门推荐
flqbestboy的专栏
08-02
1万+
使用map标签可以给指定图片某块区域加超链接
使用方法:
1.为map标签首先加上一个id属性来为map标签定义一个唯一的名称
2.为了保证兼容性再加上name属性,属性值和id的值相同
注:img中的usemap属性可引用map中的id或name属性(由浏览器决定)所以需要添加id和name两个属性
3.为map标签所作用的图片加上usemap属性,属性值为#id(map标签的id值或
区块链,到底是什么定义呢?
weixin_49592810的博客
07-26
544
“区块链”,英文“Blockchain”或“Block Chain”,是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)[2],其特点是保密性强、不可篡改和去中心化。
区块链的大体运行机制如下:当网络中的任意两点进行数据交换时,该数据都会对应一个发送者和接收者,而当一个节点的数据交换积累到一定大小或条目数量之后,区块链就会自动将其打包,形成一个“块”(Block),.
区块链的含义
qb1com的博客
08-09
700
2008 年,中本聪发表了《比特币:一种点对点的电子现金系统》白皮书,以区块链技术为核心,使得在线支付能够直接由一方发起并支付给另一方,中间不需要通过任何的金融机构,这份文件被视为区块链技术的开端。所以说,区块链是比特币的底层技术,比特币是区块链技术第一个也是目前最成功的应用。
区块链本质上是一个去中心化的分布式账本数据库(在与比特币相关的区块链应用中可使用这一术语,但区块链技术可能并不包含...
区域链 PHP,PHP 创建区块链
weixin_33728077的博客
03-10
179
前话了解区块链基础运作什么是区块链?区块链是一个 不可变的、有序的 被称为块的记录链。它们可以包含交易、文件或任何您喜欢的数据。但重要的是,他们用哈希 一起被链接在一起需要准备什么?php5.6+1、Block 区块块是什么样的?每个块都有一个索引,一个时间戳(Unix时间戳),一个事务列表, 一个校验(工作证明算法生成的证明)和前一个块的哈希。block = {'index': 2,'times...
区块链节点和区块区别_区块链的常识之,区块链节点,是什么?
weixin_39648492的博客
12-06
1750
专业科普:区块链节点,通常指的是区块链网络中的计算机,也就是说任何连接到区块链网络的计算机(包括手机,矿机等)都称为节点。比如说比特币网络,是一个公有链,用户在自己的联网电脑上运行比特币程序时,这个电脑就成为比特币区块链网络中的一个节点。是指下载了相关加密货币的节点软件,以参与对等网络的计算机。操作一个节点可以是普通钱包用户,矿工或多人协作。不同的区块链对节点的数量和要求有所不同。通常,节点首先需...
区块链100讲:区块链为什么叫“区块”“链”?
weixin_33989780的博客
05-04
384
《区块链100讲》第1讲我们用一个村里的账本解释了什么是区块链,今天继续第2讲,看看什么是“区块”,它们是怎么“链”起来的,“区块”里包含了什么?
1
区块链由区块链接而成
**区块链由一串使用密码学算法产生的区块链接而成。**每一个区块上写满了交易记录,区块按顺序相连形成链状结构,也就是区块链大账本。
区块链技术把数据库中需要存储的数据分成了不同的区块。以比特币为例,矿工在生成新区块时,需要根...
公有链、私有链和联盟链
weixin_33701294的博客
06-14
515
目前来说,根据不同的应用场景以及用户需求,区块链大致可以分为公有链(Public Blockchain)、私有链(Private Blockchain)以及联盟链(Consortium Blockchain)三大类。
其中去中心化程度最高的是公有链。这种以比特币以及以太坊为代表的公有区块链,不受第三方机构控制,世界上所有的人都可读取链上的数据记录、参与交易以及竞争新区块的记账权等。...
区块链节点和区块区别_区块链中主链和侧链的区别
weixin_39663933的博客
12-06
1294
区块链尤其是公有链都有主网和测试网。主网是区块链社区公认的可信区块链网络,其交易信息被全体成员所认可。有效的区块在经过区块链网络的共识后会被追加到主网的区块账本中。按区块链网络的独立程度,分为两种:主链、侧链。两者的区别如下:1、主链指正式上线的,可以独立运行的区块链网络,主链又叫主网、母链,简单来说就是万链之母,能生链的链就叫做母链。2、侧链相对于主链的概念而言,只要遵守侧链协议...
ospf多区域虚链接网络
最新发布
06-02
OSPF(Open Shortest Path First)协议是一种基于链路状态的路由协议,它支持多个区域之间的路由。在OSPF中,不同的区域通常是通过区域边界路由器(ABR)连接起来的。但是,当两个区域之间没有直接相连的链路时,可以使用OSPF的虚链接功能来连接它们。
虚链接是一种逻辑连接,它允许在OSPF网络中模拟一个直接相连的链路。在OSPF中,虚链接是通过在两个区域之间的ABR上配置的。配置虚链接需要指定两个ABR之间的IP地址和虚链接的ID。
当配置了虚链接后,OSPF将会把两个区域看成是直接相连的,并且通过虚链接传输的路由信息将会被当做是直接相连的链路上的路由信息来处理。这样,两个区域之间的路由信息就可以被有效地传输和交换了。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
颠覆认知
CSDN认证博客专家
CSDN认证企业博客
码龄11年
暂无认证
5
原创
26万+
周排名
83万+
总排名
2万+
访问
等级
188
积分
6
粉丝
10
获赞
6
评论
27
收藏
私信
关注
热门文章
什么是区域链?
16697
Mybatis include入参实现sql可复用
4184
重新加载springboot应用上的更改,而不需要重新启动服务器?
1144
小理解JavaConfig
436
Nginx
283
分类专栏
mybatis
1篇
redis
1篇
spring boot
3篇
nginx
1篇
最新评论
Mybatis include入参实现sql可复用
瓦尔德的田野:
xml没打上去
Mybatis include入参实现sql可复用
菜机程序员:
本地启动没有问题,发布到服务器上找不到这个mapper怎么解决
Mybatis include入参实现sql可复用
清风ww:
试出来了,如果是mapper接口传入
Mybatis include入参实现sql可复用
清风ww:
什么是区域链?
枕水悠悠寄长君:
给我发100块,我去帮你要回来
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Mybatis include入参实现sql可复用
Redis安装后需要更改
Nginx
2020年6篇
2018年1篇
2017年1篇
目录
目录
分类专栏
mybatis
1篇
redis
1篇
spring boot
3篇
nginx
1篇
目录
评论 2
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
什么是区块链技术?- 区块链简介 - AWS
什么是区块链技术?- 区块链简介 - AWS
跳至主要内容
单击此处以返回 Amazon Web Services 主页
联系我们
支持
中文(简体)
我的账户
登录
创建 AWS 账户
re:Invent
产品
解决方案
定价
文档
了解
合作伙伴网络
AWS Marketplace
客户支持
活动
探索更多信息
关闭
عربي
Bahasa Indonesia
Deutsch
English
Español
Français
Italiano
Português
Tiếng Việt
Türkçe
Ρусский
ไทย
日本語
한국어
中文 (简体)
中文 (繁體)
关闭
我的配置文件
注销 AWS Builder ID
AWS 管理控制台
账户设置
账单与成本管理
安全证书
AWS Personal Health Dashboard
关闭
支持中心
专家帮助
知识中心
AWS Support 概述
AWS re:Post
单击此处以返回 Amazon Web Services 主页
免费试用
联系我们
re:Invent
产品
解决方案
定价
AWS 简介
入门
文档
培训和认证
开发人员中心
客户成功案例
合作伙伴网络
AWS Marketplace
支持
AWS re:Post
登录控制台
下载移动应用
什么是云计算?
云计算概念中心
Amazon Managed Blockchain
区块链
什么是区块链技术?
创建 AWS 账户
什么是区块链技术?
为什么区块链很重要?
不同行业如何使用区块链?
区块链技术具有哪些功能?
区块链技术包含哪些关键组件?
区块链的工作原理是什么?
区块链网络有哪些类型?
什么是区块链协议?
区块链技术是如何发展的?
区块链技术有哪些好处?
比特币与区块链之间有什么区别?
数据库与区块链之间有什么区别?
区块链与云有什么区别?
什么是区块链即服务?
什么是 AWS 区块链服务?
什么是区块链技术?
区块链技术是一种高级数据库机制,允许在企业网络中透明地共享信息。区块链数据库将数据存储在区块中,而数据库则一起链接到一个链条中。数据在时间上是一致的,因为在没有网络共识的情况下,您不能删除或修改链条。因此,您可以使用区块链技术创建不可改变的分类账,以便跟踪订单、付款、账户和其他交易。系统内置的机制可以阻止未经授权的交易条目并在这些交易的共享视图中创建一致性。
为什么区块链很重要?
传统数据库技术为记录金融交易带来了很多难题。例如,在房地产销售领域。在交换资金后,房地产的所有权将转移给买方。买卖双方中的任何一方均可记录货币交易,但任何一方的来源均不可信。即便卖方已收款,也可轻松声称他们未收款;同样,即便买方未付款,也可辩称他们已付款。
为了避免潜在的法律问题,需要一个可信的第三方负责监督和验证交易。这种中央机构的存在,不仅会使交易复杂化,还会造成单点漏洞。如果该中央数据口遭到入侵,双方都有可能蒙受损失。
区块链通过创建去中心化的防篡改系统来记录交易,可以缓解此类问题。在房地产交易场景中,区块链可分别为买方和卖方创建一个分类账。所有交易都必须获得双方批准,并将在双方的分类账中实时更新。历史交易中的任何损坏都会导致整个分类账损坏。区块链技术的这些属性以使其用于各个行业部类,包括比特币 (Bitcoin) 等数字货币的创造。
不同行业如何使用区块链?
区块链是一种新兴技术,很多行业都以创新方式采用了此技术。我们将在以下小节中介绍不同行业中的一些使用案例:
能源
多家能源公司使用区块链技术创建点对点能源交易平台,并简化可再生能源的获得。例如,考虑以下用途:
多家基于区块链的能源公司创建了交易平台,用于个人之间的电力销售。拥有太阳能电池板的业主使用此平台将其多余的太阳能销售给邻居。该流程大部分是自动化的:智能电表创建交易,区块链则记录交易。
借助基于区块链的众筹计划,用户可在缺乏能源获得途径的社区内赞助和拥有太阳能电池板。在太阳能电池板建好后,赞助商还可以向这些社区收取租金。
金融
传统金融系统(如银行和证券交易所)使用区块链服务来管理在线支付、账户和市场交易。例如,新加坡交易所(Singapore Exchange Limited)是一家在整个亚洲提供金融交易服务的投资控股公司,该公司使用区块链技术构建了更高效的跨行支付账户。通过采用区块链,该公司解决了多个难题,包括数千项金融交易的批处理和手动对账。
媒体和娱乐
多家媒体和娱乐公司使用区块链系统来管理版权数据。版权验证对于艺术家的公平补偿至关重要。需要多次交易才能记录版权内容的销售或转让。 日本索尼音乐娱乐公司(Sony Music Entertainment Japan)使用区块链服务使数字版权管理更加高效。该公司成功使用区块链策略提高了版权处理效率并降低了成本。
零售
多家零售公司使用区块链跟踪商品在供应商与买家之间的转移。例如,Amazon 零售为一套分布式分类账技术系统申请了专利,该系统使用区块链技术来验证并确保在该平台上销售的所有商品均为正品。Amazon 卖家可以通过允许参与者(如制造商、快递公司、分销商、最终用户和二级用户)向证书颁发机构注册后将事件添加到分类账,映射其全球供应链。
区块链技术具有哪些功能?
区块链技术具有以下主要功能:
去中心化
区块链中的去中心化是指将控制权和决策权从中心化实体(个人、组织或团体)转让给分布式网络。去中心化区块链网络使用透明度来减少对参与者之间取得信任的需要。这些网络还以削弱网络功能性的方式,阻止参与者彼此施加权力或控制。
不可变性
不可变性是指某些内容不能更改或改变。一旦某个参与者将交易记录到共享分类账中,则任何参与者均不能篡改该交易。如果某个交易记录包含错误,则您必须添加新交易以修正错误,并且整个网络均可看见这两个交易。
共识
区块链系统将建立关于参与者就记录交易达成共识的规则。仅当网络中的大部分参与者都同意时,才能记录新交易。
区块链技术包含哪些关键组件?
区块链架构包含以下主要组件:
分布式分类账
分布式分类账是区块链网络中用于存储交易的共享数据库,如团队中的每个人均可编辑的共享文件。在大多数共享文本编辑者中,任何拥有编辑权限的人员均可删除整个文件。但分布式分类账技术对于谁能编辑以及如何编辑具有严格规则。一旦条目已被记录,您就无法删除它们。
智能合约
很多公司使用智能合约来自行管理业务合约,而不需要第三方的帮助。智能合约是存储在区块链系统上的程序,这些程序将在符合预先确定的条件时自动运行。这些程序将运行条件语句检查,以便能够放心地完成交易。例如,某家物流公司可能拥有一份智能合约,约定一旦商品抵达港口将自动进行付款。
公钥加密
公钥加密是一种安全功能,用于唯一标识区块链网络中的参与者。此机制将为网络成员生成两组密钥。一组密钥是公钥,对于网络中的每个人都是公用的。另一组密钥是私钥,对于每个成员都是唯一的。私钥与公钥配合使用,解锁分类账中的数据。
例如,John 和 Jill 是网络中的两个成员。John 记录了一项交易,并用其私钥进行了加密。Jill 可以使用其公钥解密该交易。通过这种方式,Jill 可以确信 John 进行了该交易。如果 John 的私钥已被篡改,则 Jill 的公钥不会发挥作用。
区块链的工作原理是什么?
虽然区块链的底层机制非常复杂,我们将通过以下步骤提供简要概述。区块链软件可以自动执行以下大部分步骤:
第 1 步 – 记录交易
区块链交易显示实体资产或数字资产从区块链网络中的一方向另一方的转移。该交易以区块的形式记录,可能包括如下细节:
谁参与了该交易?
交易期间发生了什么情况?
交易是在何时进行的?
交易是在哪里进行的?
为什么进行该交易?
交换了多少资产?
交易期间符合多少前提条件?
第 2 步 – 达成共识
分布式区块链网络中的大多数参与者必须就已记录的交易是有效的达成一致。根据网络类型,达成协议的规则可能有所不同,但通常是在网络开始建立时就制定好的。
第 3 步 – 将区块链接起来
一旦参与者达成了共识,会将区块链中的交易写入区块,区块就相当于分类账账簿中的页面。连同交易一起,还会将一个加密哈希附加到新区块。该哈希作为将区块链接在一起的链条。如果有意或无意修改了区块的内容,则该哈希值也将更改,这将提供一种检测数据篡改的方式。
因此,区块将与链条安全地链接在一起,且您无法编辑它们。每增加一个区块,都会强化前一个区块的验证,因而也会强化整个区块链的验证。这就像是堆砌木块建塔一样。您只能在前一层木块之上堆叠木块,如果您从塔的中间取出一个木块,则整座塔将垮塌。
第 4 步 – 共享分类账
该系统会将中心分类账的最新副本分发给所有参与者。
区块链网络有哪些类型?
有四种主要类型的去中心化或分布式区块链网络:
公有区块链网络
公有区块链无需权限,任何人均可加入它们。此类区块链的所有成员享有读取、编辑和验证区块链的平等权限。人们主要将公有区块链用于交换和挖掘加密货币,如比特币、以太坊 (Ethereum) 和莱特币 (Litecoin)。
私有区块链网络
一个组织可以控制多个私有区块链,又称为托管式区块链。该机构决定谁能成为成员,以及他们在该网络中拥有哪些权限。私有区块链只是部分去中心化,因为它们具有访问限制。Ripple 就是一个私有区块链的示例,它是一个面向企业的数字货币交换网络。
混合区块链网络
混合区块链结合了私有网络和公有网络的元素。公司可随公有系统一起建立私有、基于权限的系统。通过这种方法,公司可以控制对区块链中存储的特定数据的访问,同时保持其余数据处于公开状态。公司使用智能合约允许公有成员检查私有交易是否已经完成。例如,混合区块链可以授予对数字货币的公有访问权限,同时保持银行拥有的货币处于私有状态。
联盟区块链网络
联盟区块链网络由一组组织负责监管。多家预先选择的组织共同承担维护区块链及确定数据访问权限的职责。对于其中很多组织拥有共同目标并可通过共担责任而获益的行业,通常更喜欢联盟区块链网络。例如,全球航运业务网络联盟 (Global Shipping Business Network Consortium) 是一个非营利性区块链联盟,该联盟致力于实现航运业数字化,以及加强海运业运营商之间的合作。
什么是区块链协议?
术语区块链协议一词是指可用于应用程序开发的不同类型的区块链平台。每种区块链协议都采用基本区块链原则来适应特定行业或应用需求。以下小节提供了一些区块链协议的示例:
Hyperledger Fabric
Hyperledger Fabric 是一个开源项目,包含一套工具和库。企业可以使用它来迅速有效地构建私有区块链应用程序。它是一种模块化通用框架,提供独特的身份管理和访问控制功能。这些功能使其非常适合各种应用,如供应链的跟踪和追踪、贸易金融、忠诚度和奖励,以及金融资产的清算结算。
以太坊
以太坊是一种去中心化开源区块链平台,人们可以将其用于构建公有区块链应用程序。企业以太坊 (Ethereum Enterprise) 专为企业使用案例而设计。
Corda
Corda 是一种专为企业而设计的开源区块链项目。借助 Corda,您可以构建可互操作的区块链网络,用于在严格保密的情况下进行交易。企业可以使用 Corda 的智能合约技术直接进行有价值的交易。其大部分用户是金融机构。
Quorum
Quorum 是一种源自以太坊的开源区块链协议。该协议专为在两种区块链网络中使用而设计:私有区块链网络,其中只有一个成员拥有所有节点;或者联盟区块链网络,其中包含多个成员,每个成员拥有该网络的一部分。
区块链技术是如何发展的?
区块链技术起源于 1970 年代末,当时一位名为 Ralph Merkle 的计算机科学家申请了哈希树(又名 Merkle 树)的专利。这些树是一种计算机科学结构,通过使用加密将区块链接起来,用于存储数据。在 1990 年代末,Stuart Haber 和 W. Scott Stornetta 使用 Merkle 树实现了无法篡改文档时间戳的系统。这是区块链历史上的首个实例。
该技术一直在不断发展,已经经过以下三代:
第一代 – 比特币和其他虚拟货币
2008 年,一个仅知道名字为中本聪 (Satoshi Nakamoto) 的匿名个人或团体,概述了区块链技术的现代形态。中本聪的比特币区块链理念将 1 MB 信息区块用于比特币交易。比特币区块链系统的很多功能,即便是今天也仍处于区块链技术的中心地位。
第二代 – 智能合约
在第一代加密货币出现后的几年,开发人员开始考虑加密货币以外的区块链应用。例如,以太坊的发明者们决定在资产转让交易中使用区块链技术。他们的重要贡献就是智能合约功能。
第三代 – 未来
随着众多公司发现和实现新应用,区块链技术也在不断发展和成长。很多公司正在解决规模和计算能力的限制,在正在进行的区块链革命中,潜在机会是无限的。
区块链技术有哪些好处?
区块链技术可为资产交易管理带来很多好处。我们将在以下小节中列出其中部分好处:
高级安全功能
区块链系统可以提供现代数字交易所需的高级安全和信任功能。对于有人会操纵底层软件为自己生成假币的恐惧始终存在。但区块链使用加密、去中心化和共识三项原则,创建了高度安全、几乎不可能篡改的底层软件系统。不会有单点故障,并且单个用户也无法更改交易记录。
更高的效率
企业间交易可能需要大量时间,还会造成运营瓶颈,尤其是在涉及合规和第三方监管机构时。区块链中的透明度和智能合约可使此类业务交易更快捷、更高效。
更快捷的审计
企业必须能以可审计的方式,安全地生成、交换、归档和重建电子交易。区块链记录按时间顺序不可变,这意味着所有记录均始终按时间顺序排列。这样的数据透明使得审计过程更加快捷。
比特币与区块链之间有什么区别?
比特币与区块链可以互换使用,但它们是两种不同的事物。由于比特币是区块链技术的早期应用,人们无意间开始使用比特币来指代区块链,因而造成了这种误用。但除比特币外,区块链技术还有很多应用。
比特币是一种在没有任何中心化控制的情况下运营的数字货币。最初创建比特币的目的在于在线进行金融交易,但现在已被视为可转换为任何其他全球货币(如美元或欧元)的数字资产。公有比特币区块链网络将创建和管理中心分类账。
比特币网络
公有分类账记录所有比特币交易,而世界各地的众多服务器则保存此分类账的副本。这些服务器就像银行。只是每个银行仅了解其客户兑换的资金,而比特币服务器则了解世界上的每一笔比特币交易。
任何拥有闲置计算机的人员均可搭建一台此类服务器,称为节点。这就像是开设您自己的比特币银行,而不是银行账户。
比特币挖矿
在公有比特币网络上,成员通过求解加密方程来创建新区块,以挖掘加密货币。该系统将向该网络公开广播每一笔新交易,并在各节点间共享这一信息。每十分钟左右,挖矿者会将这些交易收集到一个新区块中,再将这些新区块永久添加到区块链中,该区块链就像比特币的最终账簿。
由于软件进程的复杂性,因此挖矿需要大量计算资源,并且需要很长时间。作为交换,挖矿者可以赚取少量加密货币。挖矿者相当于记录交易并收取交易费用的现代职员。
该网络上的所有参与者都将使用区块链加密技术,就谁拥有哪些比特币达成共识。
数据库与区块链之间有什么区别?
区块链是一种特殊类型的数据库管理系统,拥有比常规数据库更多的功能。我们将在下面的列表中介绍传统数据库与区块链之间的一些重要区别:
区块链去中心化控制,而不会破坏现有数据中的信任。这在其他数据库系统中是不可能实现的。
参与交易的公司无法共享其整个数据库。但在区块链网络中,每家公司都拥有其分类账副本,并且该系统将自动维护两份分类账之间的一致性。
虽然在大多数数据库系统中,您都可以编辑或删除数据,但在区块链中,您只能插入数据。
区块链与云有什么区别?
术语云一词是指可以在线访问的计算服务。您可以通过云访问软件即服务 (SaaS)、产品即服务 (PaaS) 和基础设施即服务 (IaaS)。云提供商负责管理其硬件和基础设施,并为您提供通过互联网访问这些计算资源的权限。他们还会提供更多其他资源,而不只是数据库管理。如果您想加入公有区块链网络,则需提供您的硬件资源,用于存储您的分类账副本。您也可以将云上的服务器用于此目的。有些云提供商也在云上提供完整的区块链即服务 (BaaS)。
什么是区块链即服务?
区块链即服务 (BaaS) 是第三方在云上提供的一种托管式区块链服务。您可以开发区块链应用程序和数字服务,而云提供商则提供基础设施和区块链构建工具。您要做的就是自定义现有区块链技术,以便更快捷、更高效地采用区块链。
什么是 AWS 区块链服务?
AWS 区块链服务提供多种专门构建的工具,以满足您的要求。您可以使用这些服务构建从中心化分类账数据库(维护不可变的交易记录)到多方、完全托管式区块链网络(帮助消除中介机构)的一切。AWS 拥有众多来自合作伙伴的经过验证的区块链解决方案,可为所有主要区块链协议提供支持,包括 Hyperledger、Corda、以太坊、Quorum 等。因此,您可以借助 AWS 更轻松、更快捷、更高效地开发区块链和分类账应用程序。部分有用的 AWS 区块链服务如下:
Amazon Quantum Ledger Database(QLDB)是一种完全托管式分类账数据库,提供了一个透明、不可变、可以加密方式验证的交易日志。它包含一个内置日志,用于存储每个准确且已排序的数据更改条目。该日志为仅追加型,这意味着用户可以向该日志添加数据,但不能覆盖或删除数据。
Amazon Managed Blockchain 是一种完全托管式服务,让您可以使用 Hyperledger Fabric 和以太坊轻松加入公有网络或创建和管理可扩展的私有网络。立即创建 AWS 账户开始使用区块链。
“什么是 Amazon Managed Blockchain?”视频
什么是 AWS 上的区块链?
相关 AWS 产品
排序依据
服务名称
服务名称
产品类别
推出日期(由新到旧)
启动日期(先为最旧)
未找到任何结果
1
…
…
AWS 的后续步骤
查看其他与产品相关的资源
了解关于区块链服务的更多信息
注册免费账户
立即享受 AWS 免费套餐。
注册
开始在控制台中构建
在 AWS 管理控制台中开始构建。
登录
登录控制台
了解有关 AWS 的信息
什么是 AWS?
什么是云计算?
AWS 包容性、多样性和公平性
什么是 DevOps?
什么是容器?
什么是数据湖?
AWS 云安全性
最新资讯
博客
新闻稿
AWS 资源
入门
培训和认证
AWS 解决方案库
架构中心
产品和技术常见问题
分析报告
AWS 合作伙伴
AWS 上的开发人员
开发人员中心
软件开发工具包与工具
运行于 AWS 上的 .NET
运行于 AWS 上的 Python
运行于 AWS 上的 Java
运行于 AWS 上的 PHP
运行于 AWS 上的 JavaScript
帮助
联系我们
获取专家帮助
提交支持工单
AWS re:Post
Knowledge Center
AWS Support 概览
法律人员
亚马逊云科技诚聘英才
创建账户
Amazon 是一个倡导机会均等的雇主:
反对少数族裔、妇女、残疾人士、退伍军人、性别认同和性取向歧视。
语言
عربي
Bahasa Indonesia
Deutsch
English
Español
Français
Italiano
Português
Tiếng Việt
Türkçe
Ρусский
ไทย
日本語
한국어
中文 (简体)
中文 (繁體)
隐私
|
网站条款
|
Cookie 首选项
|
© 2023, Amazon Web Services, Inc. 或其联属公司。保留所有权利。
终止对 Internet Explorer 的支持
知道了
AWS 对 Internet Explorer 的支持将于 07/31/2022 结束。受支持的浏览器包括 Chrome、Firefox、Edge 和 Safari。
了解详情 »
知道了
区块链是什么通俗解释 - 知乎
区块链是什么通俗解释 - 知乎首发于无痕区块链切换模式写文章登录/注册区块链是什么通俗解释无痕掘金记个人成长,流量玩法,区块链研究,掘金案例区块链技术如今非常流行,但是它到底是什么呢?是如何工作的,解决了哪些问题,又有哪些用途呢?区块链最早出现在1991年,由一群研究人员用来给数字化文档打时间戳。以使得这些文档不能被篡改,看上去区块链技术就像一位公证人一样。然而这个技术自从那之后就没有再发挥其它作用,直到2009年一个叫中本聪的人采用区块链技术创造了数字加密货币比特币。区块链和比特币等数字货币的关系区块链并不等同于比特币。区块链是比特币的底层技术和基础架构,而比特币是区块链的一种应用。区块链是什么区块链本质上是一个去中心化数据库。是一种分布式数据存储,点对点传输,共识机制,加密算法等计算机技术的新型应用模式。举个例子:比如说小明找大康借一百块钱,但大康怕他赖账,于是就找来村长做公证,并记录下这笔账,这个就叫中心化。但如果,你不找村长,直接拿个喇叭在村里大喊“我大康借给小明一百块钱!请大家记在账本里”,这个就叫去中心化。以前村长德高望重,掌握全村的账本,大家都把钱存在他这里,这是过去大家对中心化的信任。现在,大家都担心村长会偷偷挪用大家的钱,怎么办呢? 于是大家就给每个人都发了一本账本,任何人之间转账都通过大喇叭发布消息,收到消息后,每个人都在自家的账本上记下这笔交易,这就叫去中心化。有了分布式账本,即使老孔或老周家的账本丢了也没关系,因为老朱、老杨等其他家都有账本。区块链有什么特点:去中心化:因为区块链的去中心化,它可以帮助点对点交易,因此,无论你是在交易还是交换资金,都无需第三方的批准。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。开放性:区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。开放性比较少被提到,但它也很重要,甚至可以说开放性是去中心化特性的保证之一。安全:不受任何人或实体的控制,数据在多台计算机上完整复制(分发),攻击者无单一的入口点。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。不可篡改:信息通过密码学技术进行加密,一旦进入区块链,任何信息都无法更改。匿名性:除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。区块链的匿名性特点,在一定程度上很好地保护了用户的隐私。但是区块链的匿名性也颇具争议,因为它在人们交易、隐私方面起到了重要的保护作用,也为一些违法犯罪行为提供了“保护伞”。区块链应用领域金融领域区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付。首先是因为区块链的去中心化特性带来的优势。在传统的金融机构,如银行,老王想给小张转一笔钱,他需要先通过中心机构银行的确认才能把钱转到小张手中,而在区块链网络中,老王不需要通过银行就能把钱转给小张,这不仅提高了交易的效率,还在一定程度上节约了交易的成本。目前火爆的defi,就是去中心化金融,虽然现在还在初始阶段,各方面都还不够成熟,但相比2017年的1-C-0空气,已经有了一定的落地。物联网和物流领域区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。将物流和供应链行业带入现代化将在全球范围内产生广泛影响。通过降低整体成本并允许物流流程中的实体与更多的个体代理商合作,整个物流将会有全面的改进。这些效率的提高最终将导致在流程的每个阶段节省成本。该领域被认为是区块链一个很有前景的应用方向。公共服务领域区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是这些领域的中心化特质也带来了一些问题,可以用区块链来改造。比如,对于普通企业来说,往往最难的就是去政府部门办事,不但需要各种证明文件,而且还需要跑多个部门,不同的部门要求还不一样。主要原因就是原先各个政府部门的数据都是孤立的,彼此不共享,但如果都能在信息高度安全的基础上“上链”,数据实现共享,则办事人就能实现只需在一个部门内解决多数问题。因为所有办事流程交付给智能合约后,后面就可以自动处理并流转,所谓“一网通办”并不再是梦想。数字版权领域通过区块链技术,可以对作品进行鉴权,证明文字、视频、音频等作品的存在,保证权属的真实、唯一性。作品在区块链上被确权后,后续交易都会进行实时记录,实现数字版权全生命周期管理,也可作为司法取证中的技术性保障。拿一首歌曲来说,如果原作人申请了该歌曲的版权,但是由于中心化机构存在存储不安全、不公开透明以及易被利益驱使的缺陷,版权可能被他人进行篡改,这样很可能损害了歌曲原创者的权益,而如果说该歌曲的数字信息及版权信息记录在了区块链上,借助区块链的公开透明以及防篡改性等优势,就能很好地避免版权信息被恶意篡改的情况发生了。保险领域在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。未来区块链作为保险行业重要的基础设施及工具,将与云计算、大数据、人工智能、物联网等众多新兴技术融合,实现更多的保险行业创新应用,构建创新型、平台式的保险服务创新生态体系。在区块链的推动下,未来将出现开放保险。利用区块链技术的开放性,将可改变传统保险业中的“信息孤岛”情况。另外,区块链未来也可提升保险互信、成就保险普惠。区块链的应用前景巨大,将彻底革新现有价值传递体系在民生的各个领域,未来在区块链都会应用的到,可以想象的是,当社会的各个领域广泛用上了区块链,它将成为信息时代的重要基础设施,能解决很多当前令我们头疼的事儿。更多文章比特币到底是什么东西,为什么值钱,有什么价值新手如何购买比特币等加密货币详细教程编辑于 2023-03-24 21:26・IP 属地河南区块链技术区块链(Blockchain)区块链价值赞同 16610 条评论分享喜欢收藏申请转载文章被以下专栏收录无痕区块链区块链知识科普,探索区块链新
区块链是什么概念,一文看懂区块链 - 知乎
区块链是什么概念,一文看懂区块链 - 知乎切换模式写文章登录/注册区块链是什么概念,一文看懂区块链律柒合戎兴旺律师开创法律服务创新品牌“律七团”及“创昱合”。律七团讲解:区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任“基础,创造了可靠的“合作”机制,具有广阔的运用前景。2019年1月10日,国家互联网信息办公室发布《区块链信息服务管理规定》。“区块链”已走进大众视野,成为社会的关注焦点。什么是区块链?从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。这么解释,,很多人还是看不懂,那么小编做一个简单的比喻。假设环境:假如你们家里有个账本,让你来记账。在以前,就是爸爸妈妈把工资交给你,让你记到账本上。中间万一你贪吃,想买点好吃的,可能账本上的记录会少十几块。这只是举一个例子,小编相信小时候大家可能都想从爸爸妈妈的口袋里拿点钱来花。用区块链解决问题的方法:如果用全家总动员的方式记账,上述说的问题就不会有了,因为你在记账,你爸爸也在记账,你妈妈也在记账,他们都能看到总账,你不能改,爸爸妈妈也不能改,这样想买烟抽的爸爸和想贪吃的你都没办法啦。也就是说,区块链这个分布式的数字账本记录了所有曾经发生并经过系统一致认可的交易每一个区块就是一个账本它不仅能记录交易信息还有更多功能2多功能的“区块链”它不仅可以记录每一笔交易,还可以通过编程来记录几乎所有对人类有价值的事物:出生和死亡证明、结婚证、所有权契据、学位证、财务账户、就医历史、保险理赔单、选票、食品来源以及任何其他可以用代码表示的事物。每个区块就像一个硬盘,把以上这些信息全部保存下来,再通过密码学技术进行加密。这些被保存的信息就无法被篡改。区块链系统每10分钟会检验期间产生的所有数据(比如交易记录以及该区块何时被编辑或创建的记录等),并将这些数据储存在一个新的区块上,这个区块会与前一个区块连接,从而形成一根链条。每个区块都必须包含前一区块的相关信息才能生效。这么看来区块链拥有一些超强的技术特点3区块链的特点1、异常安全:不同于公司或政府机构拥有的集中化数据库,区块链不受任何人或实体的控制,数据在多台计算机上完整地复制(分发)。与集中式数据库不同,攻击者没有一个单一的入口点,数据的安全性更有保障。2、不可篡改性:一旦进入区块链,任何信息都无法更改,甚至管理员也无法修改此信息。一个东西一旦出现就再也没法改变,这种属性对于人类目前所处的可以更改、瞬息万变的网上世界而言意义重大。3、可访问:网络中的所有节点都可以轻松访问信息。4、无第三方:因为区块链的去中心化,它可以帮助点对点交易,因此,无论您是在交易还是交换资金,都无需第三方的批准。区块链本身就是一个平台。区块链技术是比特币的底层技术,比特币在没有任何中心化机构运营和管理的情况下,多年运行非常稳定,没有出现过任何问题,所以有人注意到了它的底层技术,把比特币技术抽象提取出来,称之为区块链技术,或者分布式账本技术。区块链的未来发展和应用场景到底是什么样的?1、数字身份很多人开各种证明时会遇到“证明我妈是我妈”的窘境,有了区块链,就再也不用担心了。原来我们的出生证、房产证、婚姻证等等,需要一个中心节点,大家才能承认。一旦跨国,合同和证书可能就失效了,因为缺少全球性的中心节点。区块链技术不可篡改的特性从根本上改变了这一情况,我们的出生证、房产证、婚姻证都可以在区块链上公证,变成全球都信任的东西,当然也可以轻松证明 “我妈是我妈”。2、卫生保健简单说就是利用区块链建立有时间戳的通用记录存储库,进而达到不同数据库都可提取数据信息的目的。例如你去看病,不用换个医院就反复检查,也不用为报销医保反复折腾,可以节省时间和开销。3、旅行消费例如我们经常会用携程、美团等app来寻找并下单入住酒店和其他服务,各个平台从中获得提成。而区块链的应用正是除去中间商,并为服务提供商和客户创建安全、分散的方式,以达到直接进行连接和交易的目的。4、更便捷的交易区块链可以让支付和交易变得更高效、更便捷。区块链平台允许用户创建在满足某些条件时变为活动的智能合约,这意味着当交易双方同意满足其条件时,可以释放自动付款。5、严把产品质量关假如你买了一个苹果,在区块链技术下,你可以知道从果农的生产到流通环节的全过程。在这其中有政府的监管信息、有专业的检测数据、有企业的质量检验数据等等。智慧的供应链将使我们日常吃到的食物、用到的商品更加安全,让我们更加放心。6、产权保护艺术创作者把自己的作品放在区块链上,有人使用了他的作品,他就能立刻知道。相应的版税也会自动支付给创作者。区块链技术既保护了版权,也有助于创作者更好更直接地向消费者售卖自己的作品,而不再需要发行公司的协助。根据西班牙最大银行桑坦德发布的一份报告显示,2020年左右如果全世界的银行内部都使用区块链技术的话,大概每年能省下200亿美元的成本。这样的数据足以说明“区块链”给传统金融领域。编辑于 2020-03-31 21:50赞同 161 条评论分享喜欢收藏申请
什么是区域链? - 知乎
什么是区域链? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册区域链什么是区域链?区域链和物联网有什么联系??显示全部 关注者183被浏览128,404关注问题写回答邀请回答好问题添加评论分享8 个回答默认排序薛定谔的猫考研狗 关注最近,美股中很多涉及区块链和虚拟币的公司股价暴涨,不否认有炒作成分,但如果你就此认为,区块链不过是一个爆炒的泡沫而已,那,你很可能会错过真正的东西。实际上,正是因为有区块链技术做底层支撑,而且持续了8年多都运行无碍,比特币才赢得了那么多人的信任,并且一涨再涨。该如何理解区块链?举个栗子。2018年俄罗斯世界杯,A和B赌球,约定赌金100元,A赌阿根廷队夺冠,B赌巴西队夺冠。问题来了,A和B互相怀疑对方的人品兼赌品,担心对方赌输了赖账不付钱。好吧,找个不参与赌球的C担任公证人,从A和B那里各收取100元赌金——若阿根廷队赢,200元归A;若巴西队赢,200元归B。世界杯比赛结束了——嗯,C带着200元钱跑路了。区块链,就是用来解决A、B、C之间互不信任问题的技术。拿这个赌球事件来说,可以写一个智能合约,A和B各自打100元钱进入这个智能合约账户,这个200元的账户不被任何人控制,只被数字和代码控制,当世界杯结果出来之后,这个合约被自动执行……嗯,这就是区块链技术。简单定义,区块链;再者,由于没有中心化的中介机构存在,让所有东西都通过预先设定的程序自动运行,不仅能够大大降低成本,也能提高效率,而由于每个人都有相同的账本,能确保账本记录过程是公开透明的。有人问了,区块链到底解决了什么问题?区块链最重要的作用是解决了信用中介问题。在过去,两个互不认识和信任的人要达成协作,必须依靠第三方。比如支付行为,任何一种转账,必须要有银行或者支付宝这样的机构存在。但是,通过区块链技术,比特币实现了在没有任何中介机构参与的情况下,完成无数个陌生人之间相互信赖的转账行为。这是互联网技术在应用领域的重大突破——尤其是,比特币迄今已经运行了8年时间,区块链向世人证明了它的可靠性,而这种技术很有可能在接下来几十年整个改造人类的信任方式。区块链技术在比特币这里集大成并展现威力,但罗马并不是一天建成的。1982年:“拜占庭将军”问题的提出LeslieLamport等人提出拜占庭将军问题(Byzantine Generals Problem,有兴趣的人可以百度),把分散军队彼此取得共识、决定是否出兵的过程,延伸至运算领域,设法建立具有容错性的分散式系统,即使部分节点失效仍可确保系统正常运行,可让多个基于零信任基础的节点达成共识,并确保资讯传递的一致性——2008年出现的比特币区块链,正是完美地解决了拜占庭将军问题。同一年,基于隐私安全,David Chaum提出了密码学的网络支付系统,这种思路最终成为比特币区块链在隐私安全面的雏形。1985年:椭圆曲线密码学的创立NealKoblitz和Victor Miller分别提出椭圆曲线密码学(Elliptic Curve Cryptography,ECC),首次将椭圆曲线用于密码学,建立公开金钥加密的演算法。相较于RSA演算法,采用ECC好处在于可用较短的金钥,达到相同的安全强度。1990年:eCash系统与PAXOS出现基于1982年的思路,DavidChaum建立起一套不可追踪的密码学网路支付系统,就是后来的eCash,不过当时的eCash并非去中心化系统。同年,Leslie Lamport提出具有高容错性的一致性演算法Paxos。1991年:确保数位文件安全的“时间戳”出现StuartHaber与W. Scott Stornetta提出,用时间戳确保数位文件安全的协议,此概念之后被比特币区块链系统所采用。1992年:椭圆曲线数位签章演算法ScottVanstone等人提出椭圆曲线数位签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA),为区块链的安全性建立了新标准。1997年:哈希现金(Hashcash)技术出现AdamBack 2002年正式发表论文,发明了Hashcash(散列现金)技术,成为一种工作量证明演算法(Proofof Work,POW),此演算方法仰赖成本函数的不可逆特性,从而达到容易被验证、却基本不能被破解的特性,最早被应用于阻挡垃圾邮件。Hashcash最后成为比特币区块链所采用的关键技术之一。1998年:匿名分散式电子现金系统B-money和Bit Gold出现WeiDai发表匿名的分散式电子现金系统B-money,引入工作量证明机制,强调点对点交易和不可篡改的特性。不过在B-money中,并未采用AdamBack提出的Hashcash演算法,但Wei Dai的许多设计被比特币区块链所采用。同年,Nick Szabo发明了去中心化的数位货币系统Bit Gold(字节黄金),参与者可贡献运算能力来解出加密谜题。2005年:可重复使用的工作量证明机制(RPOW)出现HalFinney提出了可重复使用的工作量证明机制(Reusable Proofs of Work,RPOW),结合B-money与AdamBack提出的Hashcash演算法来创造基于密码学的数字货币。2008年:区块链1.0——第I代加密货币比特币出现SatoshiNakamoto(中本聪)发表一篇关于比特币的论文,描述一个点对点电子现金系统,能在不具信任的基础之上,建立一套去中心化的电子现金交易系统。2012年:区块链2.0——智能资产与智能契约出现在市场去中心化的前提下,利用比特币和区块链技术,股票、债券均可以转换成数位资产,现实社会的金融资产均可以通过比特币、区块链技术来发行。一个案例,是2015年下半年纳斯达克交易所推出针对一级市场的交易平台Linq,其基于区块链技术来实现一级市场公司股权的交易——企业在IPO之前的股权交易可以通过Linq来实现,这样一来,在企业IPO之时,Linq就拥有企业股东和投资人的交易信息,这对于各家基金分析资产价值、决定是否介入IPO具有重要价值。2013-2015年:Blockchain 2.5——代币出现通过货币桥(代币),将区块链用于政府、医疗、科学、文化与艺术等领域。Blockchain 2.5技术,强调通过代币(货币桥)应用来实现分散式帐本、资料层区块链,及结合人工智慧等应用,无交易所的国际汇款网路以Ripple为代表,资料层、分散式储存则以Factom、MaidSafe为代表。2016-2017年:Blockchain 3.0——更复杂的智慧契约Blockchain3.0以Ethereum为代表,强调的是更复杂的智慧契约,其与Blockchain2.5和Blockchain2.0最大的区别在于,2和2.5均强调代币(货币桥)的应用,可用于金融领域联盟制区块链,用于金融资产的公开透明数字化——但3.0强调的是智能合约,强调规则和契约而非代币。区块链技术源于比特币,但其应用领域却绝不仅局限于加密货币。很多人并没有意识到,人类文明的核心在于信任系统。最初我们所选择的信任系统是自己的部落,这里有女人养护孩子和从事采集,有成年男子参加战斗和狩猎,有老人讲述生活经验和生产方法——可惜的是,因为个人的大脑皮层认知能力限制,这个信任系统的范围极其狭窄,总人数上限大约在150人左右,这被称为“邓巴数理论”。随着城市、分工和文字的出现,人类进入文明时代,并伴随着建立起一套“中心化的信任系统”——我们相信国王和他所领导政府,相信基于文字所颁布的一套法律系统,这样人类文明发展突破了150人左右的邓巴数限制,创造出了无数灿烂的文化。国家并不是最大的中心化信任系统,那些信奉某个圣人教导的宗教,比国家这个信任系统更为庞大,在人们的脑海中烙下深深的印记,这个信任系统如此庞大,一直到今天,人类的无数的冲突和困扰都来源于此。如果说人类有一个比宗教更强大的信任系统——那毫无疑问就是金钱系统。从公元前1000年到现在,东西方无数的国家和民族,他们可都为金钱操碎了心,因为相信黄金、白银和青铜的交换价值,他们努力生产劳动,努力把所有的实物财富兑换成黄金、白银和青铜,然后再用这些黄金、白银和青铜,去交换所需要的商品——基于这一套信任系统,人们创造了越来越多的贸易,直到把商业交换扩展到全球范围,几乎整个人类都被卷入其中并延续至今。因为黄金、白银和青铜的生产并不控制在某一个人或某个机构手里,所以人类的金钱系统一开始就是所谓“去中心化系统、分散式系统”,某一节点的崩溃根本不足以对这一信任系统产生影响——这也正是金钱信任系统绵延3000年并持续促进人类文明发展的重要因素。然而,这一套金钱系统的信誉最终毁于两次世界大战,当二战之后美国经济一家独大的时候,布雷顿森林体系寻求用纸币美元体系替代黄金价值体系,人类金钱信任系统从此神奇地被美联储逐步纳入囊中——尽管一开始还披着黄金的外衣。1971年尼克松宣布美国关闭黄金美元兑换窗口之后,金钱信任系统彻底失去了其最坚实的锚,失去了分布式系统建立信任的强韧基石,变成美联储独霸天下的一套中心化信任系统。可以肯定的说,当前人类的金钱信任系统(金融体系)颤巍巍地系于美元纸币,系于美联储的操作,系于美元抵押品背后的美国政府(美国国债)……1980年的猛烈通胀、2008年的金融危机两次历史事件也证明,基于信用美元的这套信任体系是如何的脆弱和不公平。既然没有一个国家政府愿意回到基于贵金属的分布式货币系统,信用货币系统就一定会陷入永远的膨胀而无法自控,总有人凭空地从所有使用货币的人兜里窃取财富……2009年,比特币出现了,它通过技术来重建人们之间去中心化的信任。别的行业不好说,但区块链技术可以让金融行业发生翻天覆地的变化。因为,金融行业运行的核心在于“信任”,如果区块链技术能够解决第三方信任问题,金融行业格局势必发生巨变。因为,无论银行、保险公司、信托公司乃至证券公司,其能够运行的根本原因在于中心化的信任系统——我们把钱存入银行,是相信银行不会跑路(因为背后有央行),相信能够帮我们找到好的企业贷款。但银行一转手就要吃走一半左右的利差(一年期存款2.5%左右,一年期贷款5%左右);我们买保险,是相信保费会在风险出现的时候帮助我们,结果,保费里只有一小部分真正发挥作用,大部分钱都付给保险公司核心CBD地段大楼和佣金去了,更别说各种模糊的、抠字眼的不理赔条款;我们买入信托资产,是因为相信信托公司会妥善处理我们的资产,没想到它转手把房地产公司债券打包卖给我们,一伸手先要拿走了1/3到1/2的收益;……为什么银行、保险公司和信托公司干这点儿屁事,还能拿走这么多?因为他们都是信用中介,只有他们有这样的信用让双方都信任!这就像A和B赌球要找C来做公证一样,因为A和B互不信任对方,只信任C,只有通过C,A和B赌球才能得以实现。可想而知,如果区块链技术能够直接让A和B实现信任,这个C的存在是不是显得特别多余?即便不是彻底多余,至少它也没这么重要,对不对?目前区块链分为匿名制和实名制两种,前者最典型的是比特币等加密货币,然而政府、银行和金融机构想采用的,都是结合许可证制度的实名制,进一步,政府还希望区块链技术能配合金融监管来管控节点,进而实现所谓的“反洗钱(AML)”与“身份验证(KYC)”功能……可惜的是,这个思路,天然就与区块链“去中心化”的理念违背和冲突。用支付宝来形容区块链技术,可能是最恰当的比喻。你在淘宝上买买买,结果担心付了钱商家不发货咋办?店家淘宝上卖卖卖,结果担心发货了收不到钱怎么办?用支付宝,天下无贼!买家先打钱给支付宝,然后支付宝告诉卖家已收款,买家确认收货,支付宝放款给卖家。有个大问题来了,马云爸爸的支付宝要是破产了(虽然可能性很低)咋办?用区块链智能合约,天下无骗!区块链技术的编程代码大都是开源公开的,这年头谁也别充大(马云爸爸也一样),大家用区块链技术做,不信任任何机构本身就比任何机构更可信。在国际银行业,现在已经有大量的国际信用证开始使用区块链智能合约来实现,其原理就和刚才讲到的支付宝一样。在支付行业,假设你要买一件商品,来一份区块链智能合约:A打钱,进入智能合约账户,买家卖家都能看见;B发货,智能合约记录,买家卖家都能看见;A收到货,确认无误,智能合约执行,B拿到钱,合约结束。在保险行业,航空意外险,来一份区块链智能合约:所有买航空保险的人,将钱打入一个智能合约账户,公开透明(数字代码);航班起飞-到达,现在本来就已经是公开透明的;某航班失事,合约自动执行,将相应额度的钱打入买保险人的账户。投资理财行业,基金公司,来一份区块链智能合约:所有买基金的人,将钱打入智能合约账户,公开透明(数字代码)约定投资期限;基金管理人买卖证券品种(可以设置不透明),显示智能合约账户净值;投资期结束,智能合约自动执行基金清算,根据约定将钱打入各账户,合约结束。在这里,我只是随便列举了目前的3个金融行业该如何使用区块链技术。实际上,如果能够使用区块链技术来构建一个信任系统,股权、房地产等资产的确权、交易和交割等,将变得极为便捷透明,而且由于账本不可篡改,赖账、修改合同、上当受骗、文件伪造、卷款潜逃等风险都会大大降低……对比一下今天股票交易和房地产交易的异同,你就会明白区块链技术的威力。当然,你也该想到了——区块链技术的应用,会让长期以来充当社会信用中介的大批政府部门无事可做,会极大程度降低整个社会的腐败和不公平程度……嗯,你觉得——这是好事呢?还是更好的事?过百赞了 谢谢各位大佬 撒花 :D编辑于 2018-03-13 22:43赞同 37368 条评论分享收藏喜欢收起Colhvwetc我们的时光 是无忧的时光 关注区域链简单直白的理解就是全民参与数据库记录。在任何时间区段如果有数据发生变化,系统内的任何人都可以进行记录,数据更新迭代系统会自动识别出最好最快最准确的记录并录入进区域链系统,同时会将时间段数据台账分享给系统内的每个人实现数据共享。 区域链消除的潜在交易双方的中介信用问题(去中心化)。没有第三方中介出现,不仅可以降低成本,还可以提高成交效率,数据更加准确可依赖。 看到有知友问区域链对普通人有哪些影响。在我看来,影响很小,除非是你想从事这方面创业。对于普通人来说,并不需要知道区域链作为比特币的底层技术是如何运作的,你只需要享受由区域链的推行而带来的便利就行了。 区域链大火,皆因比特币的光芒而获得过多的关注。多年来,比特币在没有任何运营和管理的情况下能够平稳运行,让更多人开始思考,也许区域链技术可以应用的范围更广,这项技术具有很强的拓展性,蕴藏了很大的开发空间。隐约觉得商业银行以后的日子会更难熬……编辑于 2018-06-12 09:24赞同 404 条评论分享收藏喜欢
区块链是什么通俗解释 - 知乎
区块链是什么通俗解释 - 知乎首发于无痕区块链切换模式写文章登录/注册区块链是什么通俗解释无痕掘金记个人成长,流量玩法,区块链研究,掘金案例区块链技术如今非常流行,但是它到底是什么呢?是如何工作的,解决了哪些问题,又有哪些用途呢?区块链最早出现在1991年,由一群研究人员用来给数字化文档打时间戳。以使得这些文档不能被篡改,看上去区块链技术就像一位公证人一样。然而这个技术自从那之后就没有再发挥其它作用,直到2009年一个叫中本聪的人采用区块链技术创造了数字加密货币比特币。区块链和比特币等数字货币的关系区块链并不等同于比特币。区块链是比特币的底层技术和基础架构,而比特币是区块链的一种应用。区块链是什么区块链本质上是一个去中心化数据库。是一种分布式数据存储,点对点传输,共识机制,加密算法等计算机技术的新型应用模式。举个例子:比如说小明找大康借一百块钱,但大康怕他赖账,于是就找来村长做公证,并记录下这笔账,这个就叫中心化。但如果,你不找村长,直接拿个喇叭在村里大喊“我大康借给小明一百块钱!请大家记在账本里”,这个就叫去中心化。以前村长德高望重,掌握全村的账本,大家都把钱存在他这里,这是过去大家对中心化的信任。现在,大家都担心村长会偷偷挪用大家的钱,怎么办呢? 于是大家就给每个人都发了一本账本,任何人之间转账都通过大喇叭发布消息,收到消息后,每个人都在自家的账本上记下这笔交易,这就叫去中心化。有了分布式账本,即使老孔或老周家的账本丢了也没关系,因为老朱、老杨等其他家都有账本。区块链有什么特点:去中心化:因为区块链的去中心化,它可以帮助点对点交易,因此,无论你是在交易还是交换资金,都无需第三方的批准。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。开放性:区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。开放性比较少被提到,但它也很重要,甚至可以说开放性是去中心化特性的保证之一。安全:不受任何人或实体的控制,数据在多台计算机上完整复制(分发),攻击者无单一的入口点。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。不可篡改:信息通过密码学技术进行加密,一旦进入区块链,任何信息都无法更改。匿名性:除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。区块链的匿名性特点,在一定程度上很好地保护了用户的隐私。但是区块链的匿名性也颇具争议,因为它在人们交易、隐私方面起到了重要的保护作用,也为一些违法犯罪行为提供了“保护伞”。区块链应用领域金融领域区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付。首先是因为区块链的去中心化特性带来的优势。在传统的金融机构,如银行,老王想给小张转一笔钱,他需要先通过中心机构银行的确认才能把钱转到小张手中,而在区块链网络中,老王不需要通过银行就能把钱转给小张,这不仅提高了交易的效率,还在一定程度上节约了交易的成本。目前火爆的defi,就是去中心化金融,虽然现在还在初始阶段,各方面都还不够成熟,但相比2017年的1-C-0空气,已经有了一定的落地。物联网和物流领域区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。将物流和供应链行业带入现代化将在全球范围内产生广泛影响。通过降低整体成本并允许物流流程中的实体与更多的个体代理商合作,整个物流将会有全面的改进。这些效率的提高最终将导致在流程的每个阶段节省成本。该领域被认为是区块链一个很有前景的应用方向。公共服务领域区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是这些领域的中心化特质也带来了一些问题,可以用区块链来改造。比如,对于普通企业来说,往往最难的就是去政府部门办事,不但需要各种证明文件,而且还需要跑多个部门,不同的部门要求还不一样。主要原因就是原先各个政府部门的数据都是孤立的,彼此不共享,但如果都能在信息高度安全的基础上“上链”,数据实现共享,则办事人就能实现只需在一个部门内解决多数问题。因为所有办事流程交付给智能合约后,后面就可以自动处理并流转,所谓“一网通办”并不再是梦想。数字版权领域通过区块链技术,可以对作品进行鉴权,证明文字、视频、音频等作品的存在,保证权属的真实、唯一性。作品在区块链上被确权后,后续交易都会进行实时记录,实现数字版权全生命周期管理,也可作为司法取证中的技术性保障。拿一首歌曲来说,如果原作人申请了该歌曲的版权,但是由于中心化机构存在存储不安全、不公开透明以及易被利益驱使的缺陷,版权可能被他人进行篡改,这样很可能损害了歌曲原创者的权益,而如果说该歌曲的数字信息及版权信息记录在了区块链上,借助区块链的公开透明以及防篡改性等优势,就能很好地避免版权信息被恶意篡改的情况发生了。保险领域在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。未来区块链作为保险行业重要的基础设施及工具,将与云计算、大数据、人工智能、物联网等众多新兴技术融合,实现更多的保险行业创新应用,构建创新型、平台式的保险服务创新生态体系。在区块链的推动下,未来将出现开放保险。利用区块链技术的开放性,将可改变传统保险业中的“信息孤岛”情况。另外,区块链未来也可提升保险互信、成就保险普惠。区块链的应用前景巨大,将彻底革新现有价值传递体系在民生的各个领域,未来在区块链都会应用的到,可以想象的是,当社会的各个领域广泛用上了区块链,它将成为信息时代的重要基础设施,能解决很多当前令我们头疼的事儿。更多文章比特币到底是什么东西,为什么值钱,有什么价值新手如何购买比特币等加密货币详细教程编辑于 2023-03-24 21:26・IP 属地河南区块链技术区块链(Blockchain)区块链价值赞同 16610 条评论分享喜欢收藏申请转载文章被以下专栏收录无痕区块链区块链知识科普,探索区块链新
区块链是什么,如何简单易懂地介绍区块链? - 知乎
区块链是什么,如何简单易懂地介绍区块链? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册生活调查类问题货币金融区块链(Blockchain)区块链是什么,如何简单易懂地介绍区块链?关注者44,305被浏览13,198,227关注问题写回答邀请回答好问题 21156 条评论分享1,509 个回答默认排序maxdeath信息论博士,区块链博士后 关注更新在20191025之后,说一些新的关于区块链的发展:1,区块链的应用。首先先说央行数字货币——央行数字货币的技术其实早就成熟了,都用不到区块链,因为区块链的目的是去中心化,而央行数字货币用不到这个。当然,采用区块链的央行数字货币技术也早就有了(参见RSCoin),这里面可能会在某些环节采用区块链技术去中心化——例如货币的发行仍旧是中心化的,但是流转中的管理和验证可以通过区块链技术去中心化到其他银行。同时,据我所知,官方早就有一个数字货币研究所在研究这个很久了。我在很早就写过,从大势上,货币的数字化是必然的,但这和比特币是两码事,看起来可能会更像支付宝。然后,现在facebook来了一出libra(请参见我关于libra的文章https://zhuanlan.zhihu.com/p/69941436),我觉得从很大程度上推动了这次区块链的新闻,也推动了央行数字货币的推出。libra本身只代表facebook的野心,目前来看,他们的野心很有可能不会成功,但是也许是这种野心和指明的技术方向让国家产生了紧迫感——因为就算现在libra的所有成员都退出得差不多了,libra本身也前途未卜,但是万一类似的框架被搭起来又吸引了其他的重量级成员加入,那么国家在这上面就失去了主导权。因此,根据最近的新闻,央行的数字货币应该已经非常接近了。但这点,并不足以突然让“区块链”成为国家战略,这里说的区块链,一定是包含数字货币之外的其他应用的。区块链最引人遐想的应用,无疑是以“以太坊”为代表的,用区块链来做一个“全球计算机”,然后,用“智能合约”来编写在这台全球计算机上运行的软件(又被称为Dapp,即去中心化应用)。简单来说,这个全球计算机的好处在于,你可以把一切想要“去掉中间商赚差价”的事情,全都搬到这上面来做,而不需要依赖于某个大企业作为可信中心,例如银行或者互联网巨头。关于这个问题,可参见这篇https://zhuanlan.zhihu.com/p/28930323然而,这种全球计算机的设想在这两年间暴露出了非常多的问题,让人看不到短期的解决希望。于是,从这次区块链的新闻中透露出来的应用方向,“不可篡改”这个区块链的特点,以及它在存证、溯源、防伪、征信等方面的作用。这个,是目前在落地上做的最成熟,也是能够实打实地看出来区块链对比于传统中心化系统优势的应用。2,区块链技术这次战略中最主要提出的,是“要掌握区块链核心技术”,那么区块链的核心技术是什么呢?区块链相关技术有很多方面,我可以把它大致分成4类:1),共识算法;2),隐私保护技术和相应密码学技术;3),智能合约相关技术;4),面向应用相关技术。其中,前三者可以认为是底层,后两者是上层。1),其中,共识算法是区块链最核心,也是整个技术发展和学术界最热衷的领域:大量的公链项目都追求共识算法的创新,同时,大量的研究者也投身于这个领域,然而,大多在国外(我之前主要研究方向也是这个领域)。这点其实并不意外——众所周知,国内很少人愿意搞基础理论研究。但是共识算法中的涵盖面非常广,其中有一个概念非常重要——有许可和无许可,有许可共识算法要求所有参与节点的身份已知,主要采用类BFT算法。而无许可共识算法则允许任何节点只要达到某些条件就能进入,无需事先在任何系统中注册身份,而POW和后来衍生出的POS以及其他许多POx类算法都在此列。前者,多用于联盟链,而后者多用于公有链。其中,两者发展至今日,在速度和延迟上的差异已经不大了,归根结底的差别就是前面说的有无许可的差别。而无许可共识算法由于无许可的特性,又引出了一个很重要的概念叫“激励机制”,比如比特币的挖矿,于是,又衍生出了“货币”。于是,就又衍生出许多非常有趣的方向,例如:ASIC矿机,链上治理,加密经济学等等。以上,哪些方向可能会被认为是这次战略中的“核心技术”呢?我个人更看好许可共识算法的相关技术,而且,这类共识算法也可能布上支付宝的道路,会摒弃很多意识形态方面的需求,追求速度更快,规模更大,使用更方便,更标准化。而非许可类的共识算法,则面临着更高的风险——首先,对于“币”这个事的政策并不明确;其次,在之前所说的应用方向上,公有链相对于联盟链并没有显著的优势。2),其实区块链技术本身采用的密码学技术并不高深也不复杂,无非是哈希函数和数字签名这两个非常经典和简单的密码学工具而已。然而,由于区块链技术和密码学天生的契合性(大部分早期研究区块链的学者都来自于密码学领域),同时,由于“加密货币”这个词,即:cryptocurrency,(注:在英文中,这个词被用来指代所有类似于比特币之类的货币,而不是中文领域中常用的“数字货币”),导致大部分人都认为密码学天生和区块链是联系到一起的。实际上,区块链技术本身并用不到特别先进的密码学工具(当然,一些新的共识算法中采用了一些新的密码学工具)。但是,其中最重要的密码学挑战,是隐私保护技术,而其中,可能会用到的,包括零知识证明,同态加密等目前还在发展之中的密码学工具。这点,其实并不是区块链本身的需求,但又和区块链紧紧联系在一起——原因,还得说回之前区块链的性质和区块链的应用上:首先,区块链最大的特点是所有上链的数据必须通过所有节点的验证,然而,如果区块链得到了大规模应用,这就代表了所有的节点都会获取所有的数据。好吧,我们现在不信任中心,有很大的一部分原因是中心获取了我们所有的数据,而现在倒好,用了区块链去中心之后,所有人都可以获取我们所有的数据了。因此,如何在能够保证隐私的同时还可以享受区块链带来的去中心化优势呢?这需要所有节点能够在不知道数据内容的情况下,还能够对数据的有效性进行验证,例如:在不知道你是谁,具体有多少钱,你想要支出多少钱的情况下,验证你确实有一笔钱可以来完成这笔支出……这听起来像是天方夜谭,然而,实际上我们有一种密码学工具可以实现它——叫做零知识证明。然而,目前零知识证明尽管一直在发展,但是目前仍存在很大的局限性,这种局限性是效率——我们有了一些高效的证明方式,例如:我们可以很快地证明某个未知的数比另一个已知数大,或者我们可以证明某个未知的值来自于某个集合。然而,这些高效的零知识证明,还不足以覆盖区块链的所有应用。因此,可想而知,这些新加密技术,尽管不是区块链技术中的必须品,却是区块链技术能够得到广泛应用的必需品,所以一定是“核心技术”中的一部分。3),智能合约相关的技术,实际上包括语言,包括编译……这些,实际上相当于是当我们已经有了区块链作为底层之后,如何使用它的问题。在这上面目前还没有一个非常明确的方向,因为,其实目前在尝试的思路有几种:i,以太坊式的,高度自由的图灵完备的系统。然而问题是,写程序太容易出错了,而且出错的代价太大。ii,Hyperledger-fabric式的,高度模块化的系统,然而,极度复杂,复杂到想要采用HF的公司,要么放弃,要么花钱请IBM的人帮他们做。iii,Libra式的,专注于某项应用的系统,例如libra的move语言就明白地说了,我们不追求图灵完备,我们的目标是做一个更方便于实现各种金融场景的语言——这可能是个趋势,但是还没有经过足够的检验。这些方向,在目前的尝试还很少。大部分区块链项目仍旧采用以太坊式的系统,或者加以改进。然而,我认为这一点很有可能成为“区块链的核心技术”中最重要的部分——因为一旦区块链上升到了国家战略的高度,那么势必会诞生大量的需求、场景和用户,于是才会有充分的尝试和实现的平台。由此,可能会衍生出一个最适合区块链的语言和开发工具,而这个,会如同OS一样,成为一个新的世界范围内的标准。而从目前来看,在其他的区块链项目都在挣扎着寻求落地的时候,可能只有中国有这样的土壤能够诞生出这样的标准。这大概就是把区块链作为国家战略的原因。4),应用相关的技术。其实在区块链应用方面最大的技术难点并不在技术上。例如:区块链存证,如果我们做一条联盟链将相关各方作为共识节点然后把证据上链,那么,这个证据就是无法篡改的了。这道理大家都懂,然而问题在于:谁来做这个事呢?证据怎么数字化?怎么运行区块链?给出数据我的好处在哪里?最重要的是,谁掏钱?区块链目前落地最大的难点,在于其相比传统的中心化方案,除了在存证,溯源方面的一些场景下,找不到明显的优势,也就找不到可行的商业模式。于是,也就很难通过市场的方式推行出去,近两年币市的低迷已经证明了这一点。然而,这一切都会在国家的支持下产生变化,于是,就如同中国互联网产业从模仿学习国外到开始向外输出抖音一样,中国希望能在区块链领域,能够激发出更多的尝试和场景。于是,在这些场景中,我们会积累相关的经验、技术和商业模式,从而将这种模式在出口到国外去,而这点,也会是区块链核心技术中非常重要的部分。——————————————————————————————首先要搞清一个问题——比特币是区块链,但是区块链并不是比特币。于是,在区块链的这个问题回答里,提到“矿工”,“挖矿”,“最长链”,“分叉”等等词的,其实都不准确。写一点上个月讲课的内容——个人觉得大部分的回答,包括google搜出来的或者wiki的,都不能很好地解释区块链是个什么东西。因为讲比特币的人很多,懂比特币的人也很多,但是具体到区块链,现在并没有一个很清楚的定义说什么是区块链,基本上所有的介绍里都是这样的:比特币——〉区块链是比特币的底层技术。或者比特币——〉比特币是一种区块链。具体到什么是区块链的问题,目前没有看到很好的定义和介绍,更多的是大而化之地讲区块链的意义在哪里的空泛文章,要不然就是一水的矿工和挖矿。所以我来从纯理论角度说一下我个人对区块链的定义:1,区块链是一个放在非安全环境中的分布式数据库(系统)。2,区块链采用密码学的方法来保证已有数据不可能被篡改。3,区块链采用共识算法来对于新增数据达成共识。具有以上三个性质的系统,就是区块链。1,区块链是一个放在非安全环境中的分布式数据库(系统)。这里的要点有两个:(1)分布式,(2)非安全环境。首先,这是一个分布式的,去中心化的系统。所以,有一个中心服务器或者节点的,不是区块链。节点都是安全的,无恶意的,那这不是区块链。同理,从应用的角度讲,如果你的应用必须要使用中心节点(例如要用超级计算机做深度学习)或者没必要考虑节点不安全的情况(例如某个安全的工厂里的传感器),那么并不需要考虑区块链技术。至于后面的词“数据库”,目前大部分成熟的区块链都是数据库,例如比特币就是一个分布式账本,而账本其实就是数据。然后,根据数据的格式,又可以分三种——1,数据是完全不相关的,只是达成的共识,没有有效无效之分;2,数据有某些逻辑结构,例如账本中,一笔交易实际上除了金额,还有输入和输出,连接到之前的交易,这些数据需要通过逻辑验证(例如交易中,节点需要验证输入的交易是否有效);3,数据拥有图灵完备的逻辑,而验证的时候需要通过节点使用算力运算,每笔交易可以有不同的输出和状态,每个节点要做的不仅仅是验证交易的真实性和输入的正确性,还要根据交易里的逻辑读入数值,进行验算然后再验证结果。比特币的系统就是第二种,又叫分布式账本;以太坊是第三种。第三种可以支持智能合约。用比特币举例的话,1,它是一个完全去中心化的系统,2,它放在一个非安全的环境,它并不要求所有使用比特币的人都没有恶意。2,区块链采用密码学的方法来保证已有数据不可能被篡改。这个是误解最多的部分,因为很多人一提到区块链就只觉得是这个。诚然,这部分很重要,而且确实区块链也因此得名,但这只是区块链的定义的一部分。这个部分的两个核心要点是:(1)密码学哈希函数,(2)非对称加密。两个都是密码学的基础概念,网上都有非常清晰的定义,我只简单说下:(密码学)哈希函数:一个函数Y=H(X),有如下性质:1,有X可以很容易算出Y;2,有Y不可能算出X;3,有Y不可能找到另一个X'使得H(X')=Y;3.5,如果X和X'相差很小,H(X)和H(X')则完全不相关。这东西主要用于验证信息完整性——在一个信息后面放上这个信息的哈希值,这个值很小,例如256bit,而且计算方便。收到信息之后收信人再算一遍哈希值,对比两者就知道这条信息是否被篡改过了。如果被篡改过,哪怕只有一bit,整个哈希值也会截然不同。而根据哈希函数的性质,没有人能够伪造出另一个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验。非对称加密:这东西很好理解——对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是啥,然后同一把钥匙解密成原来的消息。非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题,例如因数分解和离散对数,常用的有RSA,Diffie-Hellman和ECC(椭圆曲线),比特币用的是椭圆曲线。非对称加密除了和对称加密一样用于信息加密之外,还有另一个用途,就是身份验证。因为通常情况我们假设一对公私钥,公钥是公开的,而私钥只有本人有,于是一个人如果有对应的私钥,我们就可以认定他是本人。其中一个重要的应用就是数字签名——某个消息后面,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。以上是基础知识,至于区块链怎么实现的,很简单:交易(数据)写在区块里。第一个区块叫创世区块,写啥都行。从第二个区块开始,每个区块的第一部分有前一区块的哈希值。此外,区块里的每一笔交易(数据),都有发起人的数字签名来保证真实性和合法性。于是,先前区块里的任何数据都不可被篡改,原因见上。到这为止有人可能会问:为什么要弄个链啊?直接所有数据加个哈希值不就行了?因为——这个数据库并不是静止的啊。数据库的数据是会增加的,而每次增加的数据,就是一个区块,于是这些生成时间不同的区块,就以这种形式链在一起了。至于如何增加区块,就涉及到第三个部分——共识算法。3,区块链采用共识算法来对于新增数据达成共识。共识算法的目的,就是让所有节点对于新增区块达成共识,也就是说,所有人都要认可新增的区块。对于有中心的系统,这事很简单,中心说什么大家同意就好了,但是放到去中心化系统里,尤其是当有些节点有恶意的时候,这东西非常复杂,计算机科学里有个相应的问题,叫做“拜占庭将军问题”或者“拜占庭容错”(BFT)。有很多用Lamport给出的那个例子来讲BFT的东西,我在这里换一个角度。Lamport大神当年提出这个问题的时候在斯坦福研究中心给NASA做项目,他提出这个问题的原因并不是考虑类似比特币的应用场景(整个互联网成千上万个用户),而是考虑特殊背景下的一个简单的系统——航天飞机的控制系统。如果有航空背景的同学可能知道,飞机有三套独立的控制系统,为什么呢?因为任何系统都不可能完全不出故障,就算飞机控制系统的故障率已经极低了,还是有飞到一半这东西坏了的可能。于是我们可以弄两套独立的系统,同时坏掉的几率就会大大降低。可是两套独立的系统还是不足以容下一个系统的错误——一架飞机迎面飞来,两套系统一个说要躲,一个说不躲,那到底是躲还是不躲呢?所以我们需要三台独立的系统,这样,如果有一个系统有故障了,还有两台能正常工作,能少数服从多数给出正确的结果。学过纠错码的同学对这个应该不陌生,这个系统的输出之间的汉明间距是3,所以可以纠正一位的错误。然而,对于航天飞机,在冷战的背景下,万一某个系统不是坏掉了,而是被敌人控制了呢?三套系统还够吗?答案是否定的,因为不同于单纯只是坏掉的节点,恶意节点可以做一些别的事来阻止整个系统达成共识。这个部分略复杂要讲的话要单开一帖,所以我们只说最简单的情况(无签名同步系统)。我们管三个系统叫ABC,正常工作流程是三个人每次得出结果就互相告诉一下,然后每个人选多数人同意的结果。这是个没有中央节点的分布式系统,也就是说三人不能聚在一起开个会啥的,仨人只能两两通信。这个时候,假设C有恶意,它的目标是破坏这个系统。于是,假设正确的读数是1,A和B都得出了1这个结果,这个时候C这个小婊砸告诉A说“我的结果是0,B也觉得是0”,同时打个电话跟B说“哎我觉得是0,A也这么说”,于是A和B就懵逼了。假设你是A,你听到了两个不同版本的B的答案,B说自己选了1,C说B选了0,可是A这个时候没法知道B和C谁才是那个骗了自己的小婊砸,因为如果B真的告诉A选了1然后告诉C是0,他听到的结果和现在是一模一样的。于是结论是,拜占庭容错,也就是需要容下一个恶意系统而非错误系统,需要4个独立系统。(当然,签名可以解决这个问题,但是这只是同步系统的情况,在异步系统里这问题会变得更加复杂,原因是正常节点的回答有延迟,而恶意节点可以不回复,所以,正常节点一方面要等另一个节点的回复,但是它又不知道对方会不会回复因为对方有可能会有恶意,而在收到回复之前,它完全没法判断对方是正常节点还是恶意节点,这个问题叫异步BFT,也是BFT的最复杂的情况,这里不再做更多的解释,下文提到的BFT算法,其实都是异步BFT的算法)Lamport提出这个问题之后,有无数的算法被提出来,统称BFT(拜占庭容错)算法,其中最有代表性的叫PBFT,然后由于最近区块链的热度,无数针对区块链应用场景优化过的BFT算法也涌现出来,但是一个重要的问题是,所有目前的BFT算法,都只能应用在小型网络里。原因很简单——因为BFT这个问题是设计给类似于航天飞机控制系统这样的场景的,早期的算法考虑的也主要是这种场景。PBFT论文里考虑的就是一个5个节点的系统。就算算上新提出的BFT算法,也最多应用在不超过100个节点的网络里。这个问题被搁置了很久,直到比特币的诞生——中本聪从某种意义上简化了这个问题,在比特币中,同样是共识问题,中本聪引入了一个重要的假设——奖励,他之所以能这样做的原因是,他考虑的是一个数字货币,也就是说共识这个东西是有价值的。于是在这样的系统上,他提出了工作证明机制。所有挖矿,矿工,最长链,分叉等等等等,都可以归结为一句话:说话是要有代价的,说真话是有好处的,说假话是要扣钱的……这就是目前两类共识算法的核心区别:BFT共识模型:恶意节点可以干任何事。比特币共识模型:模型中有公认的“价值”,每个节点说话都需要一定代价,诚实节点会受到奖励,而恶意节点由于只付出代价而收不到奖励,变相受到了惩罚。也就是说,BFT共识模型其实涵盖了比特币共识模型的场景,比特币共识其实放宽了BFT共识模型的限制。比特币共识对于BFT的优势在于,由于给恶意节点的能力做了限制,恶意节点所能造成的破坏大大降低了,尤其是对于异步系统——BFT共识里恶意节点可以一直拒绝相应而诚实节点还需要一直等它(因为不知道它是不是恶意的),而对于比特币共识,随你便,你不响应就没有奖励可拿。于是,比特币共识算法可以应用于成千上万个节点,而且,任何人随时都可以加入,不需要预先在网络里注册自己的身份(而BFT算法里,网络中节点的数量和身份都必须是已知的)。但比特币共识的缺陷在于,首先,得有个有价值的东西,也就是说放在比特币里这东西还行,以太坊的话现在可能也凑合,但是其他数字货币嘛……BFT共识有个严格的限定,就是恶意节点不能超过总数的1/3,然而其实比特币共识没有这样的限制,唯一的限制就是假定大部分节点都是理性的,是逐利的,也就是会采用最佳的策略来赚取最大的价值。所以,严格来说,自私挖矿这种行为在比特币共识里是允许的,而多数攻击,其实也算不上一种攻击,因为这些都没有突破比特币共识的框架——如果这个价值无限大,比特币共识是非常可靠的。然而这并不是事实,因为并不是每个虚拟货币都和比特币一样值钱,而在价值不高的情况下,比特币共识的前提就站不住脚了——当损失可能是几千上万块钱的时候,假定每个人都是理性的是合理,但是如果损失就几分钱这个假设就相当扯淡了,事实上也发生过一个比特币矿池跑到另一个货币恶意挖矿搞垮对手的情况。此外,比特币共识是最长链共识,也就是说最长链-->大多数-->理性,于是分叉是允许的。于是导致了一些附带的问题,例如,如果网络有延迟,你怎么知道你手里那条链是整个网络里当前的最长链呢?于是,如果需要传输的数据多,那么延迟加大。延迟加大,那么越多的人手里的链并不是全网络的最长链。于是,全网络的最长链,就没法代表大多数。这就打破了比特币共识的根本,这也是为什么比特币区块频率是10分钟一块的原因。比特币目前有个著名的7币交易每秒的上限,而现在扩容闹得很厉害,以太坊的交易格式不同,也用了新的工作证明,想要改成权益证明,但这些都不本质。真正本质的是,在目前的网络条件下,如果适用全网的话,比特币共识的交易量基本上超不过100笔交易每秒这个量级。上面这几段有可能太深了,简单来说,BFT共识和比特币共识的区别可以这么理解:BFT共识:来,大家开个会讨论一下集思广益啊,讨论出大家都满意的结果为止。问题:开会的效率大家都懂,人越多越不容易出结果。只能用于少数节点,用于上千个节点的话……大家想象一下一天开一次人大的场景。比特币共识:你的诗念得不错,组织已经决定了,今天就你来当领导了,做得好有奖,做不好扣钱。问题:奖励几千块钱还好,奖励几分钱谁好好干?而区块链也就因此被分成了泾渭分明的两类,很多人都听过什么公有链私有链联盟链,但是,如果你们以为这是根据应用区分的就大错特错,其实,这两种区块链最本质的区别,还是因为共识模型或者说算法不同——BFT算法没法应用于大量节点,所以用BFT算法的就没法做公有链。而比特币共识得有个价值体系,这东西去做私有链联盟链就很不靠谱,因为一个单纯逐利的人的假设还算靠谱,但是如果对象是公司的话,公司的利益就太复杂了,不能简单认为他们只追逐区块链上那点价值。1,公有链,以比特币,以太坊和所有虚拟货币为代表,都采用比特币共识,共识算法基本上都采用工作证明机制,也就是挖矿那些,这种机制其他回答里已经讲得够清楚了,就略过。工作证明一切都好,除了费电……费多少电呢?差不多和一个百万人级别的城市那么多。此外以太坊的创始人特别喜欢权益证明,似乎很快要小范围投入使用(100个区块里一个用权益证明)。但是目前为止,大家对这东西的可靠性还持观望态度。2,私有链和联盟链。以IBM的hyperledger-fabric,以及一大堆其他的类似于tendermint,甚至R3 corda和ripple为代表,都用BFT共识。其实这方面的应用已经很多了,问题是,1,目前基本上所有应用给人的感觉都还是为了做区块链而区块链,真的觉得这东西好到不可或缺的应用还基本没有。2,由于为了区块链而区块链,其实很多场景的安全性和可靠性还值得怀疑,这点经常被被公有链的支持者诟病。嘛,以上就是个人定义的区块链了,顺带概述一下现在区块链领域的发展。之所以写这个帖子,就是因为发现明明是问区块链的问题,所有人都在讲比特币,都在讲挖矿,都在讲工作证明……工作证明不能说过时,也的确是现在公有链唯一可靠的共识算法,但是这东西确实是业界除了比特币死忠之外谁都不想要的东西好吗……编辑于 2019-10-28 14:29赞同 4827251 条评论分享收藏喜欢收起盗盗狂热追随者... 关注友情提醒:比特币采用区块链技术,但是区块链并不等同于比特币;全篇基于比特币底层区块链技术讲述,所以,部分模型可能不适用于以太坊等。另外,由于文章采用了一定的抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,如果让你觉得困惑,可以在评论下方留言或者私信我一起探讨。最后,也是受限于自己知识结构的不完整,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。另外,作为一篇科普性文章,大家可以随意转载,注明这篇文章的出处和作者即可,无需再单独私信询问。---首先不要把区块链想的过于高深,他是一个分布在全球各地、能够协同运转的数据库存储系统,区别于传统数据库运作——读写权限掌握在一个公司或者一个集权手上(中心化的特征),区块链认为,任何有能力架设服务器节点的人都可以参与其中。来自全球各地的掘金者在当地部署了自己的节点,并连接到区块链网络中,成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化、分布式的特征)。与此同时,对于在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又依次的同步,从而实现在区块链网络中所有节点的数据完全一致。 上图中,高亮的点就是区块链系统中分布在全球各地的一个个节点;而这些节点可以简单理解为一台服务器服务器集群为了更简单的阐述那篇文章所构建的世界观,文中所讨论的节点全部粗暴的理解为官方参考实现节点,即最标准的一种节点类型,这些节点不仅可以参与挖矿共识、还可以数据存储和数据点对点传递;不涉及其他复杂的节点类型。关于节点的分类,可以阅读我的专栏文章《区块链节点与钱包的分类、边际和使命,看这篇文章就足够了》# 问题的由来我们反复提到区块链是一个去中心化的系统,确实,「去中心化」在区块链世界里面是一个很重要的概念,很多模型(比如账本的维护、货币的发行、时间戳的设计、网络的维护、节点间的竞争等等等等)的设计都依赖于这个中心思想,那到底什么是去中心化呢?在解释真正去中心化之前,我们还是先简单了解下什么是中心化吧。中心化?回忆一下你在网上购买一本书的流程:第一步,你下单并把钱打给支付宝;第二步,支付宝收款后通知卖家可以发货了;第三步,卖家收到支付宝通知之后给你发货;第四步,你收到书之后,觉得满意,在支付宝上选择确认收货;第五步,支付宝收到通知,把款项打给卖家。流程结束。你会发现,虽然你是在跟卖家做交易,但是,所有的关键流程都是在跟支付宝打交道。这样的好处在于:万一哪个环节出问题,卖家和买家都可以通过支付宝寻求帮助,让支付宝做出仲裁。这就是一个最简单的基于中心化思维构建的交易模型,它的价值显著,就是建立权威,通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全。你一定会摆出一个巨大的问号脸 ⊙.⊙?——“通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全”,真的可以嘛?!假如说,支付宝程序发生重大BUG,导致一段时间内的转账记录全部丢失,或者更彻底一点,支付宝的服务器被ISIS恐怖组织的一个导弹全部炸毁了。而我刚刚转出去的100元找谁说理去,这个时候,你就成了刀殂上的鱼肉;支付宝有良心,会勉为其难承认你刚刚转账的事实,但他不承认你也没辙,因为确实连他自己也不知道这笔转账是否真实存在。上述就是中心化最大的弊端——过分依赖中心和权威,也就意味着逐渐丧失自己的话语权。去中心化?那么去中心化的形态是什么样子呢?还是拿刚才那个例子继续,我们构建一个极简的去中心化的交易系统,看看我们是如何在网络上从不认识的卖家手里买到一本书的。第一步,你下单并把钱打给卖家;第二步,你将这条转账信息记录在自己账本上;第三步,你将这条转账信息广播出去;第四步,卖家和支付宝在收到你的转账信息之后,在他们自己的账本上分别记录;第五步,卖家发货,同时将发货的事实记录在自己的账本上;第六步,卖家把这条事实记录广播出去;第七步,你和支付宝收到这条事实记录,在自己的账本上分别记录;第八步,你收到书籍。至此,交易流程走完。刚才“人为刀俎我为鱼肉”的情况在这个体系下就比较难发生,因为所有人的账本上都有着完全一样的交易记录,支付宝的账本服务器坏了,对不起卖家的账本还存在,我的账本还存在;这些都是这笔交易真实发生的铁证。当然,在这套极简的交易系统中,你已经发现了诸多漏洞和不理解,比如说三方当中有一个是坏人,他故意记录了对他更有利的转账信息怎么办;又比如说消息在传递过程中被黑客篡改了怎么办等等等等。这在以往的计算机概论或者计算机网络书本上中可能都有提及到——“类两军”和“拜占庭将军”问题。这里就不打算赘述,因为暂时跟主线不相关,感兴趣的同学可以去Google或者百度一下,你只需要知道,在我们下面即将展开讲到的区块链系统中,通过巧妙的设计,足以解决上述存在的BUG。既然话已说到这份上,相信了解一点技术、特别是有运维背景的同学大概能够从极简交易系统中窥视到了更多区块链的一些影子——分布式存储,通过多地备份,制造数据冗余让所有人都有能力都去维护共同一份数据库让所有人都有能力彼此监督维护数据库的行为在我看来,你猜测的基本上没错。其实这些就是区块链技术最核心的东西,外人看起来高大上、深不可测,但探究其根本发现就是这么简单和淳朴。当然,这里面肯定会有很多很多很多细枝末节的技术需要重构。如果你差不多认同上面的观点,那我们应该基本上可以达成共识,分布式部署肯定是构建去中心化网络理所当然的解决方向——通过P2P协议将全世界所有节点计算机彼此相互连接,形成一张密密麻麻的网络;以巧妙的机制,通过节点之间的交易数据同步来保证全球计算机节点的数据共享和一致。哈哈,说的轻巧,“交易数据这么重要的东西,在一个完全不信任的P2P网络节点中以一种错综复杂的方式传递,数据的一致性和安全性谁来保证,如果说互相监督,他们到底怎么做到?”好了,不卖关子了,下面让我们围绕这个最最最最直接的问题开始进入到真正区块链的世界,抽丝剥茧看看它到底是如何一步一步形成的,又是如何一步一步稳定运转。# 从全球节点到交易数据这张图的制作的意义为的是帮助你在宏观上先快速理解区块链中所涉及到的相关名词以及他们的层级关系。同时,文章的知识结构和设计思路也大抵上也会按照:首先,将区块作为最小单位体,讲述极简区块链系统是如何运转的;接着,进入到比区块更小单位体——交易记录,理解区块链是如何处理数据的;最后,将所有知识点柔和在一起,重回到区块和区块链,完整讲述整个工作流程。希望你在这个引导和结构下有一个比较好的阅读体验。Let's go~# 区块,混沌世界的起源既然已经达成共识,所以,我们事先构建好了一个去中心化的P2P网络;同时,为了让读者朋友们听起来更轻松,我先粗暴的规定在这个极简的区块链系统里,每十分钟有且仅产生一笔交易。故事继续,在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙世界的神奇区块(你可以将区块想象为一个盒子),这个区块里放着一些数字货币以及一张小纸条,小纸条上记录了这十分钟内产生的那唯一一笔交易信息,比如说——“小A转账给了小B100元”;当然,这段信息肯定是被加密处理过的,为的就是保证只有小A和小B(通过他们手上的钥匙)才有能力解读里面真正的内容。这个神奇的区块被创造出来之后,很快被埋在了地底下,至于埋在哪里?没有一个人知道,所以需要所有计算机节点一起参与进来掘地三尺后才有可能找到(找到一个有效的工作量证明)。显然,这是一件工作量巨大、成果随机的事件。但是呢,对于计算机节点来说,一旦从地底下挖出这个区块,他将获得区块内价值不菲的数字货币,以及“小A转账给了小B100元”过程中小A所支付的小费。同时,对于这个节点来说,也只有他才有权利真正记录小纸条里的内容,这是一份荣耀,而其他节点相当于只能使用它的复制品,一个已经没有数字货币加持的副本。当然这个神奇的区块还有一些其他很特别的地方,后面我们会再细细聊。为了更好的描述,我们将计算机节点从地底下挖出区块的过程叫做「挖矿」,刚才说了,这是一件工作量巨大、运气成分较多、但收益丰厚的事儿。过了一会儿,来自中国上海浦东新区张衡路上的一个节点突然跳出来很兴奋的说:“ 我挖到区块了!里面的小纸条都是有效的!奖励归我!” 。虽然此刻张衡路节点已经拿到了数字货币,但对于其他计算机节点来说,因为这里面还涉及到其他一些利益瓜葛,他们不会选择默认相信张衡路节点所说的话;基于陌生节点彼此不信任的原则,他们拿过张衡路节点所谓挖到的区块(副本),开始校验区块内的小纸条信息是否真实有效等等。在区块链世界里,节点们正是通过校验小纸条信息的准确性,或间接或直接判断成功挖出区块的节点是否撒谎。(如何定义小纸条信息真实有效,后面会讲解,这里暂不做赘述)。在校验过程中,各个节点们会直接通过下面两个行为表达自己对张衡路节点的认同(准确无误)和态度:停止已经进行了一半甚至99.99%的挖矿进程;将张衡路节点成功挖出的区块(副本)追加到自己区块链的末尾。你可以稍微有点困惑:停止可能已经执行了99.99%的挖矿行为,那之前99.99%的工作不是就白做了嘛?!然后,区块链的末尾又是个什么鬼东西?对于第一个困惑。我想说,你说的一点没错,但是没办法,现实就是这么残酷,即便工作做了99.99%,那也得放弃,这99.99%的工作劳苦几乎可以视为无用功,绝对的伤财劳众。第二个困惑,区块链和区块链的末尾是什么鬼?这里因为事先并没有讲清楚,但是你可以简单想象一下:区块是周期性不断的产生和不断的被挖出来,一个计算机节点可能事先已经执行了N次“从别人手上拿过区块 -> 校验小纸条有效性”的流程,肯定在自己的节点上早已经存放了N个区块,这些区块会按照时间顺序整齐的一字排列成为一个链状。没错,这个链条,就是你一直以来认为的那个区块链。如果你还是不能够理解,没关系,文章后面还会有很多次机会深入研究。# 走进区块内,探索消息的本质上面我们构建了一个最简单的区块链世界的模型,相信大多数同学都已经轻松掌握了。但是别骄傲也别着急,这还只是一些皮毛中的皮毛,坐好,下面我们准备开车了。前面我们说到“大概每十分钟会凭空产生一个神奇的区块,这个区块里放了一张小纸条,上面记录了这十分钟内产生的这唯一一笔交易信息”。显然,十分钟内产生的交易肯定远不止一条,可能是上万条,这上万条数据在区块链世界是如何组织和处理的呢?另外,为什么在纸条上记录的只是某一次的交易信息,而不是某一个人的余额?余额好像更符合我们现实世界的理解才对。既然存在这样那样的疑问。现在我们就把视线暂时从“区块”、“区块链”这些看起来似乎较大实体的物质中移开,进入到区块内更微观的世界里一探究竟,看看小纸条到底是怎么一回事,它的产生以及它终其一生的使命:发起交易的时候,发起人会收到一张小纸条,他需要将交易记录比如说“盗盗转账给张三40元”写在纸上。说来也神奇,当写完的那一刹那,在小纸条的背面会自动将这段交易记录格式化成至少包含了“输入值”和“输出值”这两个重要字段;“输入值”用于记录数字货币的有效来源,“输出值”记录着数字货币发往的对象。刚刚创建的小纸条立马被标记成为“未确认”的小纸条。从地下成功挖出区块并最终连接到区块链里的小纸条一开始会被标记为“有效”。若这条有效的小纸条作为其他交易的输入值被使用,那么,这个有效的小纸条很快会被标记为“无效”。因为各种原因,区块从链上断开、丢弃,曾经这个区块内被标记为“有效”的小纸条会被重新标记为“未确认”。区块链里面没有账户余额的概念,你真正拥有的数字资产实际上是一段交易信息;通过简单的加减法运算获知你数字钱包里的余额。上面的1、2、3仅仅作为结论一开始强行灌输给你的知识点,其中有几个描述可能会有点绕,让你觉得云里雾里,没有关系,因为我们立刻、马上就开始会细说里面的细枝末节。上图,是区块内,盗盗在一张小纸条上记录下的交易信息,后被格式化的呈现上图就是从无数打包进区块内的小纸条中,抽取出来的一张,以及它最终被格式化后的缩影。单看右侧的图可能很容易产生误会,虽然看起来有多行,但实际上就是“盗盗转账给张三40个比特币”这一条交易数据另外的一种呈现形态。因为区块链世界里面这么规定,每一条交易记录,必须有能力追溯到交易发起者 发起这笔交易、其中所涉及金额的上一笔全部交易信息;即这笔钱从何而来的问题。这其实很容易理解,在去中心化的网络中,通过建立交易链、和通过交易链上的可溯源性间接保证数据安全和有效。我们继续看,在区块链世界里,我们是如何仅通过“盗盗转账给张三40个比特币” 这条交易信息完成转账流程的。其实跟现实中你在路边买一个包子的流程大抵上相同。第一步:判断是否有足够的余额完成交易这里我们再一次重申,在比特币的区块链世界里是没有余额的概念(以太坊的底层区块链有余额概念),余额是通过简单数字的加减最终获得,你拥有所谓的数字货币实际上是因为你拥一条交易记录,即 “盗盗转账给张三40个比特币”!这里,我们还是拿这条记录说事:追溯“输出值”是“盗盗”相关的全部有效交易记录作为,对有效交易中的数字进行简单求和,判断是否大于等于40,如果确实大于等于,则将这些有效的交易记录合并形成一条新的交易记录(如下图)。如果小于40,其实可以不需要再继续往下探讨。就上图的例子,我们追溯到曾经转账给盗盗的有效交易记录有“小A转账给盗盗10 btc”、“小B转账给盗盗20 btc”、“小C转账给盗盗 25 btc”,我们需要将这三条交易记录合并成一条更复杂描述的交易记录,即 “( 小A转账给盗盗10 btc + 小B转账给盗盗20 btc + 小C转账给盗盗 25 btc ) 转账给张三40 btc ”第二步:判断是否需要找零对追溯到的有效交易数字求和,如果发现大于需要支付的金额,需要将多出的数字重新支付给自己,相当于找零。对应生成了一条全新的交易记录(如下图)。就上图例子来说,我们最后合并成的交易记录 “( 小A转账给盗盗10 btc + 小B转账给盗盗20 btc + 小C转账给盗盗 25 btc + 盗盗转账给盗盗15 btc ) 转账给张三40 btc ” 事实上等同于“盗盗转账给张三40 btc”。其中“盗盗转账给盗盗15 btc”就可以理解找零。第三步:发出去,让全球节点认同和备份小纸条这条内部重新处理过的复杂交易记录被塞进区块,埋到地下,等待节点挖出来,一旦区块被挖矿成功,并且该区块最终被连在了区块链的主链上。张三将最终拥有了这条交易记录,而先前的“小A转账给盗盗10 btc” 、“小B转账给盗盗20 btc” 、“小C转账给盗盗25 btc”都将被视为已经使用过的交易记录——从此被贴上“无效”的标签,意味着这些交易记录将永远不会再被追溯到。我们最后一次重申,只是希望让你加深印象:拥有数字货币=拥有交易记录!通过设计巧妙的精巧密码学保证数据安全记录着交易信息的小纸条借助区块这个载体,在分布式的网络中以不同的轨迹错综复杂的传递,我们前面说了,你真正拥有的数字资产实际上是一段交易信息,而不是你常规意义上理解的货币。所以这个过程就需要重点解决两个问题:接受到的这条交易记录在传输过程没有被其他人所篡改接受到的这条交易记录确实是由发起交易的人所创造在这里,我们需要事先引入两个知识点,可能稍微有点难消化,但都是计算机领域较为成熟的和基础的概念。第一个知识点:SHA256()函数。你只需要知道,任意长度的字符串、甚至文件体本身经过SHA256函数工厂的加工,都会输出一个固定长度的字符串;同时,输入的字符串或者文件稍微做一丢丢的改动,SHA256() 函数给出的输出结果都将发生翻天覆地的改变。注意,SHA256()函数是公开的,任何人都能使用。上图,仅仅一个小数点的变化,输出的结果已经翻天覆地第二个知识点:非对称加密。你也只需要了解,任何人手里都有两把钥匙,其中一把只有自己知道,叫做“私钥”,以及一把可以公布于众,叫做“公钥”;通过私钥加密的信息,必须通过公钥才能解密,连自己的私钥也无解。公钥可以通过私钥生成多把。有了这些知识点的加持,上面两个问题开始变得有解。下面我们来看下内部是如何扭转和工作的吧,这里拿“小A 转账给了小B 100元钱” 举例: 第一步:小A会先用SHA256函数对自己的小纸条进行处理,得到一个固定长度的字符串,这个字符串就等价于这张小纸条。第二步:小A使用只有自己知道的那一把私钥,对上面固定长度的字符串进行再加密,生成一份名叫数字签名的字符串,这份数字签名能够充分证明是基于这张小纸条的。你可以这么理解,在现实中,你需要对某一份合同的签署,万一有人拿你曾经在其他地方留下的签名复制粘贴过来怎么办?!最好的办法,就是在你每一次签名的时候,故意在字迹当中留下一些同这份合同存在某种信息关联的小细节,通过对小细节的观察可以知道这个签名有没有被移花接木。步骤一和步骤二的结合就是为了生成这样一份有且仅针对这条小纸条有效的签名。第三步:小A将「明文的小纸条」、刚刚加密成功的「数字签名」,以及自己那把可以公布于众的「公钥」打包一起发给小B。第四步:当小B收这三样东西,首先会将明文的小纸条进行SHA256()处理,得到一个字符串,我们将其命名为“字符串2”。然后,小B使用小A公布的公钥,对发过来的数字签名进行解密,得到另外一个“字符串1”。通过比对“字符串1”和“字符串2”的一致性,便可充分证明:小B接受到的小纸条就是小A发出来的小纸条,这张小纸条在中途没有被其他人所篡改;且这张小纸条确实是由小A所编辑。可以看得出来,加解密的过程几乎是一环套一环,中途任何环节被篡改,结果都是大相径庭。借助这一连串的机制,其实已经能够很好的在公开、匿名、彼此不信任的分布式网络环境中解决数字交易过程中可能遇到的很多问题。这个环节可能确实有点难理解,现在,我需要你停下来,静下心,花上几分钟闭目慢慢回味其中设计精湛的地方。掌握了这部分知识以后,我们在这里回答一下前面没有解释清楚的问题,「节点对区块的检验」检验的到底是什么?实际上就是:检验区块内的交易记录签名是否准确(是否被篡改)检验区块内的交易记录输入值是否“有效”(是否使用过)检验区块内的交易记录输入值的数字之和是否大于等于输出值的数字…# 重回“区块”和“区块链”的世界好了,对小纸条和交易记录的研究我们点到为止,其实信息量已经是巨大的了,让我们合上盖子,重回较大的实体、继续聊聊“区块”和“区块链”的话题。还记得,咱们在一开始讲到关于区块的特征吗?区块创造后被埋在地下,需要经过节点们马不停蹄的挖采、而且是凭运气的挖采才有可能获得——不仅仅如此,事实上他还有其他很多神奇的地方,比如说:凭空产生的区块在刚刚创建的时候会形成一股强大的黑洞效应,它会尝试将这段时间全世界各个节点上产生的所有小纸条(交易记录)统统吸进来;在合上区块盖子之前,同时会在区块内放上一些数字货币以及其他一些东西。区块拥有一个唯一的ID,但它只会在这个区块被节点成功从地下挖出来之后创建。这个ID至少会跟「区块内所有小纸条的集合」、「即将与之相连的上一个区块ID」以及「挖矿节点的运气值」等因素相关。既然前面我们已经简单了解了“SHA256()函数”这个东西,这里不妨透露给大家:“区块ID = SHA256(‘区块内所有小纸条的集合’+’即将与之相连的上一个区块ID’+‘挖矿节点的运气值’+’…’)” ;基于先前掌握的知识,然后你应该知道区块内任意一张小纸条的信息稍微做改动、或者节点挖矿运气好一点坏一点等等,当前区块的ID都会 “ biu~ ”的发生改变。基于上述1、2点,如果阅读足够仔细的同学可能会有些头大。在文章开头为了更好的描述,我在设计简化区块链系统的时候故意模棱两可了几个概念,这也许已经误导到了部分同学。这里不得不停下来和你一起修正下之前在你大脑中已经构建的区块链世界观。我们前面讲道,“在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙世界的神奇区块”。如何正确去理解这句话呢?——拥有上帝之眼的你,可以这么拆解问题、看待问题:同一个周期内,全网并不是产生唯一的一个区块等待挖掘;每个节点事实上都在周期性的创造区块和挖出区块;只是在某一个节点的视野里,它不能感知到另外一个节点上区块的产生。为何这里要特别强调“在某一个节点的视野里”,就是因为我们刚刚讲到,从区块的视角来说,区块的凭空产生,是基于即将与之相连的上一个区块ID;而从节点的视角来看,区块的凭空产生是基于当前节点区块链末尾的那个区块ID产生的。全网会尽力控制在一个周期内只有一个节点能够成功挖出区块,但是不能够完全避免多个节点同时挖出区块的可能性;如何尽力控制?比如说,当大伙挖矿的热情高涨、工作效率提高,区块会被埋在更深更广的地方等。简而言之,通过提高工作难度,来维持这个平衡。另外,值得注意的:产生区块、挖出区块、校验区块,他们的时间周期近乎相同。对于想从技术角度更加深入理解“区块”、“挖矿”本质的同学们,你们可以移步至我的专栏《探索比特币“挖矿”和“区块”的数学本质》,其中涉及到一些比较复杂的数学和技术细节,相信阅读完那部分内容之后,你对区块链会有更加透彻的认知。当然,对于绝大多数的吃瓜群众,看完那边内容可能会让你更加困惑,如果你不是十分的喜欢追根究底的话,我建议你还是直接选择跳过那块吧。至少在我看来,即便少了那部分内容,也不影响我们去理解区块链的魅力。分叉现在,我们终于对“区块”这个概念有了更全面的认识,文章开头讲的故事就可以继续展开来絮叨絮叨:假如几乎同一时间,「中国上海浦东新区张衡路」上的节点和「美国纽约曼哈顿第五大道」上的节点异口同声喊出来:“我挖到区块了!里面的小纸条都是有效的!奖励归我!”。其他节点也几乎同时参与了对这两个区块的校验,结果发现这俩都没毛病,各节点也开始犯困,因为在他们的视野里他们并不清楚最后哪一个区块应该会被主链接纳。算了!都连在自己区块链尾巴上吧,这时尴尬了,区块链硬生生的被分叉了!产生分叉你肯定在想,那还得了,这种情况继续下去,每个节点的区块以及他们整理维护的小纸条都将变得不一样,这已经严重违背了区块链世界里第一大最基本原则——所有节点共同维护同一份数据。所以,为了解决这个问题,区块链世界引入了一条新的规则——拥有最多区块的支链将是真正被认可有价值的,较短的支链将会被直接Kill掉。我们大伙都知道挖矿的过程存在巨大的工作量(如果没有任何难度,把区块扔在人群中,必然同一时间发现区块的节点数量将大大增加,也就会产生无数的支链,通过这个例子,你大概也就能够明白,比特币的区块链世界为什么需要设置工作难度了吧),并且在计算机的硅基世界里,不可能出现所谓 “同时” 的概念,哪怕纳秒的差别,那也总是会有先后顺序。所以理论上,“分叉”的这种僵局很快会在下一个区块被挖掘出来(以及校验区块)的时候被打破,实在不行下下个,或者下下下个……总之机制可以让整个分叉的区块链世界迅速稳定下来。“分叉”这种僵局在确认下一个区块(以及校验小纸条)的时候被打破,从而整个区块链世界迅速稳定下来就上图而言,所有基于张衡路节点挖矿获得的区块以及后续区块的那条分支被视为有价值,最终会全部保留了下来;其他节点会统一效仿那个拥有更长分支链的节点所做的决策。另外,值得一提的是,同一时间,较短分支上的区块会立即丢弃,而里面的小纸条也会随之释放出来,被重新标记上“未确认”。“双花”与“51%攻击”你可能已经开始困惑或者有点兴奋,末尾几个区块的排序在修复过程中,因为时间差肯定会产生一些模棱两可的地方,这往往会给数据安全埋下一颗雷。一个最简单的假设——我记录的一张小纸条很不巧地被归在了一条较短的支链上,这条支链在竞争过程中理所当然输掉了比赛,区块被丢弃、小纸条被无情的贴上“未确认”的标签。在等待下次区块重新确认的过程中,这个时间差内,我,好像、似乎可以做点什么坏事 ԅ(¯﹃¯ԅ) ,就比如说“双花”(双花,花两次,双重支付的意思)你脑海中也许很快浮过的这样的构想,可不可能通过下面这种方法触发双花问题的产生,从而让我不劳而获:假设有一个名叫X-Man的坏家伙,他控制了一个计算机节点,这个节点拥有比地球上任何一个节点算力都强大的计算机集群。首先,X-Man事先创造了一条独立的(不去广而告之)、含有比较多区块的链条。其中一个区块里放着“X-Man转账给X-Man 1000元”的纸条。接着,X-Man跟张三购买了一部手机,他在小纸条上记录下“X-Man转账给张三1000元”。张三已经比一般的卖家谨慎了,他在这条信息被三次确认后(即三个区块被真实挖出、校验和连接)才将手机给了X-Man。按照我们之前的理解,这条交易记录已经板上钉钉永远无法被串改。X-Man拿到手机之后,按下机房的开关,试图将先前已经创造的区块链条连接在自己这个节点区块链的末尾。大功告成,X-Man拥有了一条更长的区块链条,那些较短、存放着“X-Man转账给张三1000元”的区块链,以及在区块链世界里那则真实转账行为被一同成功销毁。(???)事实真的如此吗?在这里我可以很负责任的说,too young too simple,区块链世界规则的制定远比我们想象的要健全很多,还记得我们之前讲的“区块的ID至少会跟区块内所有小纸条的集合、即将与之相连的上一个区块ID、当前产生区块的时间戳以及挖矿节点的运气值等因素相关”。 在这里,正是因为打算连接到主链的过程中,主链会立马意识到,那条事先准备的链子(的第一个区块)的时间戳存在异常,不属于当前区块链世界里线性增长的时间戳,于是马上意识到这个事先准备的链子(的第一个区块)是无效的,需要重新计算。 在区块链的世界,重新计算的行为等同于把自己(节点)置身于同一个起跑线,跟世界上其他所有的节点一同竞争挖矿。你会说,我拥有更强大的计算能力,但是对不起,跟你竞争的对象并不是第五大道、南京西路、香榭丽舍大道上的某一个节点,而是全球所有算力的集合,在这个集合中,你拥有的算力永远都只是一个很小的子集。所以,根据区块链算力民主、少数服从多数的基本原则,这个构想将永远不会成立。除非....你控制着全球51%的算力,这也就是区块链世界里另外一个著名的概念,叫做“51%攻击”,但这也仅仅是一个理论值,在真实世界里这样的攻击我个人觉得是很难发动起来的,这里面就牵涉到很多经济、哲学甚至政治的因素。举个最简单的例子:X-Man为了回滚刚刚发生的一笔交易记录,成功发起了51%攻击,这意味着很快整个区块链系统将会崩盘,因为这次攻击已经严重伤害到人们对这套系统的信任,接着比特币开始暴跌至几乎一文不值;但是这个拥有51%算力的X-Man原本完完全全可以通过挖矿的方式获取更多收益,购买无数的iPhone手机。那他不是脑袋不是坏了还能是啥?对51%攻击话题感兴趣的同学可以阅读这篇文章《什么是比特币51%攻击?》。至此,我觉得区块链最基础、最核心的知识已经全部讲完了(除了挖矿内部实现原理,作为一个遗憾留在这里,有时间会完善掉),相信你已经对它有了一个宏观的认识。另外,由于这篇文章采用了适当抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,欢迎大家来纠错。另外,也是受限于自己知识结构的缺失,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。--问答部分去中心化的系统中,到底是谁在发行货币?是无限量发行吗?比特币的货币是通过挖矿(工作量证明)来发行的,总数量是通过程序写死了2100万个,而第一笔区块奖励也是硬编码写死的。矿工挖出一个区块所获得的奖励,每隔21万个区块将减少一半,按照平均10分钟挖出一个区块的执行效率,也就就说差不多每四年会锐减一次。2009年1月起每个区块奖励50个比特币,2012年11月减半为每个区块25个比特币,2016年7月减半为12.5个比特币。基于这个规则,到2140年,所有比特币(20,999,999,980)将全部发行完毕,之后不会再有新的比特币产生。矿工节点的收益除了挖出区块以外还有哪些?矿工节点的收益主要由两部分组成:1)挖出新区块的奖励;2)挖出新区块内所含交易的交易费。但就目前来说,一个区块内的交易费大概只占到矿工总收入的0.5%甚至更少,大部分收益主要还是来自于挖矿所得的比特币奖励。然而,随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在2140年之后,所有的矿工收益将完全由交易费构成。是不是只有成为节点才能进行交易?、钱包、尤其是轻钱包是不是也可以挖矿?这个问题是读者问出的,可能之前也有同学提出过类似的问题,但是没有引起我足够的重视,后来发现其实我也把概念混淆了。我一并去查阅了相关资料,对节点和钱包有一些更完整的理解和定义。详细请阅读我的专栏文章《区块链节点与钱包的分类、边际和使命,看这篇文章就足够了》参考中心化与去中心化 https://www.douban.com/note/624421270/图说区块链 https://book.douban.com/subject/27084306/区块链是什么,如何简单易懂地介绍区块链? https://www.zhihu.com/question/37290469 什么是比特币51%攻击? http://8btc.com/article-1949-1.html区块链与新经济:数字货币2.0时代 https://book.douban.com/subject/26804497/詳解比特幣原理和運行機制 https://www.youtube.com/watch?v=P4seQcP77H4区块链是什么:从技术架构到哲学核心 https://v.qq.com/x/page/x0518nuh2z7_0.html区块链核心算法解析 https://book.douban.com/subject/27081206/深入理解比特幣的安全性及程式交易安全性與相關的密碼學原理 https://www.youtube.com/watch?v=3w1Tg3B_oKQ 深度了解区块链——拜占庭将军问题深入探讨 https://wallstreetcn.com/articles/338061精通比特币-挖矿与共识 http://zhibimo.com/read/wang-miao/mastering-bitcoin/Chapter08.html编辑于 2022-08-16 09:47赞同 6847554 条评论分享收藏喜欢