比特派最新钱包5.0024版本|区块链能干什么

作者: 比特派最新钱包5.0024版本
2024-03-14 07:16:17

区块链知识讲解-百度惠生活

知识讲解-百度惠生活 正在

什么是区块链技术? - IBM Blockchain

什么是区块链技术? - IBM Blockchain

什么是区块链技术?

区块链是一种不可篡改的共享账本,用于记录交易、跟踪资产和建立信任

区块链的优点

区块链成功从这里开始

IBM《区块链傻瓜书》现已发行第 3 版,已向超过 6.8 万名读者介绍了区块链。

内容:

区块链基础

区块链如何运作

区块链的实践应用:用例

由 Linux 基金会主导的 Hyperledger 项目

第一次区块链应用的十个步骤

区块链技术概述

区块链定义:区块链是一个共享的、不可篡改的账本,旨在促进业务网络中的交易记录和资产跟踪流程。 资产可以是有形的(如房屋、汽车、现金、土地),也可以是无形的(如知识产权、专利、版权、品牌)。几乎任何有价值的东西都可以在区块链网络上跟踪和交易,从而降低各方面的风险和成本。

为什么区块链很重要:业务运营依靠信息。信息接收速度越快,内容越准确,越有利于业务运营。区块链是用于传递这些信息的理想之选,因为它可提供即时、共享和完全透明的信息,这些信息存储在不可篡改的账本上,只能由获得许可的网络成员访问。区块链网络可跟踪订单、付款、帐户、生产等信息。由于成员之间共享单一可信视图,因此,您可采取端到端方式查看交易的所有细节,从而增强信心,提高效率并获得更多的新机会。

区块链的关键元素

分布式账本技术

所有网络参与者都有权访问分布式账本及其不可篡改的交易记录。 借助这个共享账本,交易只需记录一次,从而消除了传统业务网络中典型的重复工作。

不可篡改的记录

当交易被记录到共享账本之后,任何参与者都不能更改或篡改相关信息。 如果交易记录中有错误,则必须添加新交易才能撤消错误,这两个交易随后都是可视的。  

智能合约

为了加快交易速度,区块链上存储了一系列自动执行的规则,称为 "智能合约" 。 智能合约可以定义企业债券转让的条件,包括有关要支付的旅行保险的条款等等。

区块链如何运作

每个交易发生时,都会被记录为一个数据“区块”

这些交易表明资产的流动情况,资产可以是有形的(如产品),也可以是无形的(如知识产权)。 数据区块可以记录您选择的信息:人、事、时、地、数甚至条件(例如食品运输温度)。

每个区块都与其前后的区块连接

随着资产从一地移至另一地或所有权的变更,这些数据区块形成了数据链。 数据区块可以确认交易的确切时间和顺序,通过将数据区块安全地链接在一起,可以防止任何数据区块被篡改或在两个现有数据区块之间插入其他数据区块。

交易以区块形式组合成不可逆的链:区块链

每添加一个数据区块都会增强对前一个区块的验证,从而也增强对整条区块链的验证。 因此,篡改区块链很容易就会被发现,这也是不可篡改性的关键优势所在。 这不但消除了恶意人员进行篡改的可能性,还建立了您和其他网络成员可以信任的交易账本。

区块链技术的优点

需要改变的方面:运营人员常常在保留重复记录和执行第三方验证等方面浪费精力。 记录保存系统容易受到欺诈和网络攻击的威胁。 有限的透明度会延缓数据验证速度。 随着物联网的到来,交易量呈爆炸式激增。 所有这些因素都会影响开展业务的速度并侵蚀利润,因此我们需要更好的方法。 于是区块链闪亮登场。

更高的信任度

通过使用区块链技术,作为会员制网络中的一员,您可以确信自己收到准确、及时的数据,并且您的机密区块链记录只能与您特别授予访问权限的网络成员共享。

更高的安全性

所有的网络成员都需要就数据准确性达成共识,并且所有经过验证的交易都将永久记录在案,不可篡改。 没有人可以删除交易,即便是系统管理员也不例外。

更高的效率

通过在网络成员之间共享分布式账本,可避免在记录对账方面浪费时间。 为了加快交易速度,区块链上存储了一系列自动执行的规则,称为“智能合约”。

区块链基础知识五分钟简介

1

深入了解区块链技术的基础知识:数据块中如何包含代表任何有价值事物的数据,它们如何在不可篡改的数据链中按时间顺序连接在一起,以及区块链与比特币等加密货币之间有何差异。

2

了解区块链的分散性质如何使其有别于传统的记录保存,探索许可区块链在商业交易中的价值,以及区块链如何使信任和透明度达到新的水平。

3

食品行业只是通过区块链技术实现转型的行业之一。 了解如何在保护网络参与者数据的前提下,追溯食品的种植、收获、运输和加工的时间、地点和方式。

4

区块链之所以能建立信任,是因为它代表了真实的共享记录。每个人都能相信的数据将有助于推动其他新技术的发展,从而能大幅提高效率、透明度和置信度。

区块链网络的类型

可采用多种方式建立区块链网络。 它们可以是公有、私有、许可式区块链网络,或由联盟建立。

公有区块链网络

公有区块链是任何人都可以加入和参与的区块链,如比特币。 缺点可能包括需要大量计算能力,交易的私密性极低或根本没有私密性可言,以及安全性较弱。 而这些都是区块链的企业用例的重要考虑因素。  

私有区块链网络

私有区块链网络与公有区块链网络相似,也是分散的点对点网络。 但是,在私有区块链网络中,由一个组织负责管理网络,控制谁获准参与网络,并执行共识协议,维护共享账本。 这有助于显著提高参与者之间的信任和信心,具体取决于用例。 私有区块链可在企业防火墙后运行,甚至可在企业内部托管。

许可式区块链网络

建立私有区块链的企业通常也会建立许可式区块链网络。 需要注意的是,公有区块链网络也可以成为许可式网络。 这种模式对获准参与网络和执行特定交易的人员施加限制。 参与者需要获得邀请或许可才能加入。

联盟区块链

多个组织可以分担维护区块链的责任。 这些预先挑选的组织决定谁可以提交交易或访问数据。 如果所有参与者都必须获得许可才能参与,并且对区块链共担责任,那么对于企业而言,联盟区块链是理想之选。 

区块链安全性

区块链网络的风险管理系统

 

在构建企业区块链应用时,必须制定全面的安全战略,通过使用网络安全框架、保证服务以及最佳实践,缓解攻击和欺诈带来的风险。

了解有关区块链安全性的更多信息

区块链用例和应用

IBM Food Trust 通过从海洋一直到超市和餐馆全程跟踪捕捞的每一批海鲜,帮助 Raw Seafoods 增强整个食品供应链的信任度。

INBLOCK 发行了基于 Hyperledger Fabric 的 Metacoin 加密货币,旨在更迅速、更方便、更安全地开展数字资产交易。

利用区块链技术,实现变革性的医疗成果

IBM Blockchain Platform 帮助生态系统改变确保信任、数据来源和效率的方式,从而改善患者治疗和组织盈利能力。

阅读:实现变革性的医疗成果 (PDF, 188 KB)

了解 Golden State Foods 如何利用区块链的不可篡改性,跟踪供应链中的货物,帮助保障食品质量。

Vertrax 和 Chateau Software 推出了第一个基于 IBM Blockchain Platform 的多云区块链解决方案,旨在帮助防止大宗石油和天然气分销的供应链中断。

Home Depot 采用 IBM Blockchain 技术,获取有关发货和收货的共享可信信息,从而减少供应商争议并加速解决争议。

行业区块链

行业领军企业使用 IBM Blockchain 消除摩擦,建立信任,实现新的价值。 选择细分行业以了解详细信息。

供应链

医疗保健

政府

零售

媒体和广告

石油和天然气

电信

制造

保险

金融服务

旅游和交通运输 (PDF, 340 KB)

区块链常见问题解答

区块链和比特币有何区别?

比特币是一种不受监管的数字货币。 比特币使用区块链技术作为其交易账本。

这段视频说明了两者之间的差异。

IBM Blockchain Platform 与 Hyperledger 有何关系?

IBM Blockchain Platform 由 Hyperledger 技术提供支持。

这种区块链解决方案可以帮助任何开发人员顺利转变为区块链开发人员。

请访问 Hyperledger 网站以了解详细信息。

了解有关 Hyperledger 的更多信息

我可以在自己期望的任何云上进行部署吗?

IBM Blockchain Platform 软件经过优化处理,可以部署在 Red Hat 最先进的企业级 Kubernetes 平台 Red Hat® OpenShift® 之上。

这意味着您可以更灵活地选择在何处部署区块链网络组件,无论是本地、公有云还是混合云架构。

信息图:在自己选择的云环境中进行部署

我需要更多详细信息。 可从哪里获得?

如需更详细地了解区块链网络的运作方式以及使用方法,请阅读《分布式账本简介》(Introduction to Distributed Ledgers)。

学习 IBM Developer 上的区块链教程,了解更多信息

探索 IBM Blockchain Platform 的功能,这是唯一完全集成的企业级区块链平台,旨在帮助您加速多机构业务网络的开发、治理和运营。

立即注册,下载 IBM Blockchain Platform 白皮书 (PDF, 616 KB)

获取有关 Hyperledger Fabric 的详细信息,了解其独到之处、为何对业务网络至关重要以及如何开始使用。

