SwapSpace – 跨链加密货币兑换

什么是智能合约,它们能为你做什么?

June Katz

,

更新时间:,1分钟

区块链的引入通过让数据存储方式变得透明且去中心化,使许多行业变得更加高效。然而,这远不是区块链技术能做的全部。作为一位极其聪明的年轻人,Vitalik Buterin 开始思考如何改进 Bitcoin。他在区块链行业活跃了相当长一段时间,并逐渐成为一位知识渊博的人物。经过多年的研究和分享他的愿景后,他提出了一个新项目,名为 Ethereum。这个项目通过承载数以千计的 ICO,也就是首次代币发行,把智能合约带给了大众。那么,这些智能合约是什么,又能做什么呢?

什么是区块链智能合约?

智能合约是无需中间人即可高效协作的方式。它们允许合约以自执行的方式运行,从而不需要任何相关方彼此信任。智能合约可用于金融行业、房地产、物权法、信用执行等任何领域。让我们想象一个智能合约的例子。A 先生向 B 先生租了一套公寓。A 先生想使用加密货币,具体来说是 Ethereum,来支付房租。B 先生创建了一个区块链智能合约,其中包含 A 先生在居住期间需要遵守的所有规则和规定。现在,A 先生可以通过向智能合约中存入资金来支付房租,而该合约随后将作为托管账户运行。当任一方违反合约条款时,资金将根据智能合约中写明的内容被释放或不会被释放。再设想一下,A 先生想停止租住该房子。当房屋被妥善交还后,智能合约会自动将押金转给 A 先生,以履行至合约结束。下面是一个更技术性的示例代码,我们想分享如下:pragma solidity ^0.4.21;

contract Coin {

    // 关键字 "public" 使这些变量
    // 可从外部读取。
    address public minter;

    mapping (address => uint) public balances;

    // 事件允许轻客户端高效地对
    // 变化作出反应。
    event Sent(address from, address to, uint amount);

    // 这是构造函数,其代码仅在
    // 合约创建时运行。
    function Coin() public {
        minter = msg.sender;
    }

    function mint(address receiver, uint amount) public {
        if (msg.sender != minter) return;
        balances[receiver] += amount;
    }

    function send(address receiver, uint amount) public {
        if (balances[msg.sender] < amount) return;
        balances[msg.sender] -= amount;
        balances[receiver] += amount;
        emit Sent(msg.sender, receiver, amount);
    }

}

这展示了如何凭空创建一种加密货币,然后让人们能够使用这种货币进行交易。关于这一点的更多内容,可以在 Solidity 分享的文档中找到。

智能合约现在用于哪里?

智能合约被用于多个行业。我们想与您分享的一些现实案例有: 

  • 银行业中的智能合约。Barclays Corporate Bank 利用智能合约记录房产所有权变更,然后自动将款项转给其他金融机构。
  • 医疗保健中的智能合约。个人健康记录可以被编码并存储在区块链上。这些记录的私钥可以通过使用 私钥 来锁定。现在,当某人需要长期重复处方药时,就可以引入智能合约。
  • 投票中的智能合约。在政府领域,智能合约可用于提升投票参与度。人们只需在家中点击几个按钮,就可以轻松投票。

智能合约的未来是什么?

没有人能预知未来,我们能做的只有推测。对于智能合约来说,未来看起来非常光明。每周我们都会看到新闻称,大型企业正在将智能合约引入其架构中。最近,Nike 宣布他们将使用 Ethereum 区块链来追踪运动鞋的所有权。如果没有智能合约,这是无法实现的。试想一下,当我们开始使用智能合约时,可以消除多少中间环节。当有可以替代它们的合约存在时,我们甚至不需要公证人、律师,甚至法官。想到这些可能性,既令人着迷,又令人恐惧。

分享:

相关文章

想了解更多?

订阅我们的新闻通讯 — 随时了解最新资讯,掌控先机。