电子发烧友网 > 区块链 > 正文

区块链智能合约受到了攻击该怎么办

2019年11月22日 14:56 次阅读

如果你在数字货币世界待过足够时间,也许你听说过1或2个智能合约攻击时间,这些攻击导致了几千万美元的盗窃损失。最著名的攻击是DAO事件,这是数字货币世界最受期待的项目之一,同时也是智能合约的改革。虽然很多人听说过这些攻击,但是很少人知道到底发生了什么,是怎么发生的,以及如何避免这些错误。

智能合约是动态的,复杂的以及难以置信地强大。虽然他们的潜力是很难想象,但是也不可能一夜之间就成为了攻击的对象。也就是说,对于往后的数字货币,我们可以从之前的错误中学到经验,然后一起成长。虽然DAO是已经发生的事情,但是这对于开发者,投资者,以及社区成员对于智能合约攻击来说,都是一个很好的例子。

今天,我想和大家聊聊从DAO事件中,我们学到的3件事。

攻击#1:重入攻击

当攻击者通过对目标调用提款操作的时候,重入攻击就会发生,就好像DAO事件一样。当合约不能在发出资金之前更新状态(用户余额),攻击者就可以连续进行提取函数调用,来获得合约中的资金。任何时候攻击者获得以太币,他的合约都会自动地调用反馈函数,function (),这就再次调用了提现合约。这时候,攻击就会进入递归回路,这时候这个合约中的资金就会转入攻击者。因为目标合约都在不停地调用攻击者的函数,这个合约也不会更新攻击者的余额。当前的合约不会发现有任何问题,更清楚地说,合约函数中包含反馈函数,当合约收到以太币和零数据的时候,合约函数就会自动执行。

攻击流程

1.攻击者将以太币存入目标函数

2.目标函数就会根据存入的以太币而更新攻击者的约

3.攻击者请求拿回资金

4.资金就会退回

5.攻击者的反馈函数生效,然后调用提现功能

6.智能合约的逻辑就会更新攻击者的余额,因为提现又被成功调用

7.资金发送到攻击者

8.第5-7步重复使用

9.一旦攻击结束,攻击者就会把资金从他们自己的合约发送到个人地址

1*UeDgMZo2n0skHzgkl352zQ

重入攻击的递归回路

很不幸地是,一旦这个攻击开始,无法停下。攻击者的提现功能会被一次次地调用,直到合约中的燃料跑完,或者被害者的以太币余额被消耗光。

区块链智能合约受到了攻击该怎么办

代码

下面就是DAO合约的简单版本,其中会包括一些介绍来为这些不熟悉代码/ solidity语言更好地理解合约。