访问 IBM Developer 上的 Hyperledger 页面

这份开发人员快速入门指南解释了如何使用 IBM Blockchain Platform Starter Plan 构建入门级区块链网络并开始编写代码。

查看开发人员快速入门指南

区块链解决方案

IBM Blockchain 解决方案

IBM Blockchain Platform 属于领先的 Hyperledger Fabric 平台。区块链创新者可充分利用这一平台,通过 Red Hat® OpenShift® 在任何计算环境中构建、运营、管理和发展区块链解决方案。

了解有关 IBM Blockchain Platform 的信息

区块链咨询

作为顶级区块链服务提供商,IBM Blockchain Services 拥有丰富的专业知识,可帮助您基于最佳技术构建强大的解决方案。超过 1,600 名区块链专家使用来自 100 多个实时网络的洞察,帮助您构建和发展。

了解有关区块链咨询的信息

所有 IBM Blockchain 解决方案

采用 IBM Blockchain 解决方案是区块链取得成功的最佳捷径。 IBM 融合了各种网络,使您能够轻松让其他成员加入,共同推动食品供应、供应链、贸易融资、金融服务、保险以及媒体和广告等领域的转型。

查看我们快速发展的区块链解决方案

区块链技术资源

通过艺术诠释区块链技术

我们请来五位对区块链技术知之甚少的艺术家,创作有关区块链主要优点的艺术作品。查看他们的作品,然后在我们最新网络研讨会系列 Blockparty 中,从 IBM 客户和业务合作伙伴那里了解更多信息。

区块链技术博客

网络上有关区块链技术的内容并不缺乏。但对于 100 多万的读者来说,IBM Blockchain Pulse 博客是区块链思想领导力和洞察分析最值得信赖的来源之一。

区块链技术播客

戴上耳机,通过聆听区块链创新者的知识来充实自我。了解区块链技术如何帮助个人重新获得对身份的控制权限、消除全球贫困和减少污染等难题。

区块链技术用例

通过了解创新者如何使用区块链技术 IBM Blockchain Platform 变革业务来获得启发。您可以加入现有的区块链网络,也可以与我们合作创建您自己的区块链网络。

客户成功案例

了解我们的客户如何运用 IBM Blockchain 区块链技术,对组织进行革新,从而获得切实可行的业务成果。

区块链技术后续步骤

浏览我们的参考指南,更深入地了解区块链的各个方面,包括运作方式、使用方法以及实施注意事项。

区块链技术主题

区块链技术的优点

智能合约

面向企业的区块链

区块链安全性

社会公益区块链

区块链和物联网

Hyperledger

区块链到底能做什么? - 知乎

区块链到底能做什么? - 知乎首发于AARON CHAN的产品观切换模式写文章登录/注册区块链到底能做什么?aaron chan懂技术,产品经理,对新事物保持好奇!区块链到底能做什么?这是一个很难回答的问题。接触区块链快两年了,我越来越困惑,到底这个技术,能带来什么真正有价值的改变?在开始讨论之前,先给出区块链的定义:区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)。区块链,说到底是一种技术,当我们回应对某个技术的期待的时候,我们希望能够获得的,是本质的飞跃和提升,就像之前发生过的一样,包括造纸、印刷术、蒸汽机、电气、互联网等等。简单说,就是希望,能够降本增效。一门技术,带来的影响,有以下几个层面:层面1:完全超越现在的技术,能直接带来显著改变的,能带来价值的巨大提升。层面2:某种限制条件下,不可或缺的,能带来巨大价值。层面3:现在的技术的一种替代,没有改变价值。现在的AI属于层面1的,虽然还不是很完全,但是确是不可或缺的。举个例子,OCR技术、人脸识别、图像识别、智能客服、机器人、辅助决策等。当然,包括高铁技术、5G、互联网信息化等,也属于层面1。问题来了,区块链技术,属于哪个影响层面?在回答这个问题之前,我们先看看,区块链至今为止,区块链最成功的几个应用。比特币:中本聪创立之初,目的很简单,创造一个去中心化的完全自由流通的数字货币,所以交易只有转账。这应该是最成功的,因为足够简单。以太坊:以太坊创造了一个去中心化的操作系统,可以执行图灵完备的智能合约,合约执行的燃料是以太币。想法很好,但是一直没有基于这个系统上,比较好的应用出现。目前最多的应用是基于ERC20发币和赌博类。无论是后续的EOS还是其它,都没有本质的改变。USDT:严格1:1锚定美元的稳定币。虽然被人诟病,缺少监管,但是提供了基础定价,为后来的政府背书的稳定币提供了另一种思路。可以看出,只有足够简单的数字货币,才是最大的杀手应用,但是却无法解决支付最关键的并发问题。从这里也能够看到,区块链只有作为最基础的账本,才能发挥最大的作用。区块链最大的价值是什么?很多人回答是价值互联网。目前是信息互联网,交换传输的是信息,基于区块链的交易,传输的价值。这里,我们需要跟深入问一下,价值的本质是什么?价值的本质是信息的不对称。比特币,完全公开透明,所有交易不是价值的交换,比特币的价值,来自于公开透明的账本本身,所以本质是所有权的交换。很多人都在说TOKEN,仿佛所有的问题,都可以用TOKEN来解决。TOKEN是什么,TOKEN只是一个记号,一个记账标识,真正重要的是,TOKEN背后对应的价值。区块链的TOKEN解决了确权的问题,但是没有解决价值问题。如果所有物品都可以TOKEN化,都可以上链。物品,可以用最简单的两分法,实物(可触摸的实物)和数字物品(积分、货币、信用等数字的)。物品实现TOKEN化,只实现了信息化,但是没有解决价值的映射。比如,一个艺术品,可以映射为一个艺术品TOKEN,发行在以太坊上。这个TOKEN的所有权,属于这个艺术品的创造者。但是,这个TOKEN的价值,是没有包含的。要想获得这个TOKEN的价值,需要经过专门的评估机构,这个机构要是可信的,放之四海而皆准的。其次,在进行TOKEN的交易的时候,代表的是所有权的转移,为了保证这个TOKEN能够最后兑现价值,需要有专门可信的封存机构,将这个艺术品妥善保管起来。因此,不是说在以太坊上录入一个TOKEN,就能解决问题了,需要配套的一整套服务机构。如果不用TOKEN和链,该怎么玩?首先需要一个机构,它完成艺术品的登记、评估、保管工作,生成一个ID,然后通过线上线下渠道,完成对这个ID编号的流转和背书。在这个整个流程中,使用区块链,没有降低传统方法的成本,唯一提升的是,流转的效率。因为区块链,最大的特点,是确权,通过加密算法确权,增加流动性。因此,艺术品的通证化,可以证明是一个伪需求,理由包括没有减少传统链路,艺术品的交易流通性需求不够广泛。回过头来看比特币,为什么比特币是唯一杀手应用?1.价值就是货币本身,已经是数字化2.流动性要求很高按照上面的观点,我们继续往下推断,什么样的项目或场景,最适合区块链?需要满足以下特点:1.载体能够直接反应价值,类似票面价值2.有较强的交易流通性需求3.本身就是数字化按照这个条件,以下是可能的一些场景:-数字货币-积分-票据-游戏道具-优惠券-可转让门票-股权以上说的,更多从价值的产生和交换角度来讨论。区块链,作为一个记账技术,还有一个特征,就是记录的不可篡改,这类应用主要是用于存证公证。这个场景比较简单直接,但凡需要防止篡改的场景,都可以使用。以下是一些场景:-溯源-信息公示(捐赠、互助保险、公告等)-证据保存到这里,我们可以回答之前的问题:区块链技术,属于哪个影响层面?我认为是属于层面2,在某些限制条件下,能够带来巨大的价值。明确了区块链的场景之后,再看看2017-2018年的投资。2018年号称区块链的泡沫时期,类比于2001年的互联网泡沫。但是,2001年后,互联网起来了,但是2018年后,区块链是否能够起来?一个技术,影响和改变整个经济,最重要的是什么?答案是这个技术所需的配套投资。移动互联网为什么这么火爆?因为除了手机的普及和性能的大幅提升外,还有移动网络带宽、硬件、资费、物流、定位、交通等等配套资源的改进。AI走了几十年,也是最近几年才高速发展,因为获得了大量的数据和反馈。反之,目前VR的体验还没有达到高标准,很大程度是因为硬件资源没有达到要求。2017-2018年区块链投资的主要方向是?交易所、矿池、ICO发币。投资人主要是散户,因为流动性比较大。但是这几个方向,能够带领区块链技术走向成熟么?答案是不能,因为都是在建空中楼阁,没有考虑项目的发展性,更多考虑的是,怎样更好的炒概念,拿投资。如果基础都没有夯实,那么这个技术是没有前景的。从专利数量来看看,可以发现一些端倪。2018年中国专利申请数量第一,但是从专利分布来看,很多都是没有价值的专利,新瓶装旧酒,真正投入基础设施的研究专利非常少。区块链核心基础设施工具是什么?包括基础BaaS服务、软硬件钱包、基础协议、易用的智能合约、加密技术、标准化、高可用的区块链网络、分片、跨链、数据共享等等。区块链本质是一个分布式账本技术,最基础的在于提升账本的高可用性。但是目前看来,仍旧没有突破。区块链提供新的创业机会和商业模式是什么?目前的互联网已经很成熟了,甚至在2018年有点天花板的味道,因为发生了大量的互联网公司裁员寒潮。互联网最大的商业模式,就是快速高效,撮合供需双方。某种程度上,互联网没有改变原来的运作模式,只是扩大了用户覆盖面,提高了信息匹配撮合度。那么对于区块链来说,能提供哪些新的商业模式呢?首先,区块链的基础在于互联网,要能够实现互联网能够实现的。其次,区块链能够提供传统互联网不能提供的,那就是基于信息上的信任和价值。所以,单独的区块链商业模式是无力的,一定是在现有的互联网商业模式下,继续扩大覆盖的范围,降本增效。2018年,ICO数字货币的泡沫破裂,到底意味着什么?ICO项目,一旦你看了足够多的白皮书,你会发现,基本无用。都是堆砌概念,白皮书列举的更多的是痛点是什么,但是并没有给出有效的解决方案。大部分白皮书基本可以这样解释,我们发现了这个行业有这些痛点,我们致力于解决这些痛点,我们成立了治理委员会,我们需要发行代币,请支持我们吧。完全是毫无监管,没有任何价值的东西。但是因为流动性好,散户大量进来,投资的是代币本身,没有人关注这个项目本身。泡沫的破裂,意味着大家发现,区块链解决不了这些痛点。但是这是区块链技术的问题么?不是,只是泡沫放大了这个技术,技术是有局限的,区块链只是一个账本,不是普世可用的良药。最后,我试着回答下,区块链到底能够做什么的问题。-区块链提供了一个公开可溯源的基础账本,可记录各种交易行为。-区块链是一个基础设施,就像移动网络一样,我们使用移动网络收发数据,我们使用区块链网络记账。-区块链是一种分布式记账技术,作为基础服务,有很多应用场景,需要和其它结合才能带来用户直接感知的价值。-区块链能够让记账更加可信、自动化、可审计。很多时候,我们都是夸大了区块链的概念,忽略了它其实是一个分布式记账技术。不是说它作用不大,而是正本清源,知其所能与所不能。一旦明确了这点,区块链真正能够解决的问题,跃然于纸上。以上,有感!发布于 2019-02-14 15:27区块链(Blockchain)产品经理通证​赞同 9​​1 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录AARON CHAN的产品观free RAM is useless R

