关于 | MGK | MGS | GKC | 出现的那些名词解释

下面咱们就一起简单介绍一下MGS之前提到的名词:➀utxo模型、➁超级节点、➂权益矿池、➃零知识证明、➄智能合约、➅闪电网络、➆跨链交易、➇private、➈staking、➉VPOS(Vote proof of stake)、⑪RPC接口。



01

➀UTXO模型:

UTXO的英文全称为(Unspent Transaction Output),汉语翻译过来则为:未消费的交易输出。我们可以把UTXO理解为交易过程中的一个数据结构。未花费的交易输出UTXO是一个包含交易数据和执行代码的数据结构,可以通俗的理解为某仓库(某地址)已经收到的但是尚未花费出去的加密数字货币。基于区块链的加密数字货币使用UTXO来验证一个人(其实是一个地址)是否拥有未使用过的加密数字货币用于支付。

UTXO模型是中本聪在bitcoin模型中初创并引用的,因为我们谈到UTXO总会首先联想到比特币,但是需要额外指出的是:UTXO不是比特币独有的,当然 UTXO跟区块链也没有必然的联系,比如你可以模仿比特币但是不使用UTXO模型。

交易中的输入与输出

BTC中的一笔「交易」也较为复杂。假设今天,Fred给了Alice 2个BTC,Ted给了 Alice 3个BTC,我们把这两笔寄给Alice,总和为5的BTC称为 Unspent Transaction Outputs 即未花费交易输出:也就是说现在 Alice 拥有了两笔 Unspent Transcation Outputs,可以当作他未来转钱给别人的 input。

如果现在Alice想要转5 BTC给Bob,他要将前面两笔总和刚好为5的UTXO当作这笔交易的输入。而矿工要验证的就是并没有其他交易在先前的区块当中,已经使用过这笔Unspent Output。如果同一笔输出已经被发送过,那它就不是 Unspent 了,这就是BTC预防 Double Spending 的方法。

还有一个条件就是,output 跟 input 总数要吻合。

02


➁超级节点:


技术层面的“节点”和“超级节点”:


节点(Node)和超级节点(Super Node)本来都是技术层面的概念。其中,“节点”,指网络任何支路的终端或网络中两个或更多支路的互联公共点(网络拓扑学解释)。

“超级节点”,指在P2P数据传输中,那些拥有较大宽带和高速计算机的节点。集合算力,提供算力和宽带支持,健壮主链网络。

社会学层面的:

持币者集合,提供社群治理意见,实现社群成员共建。在这个层面上,我们有理由相信,原本基于物理算力的共识机制,有可能会进化出社会化的新共识机制。也即从单纯拼算力挖矿到拼算力和支持率挖矿,支持率高的节点获得记账权利。这种进化将进一步推动社群/社区建设,使之更加智慧、更加良性、更加趋近于去中心化。

03

➂权益矿池:

权益证明协议(挖矿) Proof of Stake:

传统加密货币如比特币用的是Proof of Work协议来验证转账。在PoW的世界,如果你拥有5%的运算力(挖矿),如果人品不是特别差的话,你是理论上能挖到发放的5%挖矿奖励。

另一方面PoS的协议,因为废除了挖矿的需要,奖励的方法是如果你有5%的总币数量,你便可以有5%的收到PoS奖励。

MGS用户也能像PoW的矿池一样,通过一个"权益矿池" 代表自己的权益。这个“矿池”收集越多"矿力"(权益),领到的奖励也会越多。

MGS星级社区只能逐级晋升,晋升需满足直推正式人数、团队人数、最低算力挖矿和消耗相应的MGS。MGS星级社区长可开通权益矿池,也可邀请MGS用户加入权益矿池。未晋升星级社区长不能开通权益矿池,但可以加入他人权益矿池获取矿池静态收益,已开通权益矿池的星级社区长可获得自己存入权益矿池0.9%/天,动态收益10-19%/天,未开通权益矿池的用户可获得存入权益矿池收益0.9%/天。权益矿池每24小时自动结算收益,以最后一次放入时间为准,不需要手动收取。

