QDUBC writing club 是QDUBlockchain 探索web3内容平台的一次全新尝试。本账号将用于输出成员学习与探索区块链领域知识时所撰写的科普文、行业研究及思考。

智能合约与区块链
智能合约的定义智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。承诺定义了智能合约的本质和目的。 以一个销售合约为例卖家承诺发送货物,买家承诺支付合理的货款。数字形式意味着合约需要被写入计算机可执行的代码中,只要参与者达成协议,智能合约建立的权利和义务,就由一台计算机或者计算机网络执行。智能合约与区块链的关系智能合约迟迟没有实现的一个重要原因是:缺乏能够支持可编程合约的数字系统和技术。 区块链技术的出现解决了该问题:支持可编程合约具有去中心化、不可篡改、过程透明可追踪区块链技术天然适合于智能合约。可以说,智能合约是区块链的特性之一。 智能合约看上去就是一段计算机执行程序,满足可准确自动执行即可,那么为什么用传统的技术很难实现,而需要区块链技术等新技术呢? 传统技术即使通过软件限制、性能优化等方法,也无法同时实现区块链的特性:一是数据无法删除、修改,只能新增,保证了历史的可追溯,同时作恶的成本将很高,因为其作恶行为将被永远记录二是去中心化,避免了中心化因素的影响。基于区块链技术的智能合约:能发挥智能合约在成本效率方面的优...

智能合约与区块链
智能合约的定义智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。承诺定义了智能合约的本质和目的。 以一个销售合约为例卖家承诺发送货物,买家承诺支付合理的货款。数字形式意味着合约需要被写入计算机可执行的代码中,只要参与者达成协议,智能合约建立的权利和义务,就由一台计算机或者计算机网络执行。智能合约与区块链的关系智能合约迟迟没有实现的一个重要原因是:缺乏能够支持可编程合约的数字系统和技术。 区块链技术的出现解决了该问题:支持可编程合约具有去中心化、不可篡改、过程透明可追踪区块链技术天然适合于智能合约。可以说,智能合约是区块链的特性之一。 智能合约看上去就是一段计算机执行程序,满足可准确自动执行即可,那么为什么用传统的技术很难实现,而需要区块链技术等新技术呢? 传统技术即使通过软件限制、性能优化等方法,也无法同时实现区块链的特性:一是数据无法删除、修改,只能新增,保证了历史的可追溯,同时作恶的成本将很高,因为其作恶行为将被永远记录二是去中心化,避免了中心化因素的影响。基于区块链技术的智能合约:能发挥智能合约在成本效率方面的优...

拜占庭共识算法之PBFT
实用拜占庭容错 (Practical Byzantine Fault Tolerance, PBFT) 算法是Miguel Castro和Barbara Liskov发表于1999年OSDI(Operating Systems Design and Implementation)会议的研究成果。PBFT描述了一种解决拜占庭容错问题的副本复制算法,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用(异步环境)中变得可行特点首次提出在异步网络环境下使用状态机副本复制协议使用多种优化使性能显著提升实现了一种拜占庭容错的分布式文件系统为副本复制的性能损耗提供试验数据支持看不懂了吧简单来说PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但...

拜占庭共识算法之PBFT
实用拜占庭容错 (Practical Byzantine Fault Tolerance, PBFT) 算法是Miguel Castro和Barbara Liskov发表于1999年OSDI(Operating Systems Design and Implementation)会议的研究成果。PBFT描述了一种解决拜占庭容错问题的副本复制算法,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用(异步环境)中变得可行特点首次提出在异步网络环境下使用状态机副本复制协议使用多种优化使性能显著提升实现了一种拜占庭容错的分布式文件系统为副本复制的性能损耗提供试验数据支持看不懂了吧简单来说PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但...