区块链是什么,如何简单易懂地介绍区块链? - 知乎

区块链是什么,如何简单易懂地介绍区块链? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册生活调查类问题货币金融区块链(Blockchain)区块链是什么,如何简单易懂地介绍区块链?关注者44,303被浏览13,196,185关注问题​写回答​邀请回答​好问题 211​56 条评论​分享​1,508 个回答默认排序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​赞同 4825​​251 条评论​分享​收藏​喜欢收起​盗盗狂热追随者...​ 关注友情提醒:比特币采用区块链技术,但是区块链并不等同于比特币;全篇基于比特币底层区块链技术讲述,所以,部分模型可能不适用于以太坊等。另外,由于文章采用了一定的抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,如果让你觉得困惑,可以在评论下方留言或者私信我一起探讨。最后,也是受限于自己知识结构的不完整,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。另外,作为一篇科普性文章,大家可以随意转载,注明这篇文章的出处和作者即可,无需再单独私信询问。---首先不要把区块链想的过于高深,他是一个分布在全球各地、能够协同运转的数据库存储系统,区别于传统数据库运作——读写权限掌握在一个公司或者一个集权手上(中心化的特征),区块链认为,任何有能力架设服务器节点的人都可以参与其中。来自全球各地的掘金者在当地部署了自己的节点,并连接到区块链网络中,成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化、分布式的特征)。与此同时,对于在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又依次的同步,从而实现在区块链网络中所有节点的数据完全一致。 上图中,高亮的点就是区块链系统中分布在全球各地的一个个节点;而这些节点可以简单理解为一台服务器服务器集群为了更简单的阐述那篇文章所构建的世界观,文中所讨论的节点全部粗暴的理解为官方参考实现节点,即最标准的一种节点类型,这些节点不仅可以参与挖矿共识、还可以数据存储和数据点对点传递;不涉及其他复杂的节点类型。关于节点的分类,可以阅读我的专栏文章《区块链节点与钱包的分类、边际和使命,看这篇文章就足够了》# 问题的由来我们反复提到区块链是一个去中心化的系统,确实,「去中心化」在区块链世界里面是一个很重要的概念,很多模型(比如账本的维护、货币的发行、时间戳的设计、网络的维护、节点间的竞争等等等等)的设计都依赖于这个中心思想,那到底什么是去中心化呢?在解释真正去中心化之前,我们还是先简单了解下什么是中心化吧。中心化?回忆一下你在网上购买一本书的流程:第一步,你下单并把钱打给支付宝;第二步,支付宝收款后通知卖家可以发货了;第三步,卖家收到支付宝通知之后给你发货;第四步,你收到书之后,觉得满意,在支付宝上选择确认收货;第五步,支付宝收到通知,把款项打给卖家。流程结束。你会发现,虽然你是在跟卖家做交易,但是,所有的关键流程都是在跟支付宝打交道。这样的好处在于:万一哪个环节出问题,卖家和买家都可以通过支付宝寻求帮助,让支付宝做出仲裁。这就是一个最简单的基于中心化思维构建的交易模型,它的价值显著,就是建立权威,通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全。你一定会摆出一个巨大的问号脸 ⊙.⊙?——“通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全”,真的可以嘛?!假如说,支付宝程序发生重大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​赞同 6846​​554 条评论​分享​收藏​喜欢

区块链是什么,如何简单易懂地介绍区块链? - 知乎

区块链是什么,如何简单易懂地介绍区块链? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册生活调查类问题货币金融区块链(Blockchain)区块链是什么,如何简单易懂地介绍区块链?关注者44,303被浏览13,196,185关注问题​写回答​邀请回答​好问题 211​56 条评论​分享​1,508 个回答默认排序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​赞同 4825​​251 条评论​分享​收藏​喜欢收起​盗盗狂热追随者...​ 关注友情提醒:比特币采用区块链技术,但是区块链并不等同于比特币;全篇基于比特币底层区块链技术讲述,所以,部分模型可能不适用于以太坊等。另外,由于文章采用了一定的抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,如果让你觉得困惑,可以在评论下方留言或者私信我一起探讨。最后,也是受限于自己知识结构的不完整,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。另外,作为一篇科普性文章,大家可以随意转载,注明这篇文章的出处和作者即可,无需再单独私信询问。---首先不要把区块链想的过于高深,他是一个分布在全球各地、能够协同运转的数据库存储系统,区别于传统数据库运作——读写权限掌握在一个公司或者一个集权手上(中心化的特征),区块链认为,任何有能力架设服务器节点的人都可以参与其中。来自全球各地的掘金者在当地部署了自己的节点,并连接到区块链网络中,成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化、分布式的特征)。与此同时,对于在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又依次的同步,从而实现在区块链网络中所有节点的数据完全一致。 上图中,高亮的点就是区块链系统中分布在全球各地的一个个节点;而这些节点可以简单理解为一台服务器服务器集群为了更简单的阐述那篇文章所构建的世界观,文中所讨论的节点全部粗暴的理解为官方参考实现节点,即最标准的一种节点类型,这些节点不仅可以参与挖矿共识、还可以数据存储和数据点对点传递;不涉及其他复杂的节点类型。关于节点的分类,可以阅读我的专栏文章《区块链节点与钱包的分类、边际和使命,看这篇文章就足够了》# 问题的由来我们反复提到区块链是一个去中心化的系统,确实,「去中心化」在区块链世界里面是一个很重要的概念,很多模型(比如账本的维护、货币的发行、时间戳的设计、网络的维护、节点间的竞争等等等等)的设计都依赖于这个中心思想,那到底什么是去中心化呢?在解释真正去中心化之前,我们还是先简单了解下什么是中心化吧。中心化?回忆一下你在网上购买一本书的流程:第一步,你下单并把钱打给支付宝;第二步,支付宝收款后通知卖家可以发货了;第三步,卖家收到支付宝通知之后给你发货;第四步,你收到书之后,觉得满意,在支付宝上选择确认收货;第五步,支付宝收到通知,把款项打给卖家。流程结束。你会发现,虽然你是在跟卖家做交易,但是,所有的关键流程都是在跟支付宝打交道。这样的好处在于:万一哪个环节出问题,卖家和买家都可以通过支付宝寻求帮助,让支付宝做出仲裁。这就是一个最简单的基于中心化思维构建的交易模型,它的价值显著,就是建立权威,通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全。你一定会摆出一个巨大的问号脸 ⊙.⊙?——“通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全”,真的可以嘛?!假如说,支付宝程序发生重大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​赞同 6846​​554 条评论​分享​收藏​喜欢

区块链是什么通俗解释 - 知乎