04

➃零知识证明:

零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。

零知识证明系统包括两部分:宣称某一命题为真的示证者(prover)和确认该命题确实为真的验证者(verifier)。证明是通过这两部分之间的交互来执行的。在零知识协议的结尾,验证者只有当命题为真时才会确认。但是,如果示证者宣称一个错误的命题,那么验证者完全可能发现这个错误。这种思想源自交互式证明系统。交互式系统在计算复杂度理论方面已经获得异常独立的地位。

零知识证明(Zero—Knowledge Proof)起源于最小泄露证明。设P表示掌握某些信息,并希望证实这一事实的实体,设V是证明这一事实的实体。假如某个协议向V证明P的确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。不仅如此,如果V除了知道P能够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。

在最小泄露协议中零知识证明需要满足下述性质。

(1)正确性。P无法欺骗V。换言之,若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。

(2)完备性。V无法欺骗P。若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。

在零知识协议中,除满足上述两个条件以外,还满足下述的第三个性质。

(3)零知识性。V无法获取任何额外的知识。

我们把性质(1)和(2)称为零知识证明的正确性和完备性,而性质(3)称为零知识性。

零知识证明需要满足三个属性。

1、如果语句为真,诚实的验证者(即:正确遵循协议的验证者)将由诚实的证明者确信这一事实。

2、如果语句为假,不排除有概率欺骗者可以说服诚实的验证者它是真的。

3、如果语句为真,证明者的目的就是向验证者证明并使验证者相信自己知道或拥有某一消息,而在证明过程中不可向验证者泄漏任何有关被证明消息的内容。

零知识证明并不是数学意义上的证明,因为它存在小概率的误差,欺骗者有可能通过虚假陈述骗过证明者。换句话来说,零知识证明是概率证明而不是确定性证明。但是也存在有技术能将误差降低到可以忽略的值。

零知识的形式定义必须使用一些计算模型,最常见的是图灵机的计算模型。


05

➄智能合约:

智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由Nick Szabo首次提出。

智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。

“智能合约”(Smart contract)是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表于自己的网站的几篇文章中提到了智能合约的理念,定义如下:

“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。”


数字形式意味着合约不得不写入计算机可读的代码中。这是必须的,因为只要参与方达成协定,智能合约建立的权利和义务,是由一台计算机或者计算机网络执行的。

更进一步地说明:

(1)达成协定

智能合约的参与方什么时候达成协定呢?答案取决于特定的智能合约实施。一般而言,当参与方通过在合约宿主平台上安装合约,致力于合约的执行时,合约就被发现了。

(2)合约执行

“执行”的真正意思也依赖于实施。一般而言,执行意味着通过技术手段积极实施。

(3)计算机可读的代码

另外,合约需要的特定“数字形式”非常依赖于参与方同意使用的协议。

06

➅闪电网络:

比特币的交易网络最为人诟病的一点便是交易性能:全网每秒 7 笔的交易速度,远低于传统的金融交易系统;同时,等待 6 个块的可信确认导致约 1 个小时的最终确认时间。

闪电网络的主要思路 -- 将大量交易放到比特币区块链之外进行。该设计最早是 2015 年 2 月在论文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出。核心的概念主要有两个:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。前者解决了链下交易的确认问题,后者解决了支付通道的问题。

RSMC

(Recoverable Sequence Maturity Contract),中文可以翻译为“可撤销的顺序成熟度合同”。这个词很绕,其实主要原理很简单,就是类似准备金机制。

先假定交易双方之间存在一个“微支付通道”(资金池)。双方都预存一部分资金到“微支付通道”里,之后每次交易,就对交易后的资金分配方案共同进行确认,同时签字作废旧的版本。当需要提现时,将最终交易结果写到区块链网络中,被最终确认。可以看到,只有在提现时候才需要通过区块链。

任何一个版本的方案都需要经过双方的签名认证才合法。任何一方在任何时候都可以提出提现,提现需要提供一个双方都签名过的资金分配方案(意味着肯定是某次交易后的结果)。在一定时间内,如果另外一方提出证明表明这个方案其实之前被作废了(非最新的交易结果),则资金罚没给质疑成功方。这就确保了没人会拿一个旧的交易结果来提现。

