不管你是从事任何职业,最近身边是不是总有人对你说:"诶你知道吗,现在web3.0可火了!“
web3.0?当你第一次听到这个词是否会感到云里雾里呢?其实它指的就是第三代互联网。
早期的web1.0时代,是个人电脑为主体的时代。用户可以通过互联网向网站发送站门户信息,但是主要也是进行浏览、搜索等行为。用户发送完毕之后只能被动地接收内容,缺乏互动体验。
随着Web2.0的到来,互动成了互联网的主旋律,你不再只是信息的接收者,各大主流媒体平台让你可以自由的发表动态,或者在朋友圈发表一个动态然后让别人评论你。这就是web2.0的好处,既是可读,也是可写的。也就是各大软件成为了信息传播的介质。
但是这些信息都是存储在各大公司自己的数据库里的,信息不是属于用户的,而是各大公司的。于是Web3.0的概念被提了出来:用户可以掌握自己的数据。和Web2.0一样,技术是支撑概念实现的基石。用户要掌握自己的数据,就要使用新兴的互联网技术:区块链。每个人都可以将自己的数据上链,在链上进行操作。
带着对区块链的畅想,我研究起了以腾讯前沿的区块链技术为领导的,处于行业第一的区块链技术——长安链。
长安链是腾讯云参与自主研发且技术开源的高性能区块链平台,它包涵区块链核心框架、丰富的组件库和工具集,致力于为用户高效、精准地解决差异化区块链实现需求;能够构建高性能、高可信、高安全的新型数字基础设施,同时也是国内首个自主可控区块链软硬件技术体系。
想做到这一切其技术实现并不容易。长安链的技术架构主要由以下部分组成:
我们一起逐部分探讨一下。
账本存储
长安链上的每一条数据链都是一个实时同步的分布式账本,每个节点就相当于一个账本。这些账本分别汇集了每个区块项目的交易、状态、历史读写等数据。
其中对账本数据的存储操作是区块链账本最关注的内容之一,因此我们需要知道长安链的账本数据存储过程。
账本数据主要分为5个部分:区块数据、状态数据、历史数据、合约执行结果的读写集数据以及事件数据,每一类数据集都放在一个单独的数据库里,而这些数据存储在你自己的节点上。
也就是说,你的每一次操作都是以提交或者查询的状态指向数据库。
共识算法
共识算法是指在分布式场景中,多个节点为了达成相同的数据状态而运行的一种分布式算法。在分布式场景中,可能出现网络丢包、时钟漂移、节点宕机、节点作恶等等故障情况,共识算法需要能够容忍这些错误,并且保证多个节点取得相同的数据状态。
所以长安链为不同的应用场景提供了五种不同的共识算法用于链上节点间对交易执行和打包区块达成一致:
长安链通过共识算法可配置的方式来根据不同场景保证多个节点取得相同的数据状态从而提升体验性。最终整个系统实现毫秒级的延迟级别。
合约引擎
智能合约我们往前讨论过,就是你和交易对象之间的一套”合约“,应用的开发过程其实就是一个写合约的过程。那么合约背后的技术是神马呢?其实就是合约引擎。
这也就是长安链智能合约的优势之一,它具备丰富的多语言智能合约框架。
长安链拥有完全自主研发的智能合约执行引擎。同时支持多种智能合约编程语言和执行引擎,通过执行环境为智能合约提供统一的数据访问接口等能力。
与此同时,你也可以在合约内部亲自使用SQL语句操作状态数据库,是的就是我们上面提到的账本数据的五大存储数据库之一,同时依然遵守数据库的事务约定。
密码算法
在保证用户数据方面,除了区块文件存储的安全性保障外,还需要在web端拥有一套完整的密码算法。因此长安链为智能合约对外提供了多种密码算法的调用接口,使用以下多种密码学算法为链上成员及节点提供认证鉴权和隐私保护:
我们都知道加解密的优势是可以充分保证数据安全,但是它的缺点就是非常耗费性能。因此长安链针对腾讯国密库做了多轮性能测试,在兼顾安全性的同时也最大程度的保证了性能。
SM4性能对比 (TPS):
密码库 | 加密 | 解密 |
---|---|---|
北大gmssl | 399276 | 484226 |
腾讯国密 | 768583 | 2777679 |
咱就是说这性能真的是yyds!
在拥有以上核心节点的技术保障,长安链已经拥有了一个完整的技术体系,而这样的技术体系足以支撑移动互联网发展于新的应用场景:在2020年12月,腾讯首次提出了”全真互联“的概念,并将其称之为互联网的“下一个机会”。