区块链是什么通俗解释 - 知乎首发于无痕区块链切换模式写文章登录/注册区块链是什么通俗解释无痕掘金记个人成长,流量玩法,区块链研究,掘金案例区块链技术如今非常流行,但是它到底是什么呢?是如何工作的,解决了哪些问题,又有哪些用途呢?区块链最早出现在1991年,由一群研究人员用来给数字化文档打时间戳。以使得这些文档不能被篡改,看上去区块链技术就像一位公证人一样。然而这个技术自从那之后就没有再发挥其它作用,直到2009年一个叫中本聪的人采用区块链技术创造了数字加密货币比特币。区块链和比特币等数字货币的关系区块链并不等同于比特币。区块链是比特币的底层技术和基础架构,而比特币是区块链的一种应用。区块链是什么区块链本质上是一个去中心化数据库。是一种分布式数据存储,点对点传输,共识机制,加密算法等计算机技术的新型应用模式。举个例子:比如说小明找大康借一百块钱,但大康怕他赖账,于是就找来村长做公证,并记录下这笔账,这个就叫中心化。但如果,你不找村长,直接拿个喇叭在村里大喊“我大康借给小明一百块钱!请大家记在账本里”,这个就叫去中心化。以前村长德高望重,掌握全村的账本,大家都把钱存在他这里,这是过去大家对中心化的信任。现在,大家都担心村长会偷偷挪用大家的钱,怎么办呢? 于是大家就给每个人都发了一本账本,任何人之间转账都通过大喇叭发布消息,收到消息后,每个人都在自家的账本上记下这笔交易,这就叫去中心化。有了分布式账本,即使老孔或老周家的账本丢了也没关系,因为老朱、老杨等其他家都有账本。区块链有什么特点:去中心化:因为区块链的去中心化,它可以帮助点对点交易,因此,无论你是在交易还是交换资金,都无需第三方的批准。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。开放性:区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。开放性比较少被提到,但它也很重要,甚至可以说开放性是去中心化特性的保证之一。安全:不受任何人或实体的控制,数据在多台计算机上完整复制(分发),攻击者无单一的入口点。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。不可篡改:信息通过密码学技术进行加密,一旦进入区块链,任何信息都无法更改。匿名性:除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。区块链的匿名性特点,在一定程度上很好地保护了用户的隐私。但是区块链的匿名性也颇具争议,因为它在人们交易、隐私方面起到了重要的保护作用,也为一些违法犯罪行为提供了“保护伞”。区块链应用领域金融领域区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付。首先是因为区块链的去中心化特性带来的优势。在传统的金融机构,如银行,老王想给小张转一笔钱,他需要先通过中心机构银行的确认才能把钱转到小张手中,而在区块链网络中,老王不需要通过银行就能把钱转给小张,这不仅提高了交易的效率,还在一定程度上节约了交易的成本。目前火爆的defi,就是去中心化金融,虽然现在还在初始阶段,各方面都还不够成熟,但相比2017年的1-C-0空气,已经有了一定的落地。物联网和物流领域区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。将物流和供应链行业带入现代化将在全球范围内产生广泛影响。通过降低整体成本并允许物流流程中的实体与更多的个体代理商合作,整个物流将会有全面的改进。这些效率的提高最终将导致在流程的每个阶段节省成本。该领域被认为是区块链一个很有前景的应用方向。公共服务领域区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是这些领域的中心化特质也带来了一些问题,可以用区块链来改造。比如,对于普通企业来说,往往最难的就是去政府部门办事,不但需要各种证明文件,而且还需要跑多个部门,不同的部门要求还不一样。主要原因就是原先各个政府部门的数据都是孤立的,彼此不共享,但如果都能在信息高度安全的基础上“上链”,数据实现共享,则办事人就能实现只需在一个部门内解决多数问题。因为所有办事流程交付给智能合约后,后面就可以自动处理并流转,所谓“一网通办”并不再是梦想。数字版权领域通过区块链技术,可以对作品进行鉴权,证明文字、视频、音频等作品的存在,保证权属的真实、唯一性。作品在区块链上被确权后,后续交易都会进行实时记录,实现数字版权全生命周期管理,也可作为司法取证中的技术性保障。拿一首歌曲来说,如果原作人申请了该歌曲的版权,但是由于中心化机构存在存储不安全、不公开透明以及易被利益驱使的缺陷,版权可能被他人进行篡改,这样很可能损害了歌曲原创者的权益,而如果说该歌曲的数字信息及版权信息记录在了区块链上,借助区块链的公开透明以及防篡改性等优势,就能很好地避免版权信息被恶意篡改的情况发生了。保险领域在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。未来区块链作为保险行业重要的基础设施及工具,将与云计算、大数据、人工智能、物联网等众多新兴技术融合,实现更多的保险行业创新应用,构建创新型、平台式的保险服务创新生态体系。在区块链的推动下,未来将出现开放保险。利用区块链技术的开放性,将可改变传统保险业中的“信息孤岛”情况。另外,区块链未来也可提升保险互信、成就保险普惠。区块链的应用前景巨大,将彻底革新现有价值传递体系在民生的各个领域,未来在区块链都会应用的到,可以想象的是,当社会的各个领域广泛用上了区块链,它将成为信息时代的重要基础设施,能解决很多当前令我们头疼的事儿。更多文章比特币到底是什么东西,为什么值钱,有什么价值新手如何购买比特币等加密货币详细教程编辑于 2023-03-24 21:26・IP 属地河南区块链技术区块链(Blockchain)区块链价值​赞同 164​​10 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录无痕区块链区块链知识科普,探索区块链新

区块链到底能做什么? - 知乎

