精华内容
下载资源
问答
  • 区块链是一种新型的...但是,我们可以根据区块链拥有的分布式数据储存、加密技术、数字签名、不可逆可追溯、共识算法、智能合约等技术特点,推测该项技术当前经济体系之中的权责利关系形成的改造趋势。探讨区块...

      区块链是一种新型的互联网技术,融合了分布式账本、加密技术等,对传统商业模式和互联网商业模式形成了新的改造。到目前为止,除了比特币作为一种新型的加密货币和点对点的支付系统外,区块链还没有成熟的应用,更没有成熟的商业模式。但是,我们可以根据区块链拥有的分布式数据储存、加密技术、数字签名、不可逆可追溯、共识算法、智能合约等技术特点,推测该项技术当前经济体系之中的权责利关系形成的改造趋势。探讨区块链如何改变商业模式,可能形成一种全新的商业模式——分布式模式。



     

      什么是分布式模式?

      我们把传统商业模式、互联网商业模式与区块链商业模式做个比较分析。传统商业模式:一手交钱,一手交货”——直线式——中心化——产业链 互联网商业模式:羊毛出在猪身上,狗来买单”——网络式——中心化——产业网 区块链商业模式:不想当厨子的裁缝不是好司机”——分布式——去中心化——区块链

      羊毛出在猪身上,狗来买单,这个好理解,就是在产业网络上有多种产品,其中有免费的,也有收费的,买了收费产品,收费产品补贴免费产品,让享受了免费产品。这里面,狗、猪、羊毛关系是非常明确,只是做了交叉补贴而已。不想当厨子的裁缝不是好司机,这反应了在分布式网络中,人人参与,权责利共享共担,厨子裁缝司机之间,我中有你,你中有我。

      区块链分布式商业模式,实际上是在互联网商业模式基础上深化,从网络式变成分布式,根本上是网络式商业模式存在的问题衍生出来的。互联网商业模式也被称为平台化模式,基于一个巨大流量的网络平台形成网状利益体系,中心化程度极高,垄断性质极强。FACEBOOK、微信、支付宝、京东、阿里巴巴、推特、操作系统、百度搜索等都控制着数以亿计的用户信息,以及成千上百的产业链关系。一方面,这种垄断并不利于市场竞争,例如这些平台控制用户数据,对用户进行杀熟,平台之间恶性竞争伤害用户利益等,欧盟对互联网平台垄断打击力度极大。另一方面,如此大型的网络平台,一旦发生信息泄露或安全事故,后果不堪设想。美国民众及国会对FACEBOOK信息泄露事件忧心忡忡,其创始人扎克伯格国会听证会上被议员们围攻

      互联网曾经寄托着人们很多美好的愿景,如今巨头们正在干着当年托拉斯的事情。打破这种过度中心化的网络体系,重构一种公开透明、分布式、人人共享的网络,成为一种全新的趋势,这种分布式的权责利结构,实际上就是区块链商业模式。

      区块链分布式商业模式,具有以下几个特征:

      一、降维

      传统商业模式是高维度,信息极为不对称,如汽车厂商对客户屏蔽造车成本及技术含量,企业通过信息不对称来获取利润。互联网商业模式是中纬度,平台掌握所有用户信息,利益相关方都在平台上发生关联关系。平台看似对每个人都是公平的,实际上不同用户掌握的信息和权限是不同的。

      区块链分布式商业模式是低纬度,对互联网和传统商业模式进行大幅度降维,具体变现为信息对称、公开透明,权力平等,去除中心化平台,所有用户都在同一个水平面上发生交易。例如支付宝是互联网商业模式,支付宝平台掌握上亿用户信息,所有交易必须通过支付宝结算中心处理,支付宝有权对其认定的异常转账进行干预,有权修改规则并按照设定的规则收取相关费用,而用户只能被动服从。支付宝与用户的关系是,中心化权力与服从的关系。比特币网络可理解为支付宝系统在区块链上的平行迁移,是一个去中心化的点对点的支付系统。在比特币网络中,没有中心化的结算系统,结算和记账都有所有节点共同参与才能完成,其规则交易是由代码固化的,信息公开透明,节点参与权、记账权、收益权都是平等的,具有高度信任特征。比特币网络与各个节点之间的关系是,相辅相成、不可或缺的关系,如果比特币网络离开节点验证,这个支付系统则无法运行。

      二、分布式

      降维解决了原有中心化组织与用户之间的不平等关系,但是维度一旦降下来,一个水平面上庞大的用户(节点)关系如何处理是区块链商业模式的核心。在人人是中心,人人又是节点的分布式网络中,在权力和责任对等的基础上通过公平竞争来获取利益,符合市场自由竞争的特性。例如在比特币网络中,每个节点都拥有同等的权力,按照POW公平竞争获取比特币奖励。在商品溯源系统中,每个节点都是平等的一员,信息不被任何一方掌控,权力平等,责任和利益划分明确。

      权力分布式在商业模式中具有激励作用。在传统商业模式和互联网商业模式中容易出现不公平竞争,从而伤害主体参与的积极性。比如在竞拍市场中,由于信息不透明,很难避免权力寻租、相互勾结。在区块链的网络中,每个节点都分布式地存在,在信息透明的环境参与竞争。所以,区块链分布式商业模式是符合市场规律的模式,对于发挥市场机制有促进作用,提高市场的激励作用。

      三、权益分解

      权益分解或许是区块链分布式商业模式中最大的创举。通常,所有权包括占有、使用、收益、处置四项权利。在传统商业模式中,产权转让一般包括这四项权力一起转让,产权租赁则仅是使用权转移,所有者保留占有、收益和处置权。所有权和经营权有分离有不分离,分离的经营权掌握在特定经营者手上。在互联网商业模式中,所有权开始出现比较明显的分化,用户享有大量互联网产品的使用权,但不具有占有、收益和处置权。经营权与用户关系不大,只有少部分众包产品(维基百科)具有相关性。

      在区块链分布式商业模式中,所有权中占有、使用、收益、处置分离程度大,所有权和经营权、决策权分离程度大,经营权、决策权(部分)掌握在普通用户手上。在比特币网络中,持有比特币享有比特币未来收益权,但不具有占有权,节点掌握结算权和记账权,区块链网络不能离开节点的参与权力。更为具体的例子是,投资人购买了股票,享有该上市公司的股权,包括占有、使用、收益和处置权,但没有经营权,大多数没有决策权。投资人购买货币,并不享有该项目的所有权,但是享有货币的未来收益权,以及作为节点具有使用权和经营权(验证和记账权),具有投票权(决策权)。当然,现在权责利体系中还存在诸多问题,很多区块链项目因为投资人没有所有权导致权益无法得到保障。

      这种权益分解导致原有的权责利关系发生变化,从而形成新的商业模式。在分布式商业模式中,项目所有者、经营者、决策者、使用者、收益权人相互分离,同时又相互依存。理想的状态或许是,收益权人(持币者)承担较高的风险,通过货币市场获利,所有者通过项目利润获利,但是收益权人通过参与经营、决策来降低收益风险。

      区块链分布式商业模式还有很大的发展空间,其中最为关键的是如何构建一个规范的货币市场,保障收益权人的利益。这样,在这商业模式中,风险才能形成转移,收益分配才能良性,权责利更加分明。

     

     

    文章来源:千氪财经  原文链接:https://www.kg.com/article/484404068362620928

     

    展开全文
  • 文章抛开技术的实现细节,着重讲解比特币如何解决分布式存储带来的一致性问题,如果读者已经对区块链分布式存储和同步的原理和解决方案非常清楚,为了不浪费读者的时间,可以忽略。 为了避免读者缺少对比特币、...

    前言

    文章抛开技术的实现细节,着重讲解比特币如何解决分布式存储带来的一致性问题,如果读者已经对区块链的分布式存储和同步的原理和解决方案非常清楚,为了不浪费读者的时间,可以忽略。

    为了避免读者缺少对比特币、区块链、挖矿知识点的了解而产生过多的疑惑,文章前小部分专门为这部分读者准备,通过简单了解比特币是什么?区块链是什么?挖矿的原理,方便部分读者消化接下来的知识点,希望可以给读者一些收获,如果发现本人有理解不对的地方,或者有需要补充的地方,欢迎评论交流。

    比特币是什么

    2008 年中本聪发表了一篇《比特币:一种点对点式的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System)论文,它在论文中构思出比特币的雏形(建模),描述了一种去中心化、对等式、基于数学和密码学构建的加密货币——比特币。正由于这个革命性的发明,2015 年,加州大学洛杉矶分校金融学教授 Bhagwan Chowdhry 曾提名中本聪为 2016 年诺贝尔奖经济学奖的候选人。

    2009 年中本聪发布了首个比特币软件,并正式启动了比特币金融系统,截止至今日(2018-02-16)1 BTC ≈ ¥6.4万,最高时 1 BTC ≈ ¥12万,最低 1 BTC ≈ ¥0.4。

    如果你问目前挖矿还来得及吗?那我们先来看一组数据。

    该系统截止至 2018-02-15 08:00:00,已经有 16,867,188 个比特币被挖出,占总发行量 2100 万的 80.3%,只剩下不到 20% 的比特币未被开采,所以现在才想去出挖矿有点为时已晚。

    区块链是什么

    比特币去中心化底层采用的技术就是区块链其本质是一个分布式数据库,用于存储每一笔比特币交易记录。比特币网络仅仅认可和维护比特币网络上每一个节点存储着的那条完全相同且长度最长的区块链,所有经过检验并符合要求的交易记录都会被“矿工”打包成进区块,然后发送给比特币网络上所有的客户端节点,客户端节点检查区块没有问题之后,将区块连接起来串成一条链,这条链很形象的就被称为区块链。

    挖矿的原理

    区块是由比特币网络上被称为“矿工”的节点所生成,他们负责接收到网络上的所有的比特币交易记录,逐个检查这些交易记录是否符合要求,比如检查每条记录是否有正确的数字签名,交易是否重复使用等等;然后将符合要求的交易记录添加到自己增加制作的新区块中。

    中本聪为了让添加区块的变得困难,当“矿工”成功制作好这个新区块时,还需要完成两个额外的工作。

    1. 创建一个字符串,字符串 = 前一个区块的SHA256函数值 + 新区块的基本信息 + 新区块的所有交易记录
    2. 寻找一个随机数,使得 SHA256(字符串 + 随机数) 满足某个 256 位的二进制 Hash 值(比如满足 Hash 值的前 n 位为 0,当 n = 50,计算出这个随机数的概率就是 1 / (2 的 50 次方))。

    通过设置 n 的大小即可改变随机数被计算出来的概率,导致第二点的难度非常高,高到比特币网络平均每 10 分钟才会有一个矿工产生一个新区块;随着现在挖矿设备不断的升级,计算 hash 值的速度也越来越快,目前该难度值控制在每产生 2016 个区块(两个星期)就会动态改变一次,使得整个比特币网络平均每隔 10 分钟才会计算出一个符合要求的随机数。

    当矿工计算出这个随机数之后,马上把这个随机数添加到新区块中,马上把这个新区块发送给比特币网络上的各个客户端节点,各个节点检查没问题之后就会把这个区块添加到自己的区块链的尾部,这样子矿工才有可能得到比特币的奖励。

    一致性问题的产生

    对于比特币来说,每一笔转账记录都代表着“钱”,它是系统运行的基础,如果把交易记录保存在一台电脑上,当电脑发生故障时,那么整个交易系统将瘫痪无法正常运行,所以这种做法不具备高可用性;交给专业的值得信赖的公司管理和维护?比如银行,那么谁能保证公司或个人在巨大的金钱诱惑下或在他人的威胁下,不会篡改交易记录呢?中本聪发明比特币的其中一个目的,就是消除对银行等经融机构的依赖。所以比特币采用的方案是,将每一条比特币转账信息都发送到网络上,让所有运行比特币客户端的计算机都存储所有的比特币交易信息,这样,每一条记录都会被很多计算机存储,不用担心记录缺失,而这样会带来三个一致性方面的问题:

    1. 交易记录如何同步?
    2. 如何防止纪录被篡改?
    3. 如何防止同一笔比特币交易被重复使用?

    三个一致性问题各自的痛点

    1. 交易记录如何同步

    如果一部分客户端没联网、没有登录比特币客户端或者电脑关机,导致没有接收到交易记录,那交易记录肯定是没有被这部分计算机存储的,这样不同计算机上面的比特币交易记录就会不一致,那到底以谁为准?如何让他们互相同步从而储存相同的交易记录呢?

    1. 如何防止交易记录被篡改

    如果黑客篡改了网络上某个节点的一条或多个交易记录,导致比特币网络上的多个节点的交易记录不一致,甚至出现交易信息前后矛盾的问题,从而导致比特币网络无法运行,那么如何保证交易记录不被篡改呢?

    1. 如何防止同一笔比特币交易记录被重复使用

    假设只有 S 转账 10BTC 给 A,并且交易记录已经得到验证且有效,此时 A 账号中只有 S 转账给他的 10 BTC,而 A 几乎同时向 B 和 C 账号转入 10 BTC,如下表格:

    序号 交易记录 数字签名
    记录1 “S账号”支付10BTC给“A账号” S用自己的私钥加密SHA-256(“S账号”支付10BTC给“A账号”)】
    记录2 “S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“B账号” A用自己的私钥加密SHA-256(“S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“B账号”)】
    记录3 “S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“C账号” A用自己的私钥加密SHA-256(“S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“C账号”)】

    由于地域问题和网络等问题,不同矿工节点先接收到的交易记录可能会发生这样的情况

    不同的客户端先接收的比特币交易记录不一致,而客户端只认可最先接收到的交易记录是有效的,比如记录 2 先被接收,则记录 3 作废,同理,记录 3 先被接收,则记录 2 作废,不同计算机对同一交易记录的有效性产生分歧,导致不同节点的交易记录不一致要如何解决呢?

    如何解决一致性问题

    比特币底层使用区块链技术解决一致性问题,那它是如何解决的呢?下面开始讲解区块链如何解决上面提到的三个一致性问题。

    1. 交易记录如何同步

    区块链会被存储在网络上每一个节点中(客户端),如果你有一个比特币交易的客户端,一段时间没有联网之后再次连接到网络,客户端会自动向网络中的其它节点发起同步自己没有的区块的操作,检查无误之后才逐一把区块添加到自己的区块链上

    这样,每一个启动并联网的客户端都会同步所有的比特币交易记录了。而检查的过程是十分严格的,包括了每一区块中每一笔的交易记录是否符合要求,区块间的交易记录是否符合要求,下个区块是否包含上一个区块的 SHA-256(上个区块的所有记录) 值,检查区块是否符合要求等。

    1. 如何防止记录被篡改?

    在讲解区块链如何防止交易记录被篡改之前,我们有必要了解一下区块链中关于区块的基础知识。

    在区块链中,每个区块可以看成由消息头消息体组成。

    • 消息头:包含区块的创建时间、区块的 hash 值,上个区块所有交易数据的 hash 值等。
    • 消息体:区块的交易记录。

    区块链中的每一个区块都会包含上一个区块的 Hash 值,构成如下图:

    这里的 Hash 值其实就是一种散列函数,比特币中使用的 Hash 函数是 SHA256。只要给定一个输入值 x, 就可以得到一个固定长度的输出值 H(x) ,例如字符串 123 输入到 SHA256 hash 函数的值为:

    SHA256("123") = a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3

    将返回值转换成 256 位的二进制数:

    1010011001100101101001000101100100100000010000100011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    该算法目前还没有存在有效的破解手段,所以是安全的。

    到这里可以开始讲解防篡改问题了,当交易记录被存放到区块中,并且这个区块被加入到区块链上,那么这个区块中的所有信息都是不可修改,一旦修改,就会出现前后 hash 不一致,导致区块链断裂。

    除非恶意的节点总数的 CPU 算力比诚实节点总数的 CPU 算力还要强,那才有可能被“坏人”得逞,因为他可以依靠自己的算力,将节点之后的所有区块重新打包并发布到比特币网络上所有的节点,最终成为那条最长的区块链从而被比特币网络所认可。

    然而这种情况几乎是不可能的,第一,因为比特币每次打包区块,都需要完成一个难度非常高的工作,这个工作就是猜随机数,专业术语叫做工作量证明(Proof-of-Work,PoW),难度随着矿工算力的总和动态变化的,比特币网络通过使用这个策略,让全网平均每 10 分钟只会产生一个新区块,限制了恶意节点批量修改区块的可能性;第二,比特币经过了 8 年时间的发展,随着比特币价格的攀升,越来越多的矿工加入到“挖矿”当中,这使得比特币网络算力不断增强,想要超过全网的算力总和的可能性微乎其微。

    为了解决防止篡改问题,比特币也付出了非常大的代价,它让全网几乎所有的算力都花在了计算错误的 hash 上,导致了非常多的资源浪费。

    1. 如何防止同一笔交易被重复使用?

    中本聪在他的论文中提到:

    We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work.

    大致意思:中本聪提出通过对等式网络(peer-to-peer network)来解决双重支付(double-spending) 问题。网络上的交易记录按照时间的先后顺序(这个时间是由矿工记账时决定的)被散列成一个持续的基于Hash的工作证明,形成一种不重新验证(hash),就无法更改记录的工作证明链。

    严格来讲,对等式网络 + 时间戳 + Hash 才是解决双重支付的主要手段,而区块链只是它们的存储形式而已。

    知道双重支付的解决方案,在讲解解决双重支付原理之前,还需要知道一个知识点,比特币软件是如何计算用户的余额(剩下多少可用的比特币)?

    在比特币中,计算某个钱包余额的过程,是通过计算这个钱包地址的所有相关的转账记录,来得出这个钱包地址对应还剩多少比特币未被使用

    举例说明如何计算 A 钱包的余额:

    序号 交易记录 数字签名
    记录1 “S账号”支付10BTC给“A账号” S用自己的私钥加密SHA-256(“S账号”支付10BTC给“A账号”)】
    记录2 “S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“B账号” A用自己的私钥加密SHA-256(“S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“B账号”)】
    记录3 “S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“C账号” A用自己的私钥加密SHA-256(“S账号”支付10BTC给“A账号” -> “A账号”支付10BTC给“C账号”)】

    假设有上面的比特币转账记录,并且交易记录时有效的,比特币客户端通过计算 A 钱包相关的每一笔交易记录的输入(接收 BTC 转账记录)和输出(消费 BTC 转账记录)值来得出 A 钱包所剩可用的比特币数量,如下表格:

    钱包 转账 可用比特币
    A +10 BTC 10 BTC
    A -10 BTC 0 BTC
    A -10 BTC -10 BTC

    上面的 -10 BTC 只是为了演示计算比特币的过程,真正的比特币中不可能会出现这种情况。

    了解余额计算原理之后再回头来看看,区块链如何解决双重支付问题。

    这个过程中可能会出现三种情况:

    1. 两条记录被同一个成功制作新区块的矿工节点接收:由于平均每隔 10 分钟全网才能有一位“矿工”生成一个新区块,这个矿工在接收到两条交易记录的时候,假设记录 2 先接收,记录 3 慢接收,“矿工”根据接收的前后顺序检查这两条交易记录是否有效,用户余额是否足够支持本次的转账交易,很明显,记录 3 作废。
    2. 两条交易记录被先后两个不同的区块的矿工节点接收:此时,先接收的交易记录会被添加到新区块中,假设比特币客户端节点验证没问题,然后把区块添加到区块链尾部;慢接收的交易记录矿工在检查该钱包地址在转账余额时(检查余额并不是只在局限在当前的区块的交易记录,而是会检查主链上的其它区块中的记录),发现该钱包地址在上一笔交易之后,余额已经不满足下一笔转账交易,所以慢接收的交易记录作废。
    3. 两条交易记录被不同的矿工同时打包进新区块并发送给所有客户端节点:这个情况是当矿工 A 先接收到记录 2,然后才接收到记录 3;矿工 B 先接收到记录 3,然后才接收到记录 2,并且两个矿工都同时计算出随机数,同时将新区块发送给比特币网络上的所有客户端节点,这个时候区块链可能会出现分叉,比特币协议规定,分叉之后最先达到 6 个区块的那个分支,被认定为主链,此时短叉链作废,包括里面的交易记录。

    综上所述,比特币网络总是有办法知道你把一分钱花两次,所以双重支付是不可能的。

    参考资料

    展开全文
  • 区块链的主要作用是储存信息,可以写入和读取,因此是数据库。区块链技术会自动创建和维护一个分布式的网络。其特殊在于任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每...
    想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
    链客,有问必答!!
    

    一、什么是区块链
    区块链是一种特殊的分布式数据库。 
    区块链的主要作用是储存信息,可以写入和读取,因此是数据库。区块链技术会自动创建和维护一个分布式的网络。其特殊在于任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库,是去中心化的。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。 
    而区块链之前的信息交换是依赖于中心实体
    二、区块链的最大特点
    区块链没有管理员,它是彻底无中心的。 
    它的设计目标就是防止出现居于中心地位的管理当局。因此无法对区块链添加审核,也因为无法管理,所以区块链可以做到无法被控制。 
    但这样也出现了一个问题,就是没有管理员,人人都可以写入数据,如何保证数据是可信的呢?
    三、区块
    区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。 
    每个区块包括两个部分:
    区块头(Head):记录当前区块的特征值 
    区块体(Body):实际数据
    区块头包含了当前区块的多项特征值。
    生成时间 
    实际数据(即区块体)的哈希 
    上一个区块的哈希 …
    所谓”哈希”就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 哈希长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的哈希一定是不同的。
    举例来说,字符串123的哈希是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个哈希。(理论上,其他字符串也有可能得到这个哈希,理论上任何哈希函数都不能避免哈希碰撞(冲突),但是概率极低,可以近似认为不可能发生。)
    因此,就有两个重要的推论。
    推论1:每个区块的哈希都是不一样的,可以通过哈希标识区块。 
    推论2:如果区块的内容变了,它的哈希一定会改变。
    四、Hash的不可修改性
    区块与哈希是一一对应的,每个区块的哈希都是针对”区块头”(Head)计算的。也就是说,把区块头的各项特征值,按照顺序连接在一起,组成一个很长的字符串,再对这个字符串计算哈希。
    Hash = SHA256( 区块头 )
    上面就是区块哈希的计算公式,SHA256是区块链的哈希算法。注意,这个公式里面只包含区块头,不包含区块体,也就是说,哈希由区块头唯一决定。 
    前面说过,区块头包含很多内容,其中有当前区块体的哈希,还有上一个区块的哈希。这意味着,如果当前区块体的内容变了,或者上一个区块的哈希变了,一定会引起当前区块的哈希改变。
    这一点对区块链有重大意义。如果有人修改了一个区块,该区块的哈希就变了。为了让后面的区块还能连到它(因为下一个区块包含上一个区块的哈希),该人必须依次修改后面所有的区块,否则被改掉的区块就脱离区块链了。由于后面要提到的原因,哈希的计算很耗时,短时间内修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。
    正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无了就是发生了,从此再无法改变。
    每个区块都连着上一个区块,这也是”区块链”这个名字的由来。
    五、采矿
    由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。所以,你别无选择,一听到信号,就必须立刻同步。
    所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。
    这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效哈希,从而把新区块添加到区块链。由于计算量太大,所以快不起来。
    这个过程就叫做采矿(mining),因为计算有效哈希的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算哈希的机器就叫做矿机,操作矿机的人就叫做矿工。这些计算机或者节点组成了网络的供给侧。一个成功的区块链网络会有大量计算机帮助传递信息。如果一个区块链网络只有少数矿机在上面,那么信息传递会比较慢,因为那些计算机在忙着传递其他信息。计算机越多意味着信息转移得越快。
    六、难度系数
    不是任意一个哈希都可以,只有满足条件的哈希才会被区块链接受。这个条件特别苛刻,使得绝大部分哈希都不满足要求,必须重算。
    原来,区块头包含一个难度系数(difficulty),这个值决定了计算哈希的难度。举例来说,第100000个区块的难度系数是 14484.16236122。 
    区块链协议规定,使用一个常量除以难度系数,可以得到目标值(target)。显然,难度系数越大,目标值就越小。 
    哈希的有效性跟目标值密切相关,只有小于目标值的哈希才是有效的,否则哈希无效,必须重算。由于目标值非常小,哈希小于该值的机会极其渺茫,可能计算10亿次,才算中一次。这就是采矿如此之慢的根本原因。 
    前面说过,当前区块的哈希由区块头唯一决定。如果要对同一个区块反复计算哈希,就意味着,区块头必须不停地变化,否则不可能算出不一样的哈希。区块头里面所有的特征值都是固定的,为了让区块头产生变化,中本聪故意增加了一个随机项,叫做 Nonce。
    Nonce 是一个随机值,矿工的作用其实就是猜出 Nonce 的值,使得区块头的哈希可以小于目标值,从而能够写入区块链。Nonce 是非常难猜的,目前只能通过穷举法一个个试错。根据协议,Nonce 是一个32位的二进制值,即最大可以到21.47亿。第 100000 个区块的 Nonce 值是274148111,可以理解成,矿工从0开始,一直计算了 2.74 亿次,才得到了一个有效的 Nonce 值,使得算出的哈希能够满足条件。
    运气好的话,也许一会就找到了 Nonce。运气不好的话,可能算完了21.47亿次,都没有发现 Nonce,即当前区块体不可能算出满足条件的哈希。这时,协议允许矿工改变区块体,开始新的计算。
    七、难度系数的动态调节
    正如上一节所说,采矿具有随机性,没法保证正好十分钟产出一个区块,有时一分钟就算出来了,有时几个小时可能也没结果。总体来看,随着硬件设备的提升,以及矿机的数量增长,计算速度一定会越来越快。
    为了将产出速率恒定在十分钟,中本聪还设计了难度系数的动态调节机制。他规定,难度系数每两周(2016个区块)调整一次。如果这两周里面,区块的平均生成速度是9分钟,就意味着比法定速度快了10%,因此接下来的难度系数就要调高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,因此接下来的难度系数就要调低10%。
    难度系数越调越高(目标值越来越小),导致了采矿越来越难。
    八、区块链的分叉
    即使区块链是可靠的,现在还有一个问题没有解决:如果两个人同时向区块链写入数据,也就是说,同时有两个区块加入,因为它们都连着前一个区块
    ,就形成了分叉。这时应该采纳哪一个区块呢? 
    现在的规则是,新节点总是采用最长的那条区块链。如果区块链有分叉,将看哪个分支在分叉点后面,先达到6个新区块(称为”六次确认”)。
    按照10分钟一个区块计算,一小时就可以确认。 
    由于新区块的生成速度由计算能力决定,所以这条规则就是说,拥有计算能力的那条分支,就是正宗的区块链。
    九、区块链的加密性
    区块链利用加密来保证交易安全。跟传统交易不一样,区块链交易无法被影响、破解或者撤销,因为加密技术取代了中心实体。在高层,网络中的每一台计算机其实都在解决一个预定义数学问题(“加密问题”)的一部分。第一台解密成功的计算机将“赢得”传递信息给下一台计算机的权利。区块链网络的计算机然后再竞争解决下一个难题。区块链世界的加密基础为信息传递提供了数学保证。 
    在区块链的世界里,所有代码都是直接在区块链的框架内维护的。矿工解决由区块链代码预定义的问题,但矿工无法改变规则。没有代码是由促进信息传输的计算机来维护的。此外,一旦发行了一种新的区块链货币,没人可以改变这一版本的区块链代码,就连创始的开发者、一群积极分子或者黑客都不可以。 
    区块链交易的线性关系(Zander传递信息给第一台计算机,这台计算机又把它传递给下一台计算机,如此类推,直到信息抵达Tara)还建立了一条有关之前所有区块链交易的、防篡改的记录:该区块链因此建立起了一个交易账本。任何人都可以对公开的区块链进行审核,从而了解信息在过去是如何流动的。如果另一个人在不同的时间或者地点看这个账本,他会看到一模一样的交易历史。没有一个中心实体有能力篡改记录,因为账本是在区块链代码里面进行维护的。 
    相比之下,诸如美元这样的货币交易随着时间转移是极其难以跟踪的。基于区块链的货币因此为更好的透明性提供了机会。比方说,如果一个政府举债经营一种基于区块链的货币,选民可以用这种加密数字货币来纳税,然后准确跟踪政府的每一笔开支。或者更现实一点,捐款给慈善机构也能看到慈善机构是如何使用他们的赞助的。你可以看着捐款从该慈善机构转到了当地的一家房屋建筑公司,然后最终转到工人手上。如果强制公司用加密数字货币的话,监管实体的日子也会好过得多,因为有了客观的分布式账本。
    十、区块链的代价与局限
    区块链作为无人管理的分布式数据库,从2009年开始已经运行了8年,没有出现大的问题。这证明它是可行的。
    但是,为了保证数据的可靠性,区块链也有自己的代价。一是效率,数据写入区块链,最少要等待十分钟,所有节点都同步数据,则需要更多的时间;二是能耗,区块的生成需要矿工进行无数无意义的计算,这是非常 
    耗费能源的。
    因此,区块链的适用场景,其实非常有限。
    不存在所有成员都信任的管理当局 
    写入的数据不要求实时使用 
    挖矿的收益能够弥补本身的成本
    如果无法满足上述的条件,那么传统的数据库是更好的解决方案。
    如果无法满足上述的条件,那么传统的数据库是更好的解决方案。
    目前,区块链最大的应用场景(可能也是唯一的应用场景),就是以比特币为代表的加密货币。

    展开全文
  • 区块链

    千次阅读 多人点赞 2019-11-14 10:34:47
    区块链 区块链是一种以密码学方式保证的不可篡改和不可伪造的分布式...去中心化:区块链使用分布式核算储存自成一体,不依赖任何中心机构机构,也没有中心管制,任何节点的权力和义务都是均等的,系统中的数据由整...

    区块链

    区块链是一种以密码学方式保证的不可篡改和不可伪造的分布式账本。
    区块链开发

    1、区块链的产生
    2008-01中本聪提出里区块链的概念,2009-01-03创世区块链出现,2009-01-09出现序号为1的区块链,并与创世区块连接形成区块链。
    2、区块链的特征
    去中心化:区块链使用分布式核算储存自成一体,不依赖任何中心机构机构,也没有中心管制,任何节点的权力和义务都是均等的,系统中的数据由整个系统来维护。
    开放性:除了交易的私有信息被加密,其它数据对所有人开发,所有人都可以通过公开接口查询区块链数据和开发的相关应用,这个系统信息高度透明。
    独立性:区块链通过哈希算法让所有节点都产生信任,无法人为干预
    信息不可篡改:信息一旦存入,只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。
    匿名性:各区块节点的身份信息不需要公开或验证让对方产生信任,之需要遵循固定的算法,就可以达到数据交互的信任。
    3、区块链的核心技术
    分布式账本:交易记账由多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。不同于传统的中心化记账方案,没有任何一个节点可以单独记录账目,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。另一方面,由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
    对称加密和授权技术:存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
    共识机制:就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。
    智能合约:智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。
    4、区块链的发展前景
    从长远的角度来看,数字货币交易完成了向全球交易平台的转移,直接将数字货币推向了一个新的高度,数字货币在国际上的发展,将会直接影响到数字货币在各个国家的发展状况。所以未来的数字货币将成为不可阻挡的历史潮流。
    5、区块链的痛点
    基础技术层面,目前区块链的大规模应用也还存在不少瓶颈。
    许多人都质疑数字资产和区块链技术的真正价值。
    在这里插入图片描述

    展开全文
  • 腾讯集团区块链技术总经理李茂材在会上明确指出:在未来真正杀手级的区块链应用问世后,将会普遍面临储存如何解决的难题。 作为国内互联网三巨头之一的腾讯,业务早已覆盖很多领域。其实早在三年前,腾讯就着手打造...
  • 11月3日,Lightning SN首款产品闪电云盒在首届中国(合肥)分布式应用峰会发布。 本次峰会参与人数500余人,其中包括Lightning SN分布式储存生态合伙人...各位嘉宾分别就区块链分布式储存市场的机遇与挑战、现状...
  • 区块链技术

    2019-09-10 14:52:02
    区块链(Block chain)是一种分布式共享数据库(数据分布式储存和记录),利用去中心化和去信任方式集体维护一本数据薄的可靠性的技术方案。 如果把区块链作为一个状态机,则每次交易就是试图...
  • 关注“区链数科”,让你从入门到精通区块链!其实,区块链并不是一个新型的技术,更...区块链的技术本质区块链技术有4个最为本质的技术,分别是:1、分布式储存区块链以链式结构储存区块,并且区块数据分布式存储在...
  • 九分钟了解区块链

    千次阅读 2018-01-24 10:32:03
    2018-01-23 池建强题图:by click_vision From Instagram我...区块链技术是储存、验证和数据保护等问题的实际解决办法。区块链可被视为分散的、极度安全的数据库。更专业一点来说,区块链分布式的点对点的基于密码...
  • 区块链部署

    2020-08-27 10:59:01
    区块链目前对于国内来说企业比较少,也比较少人知道区块链这个面向对象群体。...有点类似分布式系统存储,但是与传统的分布式系统存储不同,传统的分布式储存是由各个节点数据拼接在一起,如果节点挂掉,会有多个
  • 区块链】英国卫生部门使用区块链链来监控新冠疫苗储存 【TechWeb】1月19日消息,据国外媒体报道,总部位于英国的数字资产跟踪提供商Everyware正在使用公共分布式分类账网络Hedera Hashgraph为英国国家卫生服务局...
  • 区块链分布式存储的价值并不是取决于储存海量数据和信息,而是成为资产化数据的“保险柜”。 具体来讲,区块链分布式存储实质上是把数据资源化,以区块链技术为基础的新型数据中心、新型数据平台,根据存储体系的...
  • 区块链入门

    2020-06-22 10:33:31
    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,...
  • 区块链(初识二)

    2018-09-15 17:42:16
    分布式存储技术用于储存交易记录和区块,分布式网络技术用于网络通信和节点发现 区块链的本质 区块链的本质是一个分布式的数据库 区块链是一个共有的数据库,不是私有数据库,所有人都可以进行查阅但是不能...
  • 区块链是诞生于中本聪建立的比特币中的一种新型的计算机技术,其中具体包括数据的储存,点 复制代码 对点的传输、共识机制以及加密算法等技术 从狭义上来讲,区块链是将每个数据区块,按照时间或者其他逻辑顺序组合...
  • 区块链简述

    2018-10-29 21:51:49
    区块链是一种链式的数据库储存方式 区块链的特点是分布式,去中心化,可溯源,共识机制… ##区块链的工作原理 ##区块链的安全主要靠共识算法和不对称加密技术 1.共识算法:1)Pow工作量证明 2)Pos 权益证明 3...
  • 区块链简介

    2018-01-20 17:20:01
    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点...
  • 区块链介绍

    2018-03-07 14:31:00
    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,...
  • 区块链 blockchain

    2018-01-04 10:07:00
    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点...
  • 接触区块链

    2018-01-23 10:58:00
    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 二、区块链的最大特点 区块链没有管理员,它是彻底无中心的。 没有了管理员,人人都可以往里面...
  • 区块链的本质是去中心化的分布式账本。拆开来看分为三个关键词:去中心化,分布式,账本。 分布式:传统的数据储存都会放在一个服务器里。一旦这个服务器被攻击或者损坏,整个数据都会丢失。为了解决这个问题现在很...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 152
精华内容 60
关键字:

区块链分布式储存