ChainFront:计划杀死区块链钱包的云端API服务

ChainFront由HashiCorp构建并入Vault,是一个基于云的SaaS应用程序,使开发人员能够构建易于使用的加密应用程序。过去,使用加密应用程序的用户需要理解公钥和私钥的概念,使用钱包来加密,以及存储和备份私钥,但如果密钥丢失则无法恢复。

2019年最值得企业用户关注的高性能区块链和区块链工具

当企业评估分布式账本技术时,通常有两大顾虑:第一个缺乏高性能区块链。众所周知比特币使用的公共区块链吞吐量无法匹敌私人许可区块链,更无法与Visa的交易效率相提并论。

此外,区块链的开发工具也是一个障碍,但2019年这两个瓶颈都有望得到有效突破。

高性能区块链

毫无疑问,提供高交易吞吐量是2019年区块链业界的一大奋斗(竞争)目标。随着工作证明(PoW)共识算法(比如比特币中使用的算法)消耗太多能量(并且效率极低),业界已经尝试采用替代共识算法来提高区块链效率,包括权益证明(PoS)和声誉证明(PoR)算法。

以下是业界标榜性能的区块链项目,2019年它们的目标能否兑现尤其值得关注:

• Bitconch
• GoChain
• Stellar
• #Metahash
• Trustchain

企业应该在2019年密切关注这些高性能区块链项目的进展情况。

区块链开发工具

在2018年之前,区块链的开发工具在很大程度上缺席了,导致试图用区块链做任何应用,实现起来都是非常艰难的。但2019年,我们有望应该看到丰富的区块链开发工具产品或类似BaaS的云服务。

也许2018年最重要的区块链开发事件是BaaS(区块链即服务)的诞生。现在BaaS的主要提供商是亚马逊,IBM,甲骨文和SAP。其他玩家也不容小视:阿里巴巴,百度,思科,惠普,华为和腾讯正在涉足这个市场,此外还有一些小型供应商,例如Crypotowerks。

此外,其他工具正在发挥作用。Blockchain Technology Partners提供的Sextant工具,可与Hyperledger Sawtooth一起使用。此外还有Parity Technologies的Substrate,Blockhead和TIBCO的Project Dovetail(用于智能合约)和AuditSafe。

Hyperledger裂变?IBM与英特尔之间的区块链拔河比赛

2018年最后一季度涌现了比以往更多的区块链工具,2019年这种趋势将延续。区块链工具与BaaS的合力,将使得2019年的区块链应用开发变得比以往轻松许多。

2019年中国区块链发展形势展望

2018匆匆而过,展望2019,区块链发展面临的问题有哪些,突破又在何处?作为权威机构,工信部赛迪网络空间研究所、赛迪区块链研究院在全球公有链评级工作的基础上,对于区块链技术产业发展面临的瓶颈给出意见与建议,对2019年区块链的发展做出了基本判断,具有十分重要的参考价值。

【内容提要】展望2019年,我国区块链技术与产业发展仍存在诸多瓶颈,如区块链安全问题日益突出,区块链关键技术亟需突破,区块链有待与实体产业深度融合,以及区块链人才缺口较大。基于此,赛迪智库提出了加强安全技术研究,构建区块链安全风险应对能力;提升自主研发实力,加速区块链核心技术突破;开展试点示范,促进区块链与实体产业深度融合;完善区块链人才培养机制,建设区块链人才队伍等对策建议。

【关键词】 区块链  安全 发展形势  展望

2018年,我国区块链行业政策环境显著优化,技术能力快速提升,行业应用逐步拓展。展望2019年,我国区块链行业秩序日趋规范,社会认识明显提高,区块链技术与产业进入快速发展时期。尽管如此,但仍需要关注区块链安全风险突出、核心技术亟需突破、区块链技术有待与实体经济深度融合发展、区块链人才缺口较大等问题,从而更好推动区块链技术与产业健康有序发展。

01

对2019年形势的基本判断

(一)区块链技术创新不断涌现

当前,区块链技术尚不成熟,仍处于发展早期。对于区块链性能、隐私安全、可扩展等方面的技术创新正在不断涌现。针对区块链性能问题,出现如下几类创新解决方案。一是并行的方式。例如以太坊分片技术、墨客MOAC子链技术、Fabric多通道技术;二是DAG(有向无环图)方式。例如区块链与物联网创新项目IOTA采用DAG技术使得区块链系统的可扩展性不再受到区块大小限制,仅取决于网络带宽、CPU处理速度和存储容量等限制;三是优化共识算法的方式。例如PoS共识算法通过保持多中心情况下减少参与共识的节点的方式以获取性能的提升。四是链下扩容方式。例如闪电网络、雷电网络等创新技术提高区块链处理交易能力,实现即时确认、低费用、高吞吐量的支付。针对区块链技术中隐私保护问题,业界提出了混币、环签名、同态加密、零知识证明、多方安全计算等创新技术方案。针对区块链可扩展和互联互通问题,业界提出了跨链的解决方案。主流的跨链技术有侧链/中继、公证人机制和哈希锁定三种方式,代表项目分别有COSMOS、Ripple、Lightning network。随着学界和业界对区块链研究不断深入,区块链技术创新成果将不断落地。

2019年,围绕区块链性能、隐私安全、可扩展等方面的技术创新将不断涌现,新技术、新产品和新应用将逐步进入视野。

(二)区块链底层平台竞争日趋激烈

根据赛迪全球公有链评估指数,仅作为评估对象的全球主流公链平台已超过30个。实际上,全球公有链项目远超过这个数目,而且数量上还在不断增加。不同区块链平台之间在设计理念和实现方面不尽相同,在区块链底层架构的标准尚未达成共识之前,区块链平台技术与应用的竞争日趋激烈。公有链方面,以以太坊、EOS为代表的区块链平台在全球范围内具有极强的影响力,其技术与应用生态正得到市场的认同。国内NEO、公信宝、星云链等公有链项目提出了各自基础架构设计理念并予以实现,同时积极推进开源社区建设和应用生态完善。但相比国外优秀公链项目,国内公有链平台仍处于跟随状态。联盟链平台方面,IBM的Fabric已经成为联盟链技术平台的典范。基于Fabric的行业解决方案已经在金融、供应链、存证、物流等诸多领域得到广泛应用。国内微众银行、万向区块链及矩阵元三方共同开发了BCOS区块链开源平台,提供企业级应用服务。区块链BaaS(区块链即服务)平台方面,国内互联网巨头纷纷战略布局。2017年4月,腾讯发布区块链白皮书并推出可信区块链Trust SQL;2018年3月,京东全面启动了区块链技术在业务场景中的应用探索与研发实践;2018年8月,阿里云宣布发布企业级BaaS平台,支持一键快速部署区块链环境,实现跨企业、跨区域的区块链应用。据不完全统计,截止2018年11月,已有9家大型互联网企业发布BaaS平台。

2019年,区块链底层平台发展百花齐放,区块链底层平台研发、应用推广、生态培育的竞争愈发激烈。

(三)区块链相关标准加快推出

我国在区块链相关标准建设方面已有一定基础,部分标准化组织、联盟协会、研究机构已将区块链标准化提上议事日程,开展了组织建设、标准预研等一系列工作,并取得了一定进展。区块链技术架构标准方面,首个区块链标准《区块链参考架构》于2016年已经颁布。在2017年11月ISO/TC 307第二次会上,在国际标准化组织(ISO)有关区块链术语和概念、参考架构、分类和本体等8项国际标准立项中,我国分别承担了分类和本体的编辑以及参考架构的联合编辑任务。同时,由中国主导开展名为区块链和分布式记账技术中的数据流动和数据分类的新工作项目研究。2018年1月,《信息技术 区块链和分布式账本技术 参考架构》作为区块链领域的首个国家标准获批立项。区块链安全标准方面,2018年4月,全国信息安全标准化技术委员会开展了对《区块链安全技术标准研究》项目立项评审工作。2018年11月,《区块链平台安全技术要求》行业标准正立项并起草,将明确区块链平台面临的主要威胁和安全体系架构。

2019年,我国区块链相关标准研制工作将得到进一步重视,一系列相关标准有望加快推出。

  

(四)区块链应用效果逐步显现

随着区块链技术不断发展,产业链不断完善,社会认知逐步提高,场景日益丰富,区块链应用效果逐步显现,这主要体现在两个方面。一是区块链率先应用于如跨境支付、数字内容版权、电子存证等天然数字化的场景之中。跨境支付方面,支付宝推出首个基于区块链的跨境汇款服务;数字内容版权方面,百度、360分别上线基于区块链技术的原创图片认证平台——图腾、图刻;纸贵科技构建了专业的全类型版权存证平台;腾讯基于区块链技术,实现游戏道具等虚拟数字资产确权和保护。电子存证方面,杭州上线全国首个电子证据平台和司法区块链,解决电子证据存取证难题;北京互联网法院在受理著作权权属、侵权纠纷的案例中使用了区块链取证存证技术。二是区块链应用于传统行业多方协作场景中。区块链技术实现数据公开、透明、不可篡改和可追溯降低参与各方信任成本,提高了协作效率,在供应链金融、溯源等需要多个参与方协作的业务领域得以深入应用。例如,腾讯推出了区块链+供应链金融解决方案,并已经有多个项目落地。京东“跑步鸡”项目,利用区块链等技术溯源跑步鸡养殖、屠宰、检验检疫、仓储、运输全程信息,并可通过APP查询,形成全流程追溯信息数据闭环。

2019年,随着区块链技术逐步成熟和底层平台逐步完善,区块链应用将会在更多行业场景落地。

  

(五)区块链产业规模快速增长

根据赛迪区块链研究院调研相关厂商和业内专家,同时对国家工商总局企业信息查询平台中专业从事区块链底层技术、应用产品、技术服务方面的企业进行查询统计,2018年上半年,我国提供区块链专业技术支持、产品、解决方案等服务,且有投入或产出的区块链企业共425家,产业规模达到4.5亿元。2018年,大型IT互联网企业纷纷布局区块链,初创企业进入井喷模式,投融资频次及额度剧增。随着国家有关部委规范行业发展相关文件相继出台,全国各地政策支持力度加大,区块链技术与产业发展的良好氛围逐步形成。

随着区块链技术的应用场景迅速拓展,人才、资本和技术资源向区块链行业不断汇聚,预计2019年具有投入产出的区块链企业超过600家,产业规模有望超过8亿元。

02

需要关注的几个问题

(一)区块链安全问题日益突出

区块链核心技术、机制和应用部署等方面均存在诸多安全隐患,不法份子利用相关漏洞实施攻击,安全风险事件频出。本报告将区块链安全问题分为区块链技术安全、区块链生态安全、区块链使用安全和区块链信息安全四类。区块链技术安全方面,主要是区块链本身核心技术或机制不完善造成的,包括共识机制和智能合约逻辑漏洞、密码算法安全、P2P网络机制安全等。由此带来的安全攻击有“51%”攻击、女巫攻击、双花攻击、日食攻击等。2018年5月,比特币黄金(BTG)遭遇51%双花攻击,损失1860万美元。同月,360公司Vulcan(瓦肯)团队发现了区块链平台EOS的一系列高危安全漏洞,引发市场哗然。区块链生态安全方面,主要是指区块链产业生态中各种安全问题。例如加密数字货币交易所、矿池、网站遭受DDoS攻击,钱包面临DNS劫持风险,以及交易所安全管理策略不完善或不当导致的各种信息泄漏、被钓鱼、账号被盗等。2018年3月,世界大型交易所的“币安”被黑客攻击,大量用户账户被盗。区块链使用安全,主要是指用户使用区块链应用面临的潜在安全问题。例如私钥管理不善,遭遇病毒木马、账户窃取等。区块链信息安全方面,主要是不法分子利用区块链技术不可篡改特性将非法信息或文件上链所导致的安全监管问题。2018年年4月,北大网友将颇具争议公开信“向校方申请公布涉性侵丑闻的教授沈阳调查的少量问题”永久性记录至以太坊,引发社会关于区块链信息安全监管讨论。总的来看,区块链安全事件呈高发态势,需要格外引起注意。

