链圈的朋友们值得收藏!腾讯首席架构师教你两种区块链设计思路

2023-11-16

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由敖萌发表于云+社区专栏

区块链发展到了现在,产生了很多不同形式的区块链技术。随着技术的发展,目前比较公认的看法是区块链已经走进了2.0时代。区块链1.0是以比特币为代表的去中心化数字货币区块链系统,而2.0则是引入了智能合约的区块链系统。

在支持智能合约的区块链系统中,Linux基金会所属的Hyperledger Fabric(由IBM贡献)和Vitalik Buterin所领导的以太坊基金会所创造并管理的Ethereum(以太坊)是两个典型。这两种区块链系统具有截然不同的设计思路,充分体现了传统企业信息系统思维设计模式(Fabric)和区块链原教旨主义思维设计模式的区别。

首先看一下Ethereum,Ethereum是非常典型的受到Bitcoin(比特币)架构影响的一个区块链系统。其最典型的特点是——链是基础。所有的信任都来自与基于Hash密码学安全的链式数据结构,在这个信任基础上,架构所有的功能。

而对于Fabric来说,系统一定要有一个漂亮的技术架构:可插拔的模块化设计、高扩展性、高内聚低耦合。在一个漂亮的技术架构上,调用各个模块,来构造一个功能——链,每增加一个功能,可以使用已有的链,也可以创建一个新链。

Ethereum使用了虚拟机方式实现智能合约,Ethereum中的虚拟机叫做EVM,是一个轻量级的沙盒执行环境。为了让智能合约更加方便,以太坊开发者创造了新的语言来编写智能合约,目前最流行的EVM编程语言是Solidity。EVM的一大特点就是只能对链上的数据进行读写,非链上的数据只能在调用智能合约的时候,由调用者通过函数参数传递到智能合约中。(EVM的这个特点确保了智能合约的结果是确定的,不会因不同的节点执行而导致不同的结果。)而智能合约本身和智能合约的调用过程(或者叫做使用智能合约的交易)都会记录在链上。

因此,我们可以看出,以太坊的架构中,“链”是信任的锚点,所有的信任都来自于链

而Fabric使用了Docker机制实现智能合约。相比于Ethereum的EVM,Docker可以算是一个重量级的沙盒执行环境。由于Docker的特性,Fabric可以使用很多语言开发智能合约,同时也可以使用很多库函数和系统函数,因此,Fabric的智能合约灵活性更高,(比如可以和物联网设备通讯),但是这种灵活性也导致了可能不同的节点执行后产生不同的结果而无法达成共识的风险。而Channel的引入,使得Fabric的智能合约是直接部署在某几个节点上的。每个智能合约可以创建新的链,也可以和其他智能合约共用一个链。“链”在Fabric的架构里,相当于实现某个功能时,参与该功能的几个节点所共用的一个存储空间。

明白了这两种智能合约的实现方式区别后,我们就会发现这两种典型的区块链的设计思路的区别了——“链”到底应该位于架构的哪一层?

在区块链原教旨主义中,由于大家都不可信,所以只能相信由Hash算法串起来的一个完整的数据系统。而在面向企业间应用的联盟链中,由于节点都是需要身份认证才能加入的,因此可信程度高一些。所以,只要关键的一些数据达成共识实现可信就可以了。

正是由于这种设计思路上的区别,在Ethereum中,所有的智能合约都运行在同一个链上,大家共用一个可信的基础设施;而在Fabric中,一个应用对应一个链,整个系统由很多子链构成,这些子链共用一套基本互信的基础设施

从系统架构角度看,Ethereum是一个完整基础设施,不会拆散了来用。虽然Ethereum内部的设计耦合性很高,各个模块依赖性极强,甚至整个系统都依赖于某些基础的智能合约(例如以太币合约),但这可以看做是整个基础设施的内聚性导致的。

而Fabric更像是一个区块链云服务平台,能够让用户方便的在基础平台上,使用各个模块创建一个一个的链进而实现一个一个的应用。所以,Fabric是低耦合设计的一个平台。

问答
区块链是什么?
相关阅读
看清区块链
区块链入门教程
区块链前世今生
【每日课程推荐】新加坡南洋理工大学博士,带你深度学习NLP技术

此文已由作者授权腾讯云+社区发布,更多原文请点击

搜索关注公众号「云加社区」,第一时间获取技术干货,关注后回复1024 送你一份技术课程大礼包!

海量技术实践经验,尽在云加社区

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链圈的朋友们值得收藏!腾讯首席架构师教你两种区块链设计思路 的相关文章

  • 汽车雷达-综述

    目录 1 简介 2 发展史 3 技术参数 4 采用SIGe毫米波T R组件 5 汽车雷达中主要的信号处理单元 5 1 远程雷达 5 1 1 总体框图 5 1 2 FFT 5 1 3 DOA估计 5 1 3 1 和差测角 5 1 3 2 顺序