区块链到底能做什么? - 知乎首发于AARON CHAN的产品观切换模式写文章登录/注册区块链到底能做什么?aaron chan懂技术,产品经理,对新事物保持好奇!区块链到底能做什么?这是一个很难回答的问题。接触区块链快两年了,我越来越困惑,到底这个技术,能带来什么真正有价值的改变?在开始讨论之前,先给出区块链的定义:区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)。区块链,说到底是一种技术,当我们回应对某个技术的期待的时候,我们希望能够获得的,是本质的飞跃和提升,就像之前发生过的一样,包括造纸、印刷术、蒸汽机、电气、互联网等等。简单说,就是希望,能够降本增效。一门技术,带来的影响,有以下几个层面:层面1:完全超越现在的技术,能直接带来显著改变的,能带来价值的巨大提升。层面2:某种限制条件下,不可或缺的,能带来巨大价值。层面3:现在的技术的一种替代,没有改变价值。现在的AI属于层面1的,虽然还不是很完全,但是确是不可或缺的。举个例子,OCR技术、人脸识别、图像识别、智能客服、机器人、辅助决策等。当然,包括高铁技术、5G、互联网信息化等,也属于层面1。问题来了,区块链技术,属于哪个影响层面?在回答这个问题之前,我们先看看,区块链至今为止,区块链最成功的几个应用。比特币:中本聪创立之初,目的很简单,创造一个去中心化的完全自由流通的数字货币,所以交易只有转账。这应该是最成功的,因为足够简单。以太坊:以太坊创造了一个去中心化的操作系统,可以执行图灵完备的智能合约,合约执行的燃料是以太币。想法很好,但是一直没有基于这个系统上,比较好的应用出现。目前最多的应用是基于ERC20发币和赌博类。无论是后续的EOS还是其它,都没有本质的改变。USDT:严格1:1锚定美元的稳定币。虽然被人诟病,缺少监管,但是提供了基础定价,为后来的政府背书的稳定币提供了另一种思路。可以看出,只有足够简单的数字货币,才是最大的杀手应用,但是却无法解决支付最关键的并发问题。从这里也能够看到,区块链只有作为最基础的账本,才能发挥最大的作用。区块链最大的价值是什么?很多人回答是价值互联网。目前是信息互联网,交换传输的是信息,基于区块链的交易,传输的价值。这里,我们需要跟深入问一下,价值的本质是什么?价值的本质是信息的不对称。比特币,完全公开透明,所有交易不是价值的交换,比特币的价值,来自于公开透明的账本本身,所以本质是所有权的交换。很多人都在说TOKEN,仿佛所有的问题,都可以用TOKEN来解决。TOKEN是什么,TOKEN只是一个记号,一个记账标识,真正重要的是,TOKEN背后对应的价值。区块链的TOKEN解决了确权的问题,但是没有解决价值问题。如果所有物品都可以TOKEN化,都可以上链。物品,可以用最简单的两分法,实物(可触摸的实物)和数字物品(积分、货币、信用等数字的)。物品实现TOKEN化,只实现了信息化,但是没有解决价值的映射。比如,一个艺术品,可以映射为一个艺术品TOKEN,发行在以太坊上。这个TOKEN的所有权,属于这个艺术品的创造者。但是,这个TOKEN的价值,是没有包含的。要想获得这个TOKEN的价值,需要经过专门的评估机构,这个机构要是可信的,放之四海而皆准的。其次,在进行TOKEN的交易的时候,代表的是所有权的转移,为了保证这个TOKEN能够最后兑现价值,需要有专门可信的封存机构,将这个艺术品妥善保管起来。因此,不是说在以太坊上录入一个TOKEN,就能解决问题了,需要配套的一整套服务机构。如果不用TOKEN和链,该怎么玩?首先需要一个机构,它完成艺术品的登记、评估、保管工作,生成一个ID,然后通过线上线下渠道,完成对这个ID编号的流转和背书。在这个整个流程中,使用区块链,没有降低传统方法的成本,唯一提升的是,流转的效率。因为区块链,最大的特点,是确权,通过加密算法确权,增加流动性。因此,艺术品的通证化,可以证明是一个伪需求,理由包括没有减少传统链路,艺术品的交易流通性需求不够广泛。回过头来看比特币,为什么比特币是唯一杀手应用?1.价值就是货币本身,已经是数字化2.流动性要求很高按照上面的观点,我们继续往下推断,什么样的项目或场景,最适合区块链?需要满足以下特点:1.载体能够直接反应价值,类似票面价值2.有较强的交易流通性需求3.本身就是数字化按照这个条件,以下是可能的一些场景:-数字货币-积分-票据-游戏道具-优惠券-可转让门票-股权以上说的,更多从价值的产生和交换角度来讨论。区块链,作为一个记账技术,还有一个特征,就是记录的不可篡改,这类应用主要是用于存证公证。这个场景比较简单直接,但凡需要防止篡改的场景,都可以使用。以下是一些场景:-溯源-信息公示(捐赠、互助保险、公告等)-证据保存到这里,我们可以回答之前的问题:区块链技术,属于哪个影响层面?我认为是属于层面2,在某些限制条件下,能够带来巨大的价值。明确了区块链的场景之后,再看看2017-2018年的投资。2018年号称区块链的泡沫时期,类比于2001年的互联网泡沫。但是,2001年后,互联网起来了,但是2018年后,区块链是否能够起来?一个技术,影响和改变整个经济,最重要的是什么?答案是这个技术所需的配套投资。移动互联网为什么这么火爆?因为除了手机的普及和性能的大幅提升外,还有移动网络带宽、硬件、资费、物流、定位、交通等等配套资源的改进。AI走了几十年,也是最近几年才高速发展,因为获得了大量的数据和反馈。反之,目前VR的体验还没有达到高标准,很大程度是因为硬件资源没有达到要求。2017-2018年区块链投资的主要方向是?交易所、矿池、ICO发币。投资人主要是散户,因为流动性比较大。但是这几个方向,能够带领区块链技术走向成熟么?答案是不能,因为都是在建空中楼阁,没有考虑项目的发展性,更多考虑的是,怎样更好的炒概念,拿投资。如果基础都没有夯实,那么这个技术是没有前景的。从专利数量来看看,可以发现一些端倪。2018年中国专利申请数量第一,但是从专利分布来看,很多都是没有价值的专利,新瓶装旧酒,真正投入基础设施的研究专利非常少。区块链核心基础设施工具是什么?包括基础BaaS服务、软硬件钱包、基础协议、易用的智能合约、加密技术、标准化、高可用的区块链网络、分片、跨链、数据共享等等。区块链本质是一个分布式账本技术,最基础的在于提升账本的高可用性。但是目前看来,仍旧没有突破。区块链提供新的创业机会和商业模式是什么?目前的互联网已经很成熟了,甚至在2018年有点天花板的味道,因为发生了大量的互联网公司裁员寒潮。互联网最大的商业模式,就是快速高效,撮合供需双方。某种程度上,互联网没有改变原来的运作模式,只是扩大了用户覆盖面,提高了信息匹配撮合度。那么对于区块链来说,能提供哪些新的商业模式呢?首先,区块链的基础在于互联网,要能够实现互联网能够实现的。其次,区块链能够提供传统互联网不能提供的,那就是基于信息上的信任和价值。所以,单独的区块链商业模式是无力的,一定是在现有的互联网商业模式下,继续扩大覆盖的范围,降本增效。2018年,ICO数字货币的泡沫破裂,到底意味着什么?ICO项目,一旦你看了足够多的白皮书,你会发现,基本无用。都是堆砌概念,白皮书列举的更多的是痛点是什么,但是并没有给出有效的解决方案。大部分白皮书基本可以这样解释,我们发现了这个行业有这些痛点,我们致力于解决这些痛点,我们成立了治理委员会,我们需要发行代币,请支持我们吧。完全是毫无监管,没有任何价值的东西。但是因为流动性好,散户大量进来,投资的是代币本身,没有人关注这个项目本身。泡沫的破裂,意味着大家发现,区块链解决不了这些痛点。但是这是区块链技术的问题么?不是,只是泡沫放大了这个技术,技术是有局限的,区块链只是一个账本,不是普世可用的良药。最后,我试着回答下,区块链到底能够做什么的问题。-区块链提供了一个公开可溯源的基础账本,可记录各种交易行为。-区块链是一个基础设施,就像移动网络一样,我们使用移动网络收发数据,我们使用区块链网络记账。-区块链是一种分布式记账技术,作为基础服务,有很多应用场景,需要和其它结合才能带来用户直接感知的价值。-区块链能够让记账更加可信、自动化、可审计。很多时候,我们都是夸大了区块链的概念,忽略了它其实是一个分布式记账技术。不是说它作用不大,而是正本清源,知其所能与所不能。一旦明确了这点,区块链真正能够解决的问题,跃然于纸上。以上,有感!发布于 2019-02-14 15:27区块链(Blockchain)产品经理通证​赞同 9​​1 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录AARON CHAN的产品观free RAM is useless R

区块链技术应用学什么?以后可以干什么工作? - 知乎