contract babyDAO {

/* assign key/value pair so we can look up

credit integers with an ETH address */

mapping (address => uint256) public credit;

/* a funcTIon for funds to be added to the contract,

sender will be credited amount sent */

funcTIon donate(address to) payable {

credit[msg.sender] += msg.value;

/*show ether credited to address*/

funcTIon assignedCredit(address) returns (uint) {

return credit[msg.sender];

/*withdrawal ether from contract*/

funcTIon withdraw(uint amount) {

if (credit[msg.sender] >= amount) {

msg.sender.call.value(amount)();

credit[msg.sender] -= amount;

如果我们看下函数withdraw(),我们可以看到DAO合约使用address.call.value()来发送资金到msg.sender。不仅如此,在资金发出后,合约会更新credit[msg.sender]的状态。攻击者在发现了合约代码中的问题,就能够使用类似下面的ThisIsAHodlUp {}来将资金转入contract babyDAO{}合约。

import ‘browser/babyDAO.sol’;

contract ThisIsAHodlUp {

/* assign babyDAO contract as "dao" */

babyDAO public dao = babyDAO(0x2ae...);

address owner;

/*assign contract creator as owner*/

constructor(ThisIsAHodlUp) public {

owner = msg.sender;

/*fallback function, withdraws funds from babyDAO*/

function() public {

dao.withdraw(dao.assignedCredit(this));

/*send drained funds to attacker’s address*/

function drainFunds() payable public{

owner.transfer(address(this).balance);

需要注意地是,这个后退函数,function(),会调用DAO或者babyDAO{}的提现函数,来从合约中盗取资金。从另个方面来说,当攻击者想要把所有偷窃来的资金赚到他们的地址,drainFunds()功能会被调用。

解决方案

现在,我们应该清楚重放攻击会利用两个特别的智能合约漏洞。第一个是当合约的状态在资金发出之后,而不是之前进行更新。由于在发出资金前无法更新合约状态,函数就会在中间计算的时候被打断,合约也认为资金其实还没有发出。第二个漏洞就当合约错误地使用address.call.value()来发出资金,而不是address.transfer() 或者 address.send()。这两个都受限于2300gas,只记录一个事件而不是多个外部调用。

contract babyDAO{

....

function withdraw(uint amount) {

if (credit[msg.sender] >= amount) {

credit[msg.sender] -= amount; /* updates balance first */

msg.sender.send(amount)(); /* send funds properly */

攻击2:下溢攻击

虽然DAO合约不会让受害者掉入下溢攻击,我们能够通过现有的babyDAO contract{}来更好地理解这些攻击为什么会发生。

首先,我们需要理解什么是256单位制。一个256单位制是由256个字节组成。以太坊的虚拟机是使用256字节来完成的。因为以太坊虚拟机受限于256字节的大小,所以数字的范围是0到4,294,967,295 (22??)。如果我们超过这个范围,那么数字就会重置到范围的最底部(22?? + 1 = 0)。如果我们低于这个范围,这个数字就会重置到这个范围的顶端(0–1= 22??)。

当我们从零中减去大于零的数,就会发生下溢攻击,导致一个新的22??数集。现在,如果攻击者的余额发生了下溢,那么这部分余额就会更新,从而导致整个资金被盗。

攻击流程

攻击者通过发出1Wei到目标合约,来启动攻击。

合约认证发出资金的人

随后调用1Wei的提现函数

合约会从发送者的账户扣除的1Wei,现在账户余额又是零

因为目标合约将以太币发给攻击者,攻击者的退回函数被处罚,所以提现函数又被调用。

提现1Wei的事件被记录

攻击者合约的余额就会更新两次,第一次是到零,第二次是到-1。

攻击者的余额回置到22??

攻击者通过提现目标合约的所有资金,从而完成整个攻击

代码

/*donate 1 wei, withdraw 1 wei*/

function attack() {

dao.donate.value(1)(this);

dao.withdraw(1);

/*fallback function, results in 0–1 = 2**256 */

function() {

if (performAttack) {

performAttack = false;

dao.withdraw(1);

/*extract balance from smart contract*/

function getJackpot() {

dao.withdraw(dao.balance);

owner.send(this.balance);

解决方案

为了防止受害人陷入下溢攻击,最好的方法是看更新的状态是否在字节范围内。我们可以添加参数来检查我们的代码,作为最后一层保护。函数withdraw()的首行代码是为了检查是否有足够的资金,第二行是为了检查超溢,第三个是检查下溢。

contract babysDAO{

....

/*withdrawal ether from contract*/

function withdraw(uint amount) {

if (credit[msg.sender] >= amount

&& credit[msg.sender] + amount >= credit[msg.sender]

&& credit[msg.sender] - amount <= credit[msg.sender]) {

credit[msg.sender] -= amount;

msg.sender.send(amount)();

需要注意,就像我们之前讨论,我们上面的代码是在发出资金之前更新用户的余额。

攻击#3:跨函数竞争条件

最后要说的,就是跨函数竞争攻击。就像在重放攻击中所说,DAO合约不能正确的更新合约状态,并且可以让资金被盗窃。DAO问题和外部调用中的部分原因是跨函数竞争条件攻击的潜在原因。虽然以太坊中所有的转账是线性发生(一个在另一个后面), 外部调用(另一个合约或者地址的调用)如果没有被合理管理,就会成为灾难的导火线。在现实世界中,他们是完全可以避免的。当两个函数被调用并且分享同个状态,跨函数竞争条件攻击就会发生。这个合约就会想到,现在有两个合约状态存在,但是现实是只有一个真正的合约状态存在。我们不能同时获得X = 3和X = 4这两种结果。 让我们用一个例子来说明这个内容。

攻击和代码

contract crossFunctionRace{

mapping (address => uint) private userBalances;

/* uses userBalances to transfer funds */

function transfer(address to, uint amount) {

if (userBalances[msg.sender] >= amount) {

userBalances[to] += amount;

userBalances[msg.sender] -= amount;

/* uses userBalances to withdraw funds */

function withdrawalBalance() public {

uint amountToWithdraw = userBalances[msg.sender];

require(msg.sender.send(amountToWithdraw)());

userBalances[msg.sender] = 0;

上面的合约有2个功能 – 一个是可以转移资金,另一个是提现资金。我们假设攻击者调用了函数transfer(),然后同时使用外部调用函数withdrawalBalance()。userBalance[msg.sender]的状态通过2个不同的方向被抽出。用户的余额还没有被设为0,但是尽管资金已经被提取,攻击者也能够转移资金。这样情况下,合约可以让攻击者使用双花,这也是区块链技术想要解决的问题之一。

注意:如果有函数分享状态,跨函数竞争条件攻击就会在多个合约中发生。

-在调用外部函数之前,应该完成所有的内部工作

-避免发生外部调用

-在不可避免地时候,使用外部函数“不可信”

-在外部调用不可避免的情况下,使用互斥

根据下面的合约,我们可以看到一个例子1) 在完成外部调用之前,完成内部工作。2)将所有外部调用都设为“不可信”。我们的合约会让资金发送到一个地址,并且允许用户一次性将资金存入合同。

contract crossFunctionRace{

mapping (address => uint) private userBalances;

mapping (address => uint) private reward;

mapping (address => bool) private claimedReward;

//makes external call, need to mark as untrusted

function untrustedWithdraw(address recipient) public {

uint amountWithdraw = userBalances[recipient];

reward[recipient] = 0;

require(recipient.call.value(amountWithdraw)());

//untrusted because withdraw is called, an external call

function untrustedGetReward(address recipient) public {

//check that reward hasn’t already been claimed

require(!claimedReward[recipient]);

//internal work first (claimedReward and assigning reward)

claimedReward = true;

reward[recipient] += 100;

untrustedWithdraw(recipient);

我们可以看出,这个合约的首个函数在发送资金到用户的合约/地址的时候,就会发生外部调用。同样地,奖励函数在发送一次性奖励的时候,也会使用提现函数,因为这也是不可信的。同样重要地是,合约需要执行所有内部工作。就好像重入攻击,函数untrustedGetReward()会在允许提现之前,让用户获得一次性的奖励,从而防止跨函数竞争条件攻击。

在真实世界,智能合约不需要依赖于外部调用。事实上,外部调用在很多情况下,在工作环境中都几乎不可能发生的。由于这个原因,使用互斥体来“定”一些状态,并且让拥有者有能力去改变状态,可以帮助防止这类灾难。虽然互斥体非常有效,但是当用于多个合约的时候,都会变的很棘手。如果你使用互斥体来防止这类攻击,你需要很仔细地确保没有其他方法来锁定,或者永远不会释放。如果使用互斥体的方法,在写入智能合约的时候,你需要保证你完全理解潜在的危险。

contract mutexExample{

mapping (address => uint) private balances;

bool private lockBalances;

function deposit() payable public returns (bool) {

/*check if lockBalances is unlocked before proceeding*/

require(!lockBalances);

/*lock, execute, unlock */

lockBalances = true;

balances[msg.sender] += msg.value;

lockBalances = false;

return true;

function withdraw(uint amount) payable public returns (bool) {

/*check if lockBalances is unlocked before proceeding*/

require(!lockBalances && amount > 0 && balances[msg.sender]

>= amount);

/*lock, execute, unlock*/

lockBalances = true;

if (msg.sender.call(amount)()) {

balances[msg.sender] -= amount;

lockBalances = false;

return true;

以上,我们可以看到合约mutexExample()会有私人锁定状态,来实行deposit()函数功能和withdraw()函数。锁定会防止用户能够在所有的初步调用完成之前,成功完成withdraw()调用,可以防止任何种类的跨函数竞争条件攻击。

最后的结果

力量越大,责任越大。虽然区块链和智能合约技术每天都在革新,但是风险依然很高。攻击者从没有放弃去寻找机会来攻击这些合约。这取决于我们来保证,我们可以从之前项目的问题中学习经验,来让我们获得成长。希望通过这篇文章,以及其他系列文章,你可以更明白智能合约攻击。

责任编辑:ct

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

人人都懂区块链(更新中)

人人都懂区块链系列是一套精心录制的一系列针对于零基础朋友,致力于让更多人了解区块链技术,比特币,以太坊,莱特币等数字货币
发烧友学院发表于 2018-03-16 00:00 6954次阅读
人人都懂区块链(更新中)

汽车撞上区块链会发生什么

尽管区块链技术在汽车领域的营运还停留在初期,相关的应用还不成熟,但不可否认区块链技术将会对汽车领域带....
发表于 2019-11-22 14:59 0次阅读
汽车撞上区块链会发生什么

探讨云计算、5G、无人机以及区块链技术如何为产业...

新兴技术正在给各个产业带来巨大的变革,这背后,技术与产业的关系并非是单向的输出,而是二者相辅相成,相....
发表于 2019-11-22 14:48 15次阅读
探讨云计算、5G、无人机以及区块链技术如何为产业...

中国的5G商用正加速前行,技术应用将有更大的施展...

“5G用于物联网的发展需要循序渐进,物联网的关键在物而不在网,跨行业合作是一个持续的过程,5G成为各....
发表于 2019-11-22 14:40 21次阅读
中国的5G商用正加速前行,技术应用将有更大的施展...

全方位安防:中控智慧生物识别与计算机视觉

在这个安防“黑科技”交互盛宴里,中控智慧作为参展商重磅亮相会展中心1号馆B37号展位,以“生物识别与....
发表于 2019-11-22 14:25 14次阅读
全方位安防:中控智慧生物识别与计算机视觉

比特币的基本原理解析

假设我们回到孩童时代,我们正坐在学校操场上。我们拿出口袋妖怪(Pokemon)的交易卡牌,并决定我们....
发表于 2019-11-22 11:26 27次阅读
比特币的基本原理解析

区块链将如何改变保险业

区块链交易可以免费使用,并有可能完全改变保险合同的方式。区块链优化了整个保险业的效率、安全性和透明度....
发表于 2019-11-22 11:22 26次阅读
区块链将如何改变保险业

罗素币RC将搭建区块链基础设施推动可信互联网的发...

从经济学意义来看,区块链创造的这种新的价值交互范式基于“弱中心化”,但这并非意味着传统社会里各种“中....
发表于 2019-11-22 11:18 11次阅读
罗素币RC将搭建区块链基础设施推动可信互联网的发...

区块链是否具有商业价值

Warren和Treat观察到,区块链的一个挑战是围绕它产生的不切实际的期望。“平均而言,受访者预计....
发表于 2019-11-22 11:15 7次阅读
区块链是否具有商业价值

区块链项目Ethereum和EOS对比分析

Ethereum是一个去中心化的智能合约平台。和比特币一样,Ethereum网络也有代币(以太币Et....
发表于 2019-11-22 11:12 5次阅读
区块链项目Ethereum和EOS对比分析

如何避免区块链诈骗

单是蹭着区块链的热度进行名气炒作倒还勉强可以接受,可更过分的是,还有图谋不轨者,直接套用区块链的外壳....
发表于 2019-11-22 11:10 12次阅读
如何避免区块链诈骗

区块链技术怎样才能有效地应对网络安全威胁和风险

网络安全相关从业人员及企业出于安全意识考虑或为了提高业内安全技术,积极发布看似具有提示性的安全威胁信....
发表于 2019-11-22 11:07 49次阅读
区块链技术怎样才能有效地应对网络安全威胁和风险

区块链的治理机制以及通证经济学探讨

作为一个参与者的我,不是最早期布道者,我进入这个市场的时候已经是2013年的夏天了。但我听说这个比特....
发表于 2019-11-22 11:01 13次阅读
区块链的治理机制以及通证经济学探讨

区块奖励会怎样影响着比特币的网络安全

区块链网络的去中心化和不可改变性在于其对双花问题具有抵抗力。对于工作量证明机制的网络,这意味着它可以....
发表于 2019-11-22 10:58 6次阅读
区块奖励会怎样影响着比特币的网络安全

如何避免区块链项目出现市场泡沫的风险

区块链技术火热背后,另一场“盛宴”却在暗流涌动:蹭热点欺骗投资者、炒作数字货币“割韭菜”、发行“空气....
发表于 2019-11-22 10:55 11次阅读
如何避免区块链项目出现市场泡沫的风险

央行数字货币和libra对于区块链行业来说有什么...

区块链最重要的贡献,我认为就是用分布式的记账方式,通过互联网的传递加密技术的使用,使得各个账本之间保....
发表于 2019-11-22 10:51 13次阅读
央行数字货币和libra对于区块链行业来说有什么...

基于区块链技术的全栈开发平台ArcBlock介绍

ArcBlock 区块基石[1]肩负这样一项使命:大大简化区块链技术并将其迅速应用于日常生活之中。为....
发表于 2019-11-22 10:39 8次阅读
基于区块链技术的全栈开发平台ArcBlock介绍

5G时代将推动区块链技术走进现实世界

与会专家一致认为,区块链要实现真正的繁荣必须打破,成链成本高、技术门槛高、监管难度高难题,而区块链服....
发表于 2019-11-22 10:17 130次阅读
5G时代将推动区块链技术走进现实世界

哪种加密货币挖矿方式更加有利可图

曾经接触过加密货币和区块链技术的任何人都对“挖矿”一词了如指掌。
发表于 2019-11-22 10:05 12次阅读
哪种加密货币挖矿方式更加有利可图

我们可以利用区块链实现“信任之根”吗

如果说区块链通过加密算法和数据链接,给社会带来信任,那么我认为智能合约是区块链离信任最近的一次。
发表于 2019-11-22 10:00 13次阅读
我们可以利用区块链实现“信任之根”吗

区块链在医疗卫生方面有什么影响

区块链网络和传统数据库存储数据的主要区别在于:匿名性、去中心化、不可篡改、分布式存储、多备份、数据加....
发表于 2019-11-22 09:58 14次阅读
区块链在医疗卫生方面有什么影响

区块链可以实现良好的治理吗

区块链本身是不可变的,但是如果用于保护公共代码的加密方案是很弱的,那么就会有风险。
发表于 2019-11-22 09:53 15次阅读
区块链可以实现良好的治理吗

区块链怎样做才能成为主流

我们是构建这个区块链实现未来的巨大生态系统的一部分。现在给区块链贴标签还为时过早,我们还在努力。
发表于 2019-11-22 09:48 12次阅读
区块链怎样做才能成为主流

区块链给人事行业带来了怎样的改变

区块链还能够将其他指标整合至数字资料库当中,包括认知能力、人格特质、行为、习惯甚至是从个人在线评估中....
发表于 2019-11-22 09:44 13次阅读
区块链给人事行业带来了怎样的改变

区块链领域的估值模型是怎样的

一个网络的价值等于该网络内的节点数的平方,而且该网络的价值与联网的用户数的平方成正比。
发表于 2019-11-22 09:39 12次阅读
区块链领域的估值模型是怎样的

重新思考区块链是怎样的

区块链不能替代数字化,也不应被视为数字化。在许多用例中,其他技术的成本更低,风险更低,实现速度更快。
发表于 2019-11-22 09:34 6次阅读
重新思考区块链是怎样的

EOS与Ethereum两个区块链项目有什么差别

目前以太币的通货膨胀率约为每年10%,但其目标是通过未来的网络升级将其降低到1-2%。到目前为止,还....
发表于 2019-11-22 09:31 7次阅读
EOS与Ethereum两个区块链项目有什么差别

区块链对于供应链融资确权有什么帮助

得益于去中心化、不可篡改、可追溯等优势,区块链成为银行解决供应链金融业务痛点的一大有效工具。
发表于 2019-11-22 09:25 11次阅读
区块链对于供应链融资确权有什么帮助

区块链领域中美的差异在哪里

在中国及瑞典中央银行筹备的数字货币中,区块链也作为核心技术受到关注。
发表于 2019-11-22 09:22 67次阅读
区块链领域中美的差异在哪里

区块链+ABN带来了怎样的效果

在积极探索区块链技术应用,做大应收款链平台的用户基础和交易规模的基础上,浙商银行还进一步探索推进区块....
发表于 2019-11-22 09:17 13次阅读
区块链+ABN带来了怎样的效果

区块链发展必须坚持什么原则

区块链是下一步核心技术自主创新的重要突破口,是新一轮竞争发展的重要战场。
发表于 2019-11-22 09:12 14次阅读
区块链发展必须坚持什么原则

区块链技术怎样在社会管理上发挥作用

区块链还将推动社会治理法治化。在司法、执法等领域,区块链技术与实际工作具有深度融合的广阔空间。
发表于 2019-11-22 09:06 11次阅读
区块链技术怎样在社会管理上发挥作用

金融行业的未来会不会是区块链

区块链将对在跨境支付系统以及贸易金融领域带来益处。
发表于 2019-11-22 09:02 19次阅读
金融行业的未来会不会是区块链

比特币有没有可能成为法定的数字货币

中国人民银行可能推出的数字货币是法定货币,跟区块链概念中的比特币有着本质的区别。
发表于 2019-11-22 08:57 28次阅读
比特币有没有可能成为法定的数字货币

多疑的金融从业者遇到区块链会发生什么

智能合约、分布式账本……区块链的技术名词听起来总是高大上又透着晦涩难懂。
发表于 2019-11-22 08:48 17次阅读
多疑的金融从业者遇到区块链会发生什么

区块链技术带来了什么积极的效果

已实现供应链应收账款多级融资、跨境融资、国际贸易账款监管、对外支付税务备案表等多项业务上链运行。
发表于 2019-11-22 08:45 23次阅读
区块链技术带来了什么积极的效果

腾讯区块链怎样去破局产业区块链

经过近四年的发展,腾讯区块链业务布局也从早期的注重技术研发和平台搭建,转向近两年的注重多场景应用落地....
发表于 2019-11-22 08:41 16次阅读
腾讯区块链怎样去破局产业区块链

数字货币对于中国的意义是什么

法定数字货币,即是具有法定地位、具有国家主权背书、具有发行责任主体的数字货币,央行发行的数字货币便是....
发表于 2019-11-22 08:37 17次阅读
数字货币对于中国的意义是什么

逐渐崛起的量子计算对于区块链有没有影响

因为区块链的安全性是建立在其数学运算的困难度。因此,能够以光速进行运算的量子计算机似乎对其构成了生存....
发表于 2019-11-21 15:51 42次阅读
逐渐崛起的量子计算对于区块链有没有影响

比特币P2P网络层还存在哪些问题

比特币世界的十多年历史向我们表明,比特币开发人员还有很长的路要走,而2019年3月创建的BIP 32....
发表于 2019-11-21 11:29 561次阅读
比特币P2P网络层还存在哪些问题

基于区块链技术的社区解决方案Slash Plan...

Slash Planet 已经成为 MOAC 生态合作伙伴和创始理事会理事成员单位,利用 Slash....
发表于 2019-11-21 11:23 284次阅读
基于区块链技术的社区解决方案Slash Plan...

区块链要实现真正的落地还需要解决哪些问题

CryptoSlate团队拥有美洲、欧洲、亚洲、大洋洲的研究人员、专家和记者,致力于制作最客观、透明....
发表于 2019-11-21 11:19 41次阅读
区块链要实现真正的落地还需要解决哪些问题

区块链技术为什么不能脱离密码学而单独存在

区块链最著名的应用莫过于比特币,而作为比特币的保镖,基于ECC的椭圆曲线数字签名算法(以下简称ECD....
发表于 2019-11-21 11:12 34次阅读
区块链技术为什么不能脱离密码学而单独存在

基于PoW加密货币的安全性问题探讨

Coinbase最近更改了四种不同资产确认要求,包括将比特币的区块确认从6个减至3个。本文主要阐述对....
发表于 2019-11-21 11:05 30次阅读
基于PoW加密货币的安全性问题探讨

Synthetix跟BitMex有哪些不一样的地...

但根据实际的体验情况来看,Synthetix更像去中心化版本的差价合约交易所,而由于其命脉在于发行的....
发表于 2019-11-21 11:01 26次阅读
Synthetix跟BitMex有哪些不一样的地...

修复交易延展性对BCH有什么意义

交易延展性(transacTIon malleability)源于比特币源代码中的一个错误。这个错误....
发表于 2019-11-21 10:57 25次阅读
修复交易延展性对BCH有什么意义

PoW和PoS的区别是什么

既然是传闻,我们姑且听听就好。不过说到共识机制,倒是有诸多可探讨之处。随着技术的发展和演变,当前比较....
发表于 2019-11-21 10:55 69次阅读
PoW和PoS的区别是什么

加密货币发展的十大趋势分析

CoinShares在报告的开头写道:“知识最好是共享的。”“为了加密货币产业的发展,”参与者和外部....
发表于 2019-11-21 10:52 103次阅读
加密货币发展的十大趋势分析

区块链项目中经常应用的各种编程语言介绍

数以千计的区块链项目正在开发,或者已经开发完成并且部署到了网络中。各个企业都在寻求区块链的新点子或者....
发表于 2019-11-21 10:48 38次阅读
区块链项目中经常应用的各种编程语言介绍

ASIC挖矿和GPU挖矿的特征及优势对比分析

在进入加密货币挖矿领域时,人们经常会在选择GPU或图形处理单元挖矿与ASIC专用集成电路挖矿之间选择....
发表于 2019-11-21 10:44 26次阅读
ASIC挖矿和GPU挖矿的特征及优势对比分析

区块链项目的边界在哪里

近期的区块链研讨会已经逐渐实质化,正规军进场,银行系区块链项目强劲;物流类区块链项目繁花似锦。
发表于 2019-11-21 10:10 25次阅读
区块链项目的边界在哪里

APP区块链加持供应链有什么积极的影响

随着这几年网购的兴起,各类电商融资业务如雨后春笋般崛起。从原始的商家与银行两方合作,到商家、核心企业....
发表于 2019-11-21 10:07 26次阅读
APP区块链加持供应链有什么积极的影响

区块链金融行业标准进行的怎么样了

高质量的金融发展需要高质量的金融标准。会议指出,目前金融领域还存在标准缺失、部分标准老旧等问题,金融....
发表于 2019-11-21 10:00 74次阅读
区块链金融行业标准进行的怎么样了

物联网安全技术提高区块链应用数据的可信度

[quote]简介: 物联网设备可信上链[/quote] 物联网设备可信上链为物联网设备上链提供可信的、一站式、多层级的安全服...
发表于 2019-11-07 16:34 918次阅读
物联网安全技术提高区块链应用数据的可信度

未来手机该怎么使用?

每一次,我们都会发现实施技术的新方法,同时充满灵感,但环顾四周,看不到任何实际的变化。谈到使用区块链,我们应该...
发表于 2019-09-11 11:51 442次阅读
未来手机该怎么使用?

区块链从不忘事儿

俗话说,大象从不忘事儿。 区块链亦是如此。 内存是区块链的核心,它是一种以关键方式构建的突破性计算机编程语言,...
发表于 2019-07-29 06:08 249次阅读
区块链从不忘事儿

2018年世界杯人工智能、区块链预测冠军大揭秘

四年等一回,2018年俄罗斯世界杯赛开幕在即,从6月14日至7月15日,64场比赛轮番来袭。哪个球队会夺冠?谁将成为最佳射手...
发表于 2019-07-24 00:41 364次阅读
2018年世界杯人工智能、区块链预测冠军大揭秘

拉勾农场APP模式源码软件平台开发定制

农场游戏app模式开发定制系统设计,农场游戏软件开发,农场复合游戏系统开发设计,农场种植游戏系统开发设计,农场种植...
发表于 2019-07-22 11:56 470次阅读
拉勾农场APP模式源码软件平台开发定制

数字资产交易平台搭建交易所市场

区块链技术作为一种分布式共享数据库技术正在方兴未艾,其分散性、透明性、公平性和开放性与互联网的理念是一致的,它...
发表于 2019-07-20 11:20 380次阅读
数字资产交易平台搭建交易所市场

如何在Nextcloud中集成基于区块链的存储Sia

我使用LAMP做为NextCloud的运行环境-MariaDB, PHP-FPM 和 Apache(Ubuntu 16.04)。 (一)配置 LA...
发表于 2019-07-10 06:18 280次阅读
如何在Nextcloud中集成基于区块链的存储Sia

区块链对我们的生活有什么影响

未来是光明的,它是由区块链驱动的。 区块链技术已经通过颠覆性的应用程序改变了金融行业,但金融业只是冰山一角。...
发表于 2019-07-10 04:20 587次阅读
区块链对我们的生活有什么影响

全球十大最值得期待的区块链钱包

钱包一个怎么够用,2018十大区块链钱包
发表于 2019-04-09 15:24 961次阅读
全球十大最值得期待的区块链钱包

区块链应用涉及到哪些算法?

区块链技术的应用涉及到哪些算法模型?
发表于 2019-03-27 11:21 702次阅读
区块链应用涉及到哪些算法?