另外,即使双方都确认了某次提现,首先提出提现一方的资金到账时间要晚于对方,这就鼓励大家尽量都在链外完成交易。

HTLC

微支付通道是通过 Hashed Timelock Contract 来实现的,中文意思是“哈希的带时钟的合约”。这个其实就是限时转账。理解起来其实也很简单,通过智能合约,双方约定转账方先冻结一笔钱,并提供一个哈希值,如果在一定时间内有人能提出一个字符串,使得它哈希后的值跟已知值匹配(实际上意味着转账方授权了接收方来提现),则这笔钱转给接收方。

不太恰当的例子,约定一定时间内,有人知道了某个暗语(可以生成匹配的哈希值),就可以拿到这个指定的资金。

推广一步,甲想转账给丙,丙先发给甲一个哈希值。甲可以先跟乙签订一个合同,如果你在一定时间内能告诉我一个暗语,我就给你多少钱。乙于是跑去跟丙签订一个合同,如果你告诉我那个暗语,我就给你多少钱。丙于是告诉乙暗语,拿到乙的钱,乙又从甲拿到钱。最终达到结果是甲转账给丙。这样甲和丙之间似乎构成了一条完整的虚拟的“支付通道”。

HTLC 的机制可以扩展到多个人,大家可以想象一下,想象出来了就理解了闪电网络。

闪电网络

RSMC 保障了两个人之间的直接交易可以在链下完成,HTLC 保障了任意两个人之间的转账都可以通过一条“支付”通道来完成。整合这两种机制,就可以实现任意两个人之间的交易都可以在链下完成了。

在整个交易中,智能合约起到了中介的重要角色,而区块链则确保最终的交易结果被确认。

07

➆跨链交易:

跨链,顾名思义,就是通过一个技术,能让价值跨过链和链之间的障碍,进行直接的流通。那么怎样理解跨链呢?

区块链是分布式总账的一种。一条区块链就是一个独立的账本,两条不同的链,就是两个不同的独立的账本,两个账本没有关联。本质上价值没有办法在账本间转移,但是对于具体的某个用户,用户在一条区块链上存储的价值,能够变成另一条链上的价值,这就是价值的流通。


例:RMB是一个独立的货币,美元是另一个独立的货币。人民币无法直接变成美元,美元也无法直接变成人民币。因此,美元无法直接进入人民币账本,人民币也无法直接进入美元账本。需要有人愿意买入人民币/美元,卖出美元/人民币,才能完成货币的兑换,实现价值的跨账本流动。


Alice有100美元,她来到了中国,需要使用人民币进行交易。于是她必须找到愿意和她兑换外币的人,例如Bob,Alice将100美元卖给Bob,Bob收到了Alice给他的100美元,按照当时的汇率,给了Alice 657人民币。


从账本上看,整个外币兑换的过程是这样子的。


首先Alice在美元的账本上有100美元,Bob在美元的账本上有0美元;


Alice在人民币账本上有0元,Bob在人民币账本上有657元。


然后Alice在美元的账本上转账给Bob 100美元,


Bob在人民币的账本上转账给Alice 657元人民币。


于是,Alice原本在美元账本上的账户中的100美元的价值就转移到了Alice在人民币账本上的账户中,体现为657元人民币。


在这个过程中,Bob在人民币账本上的的657元人民币的价值就转移到了Bob在美元账本上的账户中,体现为了100美元。


整个兑换过程中,在两个账本上同时发生了转账交易。


在整个兑换的过程中,人民币账本上的人民币总数没有变化,仍是657元;美元账本上的美元总数也没有变化,仍是100美元。变化的是两个账本上货币的持有人。


转账前


转账后


跨链本质上和货币兑换是一样的。跨链并没有改变每个区块链上的价值总额,只是不同的持有人之间进行了一个兑换而已。


综上,跨链技术的核心要素之一是:帮助一条链上的用户Alice找到另一条链上的愿意进行兑换的用户Bob。从业务角度看,跨链技术就是一个交易所,让用户能够到交易所里进行跨链交易。


进行数字货币的交易所很早就出现了,最早交易所进行的是法币(国家发行的货币)与比特币之间的兑换。后来随着数字货币的种类越来越多,很多交易所也开始进行不同类型数字货币之间的兑换。交易所开展的不同类型数字货币之间的兑换,就是一种跨链价值转移的实现。严格来说,币币交易所就是一个跨链技术的实现。


08


➇private:


私有链,是指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。


商业组织正在为各种应用开发分布式分类账和其他区块链启发的软件。由于这些软件被中心化机构控制,不具有区块链去中心化的属性,被称为私有链 (private blockchains)、区域链、或者联盟链。


私有链的应用场景一般是企业内部的应用,如数据库管理、审计等;在政府行业也会有一些应用,比如政府的预算和执行,或者政府的行业统计数据,这个一般来说由政府登记,但公众有权力监督。私有链的价值主要是提供安全、可追溯、不可篡改、自动执行的运算平台,可以同时防范来自内部和外部对数据的安全攻击。


维基百科对私有链(Private Blockchain)描述为:


A private blockchain is permissioned. One


can't join it unless invited by the network administrators. Participant and


validator access is restricted.


私有链是有权限的。除非被网络管理员邀请,个人无法加入网络。链上的成员和节点都是受限制的。


数据库是一种中心化的数据存储方式,其设计方式使得数据内容是委托于某一方进行储存的,数据存在被篡改、删除等风险,而且数据库建立的基础是组织内各成员的相互信任。


相比之下,私有链的数据由网络的参与者共同存储,降低了信任成本,安全性能更高;同时,信息一旦上链即不可篡改,有助于进行产品溯源、为组织内的交易纠纷进行取证等。对于需要数据溯源、不可删改的企业、单位而言,私有链无疑是比数据库更优的选择。


09


➈staking:


Staking是PoS共识机制下特有的动作。在PoS(Proof of Stake)的共识机制下,节点需要负责打包交易信息、维护网络运行、参与社区治理。作为奖励,节点可以获得系统增发的token。


“Stake”本身有多种含义,可以指股票,可以指支柱,也有“菠菜”中押注的含义。而“Staking”则是一个动作,具体到区块链领域,多是指通过自己的权益证明(Token),如投票或者是单纯锁仓,来获取收益或分红的行为。


生活中类似Staking的行为其实也很常见,比如我们通过持有股票获得定期分红,就是很典型的Staking。现实世界中,通过自己的权益(投票权)换取收益其实也很常见,比如美国各地选议员,尽管议员候选人不能直接承诺给投票者金钱回报,这在绝大地方都构成贿选,但当选者在当选之后通过施政给大家带来更好的生活,本质上也是另一种形式的回报。


PoS共识机制最早是由Sunny King在2012年提出。


在我们看来,Staking开始流行主要是两个原因。是区块链已经开始进入应用时代,区块链应用对底层区块链平台的性能要求更高了。在这种背景下,牺牲一定去中心化程度的DPos共识机制,由于能带来性能的大幅提升,开始受到市场的认可。目前我们可以看到,能够真正去支撑DApp的几个主网,都是采用了DPos机制。


关于未来的趋势,其实很难讲。PoS和PoW作为两个区别比较大的线路,在社区里一直有很大的争论,这种争论在未来一定会长期存在。我们认为PoS以及基于PoS的各种升级,在未来肯定会是比较主流的共识机制之一。但PoW也一样会持续发展。


从历史的长度来看,目前还很难判断究竟哪种共识机制更好,也可能多年后会出来一种新的共识机制,把PoW、PoS都颠覆掉。尽管可能成功,也可能失败,但我们认为所有的这些尝试都是伟大的、有价值的探索。这些探索会推动着区块链世界、甚至是人类社会不断向前进化。


10


➉VPOS(Vote proof of stake):


权益证明使用伪随机选举来选择作为下一个区块验证者的节点,基于包括币龄,随机化和节点资产等多种因素。