区块链技术应用学什么?以后可以干什么工作? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册比特币 (Bitcoin)区块链(Blockchain)区块链技术应用学什么?以后可以干什么工作?关注者3被浏览33,134关注问题​写回答​邀请回答​好问题​添加评论​分享​3 个回答默认排序张群区块链工信部赛迪特聘区块链专家,区块链讲师​ 关注区块链是一揽子技术的集合,是传统IT开发技术组合而成的新网络架构,所以区块链生态包容了海量技术块,但总体来说不外乎这些学习。1.学区块链思维这是区块链技术基础,大家知道区块链包含四大核心技术:分布式存储,共识机制,智能合约,加密技术。这四大技术并不是新技术,他们集合起来构成了区块链核心技术。因此学习区块链并不是学习一门崭新的技术,而是学习区块链系统架构方式,区块链思维,区块链开发方式。一个合格的区块链工程师需要掌握加密技术、共识算法、Go/Solidity/C++、以太坊平台等内容。区块链工程师的薪资非常可观,与之对应的是过硬是实力在手,能够完成公司区块链项目的研发和维护工作内容。区块链网络是一个全新的架构,因此需要系统化、全视角的学习。2.学一门新的语言如果做基于区块链应用开发,就需要学习一门编程语言(nodejs, Go, Python, C++ 等)。不得不承认,区块链有它自己的适用语言。Java太重了,在区块链开发难有用武之地,GO语言是它的天生语言,建议学习。而且,GOlang具有一键部署、效率高、并发能力强等非常多的优势,也正在别越来越多的技术公司采用,现在大厂都一将难求,不用说小公司。solidity是智能合约开发的最好语言,也是区块链核心技术必须的;NodeJS也是非常适合区块链开发的语言,它不但可以部署前端,后端开发也很好用,成为技术热门,如果想学区块链不妨关注。3.学好智能合约开发智能合约也称为”自执行和约“,或者叫“代码化的合约”。区块链的开发除了底层构建,更多大的工作可能是合约开发,所以智能合约开发会是未来人才需求的聚集区,它是区块链应用的核心,所以也是必须要学的。Solidity 是诞生在以太坊社区的专门用来写智能合约的新型编程语言。虽然理论上智能合约能用各种语言进行编写,但是目前 Solidity 是编写智能合约的最流行的语言,不仅仅可以在以太坊上可以使用,其他跟以太坊竞争的区块链项目上,例如 Nervos ,也可以使用 Solidity 进行智能合约的开发。以太坊相关Solidity - 最流行的智能合约语言。Metamask - 与 Dapps 交互的浏览器扩展钱包。Truffle - 最流行的智能合约开发、测试和部署框架。Truffle box - 以太坊生态系统的打包组件。Hardhat - 灵活、可扩展和快速的以太坊开发环境。Cryptotux - 准备在 VirtualBox 中导入的 Linux 映像,包括上面提到的开发工具OpenZeppelin Starter Kits - 一个多合一的入门盒,供开发人员快速启动他们的智能合约支持的应用程序。EthHub.io - 以太坊的全面众包概述 - 其历史、治理、未来计划和开发资源。EthereumDev.io - 开始使用以太坊智能合约编程的权威指南。Brownie - Brownie 是一个用于部署、测试和与以太坊智能合约交互的 Python 框架。Ethereum Stack Exchange - 发布和搜索问题以帮助您的开发生命周期。dfuse - 用于构建世界级应用程序的光滑区块链 API。Biconomy - 通过使用简单易用的 SDK 启用元交易,在您的 dapp 中进行无气体交易。Blocknative——区块链事件发生之前。Blocknative 的开发人员工具组合使使用内存池数据构建变得容易。useWeb3.xyz — 关于以太坊、区块链和 Web3 开发的最佳和最新资源的精选概述。框架IDETruffle - 最流行的智能合约开发、测试和部署框架。Truffle 套件包括 Truffle、Ganache和Drizzle。Hardhat - 灵活、可扩展和快速的以太坊开发环境。Brownie - Brownie 是一个用于部署、测试和与以太坊智能合约交互的 Python 框架。Embark - DApp 开发框架Waffle - 用于高级智能合约开发和测试的框架,小巧、灵活、快速(基于 ethers.js)Dapp - DApp 开发框架,DApple 的继任者Etherlime - 基于 ethers.js 的 Dapp 部署框架Parasol - 具有测试、INFURA 部署、自动合约文档等功能的敏捷智能合约开发环境。具体学习内容(转自赛联就业课)Part【A】区块链技术就业规划(3课时)区块链战略(1课时)职业路径规划(2课时)Part【B】GO语言基础( 4 课时)第1章Let‘s GO1.7数组和指针1.8语言结构体1.9切片(slice)1.10语言范围(Range)1.11语言Map(集合)1.12语言接口1.13错误处理1.14 并发1.15 测试1.15语言开发环境实践:构建一个简单的区块链示例PART【C】概念及核心技术(20课时)第2章互联网与区块链(1课时)2.1当代互联网的局限2.2计算模式的演变2.2.1分布式计算的出现与挑战2.2.2 比特币的突破与局限2.3区块链的演化路径2.3.1区块链概念的提出2.3.2区块链的社会价值和意义2.3.3区块链的各国政策现状第3章区块链基本概念(1课时)3.1区块链技术研究缘由及范围3.2区块链模型3.2.1数据区块3.2.2链式结构3.2.3Merkle树3.3网络通信层关键技术3.4数据安全与隐私保护关键技术3.5共识层关键技术3.6区块链技术标准第4章区块链架构(1课时)4.1区块链架构和传统IT架构的异同4.2区块链的一个参考架构模型第5章密码学(6课时)5.1哈希算法5.1.1密码学哈希函数简介5.1.2哈希函数的性质及应用5.1.3区块链中的哈希函数5.2Merkle树5.2.1哈希指针5.2.2Merkle哈希树5.3公钥密码算法5.3.1密码算法简介5.3.2公钥密码算法5.3.3区块链中使用的椭圆曲线5.3.4数字证书5.4数字签名5.4.1数字签名简介5.4.2数字签名标准与ECDSA算法5.4.3其他的数字签名方法5.5零知识证明5.6区块链中的隐私问题第6章共识算法(9课时)6.1分布式共识算法背景6.1.1拜占庭将军问题6.1.2共识系统的基本定义6.1.3FLP定理6.1.4CAP定理6.2强一致性非拜占庭共识算法6.2.1VR协议6.2.2Paxos共识算法6.2.3其他类Paxos共识协议6.3强一致性拜占庭容错共识算法6.3.1PBFT共识6.3.2HotStuff共识6.4非强一致共识算法:PoW机制6.5PoS机制6.5.1点点币PoS机制6.5.2NXT PoS机制6.5.3Tendermint PoS机制6.5.4Ethereum Casper PoS机制6.5.5LPoS机制6.5.6DPoS机制6.6Ripple共识算法6.7Algorand共识算法第7章P2P网络(2课时)7.1P2P网络简介7.2P2P网络核心数据结构与算法7.2.1P2P网络数据结构与算法7.2.2主流数据结构DHT与算法7.2.3区块链P2P网络协议PART【D】区块链核心应用(28课时)第8章比特币(7课时)8.1比特币的特点8.2比特币的P2P网络8.2.1点对点的钱包节点分类8.2.2全节点的分布式存储8.2.3交易和区块在节点间的传播同步8.3比特币的发行机制8.3.1总量上限2100万的实现8.3.2打包区块的原理8.3.3矿池与矿工的关系8.4比特币的账号系统8.4.1私钥与公钥8.4.2签名信息与校验签名8.4.3脑口令8.4.4荣耀地址与批量地址8.4.5多重签名地址8.4.6隔离验证SW地址8.5比特币的生态系统8.6开发实施一个比特币存证应用第9章以太坊(7课时)9.1以太坊关键概念9.2以太坊的架构9.2.1以太坊数据模型9.2.2以太坊的应用架构9.3以太坊智能合约9.3.1合约类型和调用示例9.3.2合约编译和部署过程9.3.3Solidity高级合约语言9.3.4构建、编译与部署一个智能合约9.4以太坊适用场景剖析第10章超级账本Fabric(14课时)10.1Fabric基础架构10.1.1架构概述10.1.2主要组件10.1.3P2P网络10.1.4通道10.1.5分布式账本10.1.6共识机制10.1.7智能合约(链码)10.1.8成员服务提供者10.1.9交易流程10.2架构详细原理10.2.1成员身份管理10.2.2通道的结构10.2.3链码10.3应用开发流程10.3.1前期准备10.3.2定义Fabric集群10.3.3启动Fabric集群10.3.4链码设计10.3.5链码部署10.3.6SDK简介10.3.7应用的API开发10.3.8界面开发10.3.9集成10.3.10测试应用10.3.11扩展应用中的组织数目10.3.12Fabric项目实际案例PART【E】扩展提升(5课时)第11章其他区块链平台(2课时)11.1区块链架构存在的问题和挑战11.2区块链平台的典型需求和发展方向11.3其他区块链平台11.3.1Fisco:国产联盟链底层平台11.3.2EOS:区块链操作系统11.3.3Cardano:具有隐私和法规的区块链11.3.4基于区块链的支付协议:Ripple与Stellar11.3.5侧链代表:RootStock、Polkadot和Cosmos11.3.6分片扩容代表:Zilliqa11.3.7跨链技术:价值互联网的纽带11.3.8DAG:区块链的革新11.3.9Hashgraph:区块链的新竞争者11.3.10区块链存储11.3.11安全和隐私保护第12章区块链常见问题剖析(3课时)12.1区块链的技术局限12.1.1区块链不可能三角12.1.2数据冗余12.1.3区块链安全性12.1.4挖矿和其他共识协议的弱点12.1.5交易速度12.2区块链的安全问题12.2.151%攻击问题12.2.2女巫攻击12.2.3交易所12.2.4以太坊智能合约安全漏洞12.2.5区块链安全性的测试指标12.3挖矿和共识协议的弱点12.3.1中本聪一失之虑12.3.2挖矿和算力集中困境12.3.3其他共识算法及其问题12.4交易效率问题12.4.1比特币和以太坊的交易效率困境12.4.2比特币扩容12.4.3比特币的隔离验证、闪电网络与侧链12.4.4基于DAG的提速技术12.4.5其他提速思路12.5系统升级维护问题12.5.1硬分叉史记12.5.2系统升级维护难题和分叉PART【B】GO语言开发(40课时)第13章算法实践13.1哈希算法13.2默克尔树13.3椭圆曲线13.4数字签名与验签13.5Paxos/Raft共识算法13.6PBFT共识算法13.7HotStuff共识算法13.8基本的p2p网络实现13.9DHT数据结构第14章能力延展高手之路14.1业务增长技术14.1.1负载均衡14.1.2分布式事务和分布式锁14.1.3超时和重试机制14.1.4幂等性机制实践:负载均衡系统的搭建与分布式事务的开发14.2程序设计能力14.2.1合理的Gin目录结构14.2.2服务的日志记录14.2.3服务的优雅退出14.2.4权限的配置14.2.5图片验证码14.2.6跨域的原理和解决方案14.2.7微服务间的认证实践:开发包含上面功能的Gin网站14.3微服务架构能力14.3.1服务注册14.3.2服务发现14.3.3分布式的配置中心14.3.4链路追踪14.3.5限流、熔断、降级14.3.6错误的统一处理14.3.7前后端分离的接口规范和统一调试实践:注册服务系统的搭建及测试示例开发PART【F】Java开发深入(40课时)第15章Java基础(2课时)15.1 java基础1课时15.2 java进阶1课时第16章Java Web(10课时)16.1前端基础之HTML与CSS 1课时16.2前端基础之JavaScript与综合案例1课时16.3 Java Web基础之JSP与Servlet 1课时16.4 Java Web进阶之JSP与Servlet 1课时16.5 Java Web进阶之JSTL与EL表达式1课时16.6常用功能之JSON、Jquery与Ajax 1课时16.7 Java 正则表达式与过滤器1课时16.8 Java 监听器与Freemaker 1课时16.9企业门户网站前后台开发案例2课时第17章Java数据库开发与实战(10课时)17.1 MySQL基础之安装与基本查询1课时17.2 MySQL基础之高级查询与基本函数1课时17.3 Java数据库开发基础1课时17.4 框架前置知识1课时17.5 MyBatis与MyBatis-plus基础2课时17.6 MyBatis项目实战2课时17.7 Linux环境搭建与Redis应用2课时第18章从SSM到SpringBoot 项目实战(9课时)18.1 Spring基础之Ioc容器与Bean管理1课时18.2 Spring基础之AOP面向切面编程与事务管理1课时18.3 Spring MVC基础1课时18.4 SSM案例实战之框架整合2课时18.5 Spring Boot入门介绍1课时18.6 Spring Boot项目实战3课时第19章Java分布式与微服务实战(14课时)19.1多线程与ThreadLocal 1课时19.2分布式基础与Docker应用2课时19.3 Nginx与消息队列2课时19.4Spring Cloud微服务基础2课时19.5 Spring Cloud框架整合2课时19.6 Spring Cloud电商实战3课时19.7 Zookeeper介绍1课时19.8 Dubbo介绍1课时发布于 2022-02-27 09:42​赞同 12​​1 条评论​分享​收藏​喜欢收起​穆风侃财书生意气,弃土从心,戏墨听禅!​ 关注区块链技术是一种分布式数据存储技术,可以用于记录交易或其他数据。学习区块链技术可以帮助您了解如何建立分布式数据库,并设计安全的交易系统。学习这项技术后,您可能可以在金融、政府或区块链技术公司等行业工作。例如,您可能会从事区块链开发、架构设计、安全审核等工作。发布于 2022-12-14 20:34​赞同​​添加评论​分享​收藏​喜欢收起​​

区块链到底是什么?区块链能干嘛? - 知乎

