链变未来 | 区块链技术选型
背景
区块链技术又称作分布式账本技术 (DLT),它是一种分布式数据库对等网络,在该网络中,所有的实体共享同一“账本”。相同的账本拷贝会分发到所有节点,并通过技术手段保持同步。这种方式可以消除中介角色,进而加快交易速度并降低成本。
2008年10月,中本聪在论文《比特币:一种点对点的电子现金系统》[1]描述了基于区块链技术的一种称为比特币(Bitcoin)的电子现金系统,自此区块链技术走入公众视野。他在文章中提到,比特币可用于发送互相并不信任的两个实体之间的支付请求,整个过程中不需要第三方金融机构的参与。在比特币网络中,每笔交易都存储在由区块链构成的账本中,最新的区块会通过数字签名与之前的区块相连接。为了确保账本的可信任性,网络参与方会运行复杂的算法对这些签名进行认证,并在区块链中添加交易。通过这种方式,即便是完全互不信任的陌生人也可以在网络空间中相互交换价值。在接下来的几年里,这种分布式账本技术 (DLT) 被广泛拓展到数十个其他领域 。大家都认识到,若要将该技术拓展到其他业务领域,就必须具备 4 个关键组件:
1.共享式账本 - 仅可附加的分布式记录系统,在整个业务网络之中共享2.智能合同 - 业务条款嵌入到交易数据库中并随着交易的进行得到执行3.隐私 - 确保适当的可视性;确保交易安全性,且能够对交易进行鉴定和验证4.共识 - 所有参与方均会同意经网络验证的交易
与传统的系统不同,在区块链中,无需在后续进行对账或结算流程。在双方就交易“达成一致”后,仅会在网络中创建一个包含有交易数据的区块。通过这种方式,就无需单独的结算流程,也不需要中介角色。每个节点都会以记录列表的形式对账本进行维护,此类列表会不断增加而且记录按次序排列,即所谓的“区块”。交易完成后,会在链条上添加一个新的区块,然后分发至网络中的所有同行。这种方式可以确保每个节点账本中的数据完全相同。除了业务内容外,每个区块还包含有一个时间戳、一个由内容衍生的密码散列,以及之前与之后区块的链接。从设计上来说,区块链具有不可变性;换句话说,数据一旦写入到区块之后,就不可更改。若要更改数据,必须通过更改处理流程创建新的区块。之所以说区块链从设计上来说非常安全,是因为每个细微的更改都会改变区块的哈希值,而该哈希值会将该区块标记为“已损坏”。尽管账本是共享的,但并不表示所有的数据必须对所有节点可见(在比特币实施中,所有数据均可供每个节点使用)。这种可视性通过智能合同中的隐私策略来控制。
为了确保所有节点中的账本都有相同的数据,必须使用“共识”算法。共识能够确保共享式账本都是一模一样的拷贝。密码散列(比如 SHA256 计算算法)能确保交易输入的任何更改都会改变哈希值,借此显示损坏的交易。数据签名则能确保交易来自发送者(用私有密钥签名),不是“恶意”代码。凭借这种分散式共识,区块链非常适合用于事件、标题、来源、医疗记录和其他记录管理活动的记录, 身份管理,以及 CRM 系统中的交易处理。
区块链技术分类现阶段,市场上的区块链解决方案非常多,主要可以分成公有链、联盟链和私有链。
公有链是假设世界不可信。任何人不需要获得专门许可,也不需要把真实身份做任何映射就可以直接使用,帐本全球透明,没有任何准入机制,无国界、无监管。
联盟链是假设组织不可信。联盟链有准入机制,一般由行业里的机构、企业和政府组织的联盟发起,在联盟里架设联盟链完成帐务的同步和交易的清结算,可理解为“企业间的数据库”。
私有链假设组织内部各机构或者“队友”不可信。在大型企业内部,或者是在政府各个相关主管部门之间部署,利用区块链技术将内部流程上链,以降低管理和沟通成本。
公有链联盟链私有链面向市场To CTo BTo B中心化程度去中心化多中心化中心化参与者任何人自有进出预先设定、具有特定特征的人中心控制者规定可以参与的成员信任机制工作量证明共识机制自行背书记账者所有参与者参与者协商决定自定激励机制需要可选不需要典型应用比特币、以太坊清算、供应链金融内部研发测试等
下面,我们将介绍一些热门的区块链实施项目以及它们的属性。
比特币[2]这是最早也是最有名的区块链实施项目。它创造了一种可保存在电子钱包中的数字货币。自 2009 年问世以来,比特币的热度不断高涨。比特币目前的市场价值已经超过了所有其他公有加密货币的市场价值总和 。比特币吸引人的特点之一是,它能够在全球匿名交易,不用受任何国家强制法规限制。现在可以利用这种数字货币在 100,000 多个商家处购买商品 10,其中包括亚马逊 (Amazon)、家得宝 (Home Depot) 和赛百味 (Subway)。
以太坊[3]以太坊是应用最广泛的通用区块链平台之一。与其他区块链实施项目一样,这也是一个开源项目。2014 年 1 月,Vitalik Buterin 宣布启动该项目,2014 年 7 月,他们通过众筹筹集了项目资金。Vitalik 是一名编程人员,曾参与比特币项目。2013 年底,他与比特币的核心开发人员的理念发生了冲突,他认为应该扩展比特币平台,让比特币能处理数字货币以外的普通交易。为了做到这一点,他们需要一个强大的脚本语言,来编写“智能合同”中的业务逻辑。由于没有与比特币团队达成共识,Vitalik 另起炉灶,启动了一个新平台的开发,也就是我们所说的以太坊。以太坊的首个生产版本于 2015 年 7 月发布。以太坊支持一种名为 Ether 的加密货币。开发人员可以用多种语言编写智能合同,比如 Solidity、Python 、 C++ 和 Java 。Solidity 可能是最热门的语言,因为微软的 Visual Studio Integrated Development Environment (IDE) 支持该语言。
企业级以太坊是以太坊代码库的私有联盟实现。它主要由企业级以太坊联盟驱动,其主要目标是解决企业需求,在围绕公有以太坊区块链发展的同时努力实现互操作性。企业级以太坊得益于世界上最大的区块链开发社区。成千上万的软件工程师、产品开发人员和设计师正在生态系统中工作,构建基础架构、开发工具和应用程序。许多组织和政府报告称他们正在将企业级以太坊部署到其工作流程中。目前,多家供应商还在公有云(比如微软的 Azure 和亚马逊的 AWS)上推出了该产品。
Hyperledger[4]另一个有名的通用区块链平台是 Hyperledger。这也是一个开源项目,由 Linux 基金会发起。目前,Hyperledger 项目已经有超过 100 个成员,其中包括一些科技巨擘,比如 IBM,因特尔,埃森哲,以及其他行业领导者,如摩根大通 (J P Morgan),富国银行 (Wells Fargo),空客 (Airbus) 和三星集团。
Hyperledger 的重心是为企业构建区块链平台。考虑到支持数字货币所带来的风险,Hyperledger 决定不涉足该领域。这是它与 Ethereum 的一大区别。它的设计重点放在安全性、可扩展性和隐私上面,其他实施项目(如以太坊)同样面临这些挑战。
在 IBM 及其他 Hyperledger 项目成员的帮助下,Hyperledger 已经得到了广泛采用。Crédit Mutuel Arkéa of France 和日本瑞穗银行 (Mizuho Bank of Japan) 等银行已经开始部署该技术。零售业巨头沃尔玛正在其供应链中加入区块链技术,以便从农场到门店货架,跟踪整条供应链。维基上列出了许多这样的用例实例。
FISCO BCOS[5]FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源。目前,汇聚了超500家企业及机构、逾万名社区成员参与共建共治,发展成为最大最活跃的国产开源联盟链生态圈。底层平台可用性经广泛应用实践检验,数百个应用项目基于FISCO BCOS底层平台研发,超60个已在生产环境中稳定运行,覆盖文化版权、司法服务、政务服务、物联网、金融、智慧社区等领域。
BSN[6]区块链服务网络(Blockchain-based Service Network)(以下称为“服务网络”或“BSN”)是一个跨云服务、跨门户、跨底层框架,用于部署和运行区块链应用的全球性公共基础设施网络,由国家信息中心、中国移动通信集团公司、中国银联股份有限公司、北京红枣科技有限公司共同发起。互联网是通过TCP/IP协议将属于各方的云资源和数据中心连接而形成的,BSN则是通过一套区块链环境协议将属于各方的云资源和数据中心连接而组成。两者均不属于任何单一组织,都是公共基础设施。
如何选择最合适的区块链平台区块链是一项快速发展的技术。市场上已经有多个实施项目,比如 Ethereum 和 Hyperledger,每个项目都有其独特功能。比如,可以选择私有/许可或公有/匿名网络,通用或专用网络等等。为了挑选最合适的区块链技术,首先应该回答以下问题:
1.该应用是否已经有了行业标准区块链网络?
通常区块链交易发生在实体集团(如银行或供应商)之间。一个关键的要求是所有同行不仅要采用同一种区块链技术,还必须是同一版本的区块链技术。因此,如果已经有了一个区块链网络,就必须加入这个网络。如果是在构建一个新的区块链网络,那么就可以自由选择前一章中的区块链技术。我们目前处于区块链部署的初期阶段,市场上只有少数几个区块链网络。尽管人们已经开始讨论在跨链连接不同的区块链技术,但是这都是未来的事情了。
2.是否区块链网络必须支持数字货币(或加密货币)?
尽管数字货币比特币是最有名的区块链应用之一,但是并非所有区块链实施项目都支持加密货币。有些项目(比如 IBM 支持的 Hyperledger)出于降低安全风险的考虑并不支持数字货币。很多业务应用都不需要数字货币,如汽车租赁应用、安全凭证处理应用和客户身份管理应用等。
3.构建私有网络还是公有网络?
在私有网络中,只有预先获得授权的成员能加入该网络,他们必须在交易之前先通过身份验证。这意味着,知道是在与“可信”的同行进行交易,这能够降低网络中出现恶意交易的概率。而在比特币这样的公有网络中,任何人都能加入网络然后匿名交易比特币。有些区块链不支持私有网络。
4.想不想部署特定的公有云?
大多数区块链平台都可以在多个公有云上运行,但是区块链处于早期部署阶段。所以,并非所有公有云提供商都能提供所有区块链平台。比如,如果你想在微软的 Azure 或 AWS 上部署区块链,可以选择的通用区块链平台是 Ethereum。如果你想在阿里云或腾讯云上部署区块链,那就要选择其自研的区块链平台。未来,大型公有云提供商可能会将多个不同的区块链加入其产品目录中。
5.开发人员在编写区块链代码时倾向于使用哪种编程语言和开发工具?
应用的业务逻辑被写在了区块链的“智能合同”中。不同的区块链平台支持不同的编程语言。比如,Ethereum 则支持用 Python、Go 和 C++ 编写的代码以及 Solidity 语言。Solidity 作为微软的 Visual Studio 扩展得到了支持。另一个通用区块链实施项目 Hyperledger Fabric 就支持 Go 、Java 和 JavaScript。
总结市场上已经有多个区块链技术/平台,每种区块链都有其独特的功能。有些区块链是面向专用任务(如转账)的解决方案,其他则是通用解决方案。我们提供了几个问题,可以通过回答这几个问题,挑选最合适的区块链平台。
References[1]?《比特币:一种点对点的电子现金系统》:?https://nakamotoinstitute.org/static/docs/bitcoin-zh-cn.pdf[2]?比特币:?https://bitcoin.org/[3]?以太坊:?https://ethereum.org/[4]?Hyperledger:?https://www.hyperledger.org/[5]?FISCO BCOS:?https://fisco-bcos.org/[6]?BSN:?https://www.bsnbase.com/
关于BitFuture我们专注于链改解决方案,为传统行业提供区块链咨询、公链开发、交易所开发、DApp开发、商业模式设计、经济模型设计、社区建设与运营方案等全栈链改服务,在众多行业和业务中成功交付了解决方案。
We focus onChain Reform Solutions . For Traditional Industry , weprovide blockchain consulting, chain development, exchange development,DApp development, business model design, economic model design, communitybuilding , operational solutions and so on.We have ?successfullydelivered solutions in numerous industries and business.
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。