大家好,我是本课讲师丁博士,很高兴又与大家见面了,这一节课我们一起学习主要包括四个部分,这四部分是Ulord的核心关键技术,第一部分和大家一起学习智能合约,第二部分一起学习共识算法,第三部分一起学习隐私保护,第四部分一起学习即时支付。
一、智能合约
首先看智能合约的概念,一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。通俗来讲智能合约是一个在计算机系统上,当一定条件被满足的情况下可以被自动执行的合约。
1、智能合约与区块链的关系
1.1、智能合约的提出
尼克萨博关于智能合约的工作理论迟迟没有实现,一个重要原因是缺乏能够支持可编程合约的数字系统和技术。
1.2、区块链的出现
区块链技术的出现解决了该问题,不仅可以支持可编程合约,而且具有去中心化、不可篡改、过程透明可追踪等优点,天然适合于智能合约。
1.3、区块链2.0:智能合约是区块链技术的特性之一
将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可追踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
这就是智能合约与区块链的关系,简单总结来说智能合约早期提出缺乏支持可编程的数字系统技术,区块链的出现解决了该问题,不仅可以支持可编程合约而且可以去中心化,不可篡改,过程透明,可追踪的优点天然适合智能合约。
2、智能合约的工作原理
智能合约包括三个步骤:
第一步是智能合约的构建,智能合约怎么构建的?智能合约由区块链的多个用户共同参与制定一份智能合约。
第二部分是智能合约的存储,智能合约通过P2P网络扩散到每个节点,并存入区块链。
第三部分是智能合约的执行,智能合约定期进行自动机状态检查,将满足条件的事物进行验证,达成共识后自动执行并通知用户。
总的来说包括三个步骤,第一是智能合约的构建,第二是智能合约的存储,第三是智能合约的执行,这就是智能合约的工作原理。
下面针对Ulord的系统来说一说Ulord里面的统一域名机制是怎样使用智能合约的,Ulord允许用户调用平台层的API,API是应用变成接口,发布自己的站点服务,为了让Ulord用户能便捷的访问其他用户在Ulord平台上的资源,可以用可读的、易记字符串作为域名。
用户发布资源之前,通过指定域名站点,可以申请可读易记的域名,像平常上网的域名,但是在区块链应用中,需要绑定一定数目的UlordToken,随着时间推移,UlordToken会随着区块的增加而逐渐消耗。
换句话说,Ulord上所有存在的资源,站点都会随着区块高度增加而消耗,用户可以通过充值的方式,让申请域名持续有效,所有因申请域名消耗的token将流入底层网络,变为记账的一部分费用,因此为了支持可读域名机制,我们Ulord系统引入了一个新的数据结构,叫域名树。
这样一个数据结构保存Ulord上所有的域名以及关联的相关的一些信息,在这样一个域名树里面,每个节点对应一个域名,同时每个节点还保留着该节点相关的交易信息,包括一个交易,用户申请域名时必须绑定一个定量的Ulordtoken,才允许新域名注册。
域名在Ulord网络中是唯一的,注销域名后,域名自动释放,为了支持这样一个完整性,我们对域名的区块结构进行了修改,添加了一个域名树的字段,有域名树的哈希,这就是Ulord里面的很主要的关键技术,是一个统一域名机制,这样一个机制利用了我们智能合约里面的资源消耗。
具体什么叫智能合约的资源消耗?
区块链里面有矿工的概念,矿工有权利选择先打包哪一个交易,你支付的交易费越多,矿工就越喜欢帮你打包,这样交易的速度也越快,这样在智能合约里面有一个这样的一个以太坊的智能合约有一个gas的概念,gas就类似于汽车汽油,gas是最多需要掏的交易费,交易费不会超过这个值,交易完成后没有用这个gas,会有以太坊返回给你。
如果想交易马上打包完成,想完成交易就加更多的gas,如果算上小费,实际消费的gas会超过gas的上限值,gas是交易中计算交易费的单位,大概相当于开车消耗的汽油,最终消费多少,还是用钱表示更直观。
比如我们在汽车里面有这样说法,跑100公里烧8个油,不懂汽车的人肯定不知道8个油是什么概念,但如果说100公里消耗56元就比较直观了,因此以太坊中的gas也就是这样一个原理,最终直观表达交易费多少钱,我们用gas的价格,比如说我完成一笔交易,交易费是0.001eth,这个就是我们说的交易手续费,我们在Ulord里面引入了智能合约服务器,引入了gas的设计理念。
但是我们不同于以太坊的gas,每个操作都会消耗gas。相比以太坊的gas概念,Ulord采用更简化抽象的说法,怎么做,用户在发布Ulord上的资源和站点,都是消耗Ulord网络的资源,用户绑定一个域名,也是消耗ulord上的资源。
因此用户发布资源或者站点的时候,需要绑定一定量的UlordToken,随着区块高度的增加,这个UlordToken会逐渐消耗掉,用户需要在消耗掉之前往站点充入新的Token,这样才能确保拥有该域名的所有权,同时我们通过侧链技术建立以太虚拟机,发布智能合约,允许用户发布自己的代币,代币与UlordToken存在一定比例的兑换关系,Ulord允许用户自定义发布自己的站点服务,通过发行自己的代币,可以运行自己的站点。这就是我们的智能合约。
首先要明白什么是智能合约,智能合约与区块链的一个结合,另外Ulord里面我们提出了一个域名的机制,域名机制需要消耗资源,所以引入了以太坊的gas这样一个理念,来做这样一个资源的消耗,这就是第一块智能合约。
二、共识算法
有两个很重要的共识算法,一个是PoW,另一个是PoS,PoW采用CPU挖矿算法,通过采用多级串行密码学原语操作,同时结合计算机体系结构特征,具备永久防ASIC的挖矿特征。
PoS机制主要是为了鼓励更多的主节点加入,通过提供更多的存储空间,在为自身带来收益的同时,也为Ulord提供海量的分布式存储空间。
Ulord综合考虑到PoW和PoS共识算法,也就是我们把PoW和PoS算法的结合,使得我们第一用到了PoW的挖矿机制,第二我们用到了PoS的更多主节点鼓励机制,使得整个生态环境更加优秀,因此我们来看一下Ulord这样一个PoS的实现机制。
Ulord运行一个主节点,需要10000个UT和1TB以上的存储空间。这些存储在主节点上的押金不会丢失或损耗,这可让主节点拥有者为全网提供服务的同时,赚取一定的投资收益,减少UlordToken的价格波动。
采用PoS机制,能有效地避免全节点减少和传播时间延长等问题,这就是我们使用PoS的好处。
三、隐私保护
隐私保护采用一个叫零知识简介非互动性知识参数这样一个算法,它是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明,这个技术是怎样做的?首先我们使用零知识简介非互动性参数来验证智能合约,随后对客户提供隐私保护。
零知识证明技术在Ulord上的应用
首先看穿插数字货币的一个过程,这样一个客户给另一个客户打了两个Ulord币,用户A地址有5UT,首先用户A签名输出给了用户B5个UT,随后用户B签名,签名后两个输出,第一个转了2UT给用户C,同时把剩下的3UT以找零的方式还给用户B的地址,这就是数字货币交易的过程。
这些交易过程里面有地址暴露在整个网络里面,都是透明的,使用零知识证明是安全层,这样对发送者是保护的资产,输入是一个有效的零知识证明,输出是一个构造零知识证明所需要的具体细节,用接收者的公钥加密。
随后给了另外一个社保或者资产,我们使用了零知识证明,地址就不会暴露在整个网络里面,每一笔交易使用零知识证明来验证,来输入输出,这就是零知识证明在Ulord里面的隐私保护上的一个好处,地址不用暴露到整个网络中。
四、即时支付
即时支付这个应用很重要,一个用户可以给另一个用户很快的支付,Ulord怎么实现的?Ulord主要使用主节点技术,用户能够发送和接收即时不可逆转的交易。一旦即时交易形成,该交易的输入被锁定在对于的特定交易处。
目前全网交易锁定的时间大约为4秒, 一旦在主节点网络达成锁定的共识,除非它们能匹配当时锁定的交易对应ID,否则所有与之冲突的交易和区块将会被永久拒绝。
这就是即时支付,这样一来用户可以通过Ulord进行商品的服务和购买,快速得到进行支付确认,而且整个支付过程中没有任何中心机构的干预,因此Ulord可以轻易满足即时支付的相关商业场景,还是比较好的,它可以轻松在即时支付里面,在商业场景里面得到很好的应用。
这堂课一起回顾一下Ulord里面四个关键技术:
第一步一起学习智能合约,首先明白什么是智能合约,智能合约的发展,智能合约的三个步骤,另一个很关键的是我们Ulord的域名机制,相当于智能合约使用的gas,来占据域名,随着区块高度的增高,域名资源会逐渐消耗掉,想要进一步保护域名,必须继续充值消耗资源保留域名,Ulord这样一个域名机制使用了智能合约这个关键技术。
第二个学习了共识算法,Ulord结合了PoW和PoS这两种共识算法,PoW是竞争的挖矿机制,PoS用了主节点投票机制,我们共识算法综合考虑了PoW算法和PoS算法,并且想成为Ulord主节点,要有1万个UT和1TB存储资源,就可以申请成为主节点。
第三个是隐私保护,使用了零知识证明在交易的整个过程保护用户隐私。
第四个是即时支付,使得Ulord上快速适用支付的场景。
这就是这节课和各位同学一起学习的四个关键技术,智能合约,共识算法,隐私保护,即时支付,今天的课就到这儿,谢谢各位学习,再见。
更多课程,请扫码下载优享获得: