精华内容
下载资源
问答
  • 初识区块链——区块链到底是什么

    千次阅读 2019-10-08 17:44:50
    一、区块链 1.1、概念概述 1.2、核心算法概述 1.2.1、拜占庭协定 1.2.2、非对称加密 非对称加密举例 1.2.3、容错问题 1.2.4、分布式一致性算法 1.2.5、共识机制 1.2.6、分布式存储 1.3、 零知识证明 1.3.1、概述 ...

    一、区块链

    1.1、概念概述

    可以说,区块链是比特币概念的一个产物,在当时第一次提出比特币这一概念的论文中,其实已经存在了 “区块” 以及 “链” 这两个词,只不过并没有把这两个词联合起来而已。区块链这一概念的第一次提出是在2016年。区块链的英文名是Blockchain,从他的字面意思来理解的话,可以很轻松的知道这是块和链的结合。比特币也是区块链的一个应用,而且是目前为止规模最大、范围最广的一个应用。

    目前为止,对区块链的定义并不是唯一的,不过结合区块链的特征,不难发现,区块链其实就是基于比特币区块链技术的一个公共数据库,不过这个数据库的特别之处在于,这个数据库是去中心化的。

    1.2、核心算法概述

    1.2.1、拜占庭协定

    拜占庭协定来源于拜占庭问题:拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。

    他的核心思想在于每个将军都有一份实时与其他将军同步的消息账本。账本里有每个将军的签名都是可以验证身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些将军。尽管有消息不一致的,只要超过半数同意进攻,少数服从多数,共识达成。

    而区块链也恰恰利用了这一核心思想,区块链提供一个分布式账本平台,区块链所提供的账本我们称作超级账本。一般地,多个交易被打包进区块中,多个区块构成一条区块链。区块链代表的是账本状态机发生变更的历史过程。

    1.2.2、非对称加密

    非对称加密,其实也就是说,使用一对公私钥来进行加密。使用私钥加密的密文,只能通过公钥来进行解密,这样的话,可以用来验证加密方的身份,可以作为一个数字签名。当然,使用公钥加密的密文,也只有私钥才能够解密出相应的明文。

    一般来说,如果你保存好自己的私钥,不让别人知道的话,那你所拥有的与私钥有关的一切东西都是安全的。

    非对称加密举例

    非对称加密的算法有很多种,例如,由麻省理工学院的三位学者提出的RSA加密算法、由背包问题衍生出来的Knapsack算法、由离散对数难题衍生出来的Elgamal算法、以及基于椭圆曲线的椭圆曲线加密算法等。在本文中,我们采用的是以太坊的椭圆曲线加密算法。椭圆曲线加密算法是以太坊的核心,在以太坊上的所有通信,都需要发起者通过其私钥签发,而另外的通信者则需要使用发起者的公钥进行解密。假设区块链上的两个用户要进行通信,那么他们是怎么通信的呢?我们消息发起者为A,消息接收者为B。首先,A需要对他想要发送的消息使用私钥加密,加密的过程如下:

    1) 首先生成一个随机数 r 0 r_0 r0,选取基点 P P P,然后求出随机数和基点的乘积点: r 0 P = ( X , Y ) r_0P=(X,Y) r0P=(X,Y)
    2) 根据明文 m m m、明文 m m m的哈希值 h h h以及 A A A自己的私钥 S K C SK_C SKC生成 s s s: s = h + S K C X r 0 s=\frac {h+ SK_CX}{r_0} s=r0h+SKCX

    3)在上述所有的工作完成之后,把 s s s、点 r 0 P r_0P r0P、以及消息 m m m发送给B,其中 s s s以及 r 0 P r_0P r0P起到的作用就是数字签名。

    那么B接收到由A发来的信息后,是怎么处理数据的呢?数据处理过程如下:

    1) 使用A所发送的消息 m m m计算 m m m的哈希值 h h h
    2) 利用A的公钥 P K C PK_C PKC以及基点 P 、 s P、s Ps计算出 C C C C = h s P + X s ( P K C P ) C=\frac {h}{s}P +\frac{X}{s}(PK_CP) C=shP+sX(PKCP)
    3) 如果签名是正确的,那么将会得到结果: C = r 0 P C=r_0P C=r0P

    1.2.3、容错问题

    在消息传输的过程中,可能会丢失、损坏、延迟、重复发送,并且接受的顺序与发送的顺序不一致。

    而节点的行为也可以是多样的,可以随时加入、退出网络,可以丢弃消息、伪造消息、停止工作等,还可能发生各种人为或非人为的故障。

    区块链上的算法对由共识节点组成的共识系统,提供的容错能力,这种容错能力同时包含安全性和可用性,并适用于任何网络环境。

    1.2.4、分布式一致性算法

    想要了解这个种类的算法,必须要先知道两个定理:FLP不可能性以及CAP定理

    FLP不可能性是指即使网络通信完全可靠,只要产生了拜占庭错误,就不存在一个确定性的共识算法能够为异步分布式系统提供一致性。

    CAP定理是指在设计分布式系统的过程中,“一致性”“可用性”“分区容忍性”三者中,我们只能选择两个作为主要强化的点,另外一个必然会被弱化。

    区块链为了保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。也就是说,每一个节点在相同状态下,执行相同的命令之后,最终的状态都是一致的。

    1.2.5、共识机制

    共识机制中,最重要的两个证明分别是:工作量证明以及权益证明的相关算法。

    工作量证明是指为了选出一位参与者成为领导者并选择下一个加入区块链的区块,参与者必须解决一个特定的数学问题。

    权益证明是指权益证明用权益替代了工作量证明在电力和算力方面的要求。权益指的是参与者在一段时间内愿意锁定的代币量。作为回报,他们成为下一个领导者并选择下一个区块的可能性是与他们所下的赌注成正比的。

    总之,区块链的共识机制的核心思想就是让攻击的所能够得到的收益远远小于他成功攻击所需要的成本。

    1.2.6、分布式存储

    分布式存储的思想,如果通俗一点来说的话,其实他就是要把100个鸡蛋分别放在不同的篮子里。

    分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切片后加密存放在不同的电脑里。

    而相应的信息存储在哪里呢?其实是存储在了矿工的电脑里。存储时,有关切片文件的存储信息会被记录到区块链上,以防止信息被篡改。

    1.3、 零知识证明

    1.3.1、概述

    先看两个是零知识的证明的例子:

    1) 证明你有习题的答案?

     谁也别想看到我的答案本,要是想知道我真的有答案,那你就出题,让我来给你结果。
    

    2) 证明你有公司所有电脑的密码?

     你说想让我打开哪台电脑,我都能打开。
    

    再看一下同样是解决方法,但并不是零知识证明的例子:

    1) 证明你有习题的答案?

     把答案本直接拿给别人,让他们验证是不是正确的。
    

    2) 证明你有公司所有电脑的密码?

     我把密码都告诉你,你去验证吧。
    

    通过上面的例子,其实就很容易理解零知识证明的核心思想了,其实就是说,你有相应的数据,但是别人让你证明你有这个数据的时候,你不让他们看到你所拥有的数据。

    1.3.2、举例

    本来想使用DUBI车险数据的处理方法来举例的,算了,太多公式了,等到下一篇文章单独介绍一下吧。

    二、区块链1.0-比特币

    2.1、概述

    比特币与纸币、黄金、白银等交易货币不同的是,它只是一串数字,每个比特币都是一串唯一的数字,在比特币网络中,决不可能存在两段不同的代码代表同一个比特币的情况,而比特币的拥有者则有自己的比特币账户地址。

    2009年1月3日,提出比特币这一概念的匿名用户便开始了实现自己想法的实践之旅,他在Helsinki的一个服务器上创造了比特币世界的第一个区块,我们把这个区块叫做“创世区块”。顾名思义,这是众多连接起来的区块中的第一块。

    2.2、区块信息

    比特币的每个区块都包含了三个部分:区块的基本情况、哈希值、交易详细信息。区块的基本情况中,又包含了许多信息:交易的数量、交易所产生的费用、对矿工所给予的比特币数量、挖矿的难度、区块的创建时间等。而在哈希值中,则包含了区块的哈希值、矿工在区块上添加的哈希值、在这个区块之前的一个区块的哈希值以及下一个区块的哈希值等。这个区块记录的全部交易情况(每一次生成交易时的时间、输入地址、输出地址等)都被包含在交易详细信息之中。

    如果大家觉得描述的太抽象了的话,可以找找创世区块,去看看具体结构是什么样子的。

    三、区块链2.0-以太坊

    3.1、概述

    以太坊是一个公开链,可以在以太坊上处理金融以及非金融类型应用的状态。以太坊的计算机网络显得很创新且又吸引人心,它促成了一种真正的去中心化应用。使用以太坊进行应用的开发其实并不难,以太坊提供了许多能够用来开发应用的框架,其中不免密码学技术基础框架。因此,使用以太坊进行应用的开发,不仅能够降低开发的难度,更能对应用提供安全技术支持。从以太坊的发展来看,他带来的改变将影响全球经济的走向。

    以太坊包含了用来构建以及发布应用的以太脚本,也包含了自己的数字货币,叫做以太币。以太币与比特币非常相似,这两种数字货币都不能被伪造,都以去中心化的方式来确保货币不会被某一方控制。而以太脚本提供了一个完整的编程语言环境,有了以太脚本后,我们便可以制订不会产生二义性的合约了。

    从以太坊设计的底层来看,以太坊其实是基于计算机密码学的一个开源技术协议。以太坊有很多模块,每个模块分别实现了不同的功能,之后再把各个模块整合起来,形成了以太坊这个整体。与此同时,以太坊可以被看作是智能合约以及区块链的完美结合体,我们可以把已经写好了的智能合约部署到以太坊上,通过以太坊虚拟机以及以太坊提供的RPC接口来访问智能合约和实现与区块链之间的交互。

    以太坊虚拟机是以太坊中用来为智能合约提供执行环境的重要部分。其实他是以太坊项目之中众多创新的一部分。以太坊虚拟机是由众多相互连接着的计算机构建而成的,每个人都可以在以太坊上定义智能合约,这些程序会按照虚拟机所定义的方式执行。以太坊上的账户(其实也就是以太坊地址)可以分为两大类:外部账户、合约账户。外部账户的以太坊地址其实是由它的公钥来决定的,而合约账户的以太坊地址则是在创建这个合约的时候由这个合约的创建者的以太坊地址以及从这个地址中所产生的交易数量来决定的。这两类账户的区别是:外部账户在以太坊中是没有代码的,人们可以通过生成以及签名一笔交易而从一个外部账户发送信息。

    3.2、以太坊钱包

    比较常用的以太坊钱包有五种,分别是:Parity、MyEtherWallet、imToken、MetaMask、Legder。接下来,分别为几种以太坊钱包做个简洁的介绍:

    •Parity: 这个以太坊钱包是由Ethereum Foundation的一部分成员提出以及开发出来的,是一个全节点以太坊钱包并且其功能非常完善。这个钱包的安全度很高,且发起交易时并不会有第三方的参与。不过,也存在一些缺点,对网络的要求比较高是它的缺点之一。
    •MyEtherWallet: MyEtherWallet是一个轻钱包,如果想要使用这个钱包,并不需要下载,直接在网页上就可以完成所有的操作且支持很多硬件钱包。不过,MyEtherWallet并不会帮用户保存在MyEtherWallet上生成的密钥,用户需要自己保存密钥,且在进行交易时需要输入密钥。
    •imToken: imToken是一个移动端钱包,操作也很简单,能够让用户很快上手,在这个钱包生成的密钥可以保存在手机本地上,平台上是没有备份的,另外,对于广大开发者来说的一大优点便是,这个软件现在已经开源了。imToken的缺点是只有手机客户端。
    •MetaMask: MetaMask一开始的时候是作为chrome浏览器的插件被大多数人认识的,在本文中,也使用了MetaMask钱包,只不过是作为火狐浏览器的一部分来使用的,MetaMask支持各种硬件钱包,且操作简单。不过,MetaMask需要我们自己添加代币的智能合约地址。
    •Legder: 这是一个硬件钱包,可以出色的保护用户的账户安全,可以配合上述提到的除了移动端钱包之外的以太坊钱包使用,不过这个钱包的价格并不便宜。

    3.3、以太坊客户端

    如果你还在为自己只会一种编程语言,而不能进行以太坊开发而发愁的话,这些考虑是多余的,以太坊官方正好为你解决了这一问题。

    为了能够使用各种语言为以太坊的测试提供支持,以及为了能够让更多人加入到以太坊的开发行列之中,目前出现了使用8种语言编写的以太坊客户端。他们分别是使用c++语言编写的以太坊客户端cpp-ethereum,用Go语言编写的用于以太坊开发的客户端go-ethereum,也就是本文所使用的geth客户端。用javascript语言编写的以太坊客户端ethereumjs-lib,使用Java语言编写的以太坊客户端Ethereum(J),使用Ruby语言编写的以太坊客户端ruby-ethereum,使用Python语言编写的客户端pyethapp,使用Rust语言编写的客户端Parity,这个客户端是目前最轻便的用于以太坊开发的客户端,且在历次以太坊攻击中表现良好。使用Hashell语言编写的客户端,目前为止这个客户端的资料最少,因此不推荐使用该客户端。上述的几种客户端中,本文推荐使用geth客户端作为以太坊开发的客户端,因为geth客户端是目前为止以太坊官方没有停止维护且也是官方建议使用的客户端。

    以太坊官方还提供了一个特殊的客户端浏览器——Mist,利用这个浏览器,用户可以运行各式各样的以太坊应用。Mist这一浏览器,对新手非常友好,用户使用时并不需要太多的专业知识,因此用户可以轻松上手使用这一浏览器,再加上Mist由出色的安全机制、公私钥管理机制以及与区块链相关的组件组成,使得他成为了不懂编程或不精通区块链的用户用来运行去中心化应用以及管理区块链相关应用中非常重要的一部分,因为不懂编程或不精通区块链的用户并不需要去了解以太坊的底层设计。

    3.4、智能合约

    其实智能合约这一概念很早就被提出来了,智能合约这一概念是由Nick Szabo在90年代提出的,智能合约的历史几乎与互联网一样长。智能合约其实是一段可执行代码,不过这段代码实现的是传统意义上的合约,双方或多方可以通过智能合约来签订都认可的协议。由于在当时缺少值得信赖的执行环境,把智能合约用到实际生活中便显得天方夜谭。但是在比特币这一概念被提出了之后,人们便意识到比特币的核心技术——区块链技术正好能够作为执行智能合约的可信赖的运行环境,以太坊这一公开链则首先实施了智能合约与区块链完美结合的工作。

    在以太坊的内部,配备了图灵完整性编程语言的区块链,我们可以通过这一特性构建抽象的应用基础层,以便所有想要通过以太坊构建合约的人构建合约以及基于以太坊的应用,并在以太坊中定义属于他们自己的规则。要是想编写智能合约,solidity语言将会是我们的首选编程语言,我们可以通过truffle框架轻松的编译由solidity编写的智能合约,并通过truffle进行智能合约的部署,整个过程并不需要开发者动手编程,只需要依靠truffle框架就可以很方便的编译和部署智能合约了。

    3.5、怎么创建DAPP

    我们可以结合以太坊来进行DAPP的开发,具体的开发步骤我留在以后讲吧。

    四、区块链开发指导

    4.1、以太坊环境搭建

    在linux系统下配置以太坊开发环境:
    输入以下命令安装solc:

    sudo npm install -g solc
    

    我们需要在geth控制台使用solc编译器,那么我们仍然需要安装solc二进制包。输入以下命令安装solc二进制包:

    sudo add-apt-repository ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install solc
    which solc可以用来验证一下环境是否安装成功
    

    4.2、以太坊客户端安装

    本文使用的是geth搭建的私有链,因此需要安装geth客户端:
    输入以下命令安装geth客户端:

    sudo apt-get install software-properties-common
    sudo add-apt-repository -y ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install ethereum
    

    4.3、truffle框架安装

    安装NodeJs,想要使用truffle框架对智能合约进行操作,需要NodeJs环境,且NodeJs版本不能低于5.0
    输入以下命令安装NodeJS:

    sudo apt-get install curl
    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash 
    sudo apt-get install -y nodejs
    

    为了更快捷的进行以太坊开发,我们需要安装truffle框架:
    输入以下命令安装truffle框架:

    sudo npm install -g truffle
    

    4.4、以太坊客户端geth安装

    本文使用的是geth搭建的私有链,因此需要安装geth客户端:
    输入以下命令安装geth客户端:

    sudo apt-get install software-properties-common
    sudo add-apt-repository -y ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install ethereum
    

    4.5、 私链搭建

    本次文使用的是自己搭建的私链,当然,也可以使用Ganache本地私链,ganache的私链很简单,只需要安装ganache以后,开启他就会成为一个私链。

    使用geth客户端搭建私链的方法就我所知道的有两种,在这里,我推荐一个链接:
    私链搭建方法

    如果有任何疑问,可以通过私信来联系我,也可以评论。

    4.4、挖矿

    使用以下命令来启动挖矿以及停止挖矿:
    挖矿命令:

    miner.start()
    

    停止挖矿的命令:

    miner.stop()
    

    4.5、常用的truffle框架命令

    初始化文件:

    truffle init
    

    进行智能合约的编译:

    truffle compile
    

    进行智能合约的部署:

    truffle migrate
    

    当然,truffle还有更多的高逼格命令,我不可能在这里一一列出的,想知道的同学可以去truufle官网看看。

    五、区块链开发视频分享

    想要区块链开发的学习文档以及区块链开发视频教程的同学可以评论也可以私聊我,我看到的话,会联系你的。

    展开全文
  • 原标题:区块链科普002:什么是区块?白话通俗讲解区块是什么意思?八宝饭区块链科普:什么是区块区块链的价值已经获得多方认可,各项行业应用都在探索尝试,因此形成了基于不同底层架构、针对不同行业应用的各种...

    原标题:区块链科普002:什么是区块?白话通俗讲解区块是什么意思?

    e2c7029fee2bb82e9b2873d63906f88b.png八宝饭区块链科普:什么是区块

    区块链的价值已经获得多方认可,各项行业应用都在探索尝试,因此形成了基于不同底层架构、针对不同行业应用的各种区块链系统,“链孤岛”问题逐步显现出来,对区块链基础设施化的呼声已经出现。携手八宝饭学习区块链科普知识吧,八宝饭002期区块链科普为大家用通俗易懂的文字来解释区块是什么。

    01 区块是什么?总账中的一页

    在区块链技术中,有价值的信息以数据的形式被永久存储下来,这些用于存储数据信息的载体称为区块。从技术上来讲,区块是一种记录交易的数据结构,反映了一笔交易的资金流向。区块按时间顺序排列,每一个区块记录着它在被创建期间发生的交易信息,所有区块有序链接起来以汇聚成一本“总账”,而每个区块可被看作总账中的一页,这就是区块。

    02 区块通俗解释:创世区块

    说到区块就不得不提区块链,区块链(英语:blockchain 或 block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。 中本聪在2008年,于《比特币白皮书》中提出“区块链”概念,并在2009年创立了比特币社会网络,开发出第一个区块,即“创世区块”。

    03 区块通俗解释:金融概念

    就拿比特币来说,区块是比特币金融系统中的重要概念,区块记录了整个比特币网络上的交易记录数据,并且这些数据是被所有比特币节点共享的。通过区块,我们可以查询到每一比比特币交易的历史。

    04 区块通俗解释:账本的表现形式

    记录一定时间内所生成的详细数据,包括当前区块经过验证的、区块创建过程中生成的所有交易记录或是其他信息,可以理解为账本的一种表现形式。

    区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。每个区块包含两个部分。

    区块头(Head):记录当前区块的特征值

    区块体(Body):实际数据

    05 区块通俗解释:数据结构

    区块是在区块链网络上承载交易数据的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易,这就是区块。

    八宝饭区块链科普系列002期“区块是什么”分享完毕,更多有趣、有料、有价值的区块链科普知识可以上八宝饭官网()。八宝饭是一个区块链价值内容聚合平台,旗下拥有八宝饭财经、八宝饭学院、八宝饭社区、八宝饭峰会等区块链知名品牌,专注于媒体资讯、学院科普、社区运营、会议沙龙等专业全面的服务。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 在中国,区块链也被看作核心技术自主创新的重要突破口,各行业相继开始寻找区块链赋能本领域的方法,以求助力解决发展痛点和难点。区块链到底是什么?如何运作?它的价值又如何体现?我们将以GISer的视角,陆续推出...

    编者按:随着新一代科技革命浪潮的到来,区块链(Blockchain)作为一项关键技术,在全球互联网领域内快速升温。在中国,区块链也被看作核心技术自主创新的重要突破口,各行业相继开始寻找区块链赋能本领域的方法,以求助力解决发展痛点和难点。区块链到底是什么?如何运作?它的价值又如何体现?我们将以GISer的视角,陆续推出「区块链」科普系列文章,为大家普及相关知识,分享区块链和IPFS的相关应用,后续更新敬请关注!

    2020年疫情期间,区块链技术在慈善捐赠、物资流转、疫情预警、舆情监控等方面发挥了重要作用,印证了区块链技术在经济社会中日益重要的独特价值。3月,央行发布了金融行业《金融分布式账本技术安全规范》标准,该标准是国内甚至是国际金融业的第一个区块链规范,预示着区块链日益成为数字时代核心技术之一的同时,也将对区块链在金融行业进一步规范、全面、真正增厚价值的应用产生奠基式的作用。
      
    区块链被认为是互联网发明以来最具有颠覆性的技术创新。区块链融合了密码学、经济学、博弈论以及计算机学科等多个学科,具有交易不可逆、数据不可篡改的特点,在很多领域具备商业价值,应用研究已拓展至金融、能源、物流、教育、文化和社会服务等领域。

    01 区块链真正的价值是什么?

    价值一:各行各业的“标准化”和共识机制
    德鼎创新基金合伙人王岳华说德鼎创新基金总体看好区块链的两个方面:一方面是区块链应用,比如:“区块链+金融”“区块链+保险”“区块链+医疗健康”等。另一方面则是“区块链+物联网”,即在物联网场景中加上区块链协议,才能让物联网发挥更大的价值,王岳华把“区块链+物联网”看成是一项基础设施。

    **某种程度上,区块链充当了‘价值’的翻译器。**在农业、工业、商品流通和供应链传递的过程中,很多环节都没有实现标准化,而这恰恰是区块链的用武之地”

    链是由互联网驱动的一种中层框架型技术,也就是说,区块链的定位,是互联网进一步升级的工具,以就有了“区块链+”的说法。作为一种工具,区块链的重要价值,则在于帮助企业做标准化、帮助资产做标准化。当实现了标准化之后,区块链才能搭建出一个全新的体系,这才是区块链的价值所在。
    价值二:从“信息互联网”到“信任互联网”
    区块链形成“共识机制”,能够解决“链上”各个主体的信息不对称问题,真正实现从“信息互联网”到“信任互联网”的转变。
    **中国经济发展中的很多难题有一个主要的共同原因——交易成本太高、违约风险太大!**区块链分布式记账,对解决信任问题将是最直接、最有效的。以往,银行向企业放贷,很多环节是没有办法辨明真伪的,比如:企业提供的应收账款凭证是真是假……但在供应链金融中引入了区块链分布式记账,企业上游供应商就可以直接向银行提供‘信用证明’。更重要的,在供应链金融的质量控制环节上,区块链同样能找到用武之地。”企业供应商有了分布式账本,企业的各级供应商就能做到公开透明,并针对仓单形成各方参与的共识机制来认可和确权。

    **区块链最重要的功能,就是建立一种价值共识,而这个“共识”,主要基于“价值量化的能力”和“价值安全的过程”两个方面。**先是“价值量化能力”:把一件事通过数字化的方式描述清楚,就是一个价值量化的过程。其次是“价值安全的过程”:通过数字化的方式描述清楚后,还要保护数据不被篡改,并可以随时随地地查询。这两个方面叠加起来,就形成了价值共识。所以,区块链在数据互通机制、信用体系的搭建上,必将发挥非常重要的作用。

    价值三:区块链+,能加什么才是最重要的!
    区块链的部分价值,早以“互联网+数据库”的形式发展了很多年。在“互联网+数据库”的模式下,“+”到一定程度,就到私有链的水平了。然后每一个私链进行合并,当私链具备了更多共通性和可交换性之后,就变成了公链。
      
    **目前区块链发展的最大掣肘,在于各个区块里的数据不统一。很多互联网是局域型的,内外网并不互通。“从私链走向公链”的过程,就是打破局域网和建立数据标准化的过程,**另外,虽然发展区块链的意义重大,不是一有区块链之后,以前的商业就出现翻天覆地的变化。“区块链”要发挥巨大作用,有赖于从区块链技术发展出来的通证经济。
      
    人们曾经认为互联网是翻天覆地的变化,但真正改变我们生活的,是基于互联网发展起来的滴滴打车、淘宝、美团……这些基于互联网再发展的商业应用,就是通证经济,只有通证经济才能重构商业的业态。
      
    “区块链也是一样的,它是底层的、隐藏在商业背后的,在日常商业形态中,你往往看不到它的存在。而你看到的都是由区块链延展而来的‘通证经济’,也就是区块链在各个商业场景的落地。

    02 区块链的应用场景

    溯源管理
    区块链技术可用于农产品、药品、艺术品等的溯源防伪,区块链本身的不可篡改性、数据可完整追溯以及时间戳功能,可以有效解决物品的溯源防伪问题。而传统的溯源系统一般是一个中心化的数据管理平台,溯源数据的准确性及真实性存疑,而区块链的去中心化正好可以完美解决这个问题。

    生产管理
    应用区块链技术将制造企业中的传感器、控制模块和系统、通信网络、ERP系统等连接起来,并通过统一的账本基础设施,让企业、设备厂商和政府监管部门能够长期、持续地监督生产制造的各个环节,提高生产制造的安全性和可靠性。同时,区块链账本记录的可追溯性和不可篡改性也有利于企业发现问题、追踪问题、解决问题。

    教育
    学历造假、论文造假、简历造假是目前教育行业的痛点,企业及社会缺乏有效验证手段。利用区块链技术对教育行业的传统IT系统进行改善,可以规避信息不透明和信息被篡改的问题,有效简化流程和提高运营效率,形成一个良性的信用生态。

    电子病历
    电子病历将个人医疗记录永久保存在区块链上,患者通过私钥的设置保证病历的安全性。医生可以通过查阅病历了解患者的既往病史以及治疗情况,健康保险公司也可以准确掌握客户的健康状况,以便进保或理赔。

    房地产产权登记
    区块链技术的应用可实现对土地所有权、房契、留置权以及二手房交易等信息的记录和追踪,并确保相关文件的准确性和可稽查性,避免了由于信息不对称而导致的房产欺诈。可以想象,区块链将会对房地产行业形成冲击,简化交易流程,加快交易周期,提高透明度,降低交易成本。

    社会公益
    公信力是目前公益行业的最大痛点,公益信息的不透明不公开,是社会舆论对公益机构、公益行业的最大质疑。而区块链构筑的信任机制,数据的高度可靠且不可篡改性,天然适合用在社会公益场景。公益流程中的相关信息,如捐赠信息、善款流向、受益人信息等等,均可以存放于区块链上,在满足隐私保护及其他相关法律法规要求的前提下,有条件地进行公开公示。公益组织、支付机构、审计机构等均可加入进来作为区块链系统中的节点,参与管理运营,方便公众和社会监督。

    汽车档案
    应用区块链技术,可以针对某一辆汽车售后数据,建立一个电子档案存放在链上,让车辆的所有参与方,车主・4S修理店・保险公司以及二手车买家卖家都参与其中,将行驶数据、维修数据、事故数据、交易数据等都记录在汽车档案里,由车主来控制电子档案的权限,第三方都可以访问或者说经过授权的情况下访问车辆电子档案。4S店更新维修记录,保险公司查询相关信息以便进保或理赔,二手车交易时所有信息透明,让买方安心,卖方可以获得更高价值。

    如此等等,类似的场景应用还有很多。

    目前区块链的应用还处于初级阶段,在上述的应用场景之中,区块链所发挥的作用主要是”存证”的作用,即把数据产生的当时通过区块链存在链上,将来证明这个数据在这个时点产生过、存在过、且没有被篡改过。区块链的应用场景以及商业模式还在研究摸索之中,区块链将来或许会发展成为和互联网类似的基础设施,也可能是互联网上的信任协议。将来像目前互联网一样得到广泛应用的话,将大大减低整个社会的信用成本,进而推动信息互联网向价值互联网的变革。

    展开全文
  • mod=view 和区块链技术比,分布式数据库的概念显然更容易被理解,我就从分布式数据库的一些基本概念出发,理解区块链的技术实现,这些概念包括数据存储、点对点可靠传输、存储过程与触发器(智能合约)、数据安全:...
    转载文章来源:http://i.dataguru.cn/mportal.php?aid=11204&mod=view 
    和区块链技术比,分布式数据库的概念显然更容易被理解,我就从分布式数据库的一些基本概念出发,理解区块链的技术实现,这些概念包括数据存储、点对点可靠传输、存储过程与触发器(智能合约)、数据安全:

    1、分布式数据存储
    区块链技术的数据共享是一个分布式的记账簿,交易记录具备多个副本,因此首先要解决分布式数据存储的问题。

    1)区块链存储的基本单元是区块,区块采用链式结构,即新增的区块(类似数据库一行记录)都知道自己前一个区块(前一行记录)是什么,可以一直追溯到根,区块的标识是区块的哈希值,同时链式结构保留了业务产生的轨迹,可以在新增交易的时候根据前面的记录做校验,保证了区块的内容不容易篡改。 

    这种模式,我们在传统的数据库设计也会采用,例如拉链表的形式,每次对数据的更新都采用追加( Insert而不是Update)模式,有起始时间、失效时间和是否生效标识,保持全部交易历史。区块链把这一点变成了一种底层固有模式,加入了哈希、时间戳等机制在技术上保证链条的正确性,因此非常有价值。

    2)既然是分布式、多中心的存储方式,就必须解决存储时的分布式一致性问题。在区块链的前身比特币应用中,解决这一问题的方式是工作量证明(POW Proof-Of-Work)方式,即通过工作以获得指定成果,用成果来证明曾经付出的努力。这也是接触区块链技术时第一个比较迷惑的地方,我为啥一定要用工作量来证明,是不是还有其他方式?区块链技术从比特币中独立出来后,大家把这一问题归结为共识问题,工作量证明是达成共识的一种方式,这样就清晰多了。

    于是就产生了权益证明(POS Proof of Stake)方式,是一种通过业务规则达成共识的方式;实用拜占庭容错(PBFT Practical Byzantine Fault Tolerance)方式,是一种通过技术规则达成共识的机制。在公有链上,工作量证明(POW)还是一种最主要的共识方式,不容易取代,但在联盟链上,完全可以根据自己的情况,创造出新的共识方式出来。我们就根据这一想法,在特定业务中创造过共识算法,解决分布式数据存储的一致性问题,以后有机会再展开说。

    2、点对点可靠传输
    区块链技术是一组技术的组合,既然是一个分布式的记账簿,就要解决数据可靠传输问题。包括记账节点(信任节点)之间、非记账节点(非信任节点)、客户端与记账节点(信任节点)之间的数据传输。在以前我们的方案中,往往通过可靠消息或者P2P方式解决数据传输问题,这些技术也被用于区块链技术中。

    但必须说明的是,在真实业务场景下,不可能把所有的数据都记录在记账簿中,部分业务数据还是要保存在自己的系统中,这就还需要在技术框架上做到本地业务数据与区块链的记账簿保持一致,后面微服务架构与区块链技术整合时会具体阐述,总之,区块链平台只能保证自身数据之间的一致,业务不能完全依赖区块链平台保证数据一致性。

    3、智能合约:触发器与存储过程
    智能合约是指当一定条件满足的情况下,可以被自动执行的数字化合约。实现这一特性,在数据库中就是由触发器和存储过程完成的。虽然在目前流行的应用架构中,都不建议把逻辑写在存储过程中,但触发器和存储过程还是常用的工具,尤其在数据迁移相关的运维活动中。区块链技术中智能合约就是触发器和存储过程,他是一个在沙箱中运行的脚本,用于执行区块链业务中的业务逻辑,也可以用于各种检查。

    4、数据安全
    交易数据是透明的,但不是全部透明,而是相对透明,这是区块链技术的一个难点,关键有二:(1)如何保护隐私,仅仅能看到自己可见的数据;(2)密钥分配问题,例如新加入链中的一个节点会被分配一个新的密钥,如何用这个密钥解读以前链中存储的信息。可见与不可见,这是一个矛盾,理论上没有一个完美的方案,这里我不对区块链技术如何加密、如何做密钥管理、如何同态加密等方式做解读,而是讲讲如何通过业务方法而不是技术手段规避这一问题。

    理解区块链技术常见的几个困惑
    从刚刚接触区块链技术的一头雾水,到概念的逐步清晰,再到区块链应用的研发,经历很多困惑,这里列出几个常见的困惑。

    困惑1:比特币是区块链技术的一个应用,不能把比特币应用的所有内容都归结为区块链技术
    上文提到,区块链技术从比特币中独立出来是 2014 年左右的事情,此前每每举出区块链的案例都是比特币,给区块链技术的应用造成了很多误解。我建议先了解区块链技术,再了解比特币,先理解联盟链的业务场景,再了解公有链的业务场景,公有链看作是联盟链的一种大规模延展,,可以少走一些弯路。

    困惑2:公有链情况下数据存储性能不高,但联盟链的性能可以远高于公有链,能满足多数场景的要求
    数据一致性问题是分布式存储最大的问题,而并发越高,冲突的概率就越大。区块链技术之所以能支持的每秒交易数(TPS)不高,主要是共识机制比较复杂,或者说共识机制就是刻意为了降低并发性,减少数据冲突的概率。

    在公有链上,这是一个无法逾越的问题,只能从事实时性要求不敏感的业务。但是,在联盟链中,由于链中的参与方并不多,也不需要每个节点都记账,就可以使用一些性能更高的共识机制,例如前面说的PBFT。我们曾经尝试过一种全对等的算法,可以支持更高的性能。

    困惑3:应用区块链技术不一定必须有矿工来挖矿

    初次接触区块链技术,矿工/挖矿这个概念让人非常费解:

    (1)为什么一定要挖矿?

    (2)为什么要给记账成功的节点奖励比特币来鼓励记账?

    (3)非比特币的业务中如何鼓励记账?

    这个困惑归根结底还是把区块链和比特币混淆造成的。前面说过,挖矿是通过工作量证明(POW)达成共识的机制,挖矿能力愈强就取得了记录权。更重要的是比特币的货币属性,发行货币要么靠国家信用(例如纸币),要么靠奇缺资源(例如黄金),比特币为了防止滥发,就需要用算力做为一种奇缺资源。

    这样说来,比特币实际上把共识算法、货币属性、鼓励记账这几件事都用挖矿来解决了,思路确实精妙。但是,在业务规则不同的联盟链中就不一样了,除了有其他更高效的共识算法外,不需要奇缺资源,不需要专门对记账做鼓励,因为必须记账已经是核心企业之间的契约,可以通过技术手段保证数据的同步,支持审计等能力,自然就不需要挖矿了。

    困惑4:目前应用区块链技术不是去中心,而是多中心
    去中心是一个理想,经常有人问,为什么要去中心?去中心有什么好处?真的能去中心吗?后来,我深入研究联盟链的场景时发现,实际的业务场景大多是多中心(这又是比特币惹的祸,他真的想去中心),例如上述的企业联盟方式,几个建立联盟的核心企业就是多中心,他们共同成为一个新的中心。传统方式建立新的中心,往往通过建立清算机构的方式,而区块链技术让建立中心的成本降低了。

    困惑5:不是所有的区块链节点都是记账节点,很多节点仅仅用来进行数据同步而已
    多中心就意味着不是每个节点都需要记账,记账的工作由几个中心节点负责就可以了,其他节点与记账节点间是数据同步的关系,也就是非记账节点上也有全部数据。联盟链中非记账节点一般处在加盟企业,由于数据可见性的要求,非记账节点中的数据并不是都可见的,但是这一副本可以做为一种法律依据,提高了篡改数据的成本。
     
    总结
    从数据的角度来看,区块链本质是一种分布式数据库,这里的“分布式”是指区块链技术利用链式存储结构不仅解决了分布式数据存储问题,也解决了存储时的分布式一致性问题。区块链技术利用分布式记账簿保证数据可靠传输和访问,利用可自动执行的智能合约来编程和操作数据。

    所以,我认为,基于分布式数据库来理解区块链,认清区块链技术常见的一些困惑和误区,可以让大家对区块链有个比较正确的理解方式。
    展开全文
  • 区块链的架构可以分为三层:协议层、扩展层、应用层。各个层级之间相互独立,同时又相互联系,不能被分割开运作。由于协议层对于整个区块链的架构是非常重要的,因此今天我们要详细的介绍协议层级的构造。1.协议层的...
  • 区块链什么意思

    2018-11-05 16:19:45
    一说,他们不懂比特币和区块链,他们没有真正买过币,没有看过区块链项目白皮书。二说,他们目光短浅,代表的是古典互联网思维。三说,他们既得利益者,当然不愿意放弃已有的很熟悉的游戏规则。 首先引用比特币“准...
  • 它有什么优缺点?……本文适用于初学者。 我们经常会听到区块链技术的流行语,如“去中心化网络”“智能合约”等。有些人投资的时候,可能不会去关注项目的复杂细节,但不少成功的投资者对于“智能合约”等重要术语...
  • 区块链什么呢,本质上讲,区块链是一种分布式、去中心化的网络数据库系统,这个系统会让数据的存储、更新、维护、操作变得不同。 我们今天要讲的区块链呢,它有四项不可缺的核心技术,分别是:分布式存储、共识...
  • 12月21日,由拓普合展主办、金色财经等协办的“2017中国区块链技术应用峰会(BTAS2017)”在上海顺利举办。 在此次峰会上,区块链领域的技术精英们围绕区块链前沿技术创新、行业政策发展以及应用场景等话题,解析...
  • 区块链2.0的典型代表是以太坊(Ethereum)和超级账本(Hyperledger),分别代表了区块链的两个重要的发展方向:应用于公众的公有链和应用于企业的联盟链。 公有链、联盟链和私有链 公有链是指对所有人开...
  • 前几天和中科院的学长聊了会最新的技术,我很好奇科研机构的研究生到底在研究什么技术,他是区块链方向,于是了解了下区块链,他对区块链的看法和未来的改变非常有深度,故此总结了下。区块链(blockchain)是近年...
  • 随后,使比特币成为可能的区块链技术也作为新兴主流技术之一进入了人们的视野,从产品营销人员到网络专家,都开始“吹捧”区块链改善业务流程的潜力,从记录保存和交易跟踪,到许多其他后台活动,如资产管理、采购、...
  • 什么区块链概念

    2018-09-20 22:34:08
    一说,他们不懂比特币和区块链,他们没有真正买过币,没有看过区块链项目白皮书。二说,他们目光短浅,代表的是古典互联网思维。三说,他们既得利益者,当然不愿意放弃已有的很熟悉的游戏规则。 首先引用比特币“准...
  • 作者 |Oscar W翻译 | 火火酱,责编 | Carol出品 | 区块链大本营(ID:blockchain_camp)区块链这一概念最早是由Stuart Haber和Scott S...
  • 区块链

    2018-07-18 20:34:27
    仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。参与的节点只有用户自己,数据的访问和使用有严格的权限管理。联盟链由于存在...
  • 很多人都会问,区块链到底是什么?但说到区块链,网上各种各样的资料满天飞,看完之后,感觉懂了,又感觉完全没懂。  然而,作为程序员更应该了解区块链 一句话概括,如果互联网技术解决的是通讯问题的话,...
  • 韩国与我们只有一墙之隔,但是最近韩国在区块链上的新闻却远远的多于我们,韩国的区块链历程可以说比较艰辛,因为对于区块链以及交易所的运营和申请韩国的监管一直都是一个非常保守的态度,从之前的完全限制封锁发展...
  • 区块链汇总

    2020-07-12 12:05:10
    区块链基础 区块链定义 区块链是一个分布式账本,一种通过去中心化,去信任的方式集体维护一个可靠数据库的技术方案 ...我们都知道,区块链可以看作一本记录所有交易的分布式公开帐簿,区块链网络中的每个参与...
  • 越来越多的大公司在尝试使用区块链技术,他们最初的想法可能只是:“嗯,我们用区块链可以变得更快、更便宜。”但是,他们还没有意识到区块链正在创造一种社会运动。 因为我们能够创建一个超安全,超透明的可审计...
  • 比特币采用区块链技术,但是区块链并不等同于就是比特币!现在很多人多少有点把区块链技术过于神话了 ,认为区块链技术...去中心化指在该数据库可以看作一张巨大的可交互电子表格,所有参与者都可以进行访问和...
  • 区块链 Michael Nofer • Peter Gomber • Oliver Hinz • Dirk Schiereck 关键词:区块链 商业模式 解题 数字货币 1区块链——颠覆性的技术 区块链技术和分布式账本吸引了大量的关注,并在不同的行业引发了多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,323
精华内容 1,329
关键字:

区块链可以看作是什么