首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Red:让区块链开发不再是难事

(阿尔的女士们,梵高)

新技术跟商业的结合,在开始阶段往往存在泡沫,投机价值超过投资价值。但不妨碍它最终给社会带来真正的价值。

区块链也一样,目前基础设施还不完善,除了比特币作为价值存储和以太坊作为众筹有落地之外,其它的基础设施和应用并没有获得真正的认可和使用。要想让区块链走向主流人群,区块链的性能、交易费用以及可扩展性都需要得到进一步的解决。

但是,还有一个更重要的因素是,目前懂区块链编程的开发者还是很少的。目前区块链的编程门槛还是相对较高的。对于很多开发者来说,应该采用哪种编程语言?以什么样的方式进入区块链的世界?只有当区块链的编程变得很简单,当无数的开发者都可以很轻松进入的时候,这才会给区块链DApp带来真正的勃勃生机。

目前区块链的编程语言还没有真正主导性的开发语言。目前以太坊的编程语言是Solidity,EOS是C++,Hyper Ledger联盟链以Go语言为主。

用户采用什么样的编程语言,一方面是取决于未来的生态,比如是看好以太坊生态?还是未来的EOS生态?对前景判断不同,选择也会不同。

当然,也涉及到不同语言的编程门槛问题?有多少程序员懂Solidtiy?学习的门槛有多高?有没有一种语言,开发工具简单易用、代码性能好、容易部署?

蓝狐最近有朋友推荐Red,注意到Red在试图改变区块链开发的现状,Red试图提供编程堆栈,简化智能合约的创建,最终降低区块链开发门槛,为区块链走向主流人群提供推动力。

Red语言的野心:成为区块链时代的主流编程语言

Red编程语言的创始人是Nenad Rakocevic,它是一个始于2011年的开源项目。Red是高级语言,可以编写各种代码,很具表达性。它试图为软件的编程提供一种简洁易用、性能好的方法。

Red在区块链时代也试图通过Red全栈解决方案来降低智能合约和DApp开发门槛,甚至有梦想成为区块链时代的主流编程语言。

目前区块链智能合约开发依然存在很多问题。开发门槛、安全性都是重大的问题。目前以太坊编译合约的语言是Solidity。

作为智能合约的编程语言,Solidiy有通用功能,允许在区块链上实现任何类型的计算。这是它的优点。但与此同时,它的复杂性、门槛、安全性都有问题。比如2016年出现的DAO事件,theDAO编写的智能合约存在漏洞,攻击者利用splitDAO函数漏洞,把项目资产转移到黑客自己建立的子DAO中,涉及到300多万以太坊,在当时价值6000多万美元,到现在的话,价值已经超过19亿美元。虽然后来通过分叉追回了资产,但智能合约的安全性让大家担忧。

一旦安全漏洞被攻击者利用,Solidity合约中的任何错误都可能导致合约控制的以太坊资产损失。当然,也可以对智能合约进行专家审核,但是它的时间成本和人力成本也在增加,而且也只能降低风险,不能最终解决问题。

也有人采用合约模版的方式来解决问题,模版参数化适用于特定的场景案例。这在一定程度上解决了安全问题,但也带来了一定的局限,无法满足灵活性的要求,虽然模版提供者可以提供大量的模版尽可能满足多用例场景,但依然无法满足个性化需求,也不是真正的软件架构方法,也很难成为主流方式。

此外,区块链要向走向主流人群,必须要有DApp,智能合约要与用户界面进行结合,让普通用户能够使用起来。

DApp是网络应用,通过浏览器或者下载到本地客户端给用户提供服务。在这样的过程中,也会遇到一些问题,包括安全性、开发门槛和易用性问题。

网络堆栈很普遍,是攻击者攻击的目标。DApp一旦发布了独立客户端,需要不停更新修复底层网络堆栈的安全漏洞和错误。另外从开发门槛上看,要掌握HTML/CSS/JS等不同的语言,要学习不断变化的架构。易用性方面,用户需要下载安装区块链轻客户端或节点,对于普通用户来说有一定门槛。

区块链要想走向主流人群,这些问题都是需要得到解决的。那么,有没有一种工具可以解决以上的问题?

Red试图为区块链提供简单有效的编程解决方案。它希望可以跟早期工具VisualBasic为桌面应用程序创建提供方法一样,Red也为区块链智能合约和DApp的创建提供简单好用的方法。

如果一旦能够让开发者们真正喜欢上Red语言编程,用Red工具编写智能合约和构建DApp,Red离它的梦想就不远了。

那么,Red靠什么硬货来实现它的梦想?

Red的独特之处:它靠什么脱颖而出?

1.Red DSL减少软件开发复杂性

Red语言的最大优势是能够轻松实现特定域语言(DSL)。它包含了多个特定域语言,涉及到图形用户界面编程、模式匹配、数据析取、系统编程、二维图纸等。

