LP 流动性挖矿 DAPP 系统开发丨流动性挖矿功能原理及说明
区块链是一种将数据区块按照时间顺序组合成的链式结构,本文由系统开发对接薇(hkkf5566)编辑整理发布,是去中心化系统中各节点共享且共同维护的分布式数据账本,具体的:各节点由 P2P 组网方式相互连通和交互,受激励机制激励贡献自身算力,根据数据验证机制及传播协议,执行、验证并传播一段时间内生成的有效交易数据,同时利用 Merkle 树、哈希算法、时间戳等技术加密、生成数据区块,依据共识算法争夺记账权,最终获得记账权的节点(矿工),将其生成的数据区块链接到区块链主链上并获得相应奖励,其余节点更新区块链账本.
区块链具有去信任、去中心化、开放自治、匿名可溯源、信息不可篡改等特性,自问世以来就显示出广阔的应用前景,吸引了学术界和工业界的大量关注,目前区块链技术已被应用于医疗、金融、物联网、能源等诸多领域.一般来说,区块链可按许可权限分为公有区块链、联盟区块链和私有区块链,其中,公有链面向全球所有用户,任何人都可以在其中读取数据和发送交易;联盟链由若干业务相关的机构共同参与管理,每个机构都运行着一个或多个节点,读写权限仅对联盟内的节点有限度地开放;私有链的读写权限由某个组织或机构控制,参与节点的资格被严格限制.
基于区块链的分布式架构、共识算法等,智能合约允许相互不信任的用户在不需要任何第三方可信中介或权威的情况下完成交易,同时,数字形式的智能合约可灵活嵌入各种有形或无形的资产、交易和数据中,实现主动或被动的资产、信息管理与控制,逐步构建可编程的智能资产、系统及社会.
智能合约的运行机制
智能合约的运行机制如图 1 所示,智能合约一般具有值和状态两个属性,代码中用 If-Then 和 What-If 语句预置了合约条款的相应触发场景和响应规则,智能合约经多方共同协定、各自签署后随用户发起的交易(Transaction,Txn)提交,经 P2P 网络传播、矿工验证后存储在区块链特定区块中,用户得到返回的合约地址及合约接口等信息后即可通过发起交易来调用合约.矿工受系统预设的激励机制激励,将贡献自身算力来验证交易,矿工收到合约创建或调用交易后在本地沙箱执行环境(如以太坊虚拟机)中创建合约或执行合约代码,合约代码根据可信外部数据源(也称为预言机,Oracles)和世界状态的检查信息自动判断当前所处场景是否满足合约触发条件以严格执行响应规则并更新世界状态.交易验证有效后被打包进新的数据区块,新区块经共识算法认证后链接到区块链主链,所有更新生效.
由于区块链种类及运行机制的差异,不同平台上智能合约的运行机制也有所不同,以太坊和超级账本是目前应用最广泛的两种智能合约开发平台,它们的智能合约运行机制最具代表性,以下将以这两种平台为例,阐述智能合约的运行机制.
1)以太坊
以太坊在整体上可看作是一个基于交易的状态机:起始于一个创世(Genesis)状态,然后随着交易的执行,状态逐步改变一直到最终状态,这个最终状态就是以太坊世界的权威版本[5].以太坊中引入了账户的概念以取代比特币未花费交易输出(Unspent transaction output,UTXO)模型,账户分为外部账户和合约账户两类,两类账户都具有与之关联的账户状态和账户地址,都可以存储以太坊专用加密货币以太币,区别在于外部账户由用户私钥控制,没有代码与之关联,合约账户由合约代码控制,有代码与之关联.
用户只能通过外部账户在以太坊中发起交易,交易可以包含二进制交易负载数据(Payload)和以太币,交易执行过程中可能产生一系列消息调用.当交易或消息调用的接收者为以太坊指定地址Ø时,创建合约.新合约账户地址由合约创建者的地址和该地址发出过的交易数量 Nonce 计算得到,创建合约交易的 Payload 被编译为 EVM 字节码执行,执行的输出作为合约代码被永久存储.当接收者为合约账户时,合约账户内代码被激发在本地 EVM 中执行,Payload 作为合约的输入参数,可信数据源则为合约提供必要外部世界信息.所有执行结束后,返回执行结果,完整交易经矿工广播验证后和新的世界状态一起存入区块链.
评论