Hyperledger
区块链研究实验室
更多信息请关注微信公众号:区块链研究实验室
展开
-
区块链研究实验室 | 缺乏共识:在Hyperledger智能合约中阻止达成共识的编程模式
Hyperledger智能合约(也称为链代码)可以使用Go,node.js以及其他熟知的编程语言(如Java)实现。使用广泛的编程语言编写智能合约有许多好处:它可以减少学习曲线,吸引更多开发人员,并支持使用来自这些社区的可靠的现有工具和库。虽然几乎所有用Go或node.js编写的程序都可以在Hyperledger Fabric上运行,但在开发此区块链平台时必须考虑几个关键因素。 达成共识...转载 2019-01-23 21:09:31 · 369 阅读 · 0 评论 -
区块链研究实验室 | 赋予DApps能力的NodeJS Oracle
基于以太坊的智能合约可能会变得非常耗时,因为以太坊的编程语言Solidity有点奇怪且有限。这就是为什么用Solidity编写的大多数智能合约都很简单,而业务逻辑是在外部实现的。Solidity成为如此受欢迎的现象,特别是因为它让人们相信他们可以编码以太坊。毕竟,智能合约并不复杂(考虑到平台限制,它不会太复杂)......但是,这与一个远非明显的语言结构相结合(你是否知道Solidity有...转载 2019-03-12 16:44:22 · 189 阅读 · 0 评论 -
区块链研究实验室 | 探讨一下区块链中随机数安全问题(下)
基础合约参与生成第二种方法是在区块链中最符合分布式思想的一种,他需要区块链系统中不同的参与者进行合作才能生成伪随机数。具体的算法我们讲解如下:首先,在随机数生成时,为了能够达到生成随机数的安全特性,我们需要使用密码学的理论来充实我们的概念。首先我们来看承诺和打开((Commitment & Open)。在承诺与打开的应用场景下,倘若此处存在两个用户A与B。他们两个人并没有面对面...转载 2019-03-18 14:39:40 · 322 阅读 · 0 评论 -
2019海纳学院,众多区块链综合技术性人才等着你
注:本活动是线上为主,具体参与方式,详看一下内容区块链社群有很多…各式各样的社群和课程的出现,靠谱的很少,广告却很多...我知道,你,一直想要个靠谱的社群。今年我们只做“靠谱”的区块链社群,BplusLab社群推出海纳学院,学院的高能互动,大咖面对面等着你。在这里,你将获得:1、大咖学堂课程邀请了各界相关大咖为大家带来全新的技术,产品,IP大咖,让你和大咖零距离接触...原创 2019-03-25 20:04:40 · 342 阅读 · 0 评论 -
区块链研究实验室 |Plasma 以太坊链下可扩展性框架实战part I
扩展区块链有两种通用方法,即第一层和第二层解决方案。前者是所谓的链上可扩展性解决方案,其基础层和区块链网络的协议级别从底层上重新构建,例如分片和以太坊2.0中的共识协议(PoW到PoS)的转换。虽然后者是所谓的脱链可扩展性解决方案,主要用于加密经济学重组而不是在特定网络的系统核心上重新设计或重新构建,为此它将其功能扩展到现有的基础层,如闪电网络和Plasma将在以下段落中深入探讨。plasm...转载 2019-04-02 15:40:27 · 299 阅读 · 0 评论 -
没有大神的技术社群,我如何做到高达75%的沟通率?
一、前言相信很多运营的伙伴,在运营社区都会在网络上寻找相关运营技巧,可能会看到社区运营终极秘诀,还有各大高大上名词,“鱼塘效应”、“阿米巴经营模式”等等。我的天啊,这些都是什么东西?坦白,我也和大家有一样的经历。但不排除这里面会存有比较优秀值得参考的作品。而我为什么要写这一篇文章呢?主要的原因是我想把社群运营的每一步给记录下来,同时分享出来与大家一起探讨关于区块链技术社群的运营方法...转载 2019-05-04 18:42:25 · 149 阅读 · 0 评论 -
区块链研究实验室| Polkadot波卡链:验证节点的安全性和可用性方面
在本文中,我将在验证节点的安全性和可用性方面讨论两个主题。我知道,这里介绍的技巧仅仅涵盖了POS验证节点的“安全性和可用性”冰山一角。不过,我发现它们对于您的测试实例提供最小的安全性和可用性是有用的。保护验证节点在互联网上公开区块链或加密服务会吸引攻击者试图攻击您的系统。所以最好准备好采取任何措施来降低被危害的风险。在运行我的polkadot验证节点时,我观察到大量的攻击者试图强行使用...转载 2019-05-14 17:17:25 · 694 阅读 · 0 评论 -
区块链研究实验室 | Plasma Cash区块结构的规范
Plasma Cash推出的最重要的改进之一是“light proofs”。Plasma 结构要求用户下载整个Plasma 链,以确保他们的资金安全。使用Plasma Cash,他们只需下载与自己资金相关的Merkle树枝。这是通过引入一个新的事务有效性条件来实现的:特定CoinID的事务只在Merkle树的CoinIdth叶中有效。因此,只下载该分支就足够确信该硬币不存在有效的交易。这...转载 2019-05-24 16:50:21 · 144 阅读 · 0 评论 -
区块链研究实验室 | 关于区块链治理:协调,层和结构完整性-part II
Melon — Council Authority甜瓜-理事会将投资基金视为一个智能合约系统,最近,Meloport发布了他们的治理提案,以有效地将决策交给使用该协议的利益相关者。他们对该协议的第一次迭代预计将在2月份发布,同时还将启动其治理过程。这将伴随着许多项目的实现-现在它们正在交付一个分布式协议,决策不能依赖于一个集中的团队,这也会导致责任和法律风险。比如说,你可能仍然对存有有漏洞...转载 2019-05-22 16:16:12 · 131 阅读 · 0 评论 -
区块链研究实验室 | 关于区块链治理:协调,层和结构完整性-part I
TLDR 治理是一个身份、合法性、技术和现实的游戏。 了解区块链的治理结构与了解其运作方式同样重要。 代币管理依赖于基础协议治理。 MakerDAO,0x,Aragon和Melonport都是忽略了治理。 代币治理面临着财权政治、不良分配和投机者问题。 弱基协议治理将导致弱令牌治理。 治理实际上归结为一个有趣的结果。 ...转载 2019-05-17 16:09:35 · 309 阅读 · 0 评论 -
区块链研究实验室 | 理解广义Plasma技术结构-part I
简述目前大多数开发人员只是想要简单易用的方法来扩展他们的dapps。人们需要好的工具和文档齐全的库。他们当然不希望从头开始构建整个区块链来运行单个应用程序。因此,我们开始创建一个平台,使构建可扩展的区块链应用程序变得容易,而无需成为Plasma专家。我们最终得到了一个通用Plasma链,你可以在上面构建应用程序(或“plapps”)。听起来怪怪的?第2层:状态声明...转载 2019-05-30 11:28:36 · 154 阅读 · 0 评论 -
区块链研究实验室 | plasma-core实现的架构
Plasma是一系列协议,允许个人轻松部署高吞吐量,安全的区块链。即使“Plasma”完全恶意行事,以太坊主链上的智能合约也可以确保用户的资金安全。这消除了对像侧链那样的可靠挂钩机制的需要。Plasma是非监管的,允许在不牺牲安全性的情况下确定可扩展性的优先级。我们设想了许多Plasma的未来,让用户可以自由选择交易地点。因此,在发布我们的Plasma实施的同时,我们创建了PlasmaRegi...转载 2019-05-23 20:43:14 · 213 阅读 · 0 评论 -
区块链研究实验室| 基于HyperLedger Fabric架构构建ERC20令牌 part II
setter函数完成getter调用后,让我们研究simpletoken中提供的setter函数。在进行这些交易之前,您需要满足认可政策,在该帐户中,您将在此处看到一些额外的字段。第一次调用setter到特定对等体时也需要一些时间,之后它几乎立即返回结果。 此外,CLI的配置也设置为Org1 peer0,您可以使用以下命令检查:您可以通过运行以下命令更改为peer0,Org2:...转载 2019-06-21 09:43:13 · 328 阅读 · 0 评论 -
区块链研究实验室 | 探讨一下区块链中随机数安全问题(上)
前言“随机数”在计算机程序中并不少见,开发人员也会经常使用随机数进行数值的模拟、预测。在C++程序里,我们经常使用一定的种子来进行随机数的生成过程。在计算机程序中,随机数可以被分为真随机数与伪随机数。而真随机数是十分难实现的,例如使用筛子、转轮等等。对于伪随机数来说,我们又分为: 强伪随机数:难以预测的随机数,常用于密码学。 弱伪随机数:易于预测的随机数。 随机数有3个特性...转载 2019-03-14 15:26:55 · 446 阅读 · 0 评论 -
FaaS +区块链:使用以太坊NodeJS oracle与无服务架构连接
为什么选择FaaS + Blockchain无服务架构?早在2018年8月,Forrest Brazeal接受了前AWS Lambda GM Tim Wagner的采访,名为“从无服务架构到区块链”。他们讨论了合并无服务器计算和区块链技术的好处。这是两个主要陈述:我真的认为有两种颠覆性技术正在改变我们建立和运营业务的方式。当然,其中一个是无服务架构。我认为第二种技术非常具有破坏性,并具...转载 2019-01-28 14:46:10 · 500 阅读 · 0 评论 -
区块链研究实验室-区块链链下数据存储解决方案
随着这种区块链越来越受欢迎,越来越多的信息被存储在链中,以至于其性能受到阻碍。这就是链下存储的用武之地。 关于链存储的问题: 一旦区块链变得流行并且网络内的连接越来越多,数据传输的增加就变得不可避免。当存储在链上的数据相对较小并且请求相对较低时,网络能够轻松地处理事务(以及存储发送者细节的一些开销空间)。一旦大量数据被抛入混合中,并且请求和事务量增加,问题就开始发生。每个节点最终都...转载 2019-01-30 10:56:55 · 2152 阅读 · 0 评论 -
区块链研究实验室-汽车共享权益智能合约开发教程(下)
分配所有者setOwners函数接收一组地址,使其成为汽车的所有者。 调用此功能后,汽车将拥有一个或多个车主,这些车主将分享相同的汽车共享。这个功能是由carSigner调用的,我还不知道它是否最佳,但我们假设这是在经销商处设置的。 所以,正如你现在必须想到的那样,系统的很大一部分仍然需要大量的人机交互和协调。 在这种情况下,经销商将负责让这些所有者支付他们的部分交易,然后让汽车注册其...转载 2019-02-17 13:54:11 · 843 阅读 · 0 评论 -
区块链研究实验室-解析以区块链为持久层的CQRS模型作用(下)
CQRS简述命令查询的责任分离Command Query Responsibility Segregation (简称CQRS)模式是一种架构体系模式,能够使改变模型的状态的命令和模型状态的查询实现分离。因此,我们将使用命令模型来更新状态,使用查询模型来获取状态。CQRS通常与 Event-Sourcing一起使用,但不一定要一起使用。 Event-Sourcing确保在事件对象中...转载 2019-02-11 17:30:59 · 372 阅读 · 0 评论 -
区块链研究实验室 | 使用Python编写Tendermint应用程序
在计算机科学中,状态机指的是读取一系列输入的东西,并且基于这些输入,将转换到新状态。使用Tendermint的状态机,我们从“创世状态”开始。这类似于在网络上发生任何事务之前的空白状态。执行事务时,此创世状态转换为某种最终状态。在任何时间点,这个最终状态代表了Tendermint的当前状态。开发人员应该定义容忍故障的初始状态和该状态下的允许转换集,系统确保每个副本以相同的状态开始,并且...转载 2019-02-22 17:03:01 · 384 阅读 · 1 评论 -
区块链研究实验室-君士坦丁堡硬分叉后的可重入漏洞-part2
这个代码的问题何在?下面代码是君士坦丁堡硬分叉之前没有可重入漏洞的一个代码段,它会在分叉后导致可重入性。我们的Github页面(https://github.com/ChainSecurity/constantinople-reentrancy)展示了包括攻击合约在内的完整源代码。这个代码会被一种意想不到的方式攻击:它模拟了一个安全的资金共享服务。双方可以共同接收资金,决定如何分成,如...转载 2019-02-27 15:58:02 · 312 阅读 · 0 评论 -
区块链研究实验室 | 以太坊RNG(随机数生成器)解决方案(RANDAO & VDF)
RNG是Random Number Generator,也就是随机数生成器。在现实世界中要产生真正的随机数,其实不容易,各个语言的library所提供的随机数,都是伪随机数,是可以预测的,不过在大部分的应用场域,都是可以应付的。区块链的世界,面对的是全世界的人,怎么产生不可预测的随机数,就很重要,不然就可以被有心人所操作。例如EthereumBeacon chain(POS chain)中的v...转载 2019-02-18 15:50:01 · 1796 阅读 · 0 评论 -
区块链研究实验室-汽车共享权益智能合约开发教程part1
在本文中,我将介绍汽车共享智能合约的基本知识,其自主权由几个人共享。该车将可供任何第三方租用当天,然后,一旦租赁期结束,它将分配其收益给业主。 关于这款智能汽车及其合同的一些假设和考虑因素,对于这种分析,我将做出一些假设,这将简化智能合约的逻辑。 首先,我将假设汽车以某种方式运行一个允许其签署交易的完整节点。汽车将拥有一个帐户/地址,该帐户/地址将成为与不同用户交互的智能合约的“...转载 2019-02-13 10:40:50 · 572 阅读 · 0 评论 -
区块链研究实验室 | 深入解析Solidity合约
这次主要讨论Solidity背后的运作原理,到底一个Solidity合约经过编译到部署上链之间的过程是如何运作的,以及后续呼叫合约时的流程,知道得越多就越能写出安全可靠的合约。我们都知道一个Solidity程序代码写完之后,必须将它编译成byte code,才能透过交易部署至链上,变成所谓的智能合约。我们以下面的EtherDice.sol为例子。当EtherDice.sol经过编译之...转载 2019-02-24 12:58:30 · 541 阅读 · 0 评论 -
区块链研究实验室 |以太坊智能合约安全-编程教程
目标:编写一个具有明显漏洞的智能合约,攻击者发动攻击,同时锁定攻击者的资金。预期的攻击者行为:攻击者将发送0.1以太,以便从智能合约中获得所有资金。步骤1:查找已验证的新创建的合同攻击者将使用网络爬虫获取所有新创建的合同,并查看合同是否已经过验证。 一旦合同被验证,它将显示智能合约源代码。步骤2:我们来做一个简单的数学计算让我们回顾一下。目前,Solid...转载 2019-02-28 15:24:05 · 287 阅读 · 0 评论 -
区块链研究实验室-君士坦丁堡硬分叉后的可重入漏洞-part1
这两天关于以太坊延迟君士坦丁堡升级的报导铺天盖地,可惜到现在都没看到一篇能把这个漏洞讲透彻的,就由我来给大家解密吧。即将到来的以太坊君士坦丁堡升级将降低部分SSTORE指令的gas费用。然而,这次升级也有一个副作用,在Solidity语言编写的智能合约中调用address.transfer()函数或address.send()函数时存在可重入漏洞。在目前版本的以太坊网络中,这些函数被认为是可重...转载 2019-02-26 16:03:57 · 410 阅读 · 0 评论 -
区块链研究实验室 | 如何基于tendermint实现fabric的拜占庭容错排序
前言HyperLedger Fabric作为一个架构灵活的企业级区块链平台,正在被越来越多的企业用于生产环境。fabric orderer服务过程分析我们先以最简单的solo为例,看一下Fabric的orderer节点接收排序请求后的主要处理逻辑。首先,orderer的排序服务需要实现consensus包的Consenter(排序引擎)interface,Consenter接口只...转载 2019-02-21 10:31:11 · 439 阅读 · 1 评论 -
区块链研究实验室| HyperLedger Fabric架构构建ERC20令牌 part I
由于其高TPS和作为区块链作为服务平台的行为,许多新创新者正在选择Hyperledger来部署他们的区块链业务。因此,在本博客中,我们将讨论使用node.js在Hyperledger中创建基于erc20的令牌链代码的方法。为何选择ERC20?ERC20是以太坊广泛测试和接受的,将其整合到Hyperledger中,可以轻松地为基于Hyperledger的任何令牌编写安全且可扩展的链码。我...转载 2019-06-21 09:43:03 · 408 阅读 · 0 评论