老码农眼中的区块链

大家可能已经听说过比特币、莱特币、以太币等等,以及它们作为一种新货币在市场上的潜力。 有趣的是,很多投资比特币的人也提到了区块链之类的东西。 显然,这项技术是比特币等其他东西的"基础"。 就好像比特币的概念还不够混乱似的,区块链计算显然也可以"应用"到其他行业? 这是如何运作的呢?

通过首先了解区块链计算是什么,才能来开始使用区块链的旅程。

从本质上讲,区块链是一个平台,旨在为一群人提供一种手段,以便在不需要集中系统的数字分类账上创建"交易",但同时仍然是安全和私密的,因为每个人都可以看到每个人计划改变什么,并且同意将交易合法化。

现实生活的基础: 维基百科或百度百科

如果这个概念还是有点难以理解的话,试着把 blockchain 想象成维基百科或谷歌文档。

如果这个概念还是有点难以理解的话,试着把 区块链想象成维基百科或百度百科。

使用区块链,区块链上的成员实际上可以写入一个数字分类账(链) ,同一个成员可以控制分类账的更新和修改。 这与维基百科中的条目如何不完全来自"单一"出版商,因为没有人真正"控制"所有可用的信息。

  • 这是因为与"覆盖"事务数据不同的是,分类账中的每笔交易都被记录下来。 类似地,在百度百科和 Wikipedia 上,每个页面和文档的更改都会被记录到系统中让每个人都能看到。
  • 也许百度百科和维基百科与区块链的唯一区别在于,百度百科和维基百科的用户在访问和修改页面之前必须首先获得管理员的许可。 而在区块链中,每个人实际上都通过交易验证获得了这种"权威性"。

区块链技术

也许区块链如此吸引人,是因为它代表了一个全新的信息注册和发布时代,从根本上消除了"集中"方便交易的必要性,这就是为什么像尤塔实验室这样的公司投资于比特币的原因。 有趣的是,区块链并不是真正的"床新",而是一个技术的组合,被证明是以各自的方式发挥作用。 当中本聪的比特币被引入市场时,这个想法实际上具有潜力,它的原则也被应用到其他几十种手段中,这就是为什么我们现在有比特币的原因。 所涉及的技术包括:

  • 区块链内成员的 P2P 网络: 缺乏一个集中的权力机构来"控制"区块链,从根本上将区块链置于其成员的控制之下。 这实际上是非常有用的,因为没有一个人"拥有"区块链和它下面的一切 当你的区块链是一个与其他行业相关的程序时,让整个团队控制链条是确保透明度和安全性的好方法
  • 区块链编程本身,或者它工作的平台: 当人们想要在区块链中引入新的变化时,它实际上是在整个区块链中引入一个新的交易。 这意味着,一旦批准,区块链的所有成员将在他们自己的数字分类账中看到这个"变化"。 这个块环链的编程允许它是透明的,同时不能让任何人操纵数据,因为需要"权限"来添加交易
  • 用于验证事务的私钥加密技术: 在区块链方面,交易实际上是经过验证的,主要是因为信任。 当数字世界的各方必须建立关系时,数字信任现在已成为问题的一个组成部分,因为认证和授权被认为是阻碍区块链效率的真正破坏者。 通过区块链认证是由一个只有区块链的用户才能拥有的私钥来表示,这使得他们能够通过其真实性做广泛的事情,例如广播权交易或拥有足够的数字货币。 使用稳定的加密系统,确保链条的成员在通过之前"批准"交易。

当涉及到区块链"关系"时,重要的是要记住,链条中的成员实际上有两个密钥——一把私钥和一把公钥。 这些方法创建一个数字"签名",因为它们的组合需要一定程度的认证努力,这反过来又在你的末端创建一个强大的所有权。 这些元素是如何相互作用的,使得区块链发挥作用:

  • 分布式网络确保每个人都知道数字分类账的情况。 "Validators"使用数学验证来达成共识,即他们看到的是相同的交易请求,并且链条的成员贡献处理能力来做到这一点。 这就像一组摄像机看到房间里发生了什么一样。 当然,这也意味着网络的大小是网络安全的一部分。
  • 比特币迅速流行起来,因为一个庞大的网络为比特币的验证提供了巨大的计算能力。 对于区块链来说,当用户A宣布对其私钥进行更改并将其锁定到用户B的公钥,并将在系统中传播。
  • 然后,区块链使用一个特殊的协议开始验证变化。 一个块被广播到网络中,并由相关信息、时间戳和数字签名组成。 对该块的验证是通过采矿来完成的,在这里人们提供他们的计算机处理能力来验证交易。 然而,人们并不是完全免费的。 开采的奖励那些实际上积极参与采矿过程的人。 通过这个过程,每个成员的系统都记录了区块链的历史。