DSL可以减少软件开发复杂性。通过DSL,Red涵盖整个软件抽象层,同时通过横向扩展到了各个域。

2.简洁易用的Red工具链

Red工具链包含了完整的工具链,只有1MB大小,且不用任何安装和配置。它包括超过50种数据类型的标准库、有5种特定域语言,还有跨平台的本地编译程序、跨平台的本地图形用户界面系统、交互式命令行等。

3.Red/CCC:安全和灵活兼具的智能合约编程语言

Red/CCC是用于链间编程 Red 特定域语言。它针对不同区块链后端直接编译到虚拟机。它由两层组成,高级层和低级层。

高级层是使用符号的高度表达性语言,具有有限计算语义及有限控制语句,也就是图灵不完整。高级层生成的代码有更高的安全性,也有灵活性。

低级层则是一个通用的静态Red语言子集,具有通用计算能力。合约的编写会采用高级代码形式,同时也要具备在本地下降到低级层的能力,以实现通用计算。它跟现有合约具备互操作性,可以调用其它工具编写的外部合约。

另外,Red/CCC工具链扩展了Red工具链,可以在用户桌面或移动设备上运行。Red/CCC编译程序用Red语言编写,是独立的工具链。它包括虚拟机字节代码编译程序、合约生成测试模块、虚拟机区块链仿真软件、最小区块链节点外包装等。

4.Red DApp 部署更简单

Red堆栈取代目前DApp使用的网络堆栈。对于DApp来说,Red堆栈一大优点是简洁,体积小,Red的运行时只有1MB,而Electron的运行时则达到了120MB。

Red提供集成的本地区块链接点,降低DApp部署复杂度。Red有内置的特定域语言,可以用于DApp的构建。Red标准库包括用于集成目标区块链节点的包装器、用于操作智能合约等的高级接口、沙盒I/O模式、用于存储和处理链上发送交易所需私钥的安全方式、用于token管理的专用库等。

5.Red token激励推动社区正向发展

Red首先是开源项目,治理模式透明,目前的社区达几千名用户、数十位开发者。Red项目在Github上有2765颗星,网站有150万浏览量,每天有超过500多名开发人员在聊天室内讨论Red。

为了让项目可持续发展,Red社区也采用了token的激励机制。有了token,可以激励社区成员持续做出贡献,比如获得项目不同领域的投票权、功能优先级处理权、优先漏洞修复、资助社区内部服务等。

Red开源项目的资产由非盈利基金会所有。基金会确定token的投票规则以及社区内部运作模式。

Red token奖励机制包括代码贡献、社区管理、完成Red学习教程、市场推广(活动、宣传等)、聊天帖子、提供学习资料等各种对于Red项目和生态发展有利的行为。

另外,一些社区DApp需要token才能运行,有利于构建社区的经济体系,比如通过Red编程堆栈完成的DApp,如去中心化的RED钱包应用、社区代码交换市场、聊天系统等。

从以上Red 采用token机制来看,它是考虑到了通过token来促进社区的发展,促进Red项目被更多开发者认知和使用,并最终推动它成为区块链时代主流的编程语言之一,试图成为开发者首选的开发工具。

结语

区块链目前的瓶颈不仅在性能、交易费用以及扩展性方面,也在于它的开发门槛、复杂性、安全性等方面。

区块链还处于非常早期阶段,目前遇到各种瓶颈和发展的障碍也属正常。它最终要走向主流人群,一定要有更多的杀手级应用,能够被普通用户所使用。

不管是金融、游戏,还是社交网络或物联网,最终来说,没有几千万上亿的普通用户使用区块链的应用产品,那么区块链最终还是一个泡沫而已。

在去泡沫化的过程中,一是基础设施的建设,比如不同的公链,满足不同场景和要求,在安全、隐私上的进步,在效率上的提升,这里会有很多平衡。另外一个方面,一定是更多从业者的涌入,尤其是开发者人数的增加,会极大推动场景应用的探索。

而基于目前区块链编程语言的安全性、复杂性来看,如果有一个开发语言和工具,能够极大降低开发者进入区块链的门槛,可以帮助开发者以简单方式编写智能合约和DApp,那么就有机会推动区块链应用的爆发。

Red试图通过自己的全栈解决方案和token激励体系解决区块链编程安全性和复杂性等问题,让智能合约和DApp的开发变得轻松容易。据说,Red语言可以让开发者快速学会编写智能合约,最快的可以在一周内学会。

如果它能做到这一点,抓住区块链红利的机会,这可能是一个千载难逢的机会。

风险警示:蓝狐所有文章都不构成投资推荐,投资有风险,建议对项目进行深入考察,慎重做好自己的投资决策。

想要深入了解区块链,长按下面二维码关注“蓝狐笔记”区块链公众号:lanhubiji

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180424A0VCJO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券