区块链
文章平均质量分 90
区块链斜杠青年
这个作者很懒,什么都没留下…
展开
-
腾讯破局区块链,先在供应链金融做好标杆
图:腾讯区块链业务总经理蔡弋戈在BAT纷纷下马杀向区块链之际,腾讯当属出手最猛的一家。此前有资料显示,供应链金融、ABS和虚拟数字资产将是腾讯2018年的几大主推目标。这次在“互联网+”数字经济峰会上,腾讯区块链的表态则完美映证了其中一点。在智慧金融分论坛的群访现场,腾讯区块链业务总经理蔡弋戈在答记者问时直截了当地表示:我们会先在供应链金融领域做好标杆,将区块链叠加之后,再来做深做透场景。供应链金...转载 2018-04-15 22:45:09 · 3282 阅读 · 0 评论 -
以太坊MPT原理,你最值得看的一篇
MPT的全称是Merkle Patricia Tree, 从这里可以看出MPT是Merkle Tree + Patricia Tree。接下来就就来讲讲这两种树: Merkle Tree 区块链P2P网络中,如果需要传输的数据很大,就需要同时从多个机器上下载数据,而且很可能有些机器是不稳定(可能下载速度很慢)或者不可信的(需要重新下载)。为了快速下载大块数据并验证,...原创 2018-04-18 16:13:47 · 10854 阅读 · 9 评论 -
浅谈区块链上的公司股权登记系统
前言: 实体物件数字化,区块链化一直是区块链的一个重要目标,但是受制于大部分实体物件只有得到法律保障才能确权,而法律又不认可区块链,因而实体物件上链几乎没有什么场景。下面的这篇文章给了我一个新的思路,从法律认可的数字技术(比如数字签名)入手,即可保证区块链上的物件受法律保护。法律认可用数字签名方式进行的股权登记,所以股权登记是可以上链,推广来说所有法律认可的数字签名的场景,都可以上链。作者简...转载 2018-04-14 01:05:56 · 3116 阅读 · 0 评论 -
以太坊(go-ethereum)编译调试环境搭建
以下步骤都是在MacOs上操作的,但同样适合Ubuntu,只是有几个小点有所不同,我会标注出来编译1. Go环境搭建 Mac: (brew是一个类似ubuntu apt-get的工具,用来在终端安装软件的)brew update && brew upgradebrew install gitbrew install mercurialbrew install go Ub...原创 2018-04-24 11:10:00 · 8260 阅读 · 2 评论 -
搭建以太坊私有网络
Geth安装MacOs: brew install ethereumUbuntu: sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum 创建临时私有链以创建初始账号genesis.json{ "config": { ...原创 2018-04-25 13:59:12 · 2550 阅读 · 0 评论 -
以太坊源码情景分析之数据结构
数据结构关系图 以太坊采用账号系统,因而相比比特币,它除了区块数据外还有账号数据。同时它有图灵完备的智能合约虚拟机,因而又多了一个状态数据,同时为了保留执行记录,又多了一个receipt数据Block: 由header和body构成,header里有三个trie的rootHash<hash, receipt>数据构造的receipt trie, header.recei...原创 2018-04-26 15:09:58 · 3317 阅读 · 0 评论 -
以太坊智能合约之语言汇编分析
开发环境Browser-solidity是一个solidity在线网页开发idehttps://ethereum.github.io/browser-solidity记得用chrome浏览器打开相关操作如下合约汇编分析 evm的变量存储是采用<key(variable), variable_value>的方式存储的,核心是key的计算,对于不同类型的变量,这个key的计算方法也...原创 2018-05-04 15:25:26 · 3178 阅读 · 0 评论 -
以太坊转账没到,怎么办
周围朋友,微信圈,自己都遇到过因为网络拥堵导致交易迟迟不被打包,眼看ico额度被抢完却无能为力, 那有没有一种方法让我们取消未打包的交易呢?答案是肯定的,以太坊系统本身提供了替换交易的能力,也就是用新交易取消旧交易。如何取消和重新发送交易 有几个流程 1)确保老交易还未被打包 2)获取老交易的nonce 3) 获取老交易的from 4)获取老交易的gasPr...原创 2018-05-05 08:47:36 · 11338 阅读 · 0 评论 -
[EOS源码分析]系列开始了
前面一个多月写了比特币源码情景系列(区块链1.0)和以太坊源码情景分析系列(区块链2.0),接下来很自然要分析号称“区块链3.0”的EOS的源码,欢迎大家和我一起学习。...原创 2018-05-18 10:20:16 · 4457 阅读 · 0 评论 -
EOS的BFT-DPOS共识机制的进化过程及背后逻辑
不知道是阅读量到了质变,还是后面引用的这篇文章太好,我终于对BFT-DPOS有了更深刻的理解POS:出块不再由算力说了算,由节点持有的stake说了算,解决了POW算力资源被大量无用消耗,但由于无条件信任代表,节点作恶非常容易 , 比如nothing at stake攻击DPOS:动态产生一定数量的代表比如21个节点代表,只由这21个节点生成区块,降低了作恶的概率,同时用事后惩罚限...原创 2018-05-18 09:34:15 · 6664 阅读 · 0 评论 -
2018全球石墨烯区块链开发者大会
石墨烯区块链是一个开源区块链框架平台,基于这个框架能更容易开发出一个新链原创 2018-05-05 15:33:03 · 2997 阅读 · 0 评论 -
[EOS源码分析]1.EOS源码编译运行
本文所有实践都是基于EOS dawn-v4.1.0,请切到该分支然后实践切换命令:git checkout dawn-v4.1.0 目前网络上都是针对老版EOS2.0源码编译的文章,我在mac上参考这些文章编译,最后发现根本就不对,最新版本只需一条命令(./eosio_build.sh,依赖库会自动安装的)即可。我根据这些文章手动安装的库还导致如下问题,最后大部分时间都花在...原创 2018-05-18 17:23:16 · 6504 阅读 · 2 评论 -
浅谈你们不知道的区块链游戏
你所不知道的区块链游戏1.0时代 Cryptokitties2017年11月Cryptokitties打开游戏DApp大门 Cryptokitties(加密猫)是第一个现象级的DApp,也是至今为止生命周期最长的游戏类DApp,创造了单日14000+日活跃地址记录(2017-12-09),一度造成以太坊交易堵塞,截止到4月30日总交易额为43067.04 ETH,约2亿人民币。从传统游戏玩家的角度...转载 2018-05-19 06:51:52 · 3139 阅读 · 1 评论 -
区块链共识协议最详细的分析
共识机制是区块链的核心基石,是区块链系统安全性的重要保障。区块链是 一个去中心化的系统,共识机制通过数学的方式,让分散在全球各地成千上万的节点就区块的创建达成一致的意见。共识机制中还包含了促使区块链系统有效运 转的激励机制,是区块链建立信任的基础。 区块链公链常用的共识机制有 POW、POS、DPOS、BFT 以及多种机制混合而成的共识机制等。共识是指系统节点达成一致的过程,而分布式...转载 2018-05-07 17:35:28 · 15268 阅读 · 2 评论 -
EOS智能合约为何选择Web Assembly(wasm)
比特币的程序非常简单,由解锁脚本和锁定脚本构成。以太坊有智能合约,有图灵完备的虚拟机EVM,但是指令也相对简单,且自成一套。这两种程序本质上都是脚本程序,即由程序翻译指令并执行,而不是由本地机器CPU读取指令并执行,效率不高。但选择解释性语言有它的合理性,就是他的高度兼容性,它对智能合约的执行设备(矿机)没有限制。 那EOS的智能合约语言Web Assembly(wasm)有什么来头...原创 2018-05-21 17:11:54 · 8412 阅读 · 1 评论 -
[EOS源码分析]4.EOS源码调试
在【EOS源码编译运行】一文已经详细描述了EOS源码编译。但是阅读代码,光跑代码是不够的,必须要可以调试。一搜发现网上没有相关的文章,只好自己探索折腾。不过很快发现其实EOS已经为我们做好了的,只需带相关参数即可,只是官网没有介绍,自然网上也没有相关的文章。 编译带调试信息的EOS 编译可以调试(带源码信息)的EOS程序,增加-o Debug参数即可,即$./eosi...原创 2018-05-25 18:37:03 · 4287 阅读 · 0 评论 -
[EOS源码分析]5.EOS编写HelloWorld智能合约及各种坑
本文所有实践都是基于EOS dawn-v4.1.0,请切到该分支然后实践切换命令:git checkout dawn-v4.1.0HelloWorld源码#include <eosiolib/eosio.hpp>#include <eosiolib/print.hpp>using namespace eosio;class hello :...原创 2018-05-26 15:04:34 · 5926 阅读 · 2 评论 -
[EOS源码分析]2.EOS账号钱包密钥等基本概念及操作实践
本文所有实践都是基于EOS dawn-v4.1.0,请切到该分支然后实践切换命令:git checkout dawn-v4.1.0cleos cleos应用程序是用户端命令行交互模块,用于解析用户命令,执行钱包,账号等如下操作 cleos依赖keosd和nodeos等应用程序处理这些操作。 当keosd没有启动时,cleos会自动启动该程序,对应的...原创 2018-05-22 14:48:18 · 5209 阅读 · 0 评论 -
以太坊智能合约balanceof的正确用法
balancof通常可以有两种用法: 查询余额 查询余额并空投币查询余额 一般会有如下代码 contract Test { address owner = msg.sender; mapping (address => uint256) balances; function balanceOf(address _owner) public ret...原创 2018-05-16 10:51:44 · 7123 阅读 · 0 评论 -
以太坊header.extra字段
一开始看到header.extra这个可变长度字段很是惊喜和诧异,因为它是变长的,那矿工不是可以随意写数据到这个字段,万一矿工作恶加入一个很大的数据,那其他节点不得累死?解决这一疑惑的唯一方式------看代码type Header struct { ... Extra []byte `json:"extraData" gencodec:"required"` ...}Head...原创 2018-05-16 11:11:24 · 3211 阅读 · 0 评论 -
[EOS源码分析]6.EOS特殊智能合约eosio
这里说的eosio智能合约不是泛指eos的智能合约,它是一个特殊的具体的合约。它本事可大了,我们一起来看看它有哪些功能负责智能合约部署 大家有注意到如下红色字体的log吗$ cleos set contract hello.code ../eos-contract/hello -p hello.codePublishing contract...executed...原创 2018-05-26 23:04:15 · 5340 阅读 · 0 评论 -
[EOS源码分析]8.EOS保留权限eosio.code深度解读
inline action简单来说就是action调用另外一个action, 具体来说就是一个智能合约的代码调用另外一个智能合约的函数。 eoiso.code这一特殊权限是dawn4.0后新增的内部特殊权限,用来加强inline action的安全性。比如alice调用智能合约contract1.test,一开始alice看过contract1.test的逻辑,发现它只是一个打印函...原创 2018-06-03 16:25:33 · 5329 阅读 · 0 评论 -
[EOS源码分析]9.EOS智能合约开发实践之数据库持久化
以太坊智能合约定义的全局变量的值是持久性的,就相当于智能合约一直在运行着。而EOS的智能合约更加接近我们平时使用的程序,每次执行action都相当于启动智能合约的一个新实例,一旦执行完,代码定义的变量就释放了,不会影响下一次执行环境。但是智能合约肯定需要有持久化存储的需求,比如永久保存智能合约代币的状态,不能代币转账执行完,代币的balance余额信息和转账前一样吧。这个持久化存储就是数...原创 2018-06-04 10:41:56 · 4331 阅读 · 0 评论 -
[EOS源码分析]3.EOS权限模型机制分析
cleos涉及account和contract的命令都会产生一个action,进而生成一个transaction,所有的action都需要指定permission权限 权限验证流程图如下 主要分为三个部分:permission声明:1~3 permission授权证明:4~9 权限检测:10~14,其中本地节点的nodeos和miner节点的nodeos都会执...原创 2018-05-23 17:08:03 · 5432 阅读 · 4 评论 -
EOS各种问题汇总,EOS入门必读
传送门 1.【EOS开发环境搭建源码编译】 2.【EOS源码调试】 3.【EOS智能合约开发实践】 4.【主网测试网络实践】EOS资源问题 消耗的CPU,NET资源何时恢复,目前是一天内不执行任何action,消耗的CPU就会恢复,但是它不是自动恢复的,所以一天后你执行get account会发现消耗的CPU量没有变化。但是你如果执行一个新的a...原创 2018-05-28 16:30:46 · 7450 阅读 · 6 评论 -
EOS主网上线了,怎么注册账号呢
我前面的文章也提到过,EOS主网不是唯一的,EMLG, EOSGO, IMEOS, EOSForce(EOS原力)几大社区都在负责主网启动,这几个都是主网的有力竞争者。其中EMLG你可以认为是具备最大共识的社区,且EMLG已经声明它只支持EOS这一唯一主网,就是我们今天谈的这个主网,所以这个主网最接近那个真正的“主网”。好了,接下来就是实践了。第一次注册账号 可以在这里...原创 2018-06-11 20:03:36 · 9145 阅读 · 2 评论 -
eosio.system智能合约部署遇到的问题
问题1 transaction took too longcleos set contract eosio eosio.systemReading WAST/WASM from eosio.system/eosio.system.wasm...Using already assembled WASM...Publishing contract...Error 3080006: transac...原创 2018-06-05 10:52:30 · 5949 阅读 · 0 评论 -
360发现EOS高危漏洞:可在节点远程执行任意代码
品途商业评论(ID:pintu360)讯,今日中午,360安全卫士官方微博发布消息称,360公司Vulcan(伏尔甘)团队发现了区块链平台EOS的一系列高危安全漏洞。经验证,其中部分漏洞可以在EOS节点上远程执行任意代码,即可以通过远程攻击,直接控制和接管EOS上运行的所有节点。据360方面介绍,由于区块链网络去中心化的计算特点。一个区块链节点实现上的安全漏洞,可能引发成千上万的节点遭到攻击。甚至...转载 2018-05-29 15:09:03 · 2119 阅读 · 0 评论 -
EOS主网刚上线,账号却没法转账, EOS账号那些事
该篇博文是基于最新主网测试网络的实验(和主网基本一致,就是币的拥有信息是假的)所以看到里面的金额也不要吃惊,都是浮云 最近EIDOS挖矿导致CPU价格飙升,因而导致用户可用的CPU激剧下降。这种情况下有几个方法,通过正规的钱包法币租赁CPU或者从交易所转账到租赁DApp实现CPU租赁。由于CPU价格太高,EOS不够的朋友可以通过REX来租赁CPU,即以付费的方式租赁CPU这...原创 2019-11-04 10:40:03 · 7005 阅读 · 3 评论 -
EOS主网上线中,如何参与这场游戏
EOS主网和我们自己建的私有网络没有本质区别。主要区别在于主网需要按规矩做几件事情 1)需要创建EOS币 2)按照以太坊EOS智能合约中的EOS持有量,在EOS系统中将对应的EOS分发到映射的账号里 3)公开链的genesis文件,服务节点信息,积极运营,推广这个链,让更多群体参与这个链 所以,理论上每个人的私链都是“主链”,最后获得最多认同,生态最好的链就...原创 2018-06-06 10:07:48 · 2258 阅读 · 0 评论 -
[EOS源码分析]10.EOS区块同步及生产
本文所有实践都是基于EOS v1.0.1,请切到该分支然后对比源码切换命令:git checkout v1.0.1提到区块生产和同步,我们肯定有几个疑问?节点同步 1)节点从哪里同步数据 节点如何知道哪些节点有最新的区块数据以同步数据 2)genesis文件不同的节点互联会怎么样? ...原创 2018-06-06 10:56:36 · 5503 阅读 · 0 评论 -
EOS测试网络JungleTestnet实践
目前EOS已经有主网在运行了,但是主网的实践是需要真金白银的,所以和以太ropsten等测试网络一样,EOS也有各种测试网络在运行中,比如JungleTestnet,接下来我就来教大家一起搭建连接同步测试网络的环境。 注册producer节点并获取部署脚本老的jungle已经失效,被jungle2替代, 下面的信息也更新为jungle2了(需要梯子)进入https://monito...原创 2018-06-06 11:40:47 · 9703 阅读 · 0 评论 -
EOS账号ram,cpu资源用尽了,啥都不能干了,怎么办
核心原因是抵押CPU这一操作本身需要CPU,所以就存在鸡生蛋,蛋生鸡问题。解决方法就是让其他人帮你抵押CPU或者法币租赁CPU,详情如下:问题重现case1 比如如下账号testtest1233,ram, cpu资源都没有了因此创建新账号失败于是想着购买cpu,结果失败那购买ram,却仍旧失败 所以进入了一个死循环,没有ram没法购买c...原创 2018-06-20 23:43:25 · 15023 阅读 · 0 评论 -
对话V神:区块链跨链技术大规模应用将在一到两年内爆发
这篇文章对各种垮链架构及实现分析的比较详细,大家可以看看近日,以太坊创始人Vitalik Buterin在接受Fintech媒体采访时表示:不同区块链之间共通的应用一定会出现。因为区块链是一个开放的系统,其中的一切都是加密认证的,开发出使一个区块链上发生的事件联动另一个区块链发生变化的应用其实是很容易的。很多方法可以实现这样的效果,比如哈希锁定和中继。过去的几年已经有很多尝试跨链加密货币交易的实验...转载 2018-06-06 15:53:31 · 2015 阅读 · 0 评论 -
以太坊源码情景分析之RPC服务
以太坊RPC服务和比特币差不太多,所以一两个月前看的时候就没记录下来。最近因为项目需要在以太坊上做点东西,发现有些竟然有点忘了,于是赶紧记录下来。 RPC服务数据结构及时序数据流向图如下: 结构图总体摘要 APIS对象保存了系统所有定义和配置的service对象,startRPC启动时会将这些service对象的所有函数反射出来,保...原创 2018-06-07 09:55:59 · 2132 阅读 · 0 评论 -
谈谈以太坊交易天价手续费(油费)
前一段时间在统计以太坊交易数据时发现一些很奇怪的交易,大量油费高达几百美金的交易,比如下面的这笔交易就耗费了188多美金 https://etherscan.io/tx/0x38d52226332458f5488b8947b49b43f8757a8d10a7c1b3882cbfcf2d4c64814e 一开始的印象是:gasUsed=gasLimit难道是这笔交易确实需...原创 2018-06-08 10:06:45 · 6051 阅读 · 4 评论 -
[EOS源码分析]7.EOS智能合约开发实践之合约调用合约(inline action)
首先,目前dawn-4.1, dawn-4.2使用inline action是会报如下错误 transaction declares authority '{"actor":"hello.code","permission":"active"}', but does not have signatures for it under a provided delay of 0...原创 2018-06-01 11:43:01 · 5980 阅读 · 0 评论 -
以太坊源码情景分析之以太坊低TPS值理论分析
TPS是指1秒钟能处理的交易数,由于以太坊出块速度是固定的,每15秒一个区块,因而以太坊的TPS值由一个区块里能够打包的交易数量决定。和比特币将区块大小限制在1M不同,以太坊对区块大小并没有限制,因而理论上一个区块可以打包任意多的交易,因此以太坊的TPS应该可以无限高啊,网络上以太坊的"低TPS评价"又是怎么来的呢? 数据是最不能说谎的,我们以事实为依据,我们先来看下“以太猫"盛...原创 2018-06-08 20:10:00 · 9484 阅读 · 0 评论 -
otcbtc交易所已经支持EOS提币,大家别再线下购买高价EOS了
EOS主网已经上线一段时间,但是EOS账号必须由一个已经存在的账号创建,因而创建账号就成了一个问题。目前很多第三方服务商提供无偿或者有偿账号创建服务,但这些账号也基本是僵死账号。因为这些新建的账号没有足够的EOS来继续操作。因而我们需要从其他地方转EOS到这些新建的账号。但是由于目前主流交易所都禁止了EOS的提币,我们没法将自己存在交易所的EOS转到我们的账号里。好在otcbtc交易所...原创 2018-06-24 13:35:16 · 10062 阅读 · 0 评论 -
EOS注册账号小白篇, 使用app注册EOS账号
我前面有关EOS账号相关的文章都相对专业一点,涉及编译,命令执行,都是专业人士才能操作的。但是有些伙伴是刚接触EOS,也希望能够玩玩EOS。今天就和大家分享一下使用App注册EOS账号的流程。最新更新,app免费注册账号已停止。 大家可以在这里注册:https://eosfavor.com/newaccount 注意: 如果遇到ram, cpu不够导致没法...原创 2018-06-25 09:51:48 · 11602 阅读 · 6 评论