2017 年初,区块链被越来越多的人知道。区块链的概念其实很早就被提出来,曾经有人说过“区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。 如果说蒸汽机释放了人们的生产力,电力解决了人们基本的生活需求,互联网彻底改变了信息传递的方式,那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式。”

在技术实现上区块链分布式与 CDN 的内容分发有着异曲同工之处,今天笔者就简单聊下对区块链 CDN 的见解。

什么是区块链和去中心化账本?

在聊区块链之前,先来聊聊比特币。 2017 年以来,我们经常在各种渠道看到比特币的出现,那么比特币是什么呢?它跟区块链技术又有什么关系呢?

比特币其实是一种区块链应用。比特币实际是一个互联网上的去中心化账本,一种点对点的加密数字货币;由计算机通过特定数学计算而产生,基于区块链作为支付技术的虚拟货币。当用户在电脑上运行比特币客户端软件,运行软件的电脑就称为一个节点,大量节点互相连接形成一张点对点的网络,比特币去中心化账本的实现就是依托于区块链。

生活中的银行就是一个中心化账本

账本就是银行存储的中心数据库,它是记录着大家的余额。当小明账户里有300块钱,小红账户里有200块,小明想转账100块给小红,于是可以通过银行柜台、手机银行、网上银行等各种途径进行转账操作。银行在收到请求后会验证小明的账户信息以及余额,确实成功后,就增加一条转账记录。小明账号余额:300-100=200,小红账号余额:200+100=300。在这个过程中,银行就相当于一个中心化的账本。

去中心化账本就不需要银行这个中间媒介

比如一个没有银行的村子里,每个人都有一本账本,上面记录着所有人的账户余额,小明的余额为300,小红的余额为200元,当小明想转100给小红时,小明可以通过村子里的大喇叭广播我用我的账号转账100块钱给小红了。然后所有人听到后并确认,是小明的账号且有300余额,再修改自己的账本。通过传递直到每个人的账本都一样。这个过程就是一个去中心化的过程。

比特币就是这个去中心化账本上交易的加密数字货币。小明在转账的时候向周围的节点广播转账交易请求,周围节点可以类比村民,节点在确认小明有足够的余额之后,记录扣除他转出的金额,各个节点把这个交易广播给周围的其他节点,一传十十传百,直到所有节点收到这笔交易。

区块链与 CDN 的结合?

CDN 的全称是 Content Delivery Network,即内容分发网络。通过在各个地区放置的节点服务器,提供就近的访问所需的内容,达到加速的目的。

目前已有多家区块链 CDN 概念的公司提出,在传统的 CDN 上引入以太坊智能合约、分享经济和 P2P 技术。通过把普通用户的闲置带宽与上网设备(如 PC、路由、手机等智能设备)变成 CDN 网络中的节点,使得节点数量无限增多。这样不仅提供者可以获得额外的收益,也可以使得 CDN 的成本更加低廉。

利用 P2P 技术确实可以做到所谓的无限节点,帮助用户利用空闲的带宽获得额外的收入,并且价格十分低廉。但是目前针对 P2P 的加速更多是局限于点播视频、大文件下载加速,而一般网站的图片、小文件加速目前还不适用于 P2P 加速。

国内目前也有类似产品,通过提供路由器的方式,让用户的闲置带宽有效被利用起来。但是同样也有限制条件,访问视频、下载文件只能基于使用该厂商的播放器或者下载工具,或植入该厂商的播放器 SDK,相对来说还是有较大的局限性。

其次,目前也有区块链概念的 CDN 厂商,还提出了把所有流量与带宽数据都记录在区块链中,开发一个自助的 CDN 交易市场,让闲置带宽提供者与 CDN 使用者可以更加透明、自由地使用厂商发行的代币(基于以太坊、比特币等的虚拟货币)进行交易。

在笔者看来,这个更像是死搬硬套的概念,完全是为了发行代币而进行的行为。2017年9月,我国叫停了CIO和比特币等虚拟货币的交易,减少了滥用区块链概念进行炒作的行为。技术没有原罪,虽然CIO和虚拟货币交易被叫停,但区块链技术依然得到了金融业的认可,招商银行就将区块链技术应用于现金管理领域。

结语

智能设备不断普及,以及网络带宽不断提升,国内的 CDN 行业确实处于快速发展的阶段,而区块链概念更适合用于金融、保险、医疗等领域。现阶段的区块链 CDN 只能说是强行生搬硬套概念,两者的相互结合还需要很长的一段时间的发展。但是不可否认的是 P2P 等技术的慢慢成熟,CDN 行业会将会普及惠利更多的普通用户,也许未来就有真正的区块链 CDN 公司落地。

推荐阅读:

为什么要选择支持 HTTP/2 的 CDN

从 HTTP 到 HTTPS 再到 HSTS

