Ultrain区块链技术本质架构与发展方
Ultrain:区块链技术本质架构与发展方向
作者简介:Ultrain资深技术专家 Raymond,前摩托罗拉高级软件开发工程师,曾于近期发现EOS底层可致使EOS全宕机隐患的致命安全漏洞,并将问题及修复方法提交至EOS,获其官方致谢
自比特币诞生起,区块链技术发展至今十年有余,不断吸引资本与技术的关注并保持热忱不退,大量资金与技术研发的持续投入推动着该技术的快速发展与演进,尤其是随着近几年区块链技术的落地生根,区块链成为继互联之后重大技术变革的商业期望正开始逐渐实现
正如互联在各行业的应用与融合,人们相信区块链技术的去中心化、帐本的不可篡改等特性亦可对传统行业产生颠覆性革命,区块链从业者开始探寻传统行业与区块链技术的结合,从而产生了跨境结算、供应链金融、数字资产确权、版权存证、商品溯源等落地运用
本文将尝试从区块链技术本质、技术架构、发展方向三个角度对区块链技术进行剖析,揭开区块链技术的神秘面纱,探索真正能够给传统行业带来价值的商业落地场景
区块链技术本质
区块链不是万能的,只有理解了区块链技术的本质,才能去伪存真,发掘适合区块链技术优势的应用场景,真正为传统行业创造新的商业价值区块链的技术本质,其最核心的有如下3点:
· 去中心化平台带来的天然信任
区块链技术与生俱来的天然信任,既不是各种共鸣算法赋予的,也不是只能增加不能修改的公共账本技术带来的,而是来自于平台不受任何单一主体控制,人人可随时参与随时退出的特质分布式存储、点对点络以及各种共识协议等软件技术,都是为了使去中心化的平台能正常运行平台运行结果由平台参与者达成共鸣构成同样,对这个平台的修改更新,也要求平台参与者达成共识套用“流浪地球”的一句台词,在区块链时期,共鸣是比钻石还珍贵的东西
区块链的天然信任还依赖于其所运行软件的开源特性,任何人都可以检查源代码,编译运行成为平台的一个节点,参与平台的运行去中心化软件技术带不来天然信任,信任来自于这个开源的运行平台不受任何一方控制,任何一方不能随意修改系统运行结果,不能随意修改软件功能
Ultrain超脑信任计算联合创始人CEO郭睿曾在讲解Ultrain经济模型的直播及第过阿里巴巴平台打假的例子:阿里巴巴每年投入巨额资金进行打假,但公众仍旧可以想象打假只是走过场,象征性做个别案例,然后利用假货获取更大的利益阿里巴巴没有办法自证清白,本质缘由就是阿里巴巴的运行平台是他们自己控制的,系统数据是他们自己提供的;单一实体运营的中心化的平台没有办法具有去中心化平台与生俱来的天然信任机制
· 原生的通证机制
比特币为什么会成功从技术上说,比特币所用到的技术包括点对点络,各种加密算法等都不是新技术,在它之前也有很多电子货币/加密货币的失败尝试,很明显技术不是其成功的本质缘由比特币的成功可以归因于其良好的经济激励机制设计——区块链的原生通证机制其作用可分为两方面,一方面通证机制可以为区块链技术系统引入经济博弈,保证系统的良性运转;另一方面,也将区块链打造成了价值分配转移的最好载体,使其被认为是与信息互联相对应的价值互联高晓松一次在清华大学的分享中曾以区块链通证机制对音乐行业的改造为例,描述了通证将音乐的权益无限细分,从而引入更多参与方,形成各种新的商业机会的场景
业界也有专业的通证经济研究学派,从实现数字资产的通证化,到现实世界资产通证化,再到公司的鼓励组织形式变革,给通证经济构建理论支持,描绘了区块链与各行各业结合后丰富的应用前景
这里有必要对联盟链做一下特别说明:联盟链没有通证机制,它是许可机制,节点入需审核批准,使用链外的激励机制而不需要设计复杂的经济激励模型联盟链节点数量有限,相当于多中心化系统
· 智能合约使能信任计算
比特币初始定位于点对点的电子货币系统,只支持比较弱的脚本处理能力,局限于金融业务逻辑以太坊开始支持智能合约,使区块链技术平台能运行图灵完备的程序语言,从而可以实现价值平滑转移,支持复杂业务逻辑,提供信任计算能力,开启了区块链的新时期智能合约使能了众多商业场景,从游戏、溯源、存证、能源交易到供应链金融等领域,都有比较广泛的应用这些应用场景或利用区块链赋予的天然信任机制,或利用区块链的通证机制,创造了新的商业模式,带来了新的商业价值
目前区块链的处理性能与中心化系统还有差距,智能合约的编写也很容易引入安全漏洞,一定程度限制了智能合约的运用但这些都是新技术发展的必经阶段,业界也在努力解决这些问题,更多的落地场景也逐渐出现,推动区块链产业一步步走向繁华
区块链的技术架构
区块链技术领域触及的技术比较广泛,业界已经有很多的文章讲述相关的加密技术,共鸣算法等具体知识,结合众多的开源项目,对技术人员来说可以很方便地切入该领域本节尝试从整体架构层面,描写各个模块相对关系,帮助大家建立一个整体认识
存储层:
区块链技术平台运行所产生的区块数据,状态数据等需要存储到文件系统和数据库系统中区块数据存储了具体的交易信息,其中需要利用默克尔树,非对称加密等技术实现信息摘要与签名,保证数据的完整性和一致性状态数据一般存储到数据库中,也称之为世界状态,其中会包括系统运行参数,已注册帐号以及用户的智能合约字节码以及合约中存储的业务数据等信息
区块链运行平台可以理解为一个分布式的状态机:所有节点从同一个创世状态开始,依次运行达成共识的区块内的交易,驱动各个节点的世界状态按照相同操作序列(增加,删除,修改)不断变化,实现所有节点在履行完相同编号区块后,世界状态完全一致一个新节点加入络,如果是作为一个全量节点,就需要从络中其他节点同步所有历史区块信息,验证区块的正确性,并顺次执行区块内保存的交易重构出世界状态,直到与络上其他节点区块高度一致时,才完成了同步,可以与其他节点一起继续进行新区块的共鸣挖矿
络层:
点对点络主要功能包括实现络拓扑,交互共识协议信息以及广播/接收交易和区块信息等一个新的节点依赖与种子节点的交互,实现络邻居节点自动发现与组,构成去中心化络拓扑不同的共鸣协议,会有不同的协议相干络数据包,完成共识过程络中的大部分数据报文,是交易和区块数据包一个节点接收到用户交易时,会广播到络中并尽可能传播到各个节点一个节点生产出来的区块,也要求尽快传播到各个节点比特币初始设计区块大小1MB,出块时间间隔10分钟,就是为使各个节点尽量接收到其他节点广播的区块,减少分叉区块的产生
在区块生成时间间隔一定的条件下,一个区块中包括的交易越多,系统的处理性能就越高但一个区块能够包含多少交易,一方面取决于节点CPU的处理性能,另一方面取决节点的络带宽一个区块内包括的交易履行总时长有限,CPU处理性能越高,能包含的交易就越多;络带宽的吞吐能力也是限制区块大小的一个因素,络层需要尽量在下一个区块生产前将当前区块广播至全,因此节点的络带宽越高,区块的大小就可以越大,能包括的交易就越多这里所说的节点的CPU处理能力和络带宽,要斟酌全所有节点,实际上受限于性能最差的节点
共鸣层:
区块链的共鸣,就是利用一定协议机制使所有节点对接下来要生产出的区块达成一致(即区块内应该包括哪些交易)我们可以想象成一个投票场景,每人都可以提出自己的建议,并且争取拉到足够多的投票投票权的分配要能够抵抗女巫攻击,就是说不能使单一主体控制大量选票在现实世界,我们可以按照选民身份赋予每个人投票权;在数字化世界的中心化系统中,我们利用注册机制(包括号,验证码,手持身份证照片,活体检测等技术手段)提高单一主体取得大量选票的门坎;在去中心化的区块链技术领域,没有了身份识别机制,采取包括工作量证明PoW,权益证明PoS,拜托权益证明DPoS,各种PoX(PoET,PoA等)以及VRF类算法等方法分配投票权
PoW要求节点找到一个数值使区块哈希值符合要求,在寻觅该数值过程,节点需要投入大量算力节点找到了满足要求的数值,就获得了投票权,并同时提出了自己建议的区块(PoW不需要投票环节,先取得投票权的节点提议的区块为共识区块);PoS/DPoS利用节点抵押的代币权益结合其他因素分配投票权,并结合BFT投票确认环节,选择共识区块;VRF类算法则依赖密码学,数学随机数等技术分配投票权,经过BFT投票确认选择共识区块
智能合约层:
各个公链采取不同的编程语言进行智能合约编写,比如以太坊的Solidity,EOS的C++,Ultrain的typescript等智能合约编译为字节码,并打包进交易信息上链进行存储各个节点接收到区块后,提取其中包括的交易信息,将字节码加载到虚拟机运行,运行结果反应到世界状态中上链的字节码与开源的智能合约,可以进行一致性校验,从而保证节点实际运行的字节码与开源代码所显示业务逻辑一致,提供公开透明的信任能力,使能需要信任计算的商业场景需要指出的是,目前出于安全角度斟酌,将智能合约完全开源后会极大下降黑客攻击门槛,真正开源智能合约的项目其实不多
共鸣层一般称为Layer 1,智能合约层称为Layer 2(因此存储层和络层可以认为是Layer0)有很多项目在Layer 2智能合约层进行创新,比如闪电络,去中心化交易所,跨链机制等
运用层:
各个公链的商业生态建设可以类比为谷歌的Android生态建设:公链项目方类似谷歌角色,提供软件平台;矿机生产商类似硬件生产厂商,提供软件运行硬件平台;公链上层的丰富应用,也称之为DAPP,类似Android的平台丰富的APP公链项目方将软件平台研发出来,还需要提供开发工具,举办活动等来吸引开发者为公链开发DAPP,打造一个繁荣的生态现在运行在公链上的DAPP以游戏,溯源,交易所等为主游戏利用区块链的公然透明机制,可以将核心业务逻辑运行在区块链技术平台以示公平;溯源等运用则主要是将相干流转信息记录在区块链技术平台,利用其不可篡改特性,供用户进行全生命周期历史信息查询,比如有货高端运动球鞋交易信息在Ultrain公链上的溯源运用公链上运行的DAPP质量好坏,数量多寡,也是该公链是不是健康发展的一个重要指标
需要指出的是,区块链技术架构的分层只是方便理解而进行的逻辑层面划分,大部分项目还是紧耦合的单体软件情势随着区块链技术的发展,已有项目开始支持模块化开发,比如支持更换络模块、共识模块等
区块链的技术发展方向
区块链在资本和技术的推动下迅速发展,落地场景愈来愈多,已开始切实为传统商业带来价值但区块链技术本身还有性能低下,隐私保护不足,安全问题频出,缺少有效治理手段等问题本节尝试描写区块链技术的几个重点发展方向
· 可扩展性提升
比特币的性能约为3~7TPS,以太坊约为7~15TPS,而中心化系统比如信用卡平台2KTPS,业界标杆淘宝的双十一处理能力约为30W TPS许多公链项目努力提升区块链可扩展性,主要包括以下思路:
共识机制:
比特币的工作量证明机制,为保证区块的络传播时间,区块大小限定为1M,并调剂哈希计算难度,控制出块时间间隔保持在10分钟左右,造成其性能比较低以太坊的GHOST协议利用叔块的工作量证明,提高了出块率,一定程度提高了处理性能EOS的DPOS则牺牲去中心化程度,21个得票最高的超级节点按照顺序出块,每0.5秒生成一个区块,每个节点连续出12块,提高了出块效率Ultrain采用的共鸣机制统筹去中心化与出块效率,每轮利用数学随机数算法选择出块节点,投票节点,出块节点提议的区块得到大多数投票节点的认可,便可生成区块
DAG结构:
比特币每次只选择一个区块延长主链,为减少分叉区块限定了出块频率,一些项目采取DAG结构,实现可扩展性提升比如Conflux项目改变每次只选择一个有效区块的方案,利用DAG结构将非主链有效区块依照EPOCH概念保护起来,首先肯定所有有效区块的顺序,再确定区块内交易的顺序,提高了处理性能
分片分组:
目前区块链技术系统中每个节点存储全状态,处理全的交易,处理性能受限于络中性能最差的节点分片分组就是依照一定规则将节点进行分组,全部系统分成若干个相对独立的分片,单个分片只处理部份交易甚至只存储部分状态,多个分片并行处理,提高系统的处理性能但分组分片后会带来安全性下落,跨片交易处理复杂等问题:比如络有1000个节点,发动51%攻击需要控制510个节点;但是分为10个分片以后,单个分片只需要控制51个节点即可发动攻击Zilliqa基于PoW结果随机分配节点到不同分片,避免单个分片做作恶者控制;Ultrain依照一定策略将全节点随机调度到不同分片,利用世界状态实现节点快速启动,既保证了系统的安全性,又提高了系统处理性能;Monoxide则提出连弩挖矿概念提高单个分片的有效算力抵抗攻击跨片交易产生时,片与片之间按照同步或者异步方式协助履行分片交易,会增加通讯本钱
,极限情况甚至会使系统性能低于分片之前Zilliqa交易类型将交易分片分配,Monoxide则将交易中的原子操作分成多个,通过异步消息传递完成交易接力执行
侧链跨链:
侧链通过将部分操作转移到侧链以解决主链的性能瓶颈,比如Plasma区块链,其为树状结构,每一个分支为一条子链,子链区块头的哈希值提交到根链,根链只需要处理子链的少量提交,使根链交易负荷有效下降跨链概念则更广泛一些,链与链之间实现资产、状态等跨链转移交换,比如跨链项目Cosmos,其络由 Hub/枢纽与Zone/分区两部份组成,分区之间通过枢纽进行交易,并可以将交易转移至链下进行从而减轻链上交易处理压力
层2方案:
前面介绍的性能提升手段一般称之为Layer 1解决方案,还有1大类为Layer 2方案,即在智能合约层利用一定机制实现链下执行交易,仅在必要时候才将交易广播到络中,实现吞吐量的提升比如比特币上最近比较火热的闪电络,其主要思想是建立双向支付通道,利用哈希时间锁定和哈希密钥锁定,让双方在通道内反复任意屡次交易,最后通道关闭时再将初始和终究余额信息广播到比特币区块链
· 系统安全
区块链因为其价值络的特殊性(攻击成功可以很快变现),颇受黑客青睐,安全事件频发按照慢雾科技统计,仅ETH和EOS累计历史攻击数字货币损失额就高达40亿美元一个公链项目工程复杂度极高,需要考虑各个层面的安全问题,比如矿机层面涉及的主机系统安全,暴露端口安全,密钥存储安全,络拓扑规划,最优系统配置等;共识算法层面需防范相关的51%攻击、无利害攻击,长程攻击等;智能合约层面的安全则更是重中之重一方面智能合约语言最佳实践不完善,另一方面DAPP开发项目方经验不足,代码实现相互借鉴,黑客发现的一个漏洞可以攻击很多DAPP智能合约中随机数生成也是一个重灾区,项目方使用的随机数算法有漏洞,黑客可以提早预测其数值,稳定获取收益
公链项目方需提升公链软件本身安全性,并需提供矿机部署安全配置建议,智能合约开发最好实践等指导信息;公链项目方也可以提供安全相干合约中间件给开发者使用,比如Ultrain提供了随机数生成中间件,可以帮助DAPP项目方有效抵抗随机数相关攻击此外,目前也有一些专注于区块链技术安全的公司,提供代码安全审计,形式化证明等服务为区块链的安全保驾护航
· 隐私保护
比特币构建了一个去中心化平台,去除对第三方的信任依赖,但需要将所有的交易广播到络上,通过所有节点达成共识来保证系统的安全性攻击者通过分析特定地址的交易特征并结合一些实际信息,就有可能得出交易地址与实际人的对应关系,从而给使用者的隐私带来极大隐患另外也有一些业务场景要求将区块链的链上数据进行加密,不允许公然访问,比如企业间的具体交易数据,病人的隐私数据等利用密码学技术,实现不泄漏数据本身便可进行某些数据运算,使对方完成数据的完整性与真实性的校验,相关技术有多方信任计算,同态证明,零知识证明等随着区块链技术发展普及,商业落地场景中隐私保护需求会愈来愈多隐私保护方面,Ultrain公链已经提供零知识证明中间件供开发者使用
· 现实世界数据通道
区块链世界利用去中心化运行平台带来天然信任,但是该信任只局限于链内数据许多商业场景的落地,都需要智能合约与链外数据进行交互如何实现数据上链环节的信任机制,成功连接现实世界与区块链世界,这就需要用到预言机技术预言机是现实世界与区块链世界的桥梁,是为区块链世界提供数据的中介但预言机只是作为数据源与区块链之间的安全可信的数据通道,只保证数据不被篡改,没法保证数据源的正确性用户可以获得多个数据源的数据,在运用层对这些数据进行聚合,得到最终的结果预言机的实现包括中心化方式,如以太坊上运行的Oraclize,数据是由Oraclize公司架设的服务器提供;去中心化方式,如近期与Ultrain达成战略合作的DOS Network预言机通过安全的数据通路和多信息源对比技术,一定会增进越来越多的运用场景落地,在区块链技术生态中的发展扮演愈来愈重要的角色
区块链技术仍在迅速发展,相干生态建设也在各方努力下不断向前推进,区块链技术商业落地应用不断出现,对区块链技术能否成为新一代商业基础设施,我们充满期待
晚上尿多要吃什么好
营养不良该怎么给孩子补
小儿氨酚烷胺颗粒过敏吗
舟山治疗前列腺脓肿医院
海口好的治性病医院
保山治疗不孕不育方法
北京京都儿童医院官网辽宁专治癫痫病医院有哪些
广东市治疗癫痫病的医院
-
管理20个城市宣布购房可以拿到补贴你能轻松买
5G | 2020-09-18
-
阿森纳英超第1巨富3董事入最新福布斯富豪
5G | 2020-07-08
-
武磊爆发给中国足球带来1最大利好留
5G | 2020-06-30