⑴ 平板的QQ小程序在哪
作者 | 王安
责编 | 唐小引
封图 | CSDN 付费下载自东方 IC
出品 | CSDN(ID:CSDNnews)
2016 年 9 月,微信小程序邀请 200 位开发者内测,有中国特色的移动互联网大幕徐徐拉开,小程序时代汹涌而来。
阿里、网络、头条、手机厂商陆续跟进,而在 2019 年 6 月,QQ 小程序也终于到来。
QQ,可不是普通的超级 App,它是有 7 亿手机端月活的、中国第二大 App。
并且 QQ 掌握了中国最大的年轻人社交流量,这让人忍不住想一探究竟。
我们关心 QQ 小程序,最关心的一是入口,即流量层面、二是开发,即技术层面。
我们先来看流量层面
大多数开发者看待一个平台,第一个问题就是:有没有量?有没有留存?
先提供个调研数据,笔者采访了几个已经上线 QQ 小程序的开发者,对这个平台普遍持正面评价。一个健康类小程序,并非推荐榜单前 10,仍然取得每天新增 5 万用户的好成绩,留存和微信小程序也差不多。当然也有开发者表示刚刚上线还没什么流量。
然后我们再来分析下 QQ 小程序当前的入口形式,目前 QQ 小程序仅 Android 版支持,主要入口包括首页下拉、右上角菜单、动态选项卡、聊天、QQ 空间、搜索、小程序中心、QQ 钱包。
首页下拉、右上角菜单、动态选项卡
与微信相比,比较大的入口方面差别如下:
少了 2 个入口:
QQ 不支持扫码,也就是线下小程序与 QQ 无缘。想想也是,论扫码的教育,人们首先想到的都是微信和支付宝,面对一个码,很难想起来启动 QQ 去扫码。
QQ 搜索小程序只能搜名字,还不支持内容搜索。比如搜索“复仇者联盟 4”,在微信里可以直接搜索到小程序内部的内容,点击后启动小程序。而 QQ 还没有对接这套搜索引擎过来。同样,QQ 排低搜索内容的优先级,和过去的用户习惯教育有关。并没有很多人习惯在 QQ 里搜索“复仇者联盟 4”这类内容。
搜索
从扫码和搜索的差别来看,不得不佩服微信。这个国民应用远不止是聊天工具,它成功地教育了用户扫码、支付、搜索的习惯,QQ 虽然是中国第二大超级 App,但用户习惯教育方面的段位,确实比微信差不少。
多了 2 个入口:
QQ 多了一个 QQ 空间分享。QQ 空间类似于朋友圈,是好友动态的一个信息流。很多年轻人并不把自己的动态发到朋友圈,而是只发到 QQ 空间,和他的年轻朋友们互动。微信朋友圈一直没打开小程序入口,这次 QQ 倒是比较开放,拿出了这个重要的流量。
小程序中心。这是一个中心化的小程序推荐入口。提供了排行榜机制,帮助用户了解热门的小程序或小游戏。
QQ 空间、小程序中心
分析这 2 个多了的入口,对比可以看出,微信的理念很独特,去中心化模式发展生态、保持克制,限制开发者营销而避免打扰用户。这种产品理念,全中国可能也只有微信能坚持,同为腾讯旗下的 QQ 并不敢这么玩。
我们再观察下小程序中心里推荐的热门小程序,会发现:
QQ 非常重视小游戏,这本身也符合 QQ 的产品调性;
娱乐化、社交化工具很受欢迎。斗图、换有趣的头像、P 图、火星文,很多年轻人通过这些工具,在社交中树立自己的个性形象;
应用内广告很普遍。点开几个推荐的小程序,会发现应用内广告较多。微信对小程序的商业化追求不明显,很大程度是因为微信有支付,小程序帮助微信支付做大数倍体量。但 QQ 没有这个抓手,线下商户服务也收不进来,所以除了重视游戏,也很重视应用内广告。
分析了入口特点,和小程序中心里推荐的小程序,可以看出 QQ 团队看待小程序的思路:
努力在给开发者提供流量;
很重视商业化。
那么对于开发者而言,如果你的业务希望在年轻人里冲一波,有必要考虑下 QQ 小程序。
值得深度运营的入口,一个是小程序中心的推荐位,一个是社交。
把业务包装的好玩点、拼团模式也搬到 QQ 中来,有机会在年轻人的群里或 QQ 空间里引爆。
分析了流量层面,我们再来看看技术层面。
技术层面
QQ 小程序的 API 与微信是一模一样的,JS API 前缀也仍然是 wx.xxx。
从实现来看,是微信小程序的子集,或者说早期版本,再过段时间,应该能接近追起微信的水平。
与微信小程序相比,比较重要的缺失包括:
扫码、iBeacon、NFC、Wi-Fi、发票抬头等线下常用的场景涉及的 API,基本都没有;
还有一些不是场景问题,只是优先级问题,目前精力有限,先放弃了,以后应该会慢慢补上,比如直播、截屏事件、Socket、模板消息、用户反馈;
视频组件很弱;
小程序插件、云开发是不支持的。小程序插件这个可能短期内也不会被支持,云开发按照腾讯推广云的力度,应该后续会补充上的。
QQ 与微信的 API 及实现细节差了这么多,可以看出这两个平台仍然存在兼容问题,毕竟是不同团队的作品。
一个公司多个超级 App 都内嵌小程序引擎其实很常见,网络、头条,都是有一个专门的部门负责小程序引擎输出,比如今日头条和抖音,使用的小程序引擎是一样的,也不会有 2 套开发者工具。
阿里曾一度混乱,现在也逐渐理顺,支付宝、高德地图也复用相同的引擎和相同的开发工具。
但微信和 QQ 没有这种引擎和工具复用的机制,也没有一个独立的引擎部门。开发者需要注册不同的账户、下载不同的开发工具、编写不同的代码、发布到不同的平台审核。
对开发者而言,这就意味着多一套维护成本,开发、升级、测试、运营,都需要投入新的精力。
开发者可以用微信版小程序,先改出一个版本提交到 QQ。
但是后续升级维护呢?2 套代码各自更新升级?
都是搞技术的,这么傻的事情可做不出来。那对于开发者,是否能一套代码多端发布?每个平台的特色代码和公用部分的更新都能取得良好的平衡?
有需求自然有解决方案,业内已经有不少成熟的多端开发框架了,也及时的支持了 QQ 小程序,比如基于 Vue 的 uni-app(cli 版)、基于 React 的 Taro 等,具体可以去搜下评测。
很多开发者对多端框架有个顾虑,无法支持不同平台的特色功能和运营服务,这里还是多说两句,其实并不存在这个问题,像 uni-app 的条件编译扩展的已经非常灵活了。
结语
经过将近 2 年的发展,小程序已经成为超级 App 的必备,是他们构建生态的重要武器。
生态之争,高于产品之争,生态的粘性、商业价值,也远大于普通产品。
很高兴中国的互联网巨头们,已经晋级到这个段位的赛事。
盘点下已经支持小程序的超级 App:微信、企业微信、QQ、支付宝、高德地图、手机淘宝、网络、网络贴吧、网络地图、今日头条、抖音……
都是璀璨耀眼的名字,每个名字背后都是巨大的流量。
这对开发者来说,是机会,也是挑战。
但不管是什么,中国的开发者们,已经不可逆转地走入了一个新时代:小程序时代。
这是全球都不曾有的中国特色,这是中国的技术标准,并且很明显,在功能和体验上超过了 HTML5。
这是一场值得歌颂的中国技术生态发展史,后续会专门写一篇文章来纪念,敬请关注。
作者简介:王安,DCloud 公司创始人,HTML5 中国产业联盟秘书长。2003 年开始从事移动互联网工作,十几年编程和商业经验,连续创业者。
【END】
热 文推 荐
为什么说 5G 是物联网的时代?
互联网公司没有中年人
教你用OpenCV实现机器学习最简单的k-NN算法
Docker 存储选型,这些年我们遇到的坑
荔枝自由?朋友,你实现了吗?
开源要自立?华为如何“复制”Google模式
从制造业转型物联网,看博世如何破界
回报率850%? 这个用Python优化的比特币交易机器人简直太烧脑了...
老码农冒死揭开编程黑幕:这些Bug让我认输,谁踩谁服!
你点的每个“在看”,我都认真当成了喜欢
⑵ pi币值多少人民币
无法确定
币圈交易涨跌起伏,看似简单却内含门道!据悉,在2020年1月BTC将继续维持7800-7900美元的水平,并等待进一步的爆发。目前的走势显示2020年未来六个月比特币已经开始进入上涨的通道了。
1月份出现价格低点主要有以下几个原因:
1、年底了许多机构和公司都会进行结算,他们大多是以法币的形式进行结算。
2、圣诞节是西方的传统节日,相当于东方的春节,这个时候用户会抛币换取法币进行消费,资金是流出的。
3、春节也大多在阳历的1-2月份,中国又是比特币一个非常庞大的市场,对市场的影响是非常大的。春节之前个人和公司都会抛售一定的币准备过节。
现在,已经是2020年了,比特币也已经进行了两次探底,价格的低点是否已经出现,已经到了最好的买入价格还不得而知。不过,从ETC和BCH近期的表现来看减半行情或许已经来了。在加上,美国和伊朗的冲突不断的升级,国际局势的不稳定也都会加速比特币牛市的到来。
⑶ Docker 安装 Redis、MySQL、Gogs
人生有涯,学海无涯
最近接到一个项目,由于项目的独特性需要自己搭建一些环境,刚好之前学了一些 Docker(这里如果大家不熟悉 Docker 可以查看公号前面松哥写的 Docker 的系列文章),所以就决定采用 Docker 搭建,毕竟搭建方便、简单、快速。
大家在公网服务器安装 Redis 的时候 一定要设置密码,一定要设置密码,一定要设置密码 。
如果不设置密码很容易被黑客利用 Redis 的漏洞进行比特币的勒索。如果不巧遇到了那都是念猜血的教训!切记不要抱有侥幸心理,或者简单的以为换个端口就可以了,端口的数量是有限制了,黑客完全可以遍历一下就破解了。最好两个都设置,既改端口也加密码,双保险,当然密码也不要简单到随便一个字典库就能破解的那种,尽量复杂点。
与 Redis 安装方式类似,不过这里获取的是指定版本的 MySQL 。
首先提到代码管理平台,大家首先想到的肯定是 Github 以及 Gitlab,这两种仔纳型大家平时应该用到的比较多,开源软件用的大部分是 Github,公司内部大部分使用的是 Gitlab。Gogs 也是一种代码管理平台,相比 Gitlab 来说相对轻量级。
我这里为什么要使用 Gogs 而不使用 Gitlab 呢? 主要是个人服务器配置跟不上啊!!!
尝试了安装 Gitlab,安装后服务器完全跑不起来了,本来个人服务器性能就不是很好,上面还跑了几个程序,安装完 Gitlab 后连博客网站都打不开,果断放弃。官方推荐的安茄袜装 Gitlab 硬件配置是 4 核 8G,相对来说 Gogs 就轻量很多,安装后基本对服务器没什么影响,而且 Docker 安装十分方便。
注意修改端口号:
如果在上一步点击安装后一切正常那边跳过这一步,如果出现 MySQL error: The maximum column size is 767 bytes,那么很高兴你遇到一个坑,不过别怕,我们可以解决它只需要对 mysql 进行参数的设置就好了。
解决方案:
⑷ 区块链应用开发找哪家好
区块链技术是通过2008年由中本聪编写的题为“比特币:对等电子现金系统”的论文宣布的。有趣的是,本文没有专门使用“区块链”这个词。
本文讨论的是“纯粹的电子现金版本”,其中“网络通过将交易哈希到持续的基于散列的工作证明链中来标记交易时间,创建一条无需重做证明即可更改的记录”工作的”。
开源的PT-BSC(区块链安全控制)将区块链定义为点对点网络,通过将它们散列到正在进行的基于散列的工作量证明链中来记录时间戳记,形成不能成为记录的记录改变而不重做工作证明。区块链可以被授权,无权限或混合使用。
另一方面,分布式账本被定义为对等网络,该网络使用定义的共识机制来防止修改有序的时间戳记录序列。共识机制包括证明利益,联合拜占庭协议等。
最流行的区块链平台
1.以太坊
以太坊是一个开源的Blockchain平台,运行智能合约并为其创建提供编程工具。在2013年由Vitalik Buterin提出后,该平台简化了下一代分散式应用程序(DApps)和在线合同协议的开发。
以太坊允许设计和发行加密货币和可交易的数字令牌。更重要的是,您可以创建自己的DAO(民主自治组织),例如,一个虚拟组织,通过成员投票解决各种问题。
该平台提供了许多有用的功能,包括图灵完整语言,命令行工具(内置于Go,C ++,Python,Java等)以及Ethereum钱包,这是最后一个支持和保护加密资产并简化智能合约的开发者发展。
2. BigChainDB
BigChainDB是一个开源的分布式账本系统,专为存储大量数据而设计,并支持开发人员部署区块链概念验证和应用程序。
该数据库提供分散控制,低延迟,不变性,强大的查询功能以及高速的事务处理。
该系统没有自己的货币,但允许发行和转让任何资产,代币和加密货币。BigChainDB支持自定义数字资产并在事务级别建立访问权限。
BigChainDB基于联邦共识模型,一个拥有投票权限的节点联盟。BigChainDB支持公共和私人网络,有许多用例,包括知识产权,人力资源,政府和土地登记等领域。
此外,深入了解比特币,以太坊和BigchainDB的比较。
3.Blockchain Hyperledger Fabric
Blockchain Hyperledger Fabric是由The Linux Foundation主办并于2016年发布的最受欢迎的Hyperledger项目之一。Hyperledger Fabric是Go编写的,使用Docker容器实现智能合约。
该平台是基于模块化架构构建基于区块链的解决方案的基础,并支持使用一个或多个网络。为了确保高水平的灵活性,可靠性和可扩展性,Hyperledger Fabric最适合开发企业解决方案。
考虑到有用的功能,它包含共享机密信息和交易背书政策的渠道。此外,交易还包括所有签署同行的签名,并提交给订购服务。Hyperledger Fabric是创建授权区块链的最佳平台之一。
4.Hyperledger Cello
Hyperledger Cello是一个区块链平台和操作系统,也是Linux基金会托管的Hyperledger项目之一。Hyperledger Cello的目标是通过向Blockchain生态系统提供按需“即服务”部署模式,最大限度地减少设计和管理区块链的工作量。
Hyperledger Cello使开发人员能够从头创建区块链即服务(BaaS)平台,并管理区块链的生命周期。更重要的是,通过Cello,他们可以在裸机,虚拟云和容器集群之上维护一组网络(大提琴支持Docker,Swarm和Kubernetes)。
5. Hyperledger锯齿湖
Hyperledger Sawtooth Lake是一个区块链平台,代表支持许可和无许可开发的企业解决方案。该平台帮助软件工程师更轻松地创建,部署和运行分布式账本系统和应用程序。
Sawtooth Lake是一个用Python编写的模块化套件,提供智能合同抽象,允许开发人员以他们想要的编程语言编写合同逻辑。Hyperledger Sawtooth中的交易业务逻辑与共识层分离。
共识机制称为经过时间证明(PoET),并使用内置于最新一代英特尔处理器中的SGX可信计算模块。
对于锯齿湖有很多有用的应用。例如,在供应链管理和海鲜配送中,它可以解决诸如食物储存条件不当,非法捕捞行为和海鲜欺诈等问题。
此外,Hyperledger Sawtooth可以确保创建和交换数字资产的安全基础设施。了解一下,锯齿湖及其解决方案如何在不同领域发挥作用。
6. Hydrachain
HydraChain是Ethereum Blockchain平台的开源扩展,为开发和部署许可的分布式分类帐提供支持。
HydraChain完全兼容以太坊协议,并提供了一个基础设施来创建Python中的智能合约。Hydrachain有许多工具可以缩短开发时间并提高调试功能。
重要的是,HydraChain可以确保高水平的定制:系统的各个方面可以轻松配置以满足客户的需求。例如,在创建智能合约时,交易费用,天然气限额,创世分配和封锁时间等事项可以轻松定制。
7. Corda
Corda是一个开源的Blockchain平台,用于构建许可的分布式账本系统。该项目由R3联盟创建,结合了大型银行并允许管理各方之间的法律协议。
像其他分布式分类帐一样,R3 Corda提供安全的数据存储和不可变的数据记录。值得注意的是,只有Corda才能开发交互操作的区块链网络,这些网络在严格的隐私中进行交易。目前,它可能是唯一一个有可插拔共识的分布式账本平台。
8. Multichain
Multichain是一个开源分布式账本系统,基于比特币区块链,专为处理多币种金融交易而设计。
该平台提供各种级别的访问控制和权限,并实现快速解决方案部署。在Multichain中,各种网络可以同时在一台服务器上。
9.开链
作为一个开源的区块链平台,Openchain以强大,安全和可扩展的方式为数字资产的发布和管理而设计。该技术包括智能合约模块,统一的API,以及由于分级账户系统的多级控制和访问权限。
在Openchain中,每笔交易都进行了数字签名(就像比特币一样),共识机制由分部共识引入。你应该注意到Openchain是免费的,所以你不需要花钱加密货币来使用它。
10.链核心
Chain Core是一个企业级的区块链平台,由Chain Protocol和链接协议设计,用于在许可的区块链网络上发布,传输和管理数字资产。此外,该平台还使开发人员能够从头开始创建金融服务。
在连锁核心中,本地数字资产涉及货币,证券,衍生品,礼品卡和忠诚点。该平台提供基于角色的权限访问管理,以便在网络中运行。Chain Core具有联合共识,并提供智能合同支持,交易隐私和多重签名帐户支持。
⑸ 各区块链架构的横向比较
各区块链架构的横向比较
时常听人们谈起区块链,从 2009 年比特币诞生至今,各式各样的区块链系统或基于区块链的应用不断被开发出来,并被应用到大量的场景中,而区块链技术本身也在不停地变化和改进。
区块链又被称为分布式账本,与之对应的则是中心化账本,比如银行。与中心化账本不同的是,分布式账本依靠的是将账本数据冗余存储在所有参与节点中,来保证账本的安全性。简单地说,区块链会用到三种底层技术:点对点网络技术、密码学技术和分布式一致性算法。而通常,区块链系统还会“免费附赠”一种被称为智能合约的功能。智能合约虽然不是区块链系统的必要组成部分,但由于区块链天生所具备的去中心化特点,使它可以很好地为智能合约提供可信的计算环境。
为了适应不同场景的需求,区块链系统在实际应用的过程中往往会需要进行各种改造,以满足特定业务的要求,比如身份认证、共识机制、密钥管理、交易频次、响应时间、隐私保护、监管要求等。而实际应用区块链系统的公司往往没有进行这种改造的能力,于是市场上慢慢出现了一些用于定制专用区块链系统的框架,采用这些框架就可以很方便地定制出适用于企业自身业务的区块链系统。
本文将对目前市场上几个典型的区块链框架进行横向对比,看看它们都有哪些特点,以及它们之间到底有哪些区别。为了保持对比的公正性,本文将只针对开源的区块链框架进行讨论。
各区块链架构的简单介绍
1、比特币
比特币(bitcoin)源自一名叫做中本聪(Satoshi Nakamoto)的人在 2008 年发表的一篇名为《比特币:一种点对点的电子现金系统》(Bitcoin: A Peer-to-PeerElectronic Cash System)的论文,文中描述了一种被他称为“比特币”的电子货币及其算法。在之后的几年里,比特币不断成长和成熟,而它的底层技术也逐渐被人们认识并抽象出来,这就是区块链技术。比特币作为区块链的鼻祖,在区块链的大家族中具有举足轻重的地位,基于比特币技术开发出的山寨币(altcoins)的数量有如天上繁星,数不胜数。
从论文中可以得知,中本聪设计比特币的目的,就是希望能够实现一种完全基于点对点网络的电子现金系统,使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的中介机构。总结来说,他希望比特币的设计能够实现以下这些目标:
● 不需要中央机构就可以发行货币
● 不需要中介机构就可以支付
● 保持使用者的匿名性
● 交易无法被撤销
从电子现金系统的角度来看,以上这些目标在比特币中基本都得到了实现,但是依然有一些技术问题有待解决,比如延展性攻击、区块容量限制、区块分叉、扩展性等。
在应用场景方面,目前大量的数字货币项目都是基于比特币架构来设计的,此外还有一些比较实际的应用案例,比如彩色币、t? 等。
彩色币(coloredcoin),通过仔细跟踪一些特定比特币的来龙去脉,可以将它们与其他的比特币区分开来,这些特定的比特币就叫作彩色币。它们具有一些特殊的属性,从而具有与比特币面值无关的价值,利用彩色币的这种特性,使得开发者可以在比特币网络上创建其它的数字资产。彩色币本身就是比特币,存储和转移不需要第三方,可以利用已经存在的比特币的基础。
t? 是比特币区块链在金融领域的应用,是美国在线零售商 Overstock 推出的基于区块链的私有和公有股权交易平台。
2、以太坊
以太坊(ethereum) 的目标是提供一个带有图灵完备语言的区块链,用这种语言可以创建合约来编写任意状态转换功能,用户只要简单地用几行代码来实现逻辑,就能够创建一个基于区块链的应用程序,并应用于货币以外的场景。
以太坊的设计思想是不直接“支持”任何应用,但图灵完备的编程语言意味着理论上任意的合约逻辑和任何类型的应用都可以被创建出来。总结来说,以太坊在比特币的设计目标之外,还需要实现以下几个目标:
● 图灵完备的合约语言
● 内置的持久化状态存储
目前基于以太坊的合约项目已达到数百个,比较有名的有 Augur、TheDAO、Digix、FirstBlood 等。
Augur 是一个去中心化的预测市场平台,基于以太坊区块链技术。用户可以用数字货币进行预测和下注,依靠群众的智慧来预判事件的发展结果,可以有效地消除对手方风险和服务器的中心化风险。
限于篇幅,基于以太坊智能合约平台的项目就不多介绍了。基于以太坊的代码进行改造的区块链项目也有不少,但几乎都是闭源项目,只能依靠一些公开的特性来推断,所以就不在本文展开讨论了。
3、Fabric
Fabric 是由 IBM 和 DAH 主导开发的一个区块链框架,是超级帐本的项目成员之一。它的功能与以太坊类似,也是一个分布式的智能合约平台。但与以太坊和比特币不同的是,它从一开始就是一个框架,而不是一个公有链,也没有内置的代币(token)。
超级账本(hyperledger)是 Linux 基金会于 2015 年发起的推进区块链技术和标准的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。
作为一个区块链框架,Fabric 采用了松耦合的设计,将共识机制、身份验证等组件模块化,使之在应用过程中可以方便地替换成自定义的模块。除此之外,Fabric 还采用了容器技术,将智能合约代码(chaincode)放在 docker 中运行,从而使得智能合约可以用几乎任意的高级语言来编写。
以下是 Fabric 的一些设计目标:
● 模块化设计,组件可替换
● 运行于 docker 的智能合约
目前已经有不少采用 Fabric 架构进行开发的概念验证(POC)项目在实施过程中,其中不乏一些金融机构做出的尝试,不过由于项目刚刚起步,还没有比较成熟的落地应用。
4、DNA
DNA(Distributed Networks Architecture,分布式网络架构),是由总部位于上海的区块链创业公司“分布科技”开发的区块链架构,可以同时支持公有链、联盟链、私有链等不同应用类型和场景,并快速与业务系统集成。
与以太坊、Fabric不同的是,DNA 在系统底层实现了对多种数字资产的支持,用户可以直接在链上创建自己的资产类型,并用智能合约来控制它的发行逻辑。对于绝大部分的区块链应用场景,数字资产是必不可少的,而为每一种数字资产都开发一套基于智能合约的转账、发行逻辑是非常浪费且低效的。因此,由区块链底层提供直接的数字资产功能是十分必要的。而对于那些完全不需要数字资产的应用场景,同样可以基于 DNA 提供的智能合约架构来编写任意的自定义逻辑来实现。
DNA 的设计目标主要有以下几点:
● 多种数字资产的底层支持
● 图灵完备的智能合约和状态持久化
● 跨链互操作性
● 交易的最终性
目前已有不少金融机构采用 DNA 架构来进行区块链概念验证产品的开发。除此之外,还有一些已经落地的区块链项目,如小蚁区块链、法链等。
小蚁(antshares)是一个定位于资产数字化的公有链,将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行、转让交易、清算交割等金融业务的去中心化网络协议。它采用社区化开发的模式,在架构上与 DNA 保持一致,从而可以与任何基于DNA 的区块链系统发生跨链互操作。
法链是全球第一个大规模商用的法律存证区块链,一个底层基于 DNA区块链技术,并由多个机构参与建立和运营的证据记录和保存系统。该系统没有中心控制点,且数据一旦录入,单个机构或节点无法篡改,从而满足司法存证的要求。
5、Corda
Corda 是由一家总部位于纽约的区块链创业公司 R3CEV 开发的,由其发起的 R3区块链联盟,至今已吸引了数十家巨头银行的参与,其中包括富国银行、美国银行、纽约梅隆银行、花旗银行、德国商业银行、德意志银行、汇丰银行、三菱 UFJ 金融集团、摩根士丹利、澳大利亚国民银行、加拿大皇家银行、瑞典北欧斯安银行(SEB)、法国兴业银行等。
从 R3 成员的组成上也可以看出,Corda 是一款专门用于银行与银行间业务的区块链架构。尽管 R3 自己声称 Corda 不是区块链,但从各项特征来看,它具备区块链的一些特性。
技术对比
1、数字资产
接下来,将对前文中提到的这些区块链框架进行一系列的技术对比,并从多个维度展开介绍它们的区别与相似之处。
区块链的内置代币通常是一种经济激励模型和防止垃圾交易的手段。比特币天生就有且只有一种内置代币,所以在比特币系统中所有的“交易”本质上都是转账行为,除非通过外部的协议层来给比特币增加额外的数字资产。
以太坊和 DNA 具有内置代币,它们的作用除了以上提到的经济激励和防止垃圾交易之外,还具有为系统内置功能提供一个收费的渠道。比如以太坊的智能合约运行需要消耗 GAS,而 DNA 的数字资产创建也需要消耗一定的代币。
以太坊和 Fabric 没有内置的多种数字资产支持,而是通过智能合约来实现相应的功能。这种方式的好处在于,系统设计可以做到非常简洁,而且资产的行为可以任意指定,自由度极高。然而这样的设计也会带来一系列的负面影响,比如所有的资产创建者不得不自己编写重复的业务逻辑,而用户也没有办法通过统一的方式去操作自己的资产。
相比之下,DNA 和 Corda 采用了在底层支持多种数字资产的方式,让资产创建者可以方便地创建自己的资产类型,而用户也可以在同一个客户端中管理所有的资产。对于逻辑更加复杂一点的业务场景来说,他们同样可以利用智能合约来强化资产的功能,或者创建一种与资产无关的业务逻辑。
2、账户系统
UTXO(Unspent Transaction Output)是这样一种机制:每一枚数字货币都会被登记在一个账户的所有权之下,一枚数字货币有两种状态,即要么还没有被花费,要么已经被花费。当需要使用一枚数字货币的时候,就将它的状态标记为已经花费,并创造一枚新的与之等额的数字货币,将它的所有权登记到新的账户之下。在这个过程中,被标记为已花费的数字货币就被称为交易的输入,而创造出来的新的数字货币被称为交易的输出,在一笔交易中,可以包含多个输入和多个输出,但是输入之和与输出之和必须相等。要计算一个账户的余额时,只要将所有登记在该账户下的数字货币的面额相加即可得出。
比特币和 Corda 就采用了 UTXO 这样一种账户机制,而以太坊则采用了更加直观的余额机制:每个账户有一个状态,状态中直接记录了账户当前的余额,转账的逻辑就是从一个账户中减去一部分余额,并在另一个账户中加上相应的余额,减去的部分和加上的部分必须相等。DNA 在账户机制上同时兼容这两种模式。
那么 UTXO 模式和余额模式,究竟有什么优缺点呢?UTXO 最大的好处就是,基于 UTXO 的交易可以并行验证且任意排序,因为所有的 UTXO 之间都是没有关联的,这对区块链未来的伸缩性是有很大帮助的,而基于余额的设计就没有这个优势了;反过来,余额设计的优点是设计思想非常简洁和直觉化,便于程序实现,特别是在智能合约中,要处理 UTXO 的状态是非常困难的。这也是为什么以智能合约为主要功能的以太坊选择余额设计的原因,而比特币、OnchainDNA、Corda 这些以数字资产为核心的架构则更倾向于 UTXO 设计。
关于身份认证,比特币和以太坊基本没有身份认证的设计,原因很简单,因为这两者的设计思想都是强调隐私和匿名,而反对监管和中心化,而身份认证就势必要引入一些中心或者弱化的中心机构。Fabric、DNA 和 Corda 不约而同地选择了采用数字证书来对用户身份进行认证,原因在于这三者都有应用于现有金融系统的设计目标,而金融系统必然要考虑合规化并接受监管,此外现有的金融系统已经大范围地采用数字证书方案,这样便可以和区块链系统快速集成。