在ChainNode白皮书解密读书会01期活动中,比原链高级研究员刘秋杉带领大家领读「MOV:下一代去中心跨链 Layer 2 价值交换协议」白皮书,得到了很多粉丝的关注,其中gentledog的读书帖「关于MOV巡查官制度的几点思考」获得了读书活动的第一名. 正文如下: 根据白皮书,MOV中有巡查官一职防止侧链作恶.我就在想,这个制度是否存在漏洞呢?经过一番思考,似乎有以下几种攻击方式: 1.复制交易攻击 巡查官发现问题并在主链上发起一笔交易,有人获取这笔交易内容后,提高手续费或者直接向网络隐…
去中心化交换协议的发展 从Bitshare,Stellar到以太坊上的Etherdelta,Bancor,0x协议,去中心化交换协议也经过了好几代发展和很多模式的探索,每一代都通过前面的协议的痛点来进行改进和深化, 主要分为: 链上orderbook,链上结算; 链下orderbook,链上结算; 基于智能合约管理的资金池; 链上orderbook,链上结算 最早的 基于以太坊的去中心化交换协议的成功探索非Etherdelta莫属,曾一度占据去中心化交换市场的半壁江山.Etherdelta是较为…
11月24日,比原链CTO James参加了Go中国举办的Gopher Meetup杭州站活动,与来自阿里.网易的技术专家带来Kubernetes.区块链.日志采集.云原生等话题的分享.James向大家介绍了Go语言特性在区块链中的应用还分析了Go语言成为区块链主流开发语言的原因. 比原链的系统架构 在区块链系统中内核层是最核心的,他承接了区块验证.交易验证.节点维护.打包挖矿等重多职责.通信层掌管了区块链系统的网络服务,区块链的网络更像P2P的网络形式,他呈网状扩散,负责区块同步.交易同步.节…
用户模型是比原链在最初就需要确定的重要数据结构, 团队的选择还是聚焦在两种典型的模型系统中,Account模型和UTXO模型,和其他大多数区块链设计一样, 选择了模型就决定了协议层的重要实现,两种模型各有利弊,不同区块链针对想聚焦的场景自身会有判断. UTXO 的起源(来自高明的中本聪) 中本聪对比特币的设计,让整个世界进入了数字货币时代.比特币起源于中本聪,UTXO出自比特币.自然,UTXO来自高明的中本聪.UTXO的优点: 在版本控制方面的考虑,svn 是中心化的数据库保持一份账本,这和区块…
12月13日,比原链(Bytom)正式开源Bytom-JavaScript库,这个库是官方原生支持的新一代JavaScript SDK接口.JavaScript是世界上最多人使用的解释性脚本语言,JS库的开源,方便比原生态及相关开发者使用JS调用Bytom,也能吸引更多JavaScript生态开发者接入比原链进行开发,从而扩大比原链技术的使用人群和范围.开源项目地址:https://github.com/Bytom/bytom-js.欢迎大家使用!…
共识算法说起 区块链系统首先是分布式系统,而一致性是分布式系统的基础问题,要保证系统满足不同程度的一致性,则就要用到共识算法. 现在主流的算法有POW.POS.DPOS等等,比特币采用的POW共识算法运行9年之久,已被证明稳定可靠,然而因为巨大的硬件和能源消耗而饱受诟病,特别是专用矿机,在被淘汰之后就变成了废铁. POS和DPOS为了避免资源的浪费,直接采取抛弃计算的方式,通过持有证明和选举来进行共识,牺牲了一定准入性和去中心化.而比原链从另一个角度来切入和解决POW资源浪费的问题. 比原链共识…
如果说什么是区块链的灵魂,那一定是共识机制. 它是区块链的根基.无论公链或是联盟链,共识机制都从基础上限制了区块链的交易处理能力和扩展性. 2019年6月18日,Facebook 发布了自己 Libra 项目的白皮书,引发广泛关注.作为 Facebook 试图创造国际流通数字货币的重要项目,Libra 区块链采用的是 LibraBFT 共识机制,是一个为 Libra 设计的鲁棒的高效的状态复制系统.它基于一种新型的 BFT 共识算法,HotStuff. 就在 Facebook Libra 项目白…
系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存: 2G 硬盘: 40G 网络: 独立IP,2MB带宽 防火墙: 开启46657端口 安装系统依赖库 安装MinGW 官方链接:https://nuwen.net/mingw.html 下载链接:https://nuwen.net/files/mingw/mingw-16.1.exe 安装Golan…
系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存: 2G 硬盘: 40G 网络: 独立IP,2MB带宽 防火墙: 开启46657端口 节点服务器部署 安装系统依赖库 sudo apt-get update sudo apt-get install build-essential git unzip wget vim 下载并解压节点 wget ht…
0XX API错误 BTM000", "Bytom API Error" 非比原标准错误 BTM001", "Request timed out" API请求超时 BTM002", "Invalid request body" 非法的API请求体 1XX为网络错误 BTM103", "A peer core is operating on a different blockchain networ…
正如在上一篇文章中写道:"据我所知,现在RocketMQ还没有中文文档.我打算自己试着在github上开一个项目,自行翻译."我这几天抽空翻译了文档的前3个小节,发现翻译真的不是一件容易的事情,即便只是翻译这种语言复杂程度较低的技术文档. 翻译文档有很多好处,首先一点就是可以提升阅读英文文档的水平.现在很多开源项目都是国外的,即便是国内的开源项目,为了国际化影响也是先出英文文档,眼前的例子就是RocketMQ.然后,就是翻译文档分享出来,能够帮助一些英文水平还有待提高的开发者朋友们,让…
分布式应用 分布式应用 distributed application可以在给定时间(同时)在网络中的多个系统上运行,通过协调它们以快速有效的方式完成特定任务. (a), (b): a distributed system.  (c): a parallel system. 通过将分布式应用配置为在更多系统上运行,可以进一步减少完成任务的时间.分布式应用正在运行的一组系统称为集群,而在集群中运行的每台机器被称为节点. 分布式应用有两部分, Server(服务器)和 Client(客户端)应用程序…
给本体ONT技术社区的第一封公开信-涉及到不少区块链技术知识 共识是区块链的核心机制,在一系列的区块链的发展历史当中,PoW/PoS/BFT等系列的共识算法都在各自的应用场景发挥了不同作用.在本体的第一阶段,结合该阶段的业务特点,本体会以BFT系列共识为基础.在第一阶段的框架中,包括了一个稳定版的dBFT模块,并有一个全新的共识算法模块VBFT,这是一个结合PoS.VRF(Verifiable Random Function)和BFT的全新共识算法模块,第一阶段的测试网也会以VBFT为主进行测试…
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行.亦笔科技和越秀金科等金链盟成员机构. 代码仓库:https://github.com/FISCO-BCOS 近日,人民网慕课“区块链学院”正式上线.该学院课程由人民网慕课和FISCO BCOS开源社区联合打造,旨在整合协调区块链技术研究资源,提高学员单位在区块链技术领域的研发能力,探索.研发.分享适…
java书单推荐 转自 http://www.ituring.com.cn/article/211418 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 2.对着书上的代码自己敲的时候方便 “看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结…
我是如何从Java转型为Go区块链工程师 本文来自于一个比原链核心开发的陈述 前言 IT部落在加入比原链之前一直是做Java开发的,当初看到Go还有点犹豫,还怕过不了面试,结果是否掌握一门语言的考量确实没那么高,我顺利入职比原链,并在半个月内很快掌握Go并能够进行核心项目的开发. Java语言在较大的成熟项目上具有优势,但是在区块链开发中确实会有很多短处,比如在协程处理上,还有Java语言本身不够灵活等等,当然选择使用Go主要是因为其在区块链的流行程度. 区块链的流行语言 在区块链公链的开发圈子…
喜迎国庆期间,比原链在自己的移动端钱包Bycoin(下载地址)和google插件钱byone中推出了红包应用,在国庆期间深受大家好评. 那我们今天就来大概介绍一下比原红包,以及基于比原链开发dapp应用的一些流程梳理. 我们知道绝大多数公有区块链项目的TPS都只有几十上百.所以像红包这种及时到账的应用在公链上实现还是有一定的技术难度,但是比原链却在自己的侧链上率先推出了红包应用.比原侧链的TPS有数十万,整个红包应用程序的并发量有将近2000.所以在国庆期间数万人同时抢红包都完全没出现任何问题,…
不知大家发现没有 一些科技创业公司首选域名后缀 是.IO WHY? 因为给人一种很酷的感觉啊~ 譬如,极客届享誉盛名的盘古越狱团队官网:http://pangu.io 国内优质社区,简书--创作你的创作 官网:www.jianshu.io 超级悠闲好玩的手游-丛林大作战网站:http://mope.io (不同行业的网站都在用IO域名) 眨眼一看,感觉是一个"1"和"0"的组合,其实是[british indian ocean territory] 英属印度洋领地的…
比特币又开始下跌了,是狂欢尽头还是又一波调整,无从得知,背后的乱象会让监管者继续心烦,而这乱象对我来说,有时候会有些心寒. 你说我怎么可能想到,我一个写程序的人,突然有一天会发现,朋友圈里有一些搞技术的朋友,竟然也走向ICO传销的不归路 传销这两个字很刺耳吧,有人便涨红了脸:你凭什么污蔑区块链技术,凭空污人清白! 是的,你知道区块链的四种算法,而我却知17种人心,今天写下这篇文章,我想完全剥开ICO背后那阴暗残忍的内心. <一.区块链靠不靠谱>   完全OJBK     在这个开放的.自由化的…
链表的简单介绍 为什么需要线性链表 当然是为了克服顺序表的缺点,在顺序表中,做插入和删除操作时,需要大量的移动元素,导致效率下降. 线性链表的分类 按照链接方式: 按照实现角度: 线性链表的创建和简单遍历 算法思想 创建一个链表,并对链表的数据进行简单的遍历输出. 算法实现 # include <stdio.h> # include <stdlib.h> typedef struct Node { int data;//数据域 struct Node * pNext;//指针域 ,…
aelf是一个可扩展的去中心化云计算区块链平台,支持高性能合约并行执行.原生多链数据交互.存储使用高性能分布式数据库. aelf整个系统可以在windows.osx及linux运行,团队在osx环境下开发,基于.net core DAPP开发 1.安装.net core及protobuf https://docs.aelf.io/v/dev/getting-started/before 2.clone下来开发脚手架并编译运行 https://docs.aelf.io/v/dev/main 3.修…
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍bytom代码Api-Server接口服务 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 protobuf生成比原核心代码 protobuf介绍 Protocol buffers是一个灵活的.高效的.自动化的用于对结构化数据进行序列化的协议.Prot…
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在前几篇里,我们研究了比原是如何通过web api接口来创建密钥.帐户和地址的,今天我们继续看一下,比原是如何显示帐户余额的. 在Dashboard中,左侧有一栏名为"Balances"(余额),点击后,我们可以看到每个帐户当前有多少余额,如下图: 这又是怎么实现的呢?我们…
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在比原的dashboard中,我们可以为一个帐户创建地址(address),这样就可以在两个地址之间转帐了.在本文,我们将结合代码先研究一下,比原是如何创建一个地址的. 首先看看我们在dashboard中的是如何操作的. 我们可以点击左侧的"Accounts",在右边显示我…
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在前面的几篇文章中,我们一直在研究如何与一个比原节点建立连接,并且从它那里请求区块数据.然而我很快就遇到了瓶颈. 因为当我处理拿到的区块数据时,发现我已经触及到了比原链的核心,即区块链的数据结构以及分叉的处理.如果不能完全理解这一块,就没有办法正确的处理区块数据.然而它涉及的内容太多…
转载请注明出处,部分内容引自banananana大神的博客 ~~别说你不知道什么是树~~╮(─▽─)╭(帮你百度一下) 先来回顾两个问题:1,将树从x到y结点最短路径上所有节点的值都加上z 这也是个模板题了吧 我们很容易想到,树上差分可以以O(n+m)的优秀复杂度解决这个问题 2,求树从x到y结点最短路径上所有节点的值之和 lca大水题,我们又很容易地想到,dfs O(n)预处理每个节点的dis(即到根节点的最短路径长度) 然后对于每个询问,求出x,y两点的lca,利用lca的性质distanc…
接下来我要做的是用fabric sdk来做出应用程序,代替CLI与整个区块链网络交互.并且实现一个http API,向社区提供一个简单的接口,使社区轻松的与区块链交互. 官方虽然提供了Node.JS,Java,Go(最近刚出了python)等多种语言的SDK,但是很多SDK还不成熟和完善,有的甚至文档都没有.我使用Node.js的原因有三.1.官方例子使用的是Node.js SDK 2.以前我做以太坊智能合约开发的时候也用过Node.js 3.最后是因为Node.js实现一个http服务器是非常…
三个月前上面发了一个关于智群汇聚和问题求解研究的项目,我们公司做其中的一个子项目,就是基于区块链的科技信息联盟构建.利用区块链的去中心化特性,构建一个基于区块链的科技社区,以提供科技群智汇聚采集的基础承载平台.科技工作者可以发布自己的论文.问题,以及对他人问题的交互讨论.由于采用区块链技术,包括最新科技创想在内的讨论内容所形成的知识资产可以得到确权,不可编造.不可否认.联盟的参与节点是各个社区,所有节点维护相同的数据,所有附带作者的内容都附带作者的数字签名,知识产权的确认将变得非常容易.最后,数…
比特币又开始下跌了,是狂欢尽头还是又一波调整,无从得知,背后的乱象会让监管者继续心烦,而这乱象对我来说,有时候会有些心寒. 你说我怎么可能想到,我一个写程序的人,突然有一天会发现,朋友圈里有一些搞技术的朋友,竟然也走向ICO传销的不归路 传销这两个字很刺耳吧,有人便涨红了脸:你凭什么污蔑区块链技术,凭空污人清白! 是的,你知道区块链的四种算法,而我却知17种人心,今天写下这篇文章,我想完全剥开ICO背后那阴暗残忍的内心. <一.区块链靠不靠谱>   完全OJBK     在这个开放的.自由化的…
近年来,异军突起的“区块链”受到全行业的广泛关注,众多企业级用户在积极拥抱新技术的过程中却面临三大难题:性能.隐私和组织管理.如果不能很好地解决这些“顽固分子”,区块链技术就相对局限,很难发挥出应有的水平. 就在昨天,微软在纽约发布了企业级开源区块链基础平台Coco Blockchain Framework (Confidential Consortium Blockchain Framework ),可以一键解决企业区块链的三大挑战.该项目由微软亚洲研究院的区块链团队.Microsoft Az…