谈谈今年很火的区块链 CDN的更多相关文章

  1. 区块链3.0:拥抱EOS

    EOS是当下最火的区块链技术,被社会广泛看好为下一代区块链3.0.不同于以太坊的学习,EOS的主语言是C++,本文作为EOS研究的首篇文章,重点介绍EOS的创新点,它的周边生态,各种概念原理的解释,以 ...

  2. java开发区块链只需150行代码

    本文目的是通过java实战开发教程理解区块链是什么.将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此基础上能扩展如web框架应用等.这个基本的java区块链也实现简单的工作量证明系统. ...

  3. 用Java实现简单的区块链

    用 Java 实现简单的区块链 1. 概述 本文中,我们将学习区块链技术的基本概念.也将根据概念使用 Java 来实现一个基本的应用程序. 进一步,我们将讨论一些先进的概念以及该技术的实际应用. 2. ...

  4. 区块链开源实现hyperledger fabric架构详解

    hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM.Intel.各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量.本文中我们依次讨论:区块链 ...

  5. 启迪链网通证经济共同体:柏链教育&火聘online推出区块链行业人才“一门式”服务

    近日,启迪链网通证经济共同体旗下两个节点成员柏链教育与火聘online,达成节点间的合作,据悉本次合作是采用共同体的生态共建模式,柏链教育与火聘online共享企业端岗位需求的大数据,然后有针对性的开 ...

  6. 正本清源区块链——Caoz

    正本清源区块链 说明:以下内容整理自Caoz的<正本清源区块链>,如有不妥,请联系我修改或删除. 简介 不讨论炒币!不讨论炒币!不讨论炒币! 本课程内容分为两部分: 第一部分,烧脑篇,介绍 ...

  7. 区块链技术现状&前景

    炒作周期 Gartner 在 2017 年发布的新兴技术炒作曲线,这张图是去年 8 月发布的,当时估计它们也没料到随后能有那么火,当时区块链在这个位置,其实是已经过了炒作的巅峰期,正在往低谷走的这个阶 ...

  8. Factom(公证通)--基于区块链的存证系统

    Factom这个Solution在2014年的时候就已经推出了,现在已经2018年了,我才来写这一篇分析文章可能有些迟了,但是它是十分具有参考价值的.因为现阶段来开区块链虽然炒得火热--养猫.养狗.草 ...

  9. 程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

随机推荐

  1. JVM 运行时数据区总结 栈 堆 堆大小配置总结

    1. 程序计数器 线程私有 当前线程所执行的字节码的行号指示器 2. 虚拟机栈 线程私有 存:Java方法(局部变量表(基本数据类型).操作数栈.动态链栈.方法出口) StackOverflowErr ...

  2. webpack + vue + node 打造单页面(入门篇)

    1.node下载地址:http://nodejs.cn/download/,安装完成检查node和npm版本 2.淘宝镜像 : npm install cnpm -g --registry=https ...

  3. CDS测试框架介绍:如何为ABAP CDS Entities写测试

    动机 现在大家都知道单元测试对我们代码的好处.并且我们都承认它是开发过程中不可或缺的一部分.但是在把代码切换到数据库的模式下的时候,我们被粗暴地打回了软件测试的黑暗年代...我们现在面临着逻辑下推到A ...

  4. Linux - 设置/取消代理

    export http_proxy=118.210.42.251:44367 或: export https_proxy=118.210.42.251:44367   要取消该设置: unset ht ...

  5. Class.getResource和ClassLoader.getResource的区别分析

    原文:http://swiftlet.net/archives/868 在Java中获取资源的时候,经常用到Class.getResource和ClassLoader.getResource,本文给大 ...

  6. 『诡异的』VL10B创建外向交货单出错解决全过程

    一直觉得SAP STO的业务模式配置起来还是挺简单的,无非就是关联一下采购单与交货单的关系,以及相应工厂的装运数据,其他像主数据的设置也没有什么特别的.相比ICS模式,它少了IDOC的配置,所以还是很 ...

  7. Judge Route Circle

    Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot m ...

  8. Windows中的硬链接和软链接(hard link 和 Symbolic link)

    先来了解一下Linux中的硬链接和软链接: Linux中的硬链接和软链接 Windows中的硬链接和软链接: 硬链接 从Windows NT4开始,NTFS文件系统引入了HardLink这个概念,它让 ...

  9. 手动添加 Git bash 到鼠标右键

    由于不知原因,右键没有了Git Bash Here,没有这个右键菜单导致获取Git仓库中的代码很不方便,所以决定通过注册表的方式将这个菜单加出来. 1.win + R,输入"regedit& ...

  10. Java历程-初学篇 Day03扫描仪与类型转换

    一,扫描仪 步骤1,使用扫描仪方法 步骤2,导个包 步骤三,使用 注意事项:严格区分大小写 二,类型转换 1,自动类型转换 当将一个数值范围小的类型赋给一个数值范围大的数值型变量,java在编译过程中 ...