值得注意的是,在权益证明系统中,区块被称为“锻造”而非挖掘出来。使用权益证明的加密货币通常首先销售一些预先开采的硬币,或是在启动时先使用工作量证明算法,然后切换到权益证明。


在基于工作量证明的系统中,矿工的奖励是越来越多的(被挖出的)加密货币,而权益证明的系统中奖励通常是交易手续费。


想要参与到锻造过程的用户需要先将一定数量的币在网络中锁定作为他们的股权。一个节点股权的多少决定了它被选为下一个区块验证者的机会 – 股权越多,机会越大。为了防止在这个过程中网络不会偏向最富有的节点,选择过程中有一些特殊的步骤。两种最常用的方法是“随机区块选择”和“币龄选择”。


在随机区块选择中,通常通过查找同时有最低的散列值和最多的股权的节点作为验证者,由于股权的数量是公开的,因此下一个锻造者可以被其他节点预测。


币龄选择根据股份的时间长短选择节点。币龄的计算方法是作为股权的币的数量乘以作为股权的天数。一旦一个节点锻造了一个区块,它的币龄就会重置为零,并且还需要等待一定时间后才能锻造下一个区块 – 这样防止股权多的节点垄断区块链。


每一个使用权益证明算法的加密货币都有自己的一套它们认为对自己和用户最好的规则和方法


当一个节点被选为锻造下一个区块时,它首先将检查块中的事务是否有效,然后对块进行签名并将其添加到区块链中。作为奖励,节点获得了这个区块中事务的手续费。


如果一个节点想停止锻造者的身份,那么它的股权和所得的奖励将在一段时间后被释放,从而使网络有时间验证该节点是否向区块链中添加了假区块。


安全性


股权是让节点不验证或者伪造假交易的财务激励因素。如果网络检测到假的交易,则锻造该交易的节点将失去其部分股权以及将来作为锻造者参与的权利。所以只要股权高于获得的奖励,验证者尝试欺诈时的损失将高于可获得的收益。


为了有效地控制网络并批准伪造的交易,节点必须拥有网络中大多数的股权,这也被称为51%攻击。为了获得对网络的控制权,个人需要获得当前加密货币51%的循环供应量,考虑到加密货币的价值,这相当的不切实际。


权益证明算法的主要优点是能源消耗和安全性。更多的用户有动力运行节点,因为它简单且经济实惠。这与随机化的过程一起使得网络更加分散,因为不再需要矿池来挖矿。此外,由于不需要产生新的货币作为奖励,这有助于保持加密货币的价格更加稳定。


值得注意的是,加密货币行业的发展和变化十分迅速,还有许多其他的算法和方法正在开发和实验中。


11


⑪RPC接口:


RPC(Remote Procedure Call)是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。


RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。


RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。


具体应用操作方面


1、分布式操作系统的进程间通讯


进程间通讯是操作系统必须提供的基本设施之一,分布式操作系统必须提供分布于异构的节点机上进程间的通讯机制,RPC是实现消息传送模式的分布式进程间通讯的手段之一。


2、构造分布式计算的软件环境


由于分布式软件环境本身地理上的分布性,,它的各个组成成份之间存在大量的交互和通讯,R P C 是其基本的实现方法之一。ONC+和DCE两个流行的分布式计算软件环境都是使用RPC构造的,其它一些分布式软件环境也采用了RPC方式。


3、远程数据库服务


在分布式数据库系统中,数据库一般驻存在服务器上,客户机通过远程数据库服务功能访问数据库服务器,现有的远程数据库服务是使用RPC模式的。例如,Sybase和Oracle都提供了存储过程机制,系统与用户定义的存储过程存储在数据库服务器上,用户在客户端使用RPC模式调用存储过程。

欢迎关注微信号:yunxiang99195819,一起学习交流!

MGS官网:http://qfnfh.cn/?i=lSrTEH5o

分享来自:MGS学堂,谢谢!

你可能感兴趣的:(关于 | MGK | MGS | GKC | 出现的那些名词解释)