当前位置: 首页 > 编程日记 > 正文

如何选择分布式系统(区块链)协议?

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述
如何选择分布式系统(区块链)协议?

在构建包分布式系统功能的应用程序时,《财富》500强企业和创始人经常问我们这样一个问题:“我们应该构建什么样的协议?”“这个问题变得越来越普遍,因为所有获得2017-2018年资助的协议都试图从白皮书转向测试网络,再转向主网。”这些新协议充斥着孵化器、风投公司、共同办公空间、会议等,寻找初创企业在其平台上建设。它可以是压倒性的。因此选择正确的协议就像决定如何为高楼打下基础一样极其重要。

通过这篇文章,我们开始了关于分布式系统/区块链协议的系列文章。这第一篇文章是非常高水平的,旨在给你一些有用的方针,。未来的文章将会涉及更多关键协议的技术细节。这是一个复杂的主题,所以您可以随时向我们发送建议编辑的消息。

  1. 选择一个平台 (Hyperledger / Quorum / Ethereum / Bitcoin / corba - r3)。我将通过检查这些来开始您对协议的探索。据我们所知,它们目前正在加速采用和社区发展。如果你是一家初创企业,你已经被认为对你的企业客户来说风险略高。因此,您可能希望构建一个在生产中已经有用例的协议。未来的文章将提供更深入的比较。请记住,这些都不是完美的,特别是在可伸缩性和安全性方面。

  2. 从哲学上决定你是相信开放网络还是封闭网络: 这个话题可以单独作为10篇文章的主题。到目前为止,我们看到封闭的网络在企业用例中比开放的更受欢迎,但是我们希望在这两个方面都看到赢家。现在,区块链/分布式系统社区在开放和封闭之间的分裂中工作,但随着空间的成熟,以及随着协议开始在原子级别(而不是在“网络”级别)定义交易和业务逻辑的隐私和保密性,这可能会成为一个历史性的脚注。这意味着一个网络上的私人事务可以设置自己的权限,而智能合约可以根据自身的内部范围与其他智能合约互操作,而不会被限制在一种“网络”的一个总帐簿上。在网络层开放和封闭就成为无意义的条款。

  3. 有一些正在崛起的、资金充足的协议,其他操作层创新者值得关注。我们看到Hashgraph(针对游戏等高TPS用例)、EOS(也包括游戏)、VEChain(供应链)和Skale(可伸缩性)的早期萌芽。我们非常希望企业会出现新的协议,但是我们还没有在客户对话中看到它们。我们也看到了一波有趣的侧链和“第二层”创新。我们最喜欢的是闪电网络。如果Square在未来18个月内推出使用闪电网络的产品,我们不会感到意外。

  4. 作为“协议无关者”的架构师。我们正处于新一波分布式系统平台的早期阶段,现在就决定谁是赢家还为时过早。例如,如果以太坊能够按照承诺的时间交付等离子体等项目,并转移到PoS,这将是一个很好的长期赌注。重要的是要记住不同的协议或多或少是相关的,这取决于具体的用例。

  5. 注意那些还没有好答案的开放式问题。如前所述,我们处于企业采用的早期阶段,有许多问题/没有得到充分解决。这包括可伸缩性、安全性、数据传输、遗留系统集成、数据驻留法规遵从性等等。

  6. 知道开发人员在哪里。据我们所知,70-80%的区块链/分布式系统开发人员精通超分类和solid /Ethereum,两者之间有一些交叉。如果您正在选择一种非“领导者”协议,那么您可能必须非常努力地寻找开发人员,或者亲自对他们进行冷启动培训。这也许是个不错的决定。无论分布式开发人员今天知道什么,他们明天都必须学习新东西。因此,您可能不需要根据某人当前的链代码技能或可靠性等来选择其中之一。只需要雇佣喜欢学习的优秀开发人员。

  7. 选择大公司区块链平台时要谨慎。我们很高兴看到几乎每一家主要的技术公司(Amazon、IBM、Microsoft、SAP)都推出了针对区块链的BaaS(“区块链as a service”)部署平台,并认为这将有助于加快企业的采用。但是。尽职调查极其重要!上面列出的这些公司中,大多数都有与初创企业和以它们为基础的成功企业合作的历史记录。但并不是所有。问问其他创始人/首席技术官,哪些公司更好合作,哪些有问题。不要让一些免费的开发者积分左右你做出错误的选择。他们可能正在建立一个未来的竞争对手!另一种选择是建立在像www.blockdaemon.com这样的独立BaaS(区块链as a Service)公司的基础上。

  8. 了解开源和协议治理的动态。不同的协议有非常不同的开放源码框架和治理,这些框架和治理会对它们的操作方式、是否会发生硬分叉(这会导致很多复杂性)等产生巨大影响。包括理解有人说“它是开源的”,这意味着他们的运行时实际运行的代码是零。在编译之前,很容易获取开放源代码并将一些恶意软件插入其中。开源是非常好的、非常重要的,并且有助于发现bug,但是不要错误地认为它等同于安全性。知道谁编译了代码,并确保在各类签名运行时中最好。需要各方接受此服务,并成为满足其规范的已批准开源代码库的签名代理。获得一个签名批准的运行时将确保各方的节点实际上是在开源中的。

相关文章:

MySQL与IO

数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问mysql数据库的IO流程以及IO相关的参数。 一 MySQL 的文件 首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下…

python括号配对问题_使用Python的栈实现括号匹配算法

写一个栈的类:stack.py class Stack: def __init__(self): self.items [] def is_Empty(self): return self.items [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(items)-1] …

万航单位换算器 V1.0 绿色版

软件名称: 万航单位换算器软件语言: 简体中文授权方式: 免费软件运行环境: Win 32位/64位软件大小: 347KB图片预览: 软件简介:万航单位换算器是一个可以随意转换单位的绿色软件,这个软件收集了各…

Golang学习-基础命令

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 、 Golang学习-基础命令 一、go run 用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为参数。先将源码文件编译…

js MD5加密处理

关于MD5: MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。 在本案例中 可以看到MD5共有6种加密方法: 1, hex_md5(value) 2, b64_md5(value) 3, st…

手机qq2008触屏版_比微信老却是00后最爱 手机QQ 16年进化史

5月5日,腾讯QQ发布了《00后数据报告》,第一次以长图形式向公众展示了00后对于QQ的喜爱。当然物是人非,当年那个“胖企鹅”已经和现在功能强大、颜值超高的QQ不可同日而语。那些留存在我们记忆中,给我们带来无尽欢乐的聊天工具&…

密码学是如何保护区块链的

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 密码学是如何保护区块链的 摘要:密码学是应用数学函数以保证数据安全性的科学。 许多风靡的影视作品都在向人们暗示:只要有…

洛谷.4234.最小差值生成树(LCT)

题目链接 先将边排序,这样就可以按从小到大的顺序维护生成树,枚举到一条未连通的边就连上,已连通则(用当前更大的)替换掉路径上最小的边,这样一定不会更差。 每次构成树时更新答案。答案就是当前边减去生成树上最小边的权值。 LCT…

python数字计算公式_Python中数字以及算数运算符的相关使用

Python数字 数字数据类型用于存储数值。 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。 当你指定一个值时,Number对象就会被创建: var1 1 var2 10 您也可以使用del语句删除一些对象引用。 del语句的语法是&#…

软件测试安全测试高峰论坛

Nubia测试以及介绍 基于Cucumber的自动化测试平台 常见Web漏洞之XSS,主要HTML与JS基础、XSS的基础知识与挖掘方法、XSS的利用 自动化测试框架以及测试思路 转载于:https://www.cnblogs.com/ITniu/p/5776005.html

以太坊是什么,为什么这么火?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 以太坊是什么 以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使…

Python 把字符串变成浮点数

from functools import reducedi {}di.update(zip(1234567890., [1,2,3,4,5,6,7,8,9,0,.])) def str2float(s): st s.split(.) st1 reduce(lambda x,y: 10*x y, map(lambda x: di[x], st[0])) try: st2 reduce(lambda x,y: (x*0.1 y), map(lambda x:…

msbuild FileSysExcludeFiles

<?xml version"1.0" encoding"utf-8"?> <!-- This file is used by the publish/package process of your Web project. You can customize the behavior of this process by editing this MSBuild file. In order to learn more about this pl…

python二分法求解_Python使用二分法求平方根的简单示例

这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例&#xff0c;具有一定的参考价值&#xff0c;可以用来参考一下。 对python这个高级语言感兴趣的小伙伴&#xff0c;下面一起跟随512笔记的小编两巴掌来看看吧&#xff01; 使用二分法&#xff08;Bisection Met…

智能合约语言Solidity Solidity API

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 智能合约语言Solidity Solidity API Solidity 是以太坊智能合约编程语言&#xff0c;阅读本文前&#xff0c;你应该对以太坊、智能合约有所了解&am…

PHP PSR-4 Autoloader 自动加载(中文版)

引用&#xff1a;https://segmentfault.com/a/1190000002521658 Autoloader 关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、“将会”("SHALL")、“不会”("SHALL NOT")、“应该”(&q…

236. Lowest Common Ancestor of a Binary Tree

原题链接&#xff1a;https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/description/ 代码实现如下&#xff1a; import java.util.LinkedList; import java.util.Queue; import java.util.Stack;/*** Created by clearbug on 2018/2/26.*/ public clas…

python中append的用法_Python 列表 append() 使用方法及示例

Python 列表 append() 使用方法及示例 append()方法将一个项目添加到列表的末尾。 append()方法将单个项目添加到列表的末尾。 append()方法的语法为&#xff1a;list.append(item) append()参数 该方法有一个参数item -要添加到列表末尾的项目 该项目可以是数字&#xff0c;字…

Web3与智能合约交互实战

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Web3与智能合约交互实战 以太坊中智能合约和web3交互实战 最近区块链、以太坊十分的火&#xff0c;所有就会有许多人去进入区块链这个工作&#x…

BZOJ 4595 SHOI2015 激光发生器 射线,线段,偏转

题目链接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id4595 题意概述&#xff1a; 给出一条射线和N条线段&#xff0c;射线遇到线段会发生反射&#xff0c;令入射角alpha&#xff0c;出射角beta&#xff0c;则betaalpha*phi_i&#xff08;即对于每条线段phi是…

实现一个 能在O(1)时间复杂度 完成 Push、Pop、Min操作的 栈

一&#xff0c;问题描述 实现一个栈&#xff08;元素遵守先入后出顺序&#xff09;&#xff0c;能够通过 min 方法在 O(1)时间内获取栈中的最小元素。同时&#xff0c;栈的基本操作&#xff1a;入栈(Push)、出栈(Pop)&#xff0c;也是在O(1)时间内完成的。 二&#xff0c;问题分…

华为js面试题_四面腾讯与华为,大厂前端面试真BT!

今年算是经历颇多的一年了&#xff0c;腾讯和华为都走了几趟&#xff08;一共面试了四个部门&#xff09;&#xff0c;拿了两个offer。&#xff08;开心.png&#xff09;&#xff0c;但还是挂了两次&#xff0c;有点遗憾。面试题总结面试完之后&#xff0c;赶紧总结了一波&…

你和区块链的距离就差这篇文章!

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 近年来&#xff0c;“区块链”逐渐成为热门话题&#xff0c;2018年各种关于区块链的行业资讯、投融资创业、技术和应用探索等集中爆发&#xff0c;…

Browser Security-超文本标记语言(HTML)

重要的4个规则&#xff1a; 1 &符号不应该出现在HTML的大部分节点中。 2 尖括号<>是不应该出现在标签内的&#xff0c;除非为引号引用。 3 在text节点里面&#xff0c;<左尖括号有很大的危害。 4 引号在标签内可能有危害&#xff0c;具体危害取决于存在的位置&…

NestedScrolling CoordinatorLayout

Android NestedScrolling机制完全解析 带你玩转嵌套滑动 一步一步深入理解CoordinatorLayout 源码看CoordinatorLayout.Behavior原理 转载于:https://www.cnblogs.com/cornellbox/p/8649891.html

python下载电脑版本不对_初学Python,因为某些原因电脑只能装3.1版本,现遇到这个小问题求解答...

#!/usr/bin/env python # -*- coding: utf-8 -*-任务: 假设用户输入的英文名字不规范&#xff0c;没有按照首字母大写&#xff0c;后续字母小写的规则&#xff0c; 请利用map()函数&#xff0c;把一个list&#xff08;包含若干不规范的英文名字&#xff09;变成一个包含规范英文…

以太坊是什么?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 以太坊是一个全新开放的区块链平台&#xff0c;它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。就像比特币一样&#xff0c;以…

前端相关html和css

#请参考http://www.cnblogs.com/pycode/p/5792142.html #html css 和js说明 ##1.什么是html&#xff1f; HTML(HyperText MarkUp Language)超文本标记语言,通过使用标记来描述文档结构和表现形式的一种语言,由浏览器进行解析,然后把结果显示在网页上&#xff0c;通俗的讲它就是…

编写五子棋的完整python代码_python制作简单五子棋游戏

本文实例为大家分享了python五子棋游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 #五子棋 ‘” 矩阵做棋盘 16*16 “” 打印棋盘 for for 游戏是否结束 开始下棋 while 游戏是否结束&#xff1a; 黑白交替 player0 p%20 1 p1 下棋动作一样 但是棋子不一样 ‘”…

新建JRapid项目(idea创建maven多模块项目)

1、第一步&#xff0c;新建项目&#xff08;Create New Project&#xff09; 2、parent项目&#xff0c;不勾选“Crate from archetype”&#xff0c;直接单击“Next”。 3、groupid填写com.codingwhy&#xff0c;ArtifactId填写JRapid。 4、Project name 填写 JRapid&#xff…