区块链到底是什么?区块链能干嘛? - 知乎切换模式写文章登录/注册区块链到底是什么?区块链能干嘛?一度蜜智能基于大数据的智能产品分销平台新年伊始,区块链突然火,尤其在创投圈,火的那是一塌糊涂,简直烈火烹油一般。现在弄得逢人不说句区块链,都感觉自己很丢人。但你要是问问到底是什么区块链,估计没几个人能真正说清楚,不过这不妨碍大家想尽办法和这个概念扯上一点关系。为什么呢?来钱快啊!你看看半死不活的人人网,股价几乎要跌到了谷底,一说要搞区块链,股价马上暴涨了80%以上。迅雷也沾了区块链不少光,自去年迅雷宣布向区块链技术转型后,一个多月的时间,股价翻了6倍。实实在在的真金白银啊!乱象丛生一时间的, 煽风点火的,驻足观望的,夸大其词的一哄而上,“众人拾柴火焰高”嘛,不火才怪呢!甚至有些公司雇几个员工,做个PPT,创造几个莫名其妙的概念,再那么一包装,就敢说是搞区块链的。有没有觉得这特么的简直是个笑话!但还就是有人信,不但信了,还给投资。骗子和傻子的完美配合!有这么一家公司,号称要做区块链的微信,美其名曰要实现让人与人之间的交流和通信变得安全,私密。你是要卖白粉,还是谈嫖资?什么样的大买卖需要在微信里如此秘密的进行?你不妨想想,当我们在用微信的时我们在担心什么?是因为他不够隐私,信息很轻易或者经常被别人窃取么?还是你发红包的时候,钱就不翼而飞了?都不是,我们使用微信,那是我们的朋友就在那里,工作就在那里。这才是用户的需求,所以“微信+区块链”怎么看都不成立啊!好吧,即使成立,也是腾讯公司要做的事,与你有毛线的关系?而现在的币圈,很多天天喊着要做区块链界的微信的公司,打开官网,除了一堆大概念大口号,连个产品都没有,但是币却已经发了,ICO也都募了几千万了。来,你给我说一下公司接下来怎么办?你的装机用户量是多少?日活月活是多少?怎么实现盈利?增长情况如何?骗子!我们能理解投资人的焦虑,生怕自己错过这个风口。但你至少要明白区块链到底是什么吧。不要只听既得利益者的忽悠。区块链的价值到底是什么实际上,区块链从本质上来说是一个去中心化的分布式数据库。举个例来说,你要在某宝上买一部手机,正常的交易流程是:你将钱打给支付宝-支付宝收款后通知卖家发货-卖家发货-你确认收货-支付宝把钱打给卖家。这个过程中,支付宝扮演这一个“中介”的角色。也就是说你和卖家的交易是围绕支付宝展开的。一旦支付宝系统出了问题,交易很有可能就失败了。而且你和卖家还有向支付宝提供你的姓名、地址等多余的信息。如果再考虑一下极端情况,支付宝跑路了或者是拿了钱不却不承认你的交易或者是支付宝所在的城市因特殊把所有人都赶走了,那么你就悲剧了。而去中心化的处理方式就要显得简单很多,你只需要和卖家交换钱和手机,然后双方都声称完成了这笔交易,就OK了。这只是你和卖家双方的交易,设想一下有成千上万笔交易在进行,去中心化的处理方式会节约很多资源,使得整个交易自主化、简单化,并且排除了被中心化代理控制的风险。这才是区块链的真正价值。看上去似乎很有市场前景!当然,看上去不好,谁干啊!传销组织还知道树立“典型”呢,就是让你有个盼头。而业内人士却赋予其更为有价值的颠覆意义,其“颠覆”意义不仅是对现有互联网技术的改进,长远来看是对社会组织协作方式、商业运作模式的颠覆。我的天,感觉怎么有种“改朝换代”的感觉。那是,不往死里忽悠,谁信啊!变相投机说这个问题之前,我们先来说说区块链和代币的关系,方便大家来理解。区块链这种技术比较特殊,想应用这一技术就必须产生数字资产,维持资产运转的媒介就是代币,也叫通证,即一串代码。也就是说这种代币来催动区块链的运行。代币又有多种币种组成,如比特币、以太坊币等。2017年最耀眼的比特币,价格全年涨幅超过1500%;另一个光芒稍逊但已是币圈黑马的瑞波币,价格全年涨幅超过36000%;曾是全球第二大加密货币的以太坊,年内价格涨幅为9162%。而另一些并不为大众熟知的虚拟币如新经币、Stellar和达世币,价格上涨幅度分别为29842%、14441%和9265%。简直上演了一幕造富神话!虽然,虚拟数字代币已经受到国家严格监管,但不乏“富贵险种求”的人。老牌互联网企业人人公司宣布将推出区块链项目“人人坊”,并公布名为RRCoin(人人币)的ICO计划。1月3日柯达发布公告称将发布数字货币柯达币,涉足区块链领域;受此影响,柯达股价一度涨幅高达120%,这家几乎被人遗忘的公司又重回聚光灯下。甚至迅雷旗下“玩客云”区块链项目硬件产品,在开售前的预约量已接近151亿元,直逼小米2017全年不含手机的销售额。虽然,最后给国家叫停了,但丝毫挡不住有些人的一夜暴富的发财梦。创业的,四处拉投资;投资的,四处寻找公司;有些影响力的公司,也要抱住区块链的大腿,趁机捞一把。甚至连网易、360、快播、美图、小米及BAT等这样的互联网大佬也相继爆出已涉足区块链项目。而投资圈更是因为真格基金创始人徐小平的一份“内部分享”泄露,让区块链一时风头无两。在二级资本市场,大盘走势并不乐观、甚至微跌的情况下,多只区块链概念股仍表现强劲,连续两日出现涨停。站在风口,即使飞不起来,至少可以走的更快些吧!那这些企业是怎么把区块链运用到实际经营中的呢?说出来,简直要笑掉大牙。以京东为例,京东将区块链技术用于生鲜领域区推出“京东品质溯源防伪联盟”,消费者通过扫码可查询联盟内生鲜的生产源头等信息。笑话,扫码就能辨别真假,那如果二维码记录的信息如果是假的呢?找谁说理去。在没有一个有效的第三方来针对区块链防伪做解读、评测等服务,谁敢信?京东还算有点良心,至少有这么一出,有的甚至借这个噱头圈钱而已。这么说来,区块链是有一定的价值,但目前看来,远没有大家说的那么邪乎,至少在落地方面还很难实现。瑞士信贷集团在近日发布的《区块链2.0》的报告中提出观点:实际上,目前区块链技术仍正处于发展的“半山腰”上。不少投资人士以及业内专家表示:“要警惕其疯长背后的泡沫”。看来道理都懂啊!那干起事来怎么“揣着明白装糊涂”呢?挣钱啊!不管什么人,也不管什么公司,谁跟钱有仇啊!对很多企业来说,现在区块链是什么,怎么落地实施已经不重要了,怎么挣钱才是关键的,这不成了投机的工具了吗?你以为呢?- END -发布于 2018-01-19 14:02HC超级社区​赞同 8​​2 条评论​分享​喜欢​收藏​申请

什么是区块链技术? - IBM Blockchain

什么是区块链技术? - IBM Blockchain

什么是区块链技术?

区块链是一种不可篡改的共享账本,用于记录交易、跟踪资产和建立信任

区块链的优点

区块链成功从这里开始

IBM《区块链傻瓜书》现已发行第 3 版,已向超过 6.8 万名读者介绍了区块链。

内容:

区块链基础

区块链如何运作

区块链的实践应用:用例

由 Linux 基金会主导的 Hyperledger 项目

第一次区块链应用的十个步骤

区块链技术概述

区块链定义:区块链是一个共享的、不可篡改的账本,旨在促进业务网络中的交易记录和资产跟踪流程。 资产可以是有形的(如房屋、汽车、现金、土地),也可以是无形的(如知识产权、专利、版权、品牌)。几乎任何有价值的东西都可以在区块链网络上跟踪和交易,从而降低各方面的风险和成本。

为什么区块链很重要:业务运营依靠信息。信息接收速度越快,内容越准确,越有利于业务运营。区块链是用于传递这些信息的理想之选,因为它可提供即时、共享和完全透明的信息,这些信息存储在不可篡改的账本上,只能由获得许可的网络成员访问。区块链网络可跟踪订单、付款、帐户、生产等信息。由于成员之间共享单一可信视图,因此,您可采取端到端方式查看交易的所有细节,从而增强信心,提高效率并获得更多的新机会。

区块链的关键元素

分布式账本技术

所有网络参与者都有权访问分布式账本及其不可篡改的交易记录。 借助这个共享账本,交易只需记录一次,从而消除了传统业务网络中典型的重复工作。

不可篡改的记录

当交易被记录到共享账本之后,任何参与者都不能更改或篡改相关信息。 如果交易记录中有错误,则必须添加新交易才能撤消错误,这两个交易随后都是可视的。  

智能合约

为了加快交易速度,区块链上存储了一系列自动执行的规则,称为 "智能合约" 。 智能合约可以定义企业债券转让的条件,包括有关要支付的旅行保险的条款等等。

区块链如何运作

每个交易发生时,都会被记录为一个数据“区块”

这些交易表明资产的流动情况,资产可以是有形的(如产品),也可以是无形的(如知识产权)。 数据区块可以记录您选择的信息:人、事、时、地、数甚至条件(例如食品运输温度)。

每个区块都与其前后的区块连接

