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. .NET Core 使用RabbitMQ

    RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的 ...

  2. MySQL binlog 的恢复操作

     测试出有个问题:mysqlbinlog 不加任何参数 恢复整个binlog 日志文件发现里面有这个操作 SET @@SESSION.GTID_NEXT 的操作,  如果需要恢复文件的时候就需要把他过 ...

  3. JS判斷文件大小

    function findSize(file) { var dom = document.getElementById("file"); var fileSize = dom.fi ...

  4. HTML5基本标签的使用

    第一次写这种东西,肯定存在许多不足之处,还望大家多多担待,我会继续加油的!我也是一名HTML5的初学者,只是将这几周在课堂上所听到的东西分享给大家. 下面给大家介绍一下H5! 一.<!DOCTY ...

  5. 使用apache反向代理tomacat

    起源 在大部分的生产环境中,基本上使用的都是java程序,从而促进了各种应用程序中间件的产生,在这里大概有几种,tomcat作为最著名的开源servlet容器,jboss也是开源的,而且有管理界面,主 ...

  6. VS2015 + EF6连接MYSQL

    ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,不仅支持SQL Server,还支持MySQL.Ora ...

  7. Java代理和动态代理

    code from <Thinking in java> 代理模式 interface Interface { void doSomething(); void somethingElse ...

  8. 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID

    一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...

  9. 关于Android路由的实现

    先说一下背景,目前有需求从外部包括其他应用和WEB跳转到我们自己的APP,就这么个简单的需求-- 要实现这种外部跳转的功能,我们可以理解为打算跳转的一方有多少方式通知到APP进行相对的响应行为.所以, ...

  10. 架构师之路-在Dubbo中开发REST风格的远程调用

    架构师之路:从无到有搭建中小型互联网公司后台服务架构与运维架构 http://www.roncoo.com/course/view/ae1dbb70496349d3a8899b6c68f7d10b 概 ...