去中心化 与 分布式

去中心化经常被视为区块链的全部存在理由,但它也是可能被定义为最糟糕的词之一。去中心化和传统的分布式计算有什么区别和联系呢?如图1所示:

图1 中心化、去中心化和分布式

分布式手段并非所有交易的处理都在同一地点进行,而去中心化是指没有一个实体控制所有的处理。

去中心化的三种类型

去中心化涉及三个独立的方面:

  • 架构的去中心化:一个系统是由多少物理计算机组成的? 这些计算机中有多少个可以容忍在任何一个时间内崩溃?
  • 策略的去中心化:有多少个人或组织最终控制了系统由其组成的计算机?
  • 逻辑上的去中心化:系统呈现和维护的接口和数据结构看起来更像是一个单一的整体对象,还是一个无定形的群? 一个简单的启发式的观点是: 如果你把系统切成两半,包括供应商和用户,两个部分都将继续作为独立的单位全面运作吗?

区块链在策略上是去中心化的(没有人控制它们),而且在架构上的去中心化(没有基础设施中心点的故障) ,但它们在逻辑上是中心化的(有一个共同商定的状态,系统的行为就像一台电脑),如图2所示:

图2 去中心化的三种类型

架构的中心化往往导致策略中心化,但不一定。 在计算机系统中,如果有一个在线社区使用一个集中的论坛来提供便利,但是如果有一个广泛认可的社会契约,即如果论坛的拥有者存在恶意行为,那么每个人都会转移到另一个论坛(围绕论坛的审查制度而形成的社区很可能在实践中拥有这种财产)。逻辑中心化使得架构的去中心化更加困难,但并非不可能。在逻辑中心化的系统中,策略去中心化变得更加困难。

去中心化的三个原因

去中心化有哪些主要的优势呢?主要有三个:

  • 容错
  • 攻击阻力
  • 合谋抵制

容错

去中心化的系统不太可能意外地失败,因为它们依赖于许多不太可能失败的独立组件。

对于容错而言,有多个相互竞争的实现是至关重要的。关于协议升级背后技术考虑的知识必须民主化,以便使更多的人能够感到舒适地参与研究讨论,并批评明显不利的议定书变更。核心开发人员和研究人员应该受雇于多个公司或组织。采矿算法的设计应该尽量减少中心化的风险。

理想情况下,使用权益证明可以完全摆脱硬件中心化的风险(应该谨慎地对待由于证明利害关系而冒出的新风险)。需要注意的是,幼稚的容错要求主要集中在架构去中心化上,但是一旦你开始思考社区的容错性,那么策略的去中心化也是很重要的。

攻击阻力

去中心化系统被攻击、破坏或操纵的成本更高,因为它们缺乏敏感的中心点,难以用比周围系统的经济规模低得多的成本进行攻击。

首先,由于计算机硬件易于检测、调节或攻击,它强烈支持证明利害关系而不是工作证明,因为计算机硬件易于检测、调节或攻击,而硬币可以更容易地隐藏(证明利害关系也有很强的攻击阻力,因为其他原因)。 其次,这是一个有利于拥有广泛分布的开发团队的观点,包括地理分布。 第三,它意味着在设计协商一致议定书时,需要考虑经济模式和容错模型。

合谋抵制

去中心化制度的参与者很难串通起来,以牺牲其他参与者为代价,以有利于他们的方式行事,而公司和政府的领导人则一直以自己受益的方式串通起来,但却一直伤害不太协调的公民、顾客、雇员和一般公众。

串通是很难定义的; 也许唯一真正有效的方法是简单地说,串通是"我们不喜欢的协调"。 在现实生活中,有很多情况下,即使每个人之间有完美的协调是理想的,但是一个子群体能够协调而其他人却不能,这是危险的。