随机推荐

  • 多种排序算法(插入、二分法【查找、排序】、选择、冒泡、快速、希尔)

    多种排序算法 插入 二分法 查找 排序 选择 冒泡 快速 希尔 插入排序 function insertSort arr var len arr length for var i 1 i lt len i var key arr i var
  • 用户行为预测论文summay

    用户行为预测论文summary 1 论文名称 Modelingand Predicting Behavioral Dynamics on the Web 2 论文作者 KiraRadinskyz Krysta Svorey 3 主要内容 本
  • 论文阅读--Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

    多人姿态估计的挑战 1 人数 位置和尺寸的大小未知 2 人体之间的相互接触 遮挡造成干扰 3 复杂度随着实时人数的增加而提升 姿态估计方法 1 top down approaches 自顶向下 借助现有的用于单人姿势判断的技术 先检测人 然
  • 趣味算法:探索栈和队列的神秘之旅

    文章目录 前言 一 栈和队列 从历史到理论 二 栈和队列 实际例子和代码 1 栈在后缀表达式求解中的应用 2 队列在打印任务调度中的应用 三 栈和队列 更多的应用场景 四 栈和队列 如何选择 五 栈和队列的变体 六 性能分析 结语 前言 编
  • spring boot 统一JSON格式的接口返回结果

    前后端分离的项目开发前 会提前规定好数据返回格式 本文以JSON为例 第一步 定义好JavaBean package com yclouds myhelper web response import com fasterxml jackso
  • 输入商品数量和单价,计算商品总额。(C语言)

    代码 define CRT SECURE NO WARNINGS 1 include
  • 【PyTorch】使用 Mac GPUs (Apple silicon GPUs) 训练模型

    根据 PyTorch 官网的文章 Introducing Accelerated PyTorch Training on Mac1 从 PyTorch v1 12 release 开始支持使用 Apple silicon GPUs 加速训练
  • ML-熵、条件熵、信息增益

    通俗理解条件熵 特征选择之信息增益法 必看 系统介绍了熵 条件熵 信息增益的概念及推导 条件熵的计算 必看 知乎前三个回答都看一下 有关于熵 条件熵 信息增益的实践 我通过例子一步一步讲解这个概念 在决策树算法的学习过程中 信息增益是特征选
  • stm32实现网页服务器,STM32实现Web服务器

    实例简介 有例程及详细的讲解 适用于初学嵌入式WebServer的同学下载 实例截图 核心代码 ourdev 682501O2PDF8 10M以太网 WEB服务器 源码 PDF教程 以太网ENC28J60 pdf 以太网ENC28J60源码
  • KNN分类——matlab(转载)

    KNN分类 matlab 时间 2016 09 06 标签 matlab knn算法 算法 栏目 MATLAB 原文 http blog csdn net lwwangfang article details 52452429 adsbyg
  • elasticSearch 设置用户名密码 && 查询

    一 设置密码 1 需要在配置文件中开启x pack验证 修改config目录下面的elasticsearch yml文件 在里面添加如下内容 并重启 xpack security enabled true xpack license sel
  • SpringBoot集成RabbitMQ生产消费消息(简单实用版)

    概要 要使用RabbitMQ消息队列主要有两个步骤 一个是搭建RabbitMQ服务 需下载安装 二是代码添加依赖开始编码 一 安装RabbitMQ服务 以docker安装为例 其他安装方式自行百度 下载镜像 docker pull rabb
  • Java中的链表——LinkedList解析

    LinkedList类结构 LinkedList
  • TCP思维导图总结

    TCP 可靠性 为什么网络中会存在不可靠 根本原因就是距离太远 不可控因素太多 TCP因此就应运而生 是一种保证可靠性的协议 TCP协议格式 源 目的端口 表示数据从那个进程来 要到对端的那个进程去 32位序号 32位确认序号 分别代表TC
  • Authing 入选长城战略咨询《2023 中国潜在独角兽企业》报告

    2023 年 6 月 20 日 长城战略咨询 GEI 发布 2023 中国潜在独角兽企业研究 报告 Authing 作为国内首家身份云 IDaaS 厂商入选中国潜在独角兽企业榜单 独角兽企业指具有发展速度快 数量稀少 备受投资者青睐等属性的
  • 面试必备的红黑树,这可能是最容易理解的一篇了!

    点击上方 Java之间 选择 置顶或者星标 你关注的就是我关心的 来源 linux内核 红黑树是一个平衡的二叉树 但不是一个完美的平衡二叉树 虽然我们希望一个所有查找都能在 lgN次比较内结束 但是这样在动态插入中保持树的完美平衡代价太高
  • luffy前传

    目录 企业的web项目类型 商城 门户网站 企业站和门户站 企业项目开发流程 pip永久换源 虚拟环境搭建 使用虚拟环境 新建项目 luffy后台创建目录调整 企业的web项目类型 商城 B2C 直销商城 商家与会员直接交易 Busines
  • 2020国内十大API接口服务平台

    API的概念早在上世纪60年代就已经出现 其代表的是应用程序的编程接口 是一些预先定义的函数 或指软件系统不同组成部分衔接的约定 换句话说 API是一个信使 它将用户的请求交付给用户所请求的提供者 然后将响应交付给用户 打个简单的比喻 日常
  • 【CVPR2023 Best Paper】Planning-oriented Autonomous Driving 阅读笔记

    Paper https openaccess thecvf com content CVPR2023 papers Hu Planning Oriented Autonomous Driving CVPR 2023 paper pdf Gi
  • 链圈的朋友们值得收藏!腾讯首席架构师教你两种区块链设计思路

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由敖萌发表于云 社区专栏 区块链发展到了现在 产生了很多不同形式的区块链技术 随着技术的发展 目前比较公认的看法是区块链已经走进了2 0时代 区块链1 0是以比特币为代表的去中心