随着资产从一地移至另一地或所有权的变更,这些数据区块形成了数据链。 数据区块可以确认交易的确切时间和顺序,通过将数据区块安全地链接在一起,可以防止任何数据区块被篡改或在两个现有数据区块之间插入其他数据区块。

交易以区块形式组合成不可逆的链:区块链

每添加一个数据区块都会增强对前一个区块的验证,从而也增强对整条区块链的验证。 因此,篡改区块链很容易就会被发现,这也是不可篡改性的关键优势所在。 这不但消除了恶意人员进行篡改的可能性,还建立了您和其他网络成员可以信任的交易账本。

区块链技术的优点

需要改变的方面:运营人员常常在保留重复记录和执行第三方验证等方面浪费精力。 记录保存系统容易受到欺诈和网络攻击的威胁。 有限的透明度会延缓数据验证速度。 随着物联网的到来,交易量呈爆炸式激增。 所有这些因素都会影响开展业务的速度并侵蚀利润,因此我们需要更好的方法。 于是区块链闪亮登场。

更高的信任度

通过使用区块链技术,作为会员制网络中的一员,您可以确信自己收到准确、及时的数据,并且您的机密区块链记录只能与您特别授予访问权限的网络成员共享。

更高的安全性

所有的网络成员都需要就数据准确性达成共识,并且所有经过验证的交易都将永久记录在案,不可篡改。 没有人可以删除交易,即便是系统管理员也不例外。

更高的效率

通过在网络成员之间共享分布式账本,可避免在记录对账方面浪费时间。 为了加快交易速度,区块链上存储了一系列自动执行的规则,称为“智能合约”。

区块链基础知识五分钟简介

1

深入了解区块链技术的基础知识:数据块中如何包含代表任何有价值事物的数据,它们如何在不可篡改的数据链中按时间顺序连接在一起,以及区块链与比特币等加密货币之间有何差异。

2

了解区块链的分散性质如何使其有别于传统的记录保存,探索许可区块链在商业交易中的价值,以及区块链如何使信任和透明度达到新的水平。

3

食品行业只是通过区块链技术实现转型的行业之一。 了解如何在保护网络参与者数据的前提下,追溯食品的种植、收获、运输和加工的时间、地点和方式。

4

区块链之所以能建立信任,是因为它代表了真实的共享记录。每个人都能相信的数据将有助于推动其他新技术的发展,从而能大幅提高效率、透明度和置信度。

区块链网络的类型

可采用多种方式建立区块链网络。 它们可以是公有、私有、许可式区块链网络,或由联盟建立。

公有区块链网络

公有区块链是任何人都可以加入和参与的区块链,如比特币。 缺点可能包括需要大量计算能力,交易的私密性极低或根本没有私密性可言,以及安全性较弱。 而这些都是区块链的企业用例的重要考虑因素。  

私有区块链网络

私有区块链网络与公有区块链网络相似,也是分散的点对点网络。 但是,在私有区块链网络中,由一个组织负责管理网络,控制谁获准参与网络,并执行共识协议,维护共享账本。 这有助于显著提高参与者之间的信任和信心,具体取决于用例。 私有区块链可在企业防火墙后运行,甚至可在企业内部托管。

许可式区块链网络

建立私有区块链的企业通常也会建立许可式区块链网络。 需要注意的是,公有区块链网络也可以成为许可式网络。 这种模式对获准参与网络和执行特定交易的人员施加限制。 参与者需要获得邀请或许可才能加入。

联盟区块链

多个组织可以分担维护区块链的责任。 这些预先挑选的组织决定谁可以提交交易或访问数据。 如果所有参与者都必须获得许可才能参与,并且对区块链共担责任,那么对于企业而言,联盟区块链是理想之选。 

区块链安全性

区块链网络的风险管理系统

 

在构建企业区块链应用时,必须制定全面的安全战略,通过使用网络安全框架、保证服务以及最佳实践,缓解攻击和欺诈带来的风险。

了解有关区块链安全性的更多信息

区块链用例和应用

IBM Food Trust 通过从海洋一直到超市和餐馆全程跟踪捕捞的每一批海鲜,帮助 Raw Seafoods 增强整个食品供应链的信任度。

INBLOCK 发行了基于 Hyperledger Fabric 的 Metacoin 加密货币,旨在更迅速、更方便、更安全地开展数字资产交易。

利用区块链技术,实现变革性的医疗成果

IBM Blockchain Platform 帮助生态系统改变确保信任、数据来源和效率的方式,从而改善患者治疗和组织盈利能力。

阅读:实现变革性的医疗成果 (PDF, 188 KB)

了解 Golden State Foods 如何利用区块链的不可篡改性,跟踪供应链中的货物,帮助保障食品质量。

Vertrax 和 Chateau Software 推出了第一个基于 IBM Blockchain Platform 的多云区块链解决方案,旨在帮助防止大宗石油和天然气分销的供应链中断。

Home Depot 采用 IBM Blockchain 技术,获取有关发货和收货的共享可信信息,从而减少供应商争议并加速解决争议。

行业区块链

行业领军企业使用 IBM Blockchain 消除摩擦,建立信任,实现新的价值。 选择细分行业以了解详细信息。

供应链

医疗保健

政府

零售

媒体和广告

石油和天然气

电信

制造

保险

金融服务

旅游和交通运输 (PDF, 340 KB)

区块链常见问题解答

区块链和比特币有何区别?

比特币是一种不受监管的数字货币。 比特币使用区块链技术作为其交易账本。

这段视频说明了两者之间的差异。

IBM Blockchain Platform 与 Hyperledger 有何关系?

IBM Blockchain Platform 由 Hyperledger 技术提供支持。

这种区块链解决方案可以帮助任何开发人员顺利转变为区块链开发人员。

请访问 Hyperledger 网站以了解详细信息。

了解有关 Hyperledger 的更多信息

我可以在自己期望的任何云上进行部署吗?

IBM Blockchain Platform 软件经过优化处理,可以部署在 Red Hat 最先进的企业级 Kubernetes 平台 Red Hat® OpenShift® 之上。

这意味着您可以更灵活地选择在何处部署区块链网络组件,无论是本地、公有云还是混合云架构。

信息图:在自己选择的云环境中进行部署

我需要更多详细信息。 可从哪里获得?

如需更详细地了解区块链网络的运作方式以及使用方法,请阅读《分布式账本简介》(Introduction to Distributed Ledgers)。

学习 IBM Developer 上的区块链教程,了解更多信息

探索 IBM Blockchain Platform 的功能,这是唯一完全集成的企业级区块链平台,旨在帮助您加速多机构业务网络的开发、治理和运营。

立即注册,下载 IBM Blockchain Platform 白皮书 (PDF, 616 KB)

获取有关 Hyperledger Fabric 的详细信息,了解其独到之处、为何对业务网络至关重要以及如何开始使用。

访问 IBM Developer 上的 Hyperledger 页面

这份开发人员快速入门指南解释了如何使用 IBM Blockchain Platform Starter Plan 构建入门级区块链网络并开始编写代码。

查看开发人员快速入门指南

区块链解决方案

IBM Blockchain 解决方案

IBM Blockchain Platform 属于领先的 Hyperledger Fabric 平台。区块链创新者可充分利用这一平台,通过 Red Hat® OpenShift® 在任何计算环境中构建、运营、管理和发展区块链解决方案。

了解有关 IBM Blockchain Platform 的信息

区块链咨询

作为顶级区块链服务提供商,IBM Blockchain Services 拥有丰富的专业知识,可帮助您基于最佳技术构建强大的解决方案。超过 1,600 名区块链专家使用来自 100 多个实时网络的洞察,帮助您构建和发展。

了解有关区块链咨询的信息

所有 IBM Blockchain 解决方案

采用 IBM Blockchain 解决方案是区块链取得成功的最佳捷径。 IBM 融合了各种网络,使您能够轻松让其他成员加入,共同推动食品供应、供应链、贸易融资、金融服务、保险以及媒体和广告等领域的转型。

查看我们快速发展的区块链解决方案

区块链技术资源

通过艺术诠释区块链技术

我们请来五位对区块链技术知之甚少的艺术家,创作有关区块链主要优点的艺术作品。查看他们的作品,然后在我们最新网络研讨会系列 Blockparty 中,从 IBM 客户和业务合作伙伴那里了解更多信息。

区块链技术博客

网络上有关区块链技术的内容并不缺乏。但对于 100 多万的读者来说,IBM Blockchain Pulse 博客是区块链思想领导力和洞察分析最值得信赖的来源之一。

区块链技术播客

戴上耳机,通过聆听区块链创新者的知识来充实自我。了解区块链技术如何帮助个人重新获得对身份的控制权限、消除全球贫困和减少污染等难题。

区块链技术用例

通过了解创新者如何使用区块链技术 IBM Blockchain Platform 变革业务来获得启发。您可以加入现有的区块链网络,也可以与我们合作创建您自己的区块链网络。

客户成功案例

了解我们的客户如何运用 IBM Blockchain 区块链技术,对组织进行革新,从而获得切实可行的业务成果。

区块链技术后续步骤

浏览我们的参考指南,更深入地了解区块链的各个方面,包括运作方式、使用方法以及实施注意事项。

区块链技术主题

区块链技术的优点

智能合约

面向企业的区块链

区块链安全性

社会公益区块链

区块链和物联网

Hyperledger

区块链知识讲解-百度惠生活

知识讲解-百度惠生活 正在