就区块链协议而言,协商一致意见的安全性背后的数学和经济推理往往主要依赖于不协调的选择模型,或者假设游戏由许多独立做决定的小角色组成。 如果任何一个成员在工作证明系统中获得超过三分之一的采矿能力,他们就可以通过自私的挖掘获得巨额利润。

许多社区,包括 Ethereum 的社区,常常因为拥有强大的社区精神和能够迅速协调执行、发布和激活一个硬叉,以便在六天内解决协议中的拒绝服务问题。 但是,如何能够促进和改善这种良好的协调,但同时又能防止"糟糕的协调",这种协调包括矿工通过反复协调51% 的攻击来欺骗其他人?

回答这个问题有三种方法:

  • 不要费心去减少不想要的协调; 相反,尝试建立可以抵制它的协议。
  • 试着找到一种快乐的媒介,使协议能够进行足够的协调来进化和前进,但是不足以使攻击成为可能。
  • 努力区分有益的协调和有害的协调,使前者更容易,后者更难。

区块链应用

任何人都可能会觉得,如果真的依赖这种新技术来满足他们的需求,可能会让任何人感到奇怪。然而,在其业务流程中,它实际上可能对许多行业中采用区块链方法非常有帮助。

“纸上得来终觉浅,绝知此事要躬行。” 这里列举了两个老码农自己有实际感知的两个区块链应用。

面向社交的区块链TTC

在社交⽹络中,每个⽤户作为社交⽹络中的节点,聚集度较⾼,通过社交分享机制进⼊⻔槛低,具有快速扩散、快速聚集的特性,很容易形成⽹络效应。社交⽹络的特性和去中⼼化的理念⼀致性很⾼,是区块链技术极佳的应⽤场景。

作为当今主流前沿技术,区块链技术快速应⽤到⾦融、保险等领域,但⽬前还没有被⼴⼤⽤户认可的基于区块链的社交⽹络。社交⽹络对于⽤户的进⼊⻔槛较低,⽤户可以在不需要特别注意的情况下体会到区块链的价值,是最有机会让区块链技术被⼴泛应⽤的领域。

图3 TTC区块链的价值链

如图3所示,这就是基于区块链技术的社交⽹络的未来场景。优质内容的创造者被平台奖励,⽤户可以选择观看⼴告或参与第三⽅⼴告公司发起的活动,⼴告的奖励将直接分给参与⽤户。不同的社交DAPP(Decentralized APP)基于区块链技术组成产品矩阵,为⽤户提供多维度的产品体验和价值。

TTC 协议

TTC协议是基于区块链技术的社交⽹络,旨在为全球⽤户提供全新的社交体验。TTC协议为TTC⽣态系统的成员建⽴标准货币体系和技术体系,以⽅便各个成员在良好有序运⾏的同时,能够相互连接传递价值。TTC代币是TTC协议中流通的货币,⽤来激励TTC⽣态系统中的各⽅成员。

TTC协议总共包含如下⼏个层⾯:共识体系决定了TTC协议中的信息如何记录和同步,其上的DAPP为参与的社交⽤户提供社交服务,⽤户通过在DAPP内作出贡献获得来⾃TReE(TTC奖励引擎)的TTC奖励,并通过跨链技术在不同DAPP之间同步和转移TTC,这构成了TTC协议的价值体系。

作为基于区块链的社交⽹络协议,交易速度是最重要的考量因素之⼀。在TTC协议中,记录在区块链上的交易不仅局限于资产交易,也包括⾏为交易。在社交平台⾥,每秒钟的交易量可能达到上百次,因此吞吐量对于TTC协议是⾄关重要的。

共识机制是交易速度的核⼼,以⽐特币为代表的PoW(Proof of Work)共识机制所能达到的交易速度有限,并且耗费⼤量算⼒。TTC协议采⽤多层BFT-DPoS作为共识机制模型。

DAPP链

基于社交⽹络的平台都有机会加⼊TTC⽣态系统,TTC⽣态系统中的社交平台包括但不限于个⼈动态分享平台、图⽚及视频分享平台、直播平台、社区论坛等等。

在TTC协议中,有⼀条TTC核⼼链和若⼲条DAPP链,每⼀个DAPP都有⼀条DAPP链。TTC核⼼链主要处理资产交易,DAPP链则处理DAPP的⾏为交易。资产和⾏为交易的分割,能提升TTC协议的性能,确保资产安全,⻓期来看能实现不同DAPP的独⽴治理。TTC协议上 的交易记录可以在TTC区块浏览器上查到。

TTC协议采⽤跨链智能合约实现不同链之间的资产转移。初期我们主要关注同构链之间的跨链交易,后期将逐步扩展跨链的兼容性,以实现异构链之间的跨链交易。

用户、钱包与代币

⽤户通过TTC钱包管理他们的TTC资产。通过单点登录(SSO),⽤户可以使⽤⼀套账户系统管理所有DAPP获得的资产,在TTC⽣态系统的不同社区之间互动。TTC钱包的主要功能如下: • 同步不同DAPP获得的TTC资产 • 与其他⽤户或交易所进⾏TTC资产转移 • 进⾏超级节点投票,参与共识机制治理 TTC钱包是⽤户同TTC协议之间交互的最简洁有效的⽅式,构建起⽤户和TTC⽣态系统之间的桥梁。

TTC代币(TTC)是TTC协议的通⽤货币,⽤来激励TTC⽣态系统中的各个成员。当前,TTC基于ERC-20代币标准发⾏,⻓期将逐渐切换成TTC协议⾃⼰的独⽴代币。

TReE(TTC Reward Engine)是TTC协议中激励为TTC⽣态系统作出贡献的参与者的奖励引擎,以天为单位发放给各参与⽅。在TTC协议中,有两种类型的挖矿:共识挖矿和社交挖矿。作为针对社交⽹络的区块链协议,TTC协议将⼤部分奖励分配给为平台作出贡献的社交挖矿者,即DAPP⽤户。与传统的挖矿机制不同,算⼒不再是⽤户⽐拼的要素,真正为平台作出贡献的⽤户得到了更多奖励。

总体来说,创建优质内容、同优质内容互动以及维护社区环境的⽤户将获得奖励。奖励配置如图4所示:

图4 TTC中的激励配置

TTC的生态系统

TTC⽣生态系统中有很多成员,包括超级节点和投票⽤用户、DAPP开发者、DAPP应用的用户、第三⽅方开发者、⼴广告商等等。图5展示了TTC生态系统的成员和价值链。

图5 TTC区块链的生态系统

关于TTC的具体技术实现,将来另行分析,具体参见:https://github.com/ttceco/gttc

一句话总结TTC

TTC协议是基于去中⼼心化和代币激励的新一代社交⽹网络协议,通过生态系统为用户提供了更有价值且全新的社交体验。

DxChain

人工智能(AI)离不开大数据和机器学习,不幸的是,市场上没有现成的解决方案提供去中心化的并行计算环境,来支持大数据分析和机器 学习。DxChain 通过将 Hadoop 整合到区块链来填补这个空白。DxChain 是一个提供数据存储,数据 交换,以及为系统中数据进行大数据计算的综合平台。

在功能上,整个系统被设计成一个平台,在去中心化的数据存储服务支持下,提供大数据分析和 机器学习相关的计算服务。数据库查询和商业智能的任务在不由任何商业公司拥有的数据之上执行, 但这些数据可以在 DxChain 中进行交易和存储。这个平台将连接个人电脑,以及专门设计的矿机,以促进数据计算更加容易,并降低成本。

DxChain 提供了两个基本功能:计算和存储。目前,只有大公司才有能力运行大数据分析任务, 因为这些公司不仅可以负担昂贵的硬件,而且也拥有大部分消费者数据。例如,谷歌拥有谷歌地图用 户的导航数据。如果谷歌地图用户可以找到一种方法来销售他们的导航数据,那么他们就会出于经济 原因而这么做。用户不会担心他们的隐私,因为这些数据已经被谷歌看到和使用。如果第三方可以销 售导航数据,再加上其他商业数据,那么广告宣传活动将更加准确和定制化。最重要的是,像谷歌, Facebook 这样的大公司不能垄断这些数据的使用。这将是去中心化的梦想。

DxChain的基础架构

DxChain 的架构设计借鉴了 IPFS, Hadoop HDFS, GFS, FileCoin, IOTA, IoTeX, Plasma, TrueBit, morpheo和 Golem。根据经济激励的原则设计了整个系统,使矿工能够最大限度地利用闲置的存储资源,并以低成本和便利性促进去中心化的大数据计算。

图6显示了 DxChain 的高层次基础架构。从图中可以看出主链、存储链和计算侧链是如何协同工作的。

图6 DxChain 的基础设施示意

三链结构具有两个独特属性:

1. 主链结构和侧链结构,

  1. 不可变主链和弹性侧链。

属性 1 根据功能对链进行拆分。属性 2 解决区块链的可伸缩性、吞吐量和延迟问题。主链负责维护交易,DxChain 的侧链负责存储和计算。这两个侧链功能是有时间限(time-bounded)的,因此区块不需要无限期地存储过期的数据。DxChain设计了一种链缩短算法,它可以删除未使用的数据,节省宝贵的区块空间。

DxChain 的区块链架构

在 DxChain 网络中,主链负责管理整体交易和两个侧链。数据侧链(DSC)和计 算侧链(CSC)通过 DxChain 智能合约与主链通信。此外,数据侧链和计算侧链可以通过三链合一的微服务相互操作,这些服务包括数据和消息,如图7所示:

图7 DxChain中的三链合一

主链和两个侧链执行不同的功能。尽管这些链是通过智能合约和微服务相互连接的,但从物理上来说,这些链仍然是独立和隔离的。即使侧链断裂,主链也完全不受影响。侧链的损害完全局限于自身。

主链使用兼容以太坊的数据结构,这种结构由哈希链接的区块组成。区块是相关元信息的集合,也包括交易、状态和收据相对应的组合信息。这些区块通过哈希指针连接。

两个侧链的设计是为了解决数据存储和计算的效率问题。我们扩展了区块结构,将更多的数据存 储在区块中,并减少了整链加载的频率。每个侧链都有自己的共识方法,计算侧链(CSC)使用可证 明数据计算(Provable Data Computation,PDC)和验证博弈(verification game),数据侧链 (DSC)使用时空证明(Proof of Spacetime,PoSt)。

图 8说明 DxChain 跨链通信协议,展示了跨全网交易的概况。 通过在主链、数据侧链(DSC)和计算侧链(CSC)之间跨整个系统的交易流,可以在高层次上审视通信协议。

图8 DxChain的跨链通信

关于主链、数据侧链、计算侧链以及数据安全与隐私的具体实现,将来另行择文分析。

DxChain 赋能的生态系统

DxChain 区块链支持多种机器学习和数据挖掘算法、数据存储、音乐/视频流和许多其他应用程序。来自不同行业的开发人员可以用不同的方式使用 DxChain,构建自己的机器学习Dapp,实现自动数据样本收集和人工智能模型:

  1. 定制的数据模型通过它的恶意软件检测Dapp定义数据收集格式,从而实现完全自动化的数据 收集。移动用户可以定义智能合约参数,比如将哪些样本数据发送到区块链,以及用户想要交 易的价格。每个设备自动收集的可疑样本数据也将被发送到 DxChain 区块链。
  2. DxChain 将数据块保存在每个区块链矿工的磁盘上,每个矿工共享自己的互联网带宽。这样可 以极大地减少数据存储和网络流量成本。
  3. 去中心化的机器学习算法每日进行训练,在链中训练Trust-look的人工智能模型。这就像共 享经济一样,可以几乎免费使用共享矿工未使用的 CPU 时间。
  4. 在区块链中,不可变的加密数据保护用户的数据存储和服务,无需担心数据泄露或隐私数据泄 露。
  5. 每个设备用户利用DxChain的智能合约以信任的方式进行交易和交易数据。

DxChain 在物联网(IoT) 上同样有着广泛的应用场景。DxChain 用户可以直接在传感器每天生成的数据集上运行机器学习和数据分析,并生成可操作的商业智能报告来指导他们业务的日常决策。图9是一个智慧城市的示意:

图9 DxChain的智慧城市示意

智慧城市的传感器数据采集是通过启用开发者的Dapp中相关的智能合约自动化实现的。智能合约基于周围环境智能控制各种智慧城市传感器的运行,如空调温度动态控制,以节省电力。区块链数据购买者可以利用设备数据来开发机器学习模型来诊断设备运行状态,并预测设备故 障并通知供应商提前安排维修服务。区块链开发人员可以开发机器学习模型,通过生成电力消耗报告和预测用电高峰时间优化电力 调度模型来帮助 PGE 等电力公司。

一句话总结DxChain

DxChain是一种可伸缩的、私有的、可扩展的、用于大数据和机器学习的区块链。

(此图来自百度百科)

参考资料:

5