(二)区块链关键技术亟需突破

中国区块链企业主要吸纳国外开源社区的区块链研究成果,自主研发的区块链平台并不多,仅有国内少数企业自主研发出CITA、Bubichain、BROP、BCOS、ChainSQL等平台,多数企业基于比特币、以太坊、超级账本等国外开源区块链产品进行开发和完善。尽管2018中国区块链专利位列世界第一,但整体价值不高,大部分企业围绕加密数字货币、钱包、存证溯源等应用层开展研发工作,较少涉及区块链关键技术。实际上,区块链平台性能不足、安全不够、难以互联互通等问题对共识算法、密码学、跨链等关键技术突破提出了更高的要求,从目前区块链最新技术理念和解决方案来看,如PoS、DPoS共识算法,分片、零知识证明、DAG、侧链、闪电网络等技术方案,大多数是外国技术社区提出,国内技术社区进行跟随和模仿,极少属于中国自主原创或最早提出。中国亟需在区块链关键技术方面有所突破,进而推动区块链技术在更大规模的商业场景中落地。

(三)区块链有待与实体产业深度融合

一是区块链基础设施尚未完善,尚未真正诞生诸如微信、支付宝等杀手级应用。社会大众对区块链的认知仅仅停留在比特币等加密数字货币层面,在实际生产生活中与其接触较少,导致区块链对人们生产生活方式影响程度较低。二是未能真正发挥区块链在技术、理念、模式等方面的创新优势。当前,多数区块链应用主要在区块链数据不可篡改这个特点上做文章,对于区块链去中介化、可追溯、去信任、共协作、激励机制等方面的创新探索,以及对“区块链+其他新兴技术”融合应用发展的研究还远远不够。实际上,对于上述关键点的研究和探索,有助于区块链技术找到与实体产业深度融合的新逻辑、新方法和新模式,解决实体产业存在的痛点。三是限于区块链系统开发、推广、部署等成本较高,相关安全评估、检测等技术手段不完善,存在一定安全风险隐患,区块链仅在部分行业得以小规模应用,尚未形成大规模应用趋势。

(四)区块链人才缺口较大

我国区块链相关人才严重不足,尤其是2018年以来,区块链作为新兴领域,初创公司大量涌现,人才需求更加旺盛,而专业培训相对落后,人才不足现象更加显著。根据各大招聘网站招聘信息,并咨询业界权威人士和相关专家,初步估算,我国在区块链技术研发、产品测试、应用推广、销售及综合管理等方面的人才缺口达数十万人。当前全国仅有清华大学、北京航空航天大学、浙江大学、上海财经大学、同济大学、西安电子科技大学等少数高校开设区块链相关课程。实际上,区块链知识体系覆盖网络技术、密码学、数据库、经济和金融等多个领域,国内尚未形成行之有效的人才培养体系,导致人才总量和结构远远不能满足市场需求,既懂区块链底层技术,又懂区块链架构和经济模型设计的复合型、专业性、创新性人才严重缺乏。

03

应采取的对策建议

(一)加强安全技术研究,构建区块链安全风险应对能力

一是提高区块链安全风险防范认识,组织力量对区块链安全风险问题展开持续性和常态化研究。根据区块链技术特点和发展变化,对区块链技术、应用潜在风险,以及不断变化的攻击手段和方式,展开持续性跟踪和分析,研判安全风险发展趋势,增强安全风险防范意识。二是研究制定区块链技术、平台、应用生态的安全技术要求、安全标准。明确区块链技术、平台、应用生态面临的主要威胁,以及相应的安全体系架构,针对各关键模块提出安全技术要求,形成区块链安全标准体系。三是深入研究区块链安全风险检测和应对技术。针对区块链核心技术与机制、平台架构、应用部署等不同类型的潜在安全问题,研究覆盖区块链编码、运行、部署和管理各个环节的应对解决方案。如智能合约代码审计、漏洞检测、入侵行为分析等安全技术手段。

(二)提升自主研发实力,加速区块链核心技术突破

  一是集聚产学研用等多方资源,支持高校和科研院所建设区块链创新实验室和研究中心,密切跟踪国际区块链技术的发展前沿动向,建设基础性的区块链技术研发平台,加快推进非对称密码技术、共识算法、分布式计算与存储等核心技术的创新演进,降低区块链技术应用落地难度。二是支持开源区块链项目发展,引导企业加大对全球区块链共性基础技术资源的整合和利用,支持我国企业或组织主导全球区块链项目创新发展。三是加大资金投入力度,支持区块链、软件和信息技术服务、互联网企业和研究机构的联合创新,加强区块链核心技术研发攻关,推动区块链核心技术突破。

(三)加强试点示范,促进区块链与实体产业深度融合

积极开展区块链产业试点示范工作,树立典型,形成示范效应,促进区块链技术与实体产业融合发展。一是组织开展面向金融领域的区块链技术应用示范,探索在加密数字货币、跨境支付、票据管理、供应链金融等领域形成安全可靠的解决方案,形成一批可复制、可推广的典型案例。二是在农业、能源、物流、制造等领域以产品溯源、确权认证、供应链管理等方向为突破口开展行业专项应用试点示范,提升区块链技术的行业应用水平。三是在民生服务、社会治理领域开展区域性示范工程,培育形成社会服务和管理的新模式、新手段。四是重点面向数据开放与交易、权利运行与监督、个人隐私与保护等应用场景,组织实施具有代表的区块链技术应用工程,形成具有可复制、易操作的区块链技术应用示范平台。五是鼓励行业龙头企业加强区块链技术与既有产品与服务的融合创新,构建成熟的区块链应用产品体系及行业解决方案,带动上下游企业提高对区块链技术应用的积极性。

(四)完善区块链人才培养机制,建设区块链人才队伍

目前我国区块链人才严重短缺,亟需完善区块链人才培养机制,加快人才队伍建设。一是围绕区块链技术发展和应用需求,构建深层次、多渠道的区块链人才立体引进网络,支持高校和职业院校设置区块链技术应用相关专业,依托区块链实验室、人才实训基地,加快培育区块链技术应用专业人才。二是依托科技园区、创业创新基地,针对科研人员、高校学生,特别是高层次人才,鼓励开展区块链技术应用孵化项目,加速区块链技术应用的实施落地。三是注重高端技术人才培养,与国外著名高校、科研机构、知名企业等联合培养区块链硕士、博士等高学历人才,推进中外合作人才培养和引进项目。四是鼓励实力雄厚的区块链企业、互联网企业和金融企业创办“企业大学”,借助企业本身对区块链和新兴信息技术已有的基础,加快培养区块链系统架构师、开发工程师、测试工程师等实用型区块链技术人才。

吃饺子不如撸代码!今年冬至 workshop 干货都在这了

2018年的冬至,除了传统的吃饺子,作为开发者,我们还有什么特别的活动呢?

当然有啦!12月22日,中国专业IT社区CSDN在中关村创业大街为广大开发者带来了一场精彩绝伦的区块链实战开发Workshop,本次活动作为CSDN Blockchain Workshop第一期,以“零基础实战智能合约开发”为主题,邀请北京大学软件与微电子学院讲师孙惠平、bCamp区块链技术合伙人加速营发起人王亮、NULS发起人&技术研究院与技术社区负责人张星共同就智能合约的发展与挑战、区块链开发者的思考、智能合约实战开发等话题为大家带来精彩分享。

同时张星还为大家实战演练了如何在底层公链上开发一个自己的智能合约,并指导现场观众进行学习和操作,孙惠平老师与王亮老师全程为大家耐心指导,答疑解惑。

所谓冬至白昼最短,而一下午的时间对于所有人来说尤其珍贵!活动不到下午1点就有大批学员纷纷提前到场,给北方寒冷的冬季增添了分外的暖意,由于本系列Workshop有一定技术门槛,前期招募过程中会经过初步筛选,但也拦不住热爱技术、热爱学习的小伙伴报名前来,不大的场地很快就被挤得满满当当。

通过一下午的学习,在场学员基本掌握了智能合约的环境搭建、部署、开发等流程与要点。活动结束后,我们抽取了5位幸运学员赢得了额外的小福利,还为每位完成作品的小伙伴颁发了带签名与学时的结业证书,让大家一步一个脚印,激励你一路前行!

下面,一起来回顾本期活动都有哪些精彩内容吧?

王亮:区块链开发者,多学科交叉能力典范

 

作为今天分享的第一位嘉宾,bCamp区块链技术合伙人加速营发起人王亮,从正在被区块链改变的项目分析入手,分析一个有价值的区块链项目的相关特质,得出任何一个要具备长期价值的项目的几个必要特质:一,项目必须是建立在发现痛点的基础上,并且这个痛点要与区块链的特性有较强关联,即应用区块链能够从某种程度上成为解决问题的关键环节;二,区块链的应用,应该对原有业务场景做降低成本或增加价值的改变,而且这个改变应该是较大的,而不是微小的;三,项目的应用要适合当前生产、生活场景,应该有着数量较多、角色多样的潜在人群,而不能是虚构的、假设的,不能是极少量人群或极简单角色。

另外,王亮表示,区块链还处于发展的幼年期,如何从小众技术极客或是开发者的自嗨,稍广些的币圈人士的击鼓传花,发展到真正创造价值、改造世界,脱虚务实、找到合理的应用落地是其必经之路。

在此次演讲中,作为十二年信息技术及信息安全咨询培训老兵的王亮,更多地站在开发者的角度,为广大想了解区块链技术、想转型区块链开发的观众(或小白)给出了客观的分析与建议。情怀真挚,建议中肯。

孙惠平:智能合约的发展与挑战

第二位分析的嘉宾是北京大学软件与微电子学院信息安全系讲师孙惠平老师,孙老师研究方向为区块链、智能风控、信息安全,并于2018年2月开始在北京大学为研究生开设“区块链”课程,他也是早批在高校进行区块链技术授课的老师。此次Workshop也是非常荣幸地能请到孙惠平老师来为大家做精彩的分享和技术指导。

孙老师首先为大家介绍了智能合约的概念、结构、发展等基本内容,并通过形象的比喻让大家更好地理解吸收。其次,孙老师讲解了智能合约与区块链的关系,从参与方认证、合约协商、状态设定、编码合约、合约发布、合约上链、合约执行、合约更新等角度进行了详细分析。

关于智能合约有哪些优点,孙老师从安全、确定、监管、经济、效率、标准6个角度进行了详解。他提到,传统合约需要大量文书、严重依赖第三方来执行,而且执行不力的话需要仲裁机构与司法机构介入,效率和安全性都相对低下。而智能合约则完全颠覆了传统的合约运作形式,它实现了完全数字化,且可以自动执行、代码定于规则。

孙老师介绍道,智能合约通常需要以下执行步骤:首先由交易各方确定合约条款,再通过编码将合约编写成代码,并将合约代码存储在区块链上,最后合约条款满足时智能合约自动执行。

最后,孙老师还分享了智能合约在自动保险、国际贸易、供应链管理的应用案例,并分析了其面临的操作风险、技术风险、安全、监管四个方面的挑战。

重头戏:一起撸码,实践开发

张星,如何用Java开发智能合约

最后一位分享及实战指导嘉宾是NULS发起人&技术研究院与技术社区负责人张星,他通过2个小时的讲解+指导开发,现场带大家从零开始,了解并掌握智能合约环境搭建、部署、开发等重要环节,还与大家分享了智能合约的开发陷阱与技巧。

首先,张星跟大家讲解了智能合约的基本知识,让大家在实际开发之前做好知识的铺垫,他详细介绍了智能合约的意义,开发所需完备的测试环境及文档以及智能合约的结构。

关于智能合约的创建流程,张星解释道,要创建智能合约,需要经过编写智能合约,编译成字节码,部署到区块链等过程,调用智能合约则是发起一笔指向智能合约地址的交易,智能合约代码分布式地运行在网络中每个节点的虚拟机中。开发者可以通过任何节点向区块链部署、调用智能合约,更常见的做法是自己部署一个节点。

其次,张星还为现场学员介绍了SDK的关键字、禁用关键字、类、注解等知识点,并分析了智能合约常见误区与风险。他提到,类型溢出是很严重的问题和容易犯的错误,并提醒大家在开发过程中一定要对“溢出”产生敬畏,同时,可控随机数也是较容易产生错误之处。

关于重入攻击,张星介绍了以太坊上循环调用的经典案例,在给智能合约转账的时候会触发智能合约的fallback函数,若收款的智能合约在fallback函数中再次调用对方的withdraw函数的话,那将会产生一个循环调用。另外,还有不可控状态(同一个区块调用相同合约的两个交易顺序不可预测)、遍历、递归等问题。

在讲解基础知识之后,张星来到台下,跟学员互动交流起来,并指导现场开发有疑问的同学。在经过数小时的实操之后,大约30位学员完成了自己的智能合约开发,让三位讲师,特别是张星老师格外欣喜和满足,总算无愧于近日熬夜加班为大家准备了!

原谅小编匮乏的语言无法形容活动的精彩!

接下来,简单粗暴些,让我们看看第一期workshop的精彩花絮吧!

大咖对话,现场讨论

严阵以待,实战开发

聚精会神,干货满满

 小哥哥coding的背影很帅

难得一枚程序媛

大咖手把手指导证书签名中……

证书签名中……

发表下获奖感言呗……

证书,我也有!

大家辛苦啦!耶! 

突破区块链性能瓶颈的五大方案

区块链技术的最终目标之一是用更透明,安全和有效的区块链技术取代现有的传统基础设施,但是性能和可扩展性是制约区块链发展的最大瓶颈。

如果区块链技术希望颠覆甚至取代世界上许多机构的金融后端,就需要大幅提升去中性化交易效率,即使无法比拟支付宝和微信,至少应该能以接近VISA的效率处理交易。

此外,更高的吞吐量也将为大量基于区块链技术的更有趣和更密集的应用打开大门。可以说,突破了技术性能瓶颈,我们才算真正开启了区块链经济的大门。以下是区块链技术专家Michiel Mulders给出的当下最有希望突破区块链性能瓶颈的五大方案:

Tangle(DAG)技术

纠结技术(Tangle Technology)或定向无环图(directed acyclic graph)是解决区块链可扩展性问题的一种非常有前景的去中性化技术。Tangle技术被认为是机器对机器经济的解决方案。

未来十年将渗透到现代场景中的联网设备数量估计为500亿!与这些海量的设备绑定在一起需要克服许多障碍,其中一个主要问题是微交易。这些连接的物联网设备必须能够以无摩擦的方式自动支付相互之间的小微支付,而不必通过引入额外的硬件来牺牲产品设计。

纠结技术由边缘(Edge)组成,所有边缘都具有方向,形成信息的单向街道,并确保没有节点可以连接到其系列中的任何其他先前节点。这就是定向无环图(DAG)的形成方式。

来源:Fantom Foundation  -
描述:互联DAG链的局部

DAG允许多个块链共存和互连 – 但是没有edge拥有父节点。节点可以并行存在,只要信息以相同的方式指向即可。这种方案消除了区块时间瓶颈,并减少了被遗弃的“孤儿链”上浪费的工作量。最终结果:在完全去中性化的网络上实现高度可扩展和快速信息流的前所未有的潜力。

Aerum区块链平台

Aerum将提供一个平台,用于启动所有dApp,以及社交网络,游戏和其他市场。参与者现在可以以极低的成本享受最快的交易,同时提高可扩展性。Aerum的设计目标是500tps,每年总计达160亿笔交易,每笔交易的最低成本为0.05美元。

Aerum致力于打造一个快速且可靠的区块链平台。因此,该平台声称提供实时和免费交易。由于以太坊仍然是区块链领域的重要参与者,因此Aerum与以太坊区块链兼容,但把网络吞吐量提高了200-500%。Aerum提供一个免费(无交易费或Gas)的区块链,可能听起来很疯狂……但这确实就是它的工作原理。费用确实存在,但最终用户不必理会或者支付任何费用,这将大大简化dApp的使用。因此,dApp运营商负责支付有人使用其dApp时发生的费用,但这并不会导致dApp运营商破产或者亏本,因为Aerum采用了ATMOS(交叉链DPoS权益共识协议)的独特的权益证明共识机制,dApp运营商将会获得适当的奖励和激励。

Aerum功能

  • 支持dApp,最终用户无需支付任何费用。
  • 支持侧链网络提高性能。
  • 交叉链代表权益证明(DxPoS)称为ATMOS。
  • 每笔交易耗时5秒,每年160亿。
  • 使用中间件dApp协调对不同侧链的访问。

Zilliqa – 一个高吞吐量的公共区块链平台

Zilliqa是一个区块链平台,通过内部分片(sharding)能够每秒处理数千个事务。通过分片,Zilliqa的处理性能有可能达到传统支付方式(如VISA和MasterCard)的交易效率。更重要的是,Zilliqa的交易吞吐量与其网络规模大致呈线性相关增长。

Zilliqa使用各种有趣的技术来创建这样一个快速的区块链平台。以下是一些最有趣的功能

  • 具有查找节点的内置分片功能,允许新节点加入并将事务分派到正确的分片。
  • Merkle Patricia尝试提供加密认证的数据结构,可用于存储所有(键,值)绑定。Merkle Patricia是完全确定的,这意味着具有相同(键,值)绑定的Patricia trie保证完全相同,直到最后一个字节,因此具有相同的根哈希,提供O的圣杯(log(n) ))插入,查找和删除的效率,并且比基于比较的更复杂的替代方案更容易理解和编码。
  • 用于高效网络消息广播的八卦协议。
  • Zilliqa使用非图灵完备的智能合约语言,可以针对众多应用程序进行更好的扩展。该语言遵循数据流编程风格。

简而言之,Zilliqa项目旨在支持需​​要高交易率的dApp,例如并行拍卖,数字广告和支付网络。

以太坊扩展解决方案

我们都知道以太坊所面临的可扩展性问题。我们来看看以太坊的可扩展性解决方案

  1. Raiden Network:基础设施建立在以太坊之上,允许价值转移到链外,并通过P2P支付渠道避免共识瓶颈。
  2. 分片:验证者只需要验证网络事务的某一部分。工作负载分散在分片(网络的部分)上,从而实现更高的吞吐量。
  3. Plasma:在根区块链之上运行的一系列合约。分层排列成父和子区块链,其中子区块链定期将承诺广播回到父区块链。

性能小王子:Stellar

Stellar目前在市场资本化和应用普及做得做好的区块链网络之一。据CoinMarketCap的数据,Stellar在100种加密货币中排名第5。

Stellar的优异性能并不意外,因为Stellar拥有一个非常强大的开发者社区,他们被激励用Stellar的技术创造出伟大的东西。每三个月,Stellar会组织一次开发挑战赛,参赛的开发者将获得XLM奖励。

除了很棒的社区外,Stellar的性能也非常惊人,根据Stellar创始人Jed McCaleb的说法,每秒可以达到大约4000笔交易。但是,实际性能取决于您运行Stellar Core的硬件,因此很难给出实数。杰德补充说,不需要疯狂的硬件配置就能够达到~4000 tx / s。“它基本上是一台配备SSD固态硬盘的普通机器。你可以在大级别硬件上更进一步。我们还没有投入大量精力进行优化。网络仍然非常小,因此要实现性能上的飞跃还很难。但我们非常确信,还有大量可以优化的地方。“

两种典型的区块链设计思路

区块链发展到了现在,产生了很多不同形式的区块链技术。随着技术的发展,目前比较公认的看法是区块链已经走进了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是低耦合设计的一个平台。

最大的技术自由度:区块链开发工具Substrate1.0 beta版发布

区块链开发工具Substrate 1.0 Beta近日发布 (Github,为区块链和分布式应用程序开发提速打开了大门。Substrate是一个开源技术堆栈,可以轻松创建为特定应用程序定制的区块链。

Substrate集成了最先进的区块链技术,开箱即用,还提供了一个轻量级客户端,确保区块链可以在移动设备上本地工作,Substrate还通过与Polkadot协议集成来整合安全性和互操作性。Substrate由Rust编写,还有一个直接在浏览器中运行的Substrate客户端的JavaScript实现

Substrate让开发者能够轻松配置区块链,必要时还可以完全控制代码。通过模块化设计实现了易用性和技术自由度之间的灵活性:Substrate分为核心运行时模块库(SRML),并带有易于配置的预组装节点

用对这30种秘密武器, 你也能成为区块链高手!

本文将对区块链开发使用的技术、工具、语言、平台做一次全景扫描,并对其应用状况进行分类。点评来自迅雷链总工程师来鑫,京东区块链JD Chain首席架构师黄海泉,百度区块链系统部资深研发工程师荆博,以及腾讯区块链技术负责人张建俊。

工具与框架篇

Ethers.js是针对以太坊钱包功能完整实现的工具包,其API文档十分详尽。

Truffle用于开发合约工程的框架,是一套本地集成开发环境和编译测试调试工具。在Truffle提供的开发环境里,整合了前端实例化合约的方法,可以很便捷的调用合约功能。另外还有各种box支持开箱即用,整合了前端应用调用合约工程的途径。

Geth是一个以太坊客户端,用Go语言编写,它是目前最常用的以太坊客户端,有着丰富的API,不过没有可视化操作界面。可以与Mist配合来进行以太坊智能合约的开发调试。

Solc是以太坊官方提供的Solidity编译工具。

OpenZeppelin是已实现的一系列经安全验证的合约工具和ERC标准合约库,开发者可以通过继承这些合约和libray方便的进行合约开发。

Mist是以太坊PC钱包,可以选择连接不同的网络。包含账户管理、交易、调用合约、部署合约以及部分DApp功能的调用。针对以上功能所提供的界面化操作极大的方便了普通用户发送交易和调用合约。

使用Mist可以轻松连接以太坊测试网络,并支持开发、部署、调试智能合约。对开发者非常友好。

Remix是一个集成的编写部署调试合约的浏览器IDE,可以在remix提供的浏览器页面快速编写部署合约,支持正式和测试网络连接、静态检查、本地调试、交易记录、事件和日志查询等功能。另外结合Remixd提供的ws服务可以连接本地文件进行开发。对兼容以太坊智能合约的链平台来说,Remix是非常好用的合约编辑、测试、部署工具,用户众多,已经比较成熟。

Docker在区块链中有多种用途,包括用于 BaaS 服务中作为实现动态节点管理的基础组件,在Fabric作为智能合约的运行容器等。

RocksDB是一种NoSQL数据库,具有高性能和使用简单的特点,许多区块链项目都以 RocksDB 作为底层的存储数据库。

MyEtherWallet是一个很受欢迎的网页版以太坊在线钱包,具有丰富的资产管理,账户备份功能。对于不想在本地安装钱包客户端,存储全量区块信息的用户来说,是一个不错的选择。曾经因为DNS劫持的问题,导致一些用户访问了钓鱼网站,损失了大量以太币资产。MyEtherWallet代码开源,它不会存储用户的钱包信息账号,就算有一天MyEtherWallet网站不能使用,你也可以通过钱包的私钥和密码在其他钱包上找回你的钱包账号,可放心使用。

MetaMask是一款在谷歌浏览器Chrome上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在谷歌浏览器添加对应的扩展程序即可,非常轻量级,使用起来也非常方便,不需要下载全量区块信息,也能让小白用户管理自己的数字资产。对于以太坊Dapp的普及和传播起到了非常大的作用。当年的以太猫游戏的火爆,Metamask功不可没。

Embark目前集成了 EVM 区块链(以太坊)、去中心化存储(IPFS) 和去中心化通信平台(Whisper 和 Orbit),部署支持 Swarm,方便开发者搭建自己的区块链应用。

Ganache是Truffle官方推荐使用的客户端之一(另一个是Truffle内置的Truffle Develop)。

以太坊联合创始人Gavin Wood认为,所有人都从头构建网络和共识代码,非常浪费精力。使用Substrate来构建新项目,开发者所要做的,就是在代码调用少量函数,就能获得各种密码学模板,以及定制、搭建和发布新区块链所需要的方方面面,“Substrate为区块链开发者提供最大限度的自由,花费最少的精力”。

关系数据,如MySQL在一些区块链系统中用作记录系统对象的关联关系,以便提供比NoSQL更丰富的查询能力。但关系数据库的灵活性、伸缩性不好,并不太适合区块链这类数据单调递增的场景,在数据量增长上来之后对关系数据库的运维管理复杂,因此不推荐使用,建议考虑其它的替代方案。

曾经广泛使用的EtherScripter已被淘汰,Embark、Truffle是其替代者。

技术篇

GOSSIP是一种消息通讯算法,广泛用于面向公链的区块链系统中,包括比特币、以太坊等,用于实现点对点通信。

POW是目前面向公链的众多共识算法中唯一具有安全性证明的算法,在中本聪的论文已论证,并且得到比特币系统的运行所证明。缺点是需要消耗算力。

PBFT是一种拜占庭容错的共识算法,适合用于面向联盟链的场景,在许多区块链项目上都采用了 PBFT 算法及其变种算法;但原始的 PBFT 算法本身不支持节点的动态增加,在实际应用时需要注意。

语言篇

Java作为一项成熟的通用语言,掌握开发人员多,生态全面,被广泛运用于各类企业级系统、中间件的开发,在区块链中也被一些项目用做系统开发语言和合约开发语言。

Go是高效快速的应用逻辑开发语言,编译速度优越,已经有较为强大的基础库,属于新兴语言,很被大家看好。作为一项通用语言,具有内存安全、性能优异的特点,使用用作区块链底层系统的开发语言。由于Go简洁易用的语言特性、功能丰富的代码库以及优异的性能表现,很多区块链底层是用Go语言实现的,Hyperledger Fabric等项目也主推用Go编写智能合约或DApp,可说Go语言在区块的应用中已经非常成熟。

Go的高性能,预编译与语言学习的易上手性,使得它非常适合被用来编写区块链项目。目前,大量的新的区块链项目都是用Go来编写。

JavaScript开发方便,很多区块链项目支持。Lisk支持使用JavaScript来开发智能合约,这使得智能合约的开发对于Web开发者来说,变得更加的简单。

Solidity是以太坊EVM虚拟机上编写智能合约的图灵完备语言,也是当前智能合约最实用和使用最广泛的语言,语法类似JavaScript,适用于以太坊及其扩展实现,只能由 EVM 加载执行。但受制于EVM包括以太坊本身的扩展性不够等设计缺陷,在开发效率和运行速度上有一定的限制。不过Solidity还在不断的发展和更新,可以期待未来更优的使用体验,但如果用于正式的重要的业务中,需要谨慎考虑。

Rust作为一项通用语言,具有内存安全、性能优异的特点,使用用作区块链底层系统的开发语言。已经有一些区块链项目采用了该语言作为开发语言。但开发人群还相对较少,选择该语言还需要考虑开发生态的成熟度。Rust在不影响性能的前提下提供的安全特性非常有吸引力,这些安全特性也很适用于区块链开发。如steem等区块链项目用Rust开发,经过适当的限制后也适用于智能合约开发。Rust可以被C及其它多种语言轻松调用,且由于其高性能特性,非常适合被用来编写区块链相关组件,比如可插拔密码库和共识机制。

作为一项有历史的成熟的经典语言,C++通常用于开发偏底层的系统,且不断迭代升级,引入新特性新思想,性能一直较好,但由于语言特性复杂,容易产生内存安全的问题,对开发者要求高,在有其它内存安全的语言可选择的情况下,C++不是进行区块系统开发的最优选择。EOS等项目是用C++开发的,但由于其复杂性,使用时需要非常小心。

另外,学习曲线较陡,使得越来越多的新的区块链项目不再使用C++语言来进行编写。但是C++高性能和编译特性,使得它仍然会在一些区块链项目的底层开发中发挥作用。

Vyper是新的以太坊语言,它为开发者提供了Solidity的一种替代选择。

已有项目采用Clojure编写合约解释器,但学习曲线较为陡峭,现有开发者中,熟练掌握的人相当少,可能会面对缺人或维护困难的窘境。

Red拥有出色的表达及DSL能力,但项目仍在开发中,基础尚不完备。

平台篇

迅雷链平台(Thunder Chain)是高性能、高可靠性、开发方便、技术支持完善的主链平台。

EVM是以太坊上的智能合约引擎,用于执行 Solidity 的智能合约,它是一个栈式虚拟机,其安全性是还需要完善,众多针对以太坊的攻击方法都是由 EVM 本身的缺陷带来的,虽然爆出的缺陷已经大部分修复,但毕竟EVM出现的时间相对还很短,所以还需更多时间来观察其进展。

和普通节点相比,Azure BaaS节点好处主要是,能让开发者快速建立自己所需的开发环境,能帮助更快地验证自己的概念和模型,工具性更强,便于创建、部署、运行和监控区块链服务。但其实用性还有待验证。

Blockchain Testnet可用于测试和体验操作。允许DApp开发者使用测试网络方便的进行开发和调试,而不必担心在主链上测试导致的费用问题。

Coinbase’s API的提供者Coinbase是全球用户最多的交易所之一。

Tierion是将区块链用于验证任何数据、文件或过程的平台,应用场景包括文件存在性证明、审计跟踪等,应用场景有限,决定使用这个平台之前请先评估是否跟自己的实际业务场景相匹配。

Casanova:区块链的可扩展共识协议(论文下载)

Pyrofex公司的研究人员最近推出了Casanova,这是一种适用于区块链的无领导乐观共识算法。Casanova不是生成链,而是在有向无环图(DAG)中生成块,它本质上是一个没有周期的有向图。Casanova管理投票并阻止生产以提高可扩展性,并且对于双花等冲突交易具有独特的“项目否决”功能。

Pyrofex研究团队通过电子邮件告诉TechXplore,“我们正在寻找一种可扩展的共识算法,我们可以用它来实现我们要进行的几个不同的区块链项目。” “我们最初认为卡斯帕可能是正确的,并试图证明它是安全的,并且生活在理想的网络条件下。没过多久就表明事实并非如此,并得出结论我们必须做出一些重大改变。我们的新算法解决了我们面临的所有问题,但它需要与以前的方法有很大的偏差。“

大多数现有的区块链技术浪费了大量的时间和资源,使整个网络能够就每个单一交易的全球订单达成一致。虽然这似乎是合理的,但研究人员认为一个好的区块链方法应该能够以任何顺序处理交易。

研究人员说:“我们应该只在必要时才利用能源和资源达成共识 – 即,当有两个相互冲突的交易时,网络必须选择一个,” “其他区块链尝试了类似的东西,但是Casanova我们能够确切地说明如何实现这一目标。”

Casanova的一个显着特征是它本身不构建区块链,而是建立一个DAG。研究人员将卡萨诺瓦的结构称为“封锁”。如果区块链的结构可以与一个字符串进行比较,那么一个块状类似于一块织物,其中几根绳子编织在一起。

“因此,Casanova不是一次确认一个区块,而是每个网络成员一次确认一个区块,”研究人员说。“因此,如果网络有1,000名成员,我们可以同时确认1,000个区块,而不仅仅是1.我们在常规区块链花费在单个区块上达成共识的同时完成所有这些工作。”

卡萨诺瓦拥有验证人而不是矿工,这些人每隔一分钟定期生产一次。当验证器从客户端收到一个事务时,它们会将它包含在下一个块中,并在块中签名以显示它们已经看到它。

验证器还相互交换块,以确保每个人都能看到所有事务。当验证器准备好生成新块时,它包含有关其他人看到的块的信息。

研究人员解释说:“唯一的担忧是当两个相互冲突的交易到来时,例如当用户试图加倍支出时”。“当验证者发现冲突时,它们会在下一个区块中包含有关它的信息。使用来自每个区块的信息,网络决定哪个交易有效以及哪些交易将被丢弃。”

虽然可能觉得此过程不足以保证安全性,但验证器使用数学结构来跟踪事务和其他验证器的投票。根据研究人员的说法,这使他们能够做出重要的推论,最终确保安全。

“Casanova的一个更值得称道的功能就是:你可以通过双花向网络发送垃圾邮件,但会被限速,也就是说,网络会减慢垃圾邮件发送者的帐户速度,”Pyrofex研究团队表示。“所有其他人的交易都以通常的速度处理,因为你不能强迫他们与你的交易发生冲突。据我们所知,Casanova对垃圾邮件交易有一种’项目否决权’,这在行业中是独一无二的。”

虽然有几种blockdag算法,但大多数都是工作证明(PoW),而Casanova是权益证明(PoS)。

“我们还开发了一种适用于Casanova的分类帐模型,我们将在不久的将来将其构建成区块链,”研究人员说。“我们正在研究一种适合的计算模型,它将使我们能够建立一个智能的合同区块链。还有很多工作要做,包括大部分利益证明机制,如奖励,费用,绑定,非绑定等等。这将是一个繁忙的一年。“

查看论文请点击“原文”按钮