链资讯 链资讯
Ctrl+D收藏链资讯
首页 > ADA > 正文

LIU:信息安全从业者Aus. Liu:漫谈比特币之上的智能合约_数字资产什么意思

作者:

时间:

摘要:在9月7日举办的“BSV开发与商业生态大会”上,信息安全从业者Aus.Liu从黑客的思路出发对智能约进行了分析,并列举了以太坊智能合约的三大问题。

信息安全从业者Aus.Liu

9月7日,BitcoinAssociation与OKEx、链得得联合在中国北京举办了一场BSV开发与商业生态大会,嘉楠耘智、wework作为协办方鼎力支持了此次活动。

这次活动是BitcoinAssociation设置中国区域负责人以来的首次线下亮相,同时也是BitcoinSV在中国地区的第一场官方活动。

作为一个信息安全从业者,Aus.Liu从黑客的思路出发对比特币之上的智能合约的进行了分析,他列举了以太坊智能合约的三大问题:一、货币模型限制了业务模型;二、问题是链上定义的VM限制了开发;第三个问题是复杂度的问题。

经过整理编辑,Aus.Liu的演讲全文如下:

我是Aus.Liu,其它地方也用Monkeylord作名字。我是一个信息安全从业者,也是BSV上的一个独立开发者。这可能使我和其它的开发者不太一样,因为我习惯采用一些黑客的思路。

黑客思路是什么样的呢?上学时,有辩论队的同学找到我和室友,原因是他们用的计时软件写死在倒数15秒时提醒,而他们想要倒数30秒。那怎么办?室友说他可以做个一模一样的,做成30秒。而我的思路是什么呢?我说的是我可以通过底层手段把程序内部写死的15改成30。

Gemini在英国推出Staking Pro服务:6月23日消息,加密交易所Gemini宣布在英国推出Staking Pro服务。Staking Pro是为拥有32枚以上ETH的用户构建的产品。符合条件的用户现在可以在以太坊上启动专用验证器。加密资产服务由Gemini Intergalactic UK, Ltd.提供。质押服务由Gemini Trust Company, llc提供给,不受英国金融行为监管局(FCA)的监管。[2023/6/23 21:55:35]

所以,我的室友成为了一个很好的开发者,他的工程能力很强,而我成为一个安全从业者,这就是不同的思路导致的。

黑客思路的人,对于比特币会有什么样不同的关注?我会更关注底层细微的改变能够带来怎样的可能性,找各种别人想不到的使用场景。所以开发者一般会恨安全从业者,刚开发一个功能,还在吃着火锅唱着歌就被找到一种奇特的用法,然后对于开发来说便是漏洞,就得加班。作为安全出身的开发者,我就喜欢各种各样的可能性,很简单的边界条件变化会带来很大不同。

回归比特币,我们来用这种思路讨论比特币上的智能合约。BSV的扩容和解除限制这样看上去不明显的改变,会带来怎么样的可能性呢?

表面看上去只是容量大了,但是这个容量大了其实带来了巨大的质变。这个质变是什么,大家和我一起探索一下吧。

从一个演示开始

首先我想从一个演示开始,我们看到这个状态灯泡现在是灭的,我们按一下开关,灯泡的状态就变成了亮,再按一下开关,灯泡就会灭。在任何你能访问BSV的地方,你都可以得到灯泡当前的状态。

0xMaki在Sushi治理论坛发起提案,建议集成Stargate跨链桥:3月22日消息,Sushi社区经理Tangle和Sushi前负责人0xMaki共同在Sushi治理论坛发起提案,建议让Sushi集成Stargate以促进Omnichain原生资产建议和网络之间的转移。通过允许用户在资产和网络之间自由移动,将实现更好的跨多个网络建议的用户体验,这将有助于释放Sushi的力量。该提案表示,Stargate将帮助Sushi社区免费实现这种整合。

据悉,Stargate跨链桥由互操作性协议LayerZero开发,近日上线并推出SGT代币,目前TVL已达到10.3亿美元。0xMaki去年宣布离开Sushiswap,并于近日宣布加入LayerZero担任首席战略顾问。[2022/3/22 14:10:41]

这个演示在链上:https://bico.media/15stvxuJ9fzQrshxX8WNzuxeMsNcGQp1AY/Demo/lightbuble.html

实际上,每次按开关的动作都会在BSV链上发一个Tx,这个Tx包含了定义的按开关动作。当需要获取灯泡状态时,通过BitDB把所有按开关动作都取到,我就可以计算出当前灯泡的状态,那这个当前灯泡的状态它到底是什么样的状态呢?完全取决于你按开关的次数。这样实际上构成了一种链上的状态,或者说构成了一种链上状态机。

记住这个演示,我们来看链上存储。

Clover Finance宣布上线Clover Mainnet Staking:1月14日,Clover Finance推特宣布正式上线Clover Mainnet Staking。Clover Finance是基于Substrate建立的智能合约平台,并创建一站式兼容EVM框架,致力提供易于使用的区块链基础架构,以降低开发人员的门槛和成本。[2022/1/14 8:48:36]

确定性的记录

许多人对BSV的扩容的意义有疑问,虽说目前上限扩到了2G,可实际用处时什么呢?很多人觉得这不过意味着BSV能够作为网盘,而区块链网盘又贵又低效。

实际上这种扩容仅仅是网盘吗?要回答这个问题,就要回到一个更本质的问题,即——链上存储的数据,只是单纯的数据吗?链上存储和普通的云存储的本质区别在哪里?

如果你足够敏锐,你会发现,PoW赋信,和不可篡改。存储一旦上链,就具有和PoW一样高的确定性,并可以公开访问。对于确定性和不可篡改的信任,是云存储难以提供的。比特币上的数据存储,实际上就是提供了这样一种不可篡改并且能够公共访问的数据源。

那么,数据又是什么呢?数据不仅仅是静态的文件,不仅仅是文本和视频,其实一切东西都是数据,用户的业务请求,服务器种运行的代码,同样也是数据。或者说数据本身是一种状态,而状态的表示也是数据。世界上各种各样的复杂状态都可以被规范化地表示为数据,作为历史被区块链记录,就像WeatherSV做的事情,成为确定性的记录。

日本餐厅Tsubaki Salon开始接受CAKE支付:1月10日消息,PancakeSwap社区成员@kamejir0u为一家名为“Tsubaki Salon”的日本餐厅创建了PancakePay支付服务,允许顾客在餐厅订购煎饼和蛋糕时用CAKE代币支付。

据其网站介绍,PancakePay的目标是让CAKE支付在日本成为一种时尚。这家餐厅接受来自日本任何地方的订餐。此外,还有一个额外的激励措施,每次成功购买,买家都会收到PancakePay NFT。(BSC News)[2022/1/10 8:38:47]

比特币包含的记录的确定性是由熵保证的,这是PoS或者BFT所难以达到的。那么这种确定性的记录能在智能合约方面带来什么改变呢?我们得先来看智能合约的本质,状态机。

确定性有限状态自动机

其实我们谈论智能合约的时候,智能合约究竟是什么东西?

程序员大概都了解一个东西,叫有限状态自动机,或者叫确定性有限状态自动机,即DFA,这个东西其实是各种各样程序的基础。

包括像以太坊或者各种各样的智能合约的公链,实际上在构建一种状态机,这种状态机接受输入,产生状态转移。输入可能是交易或操作码,链上状态机接受输入,改变链上的状态比如账户金额,或者链上的其他状态。

各种程序其实都是状态机,比如之前的灯泡演示,灯泡有亮灭两种状态,按按钮是输入,产生两种状态间的状态转移。

BitMax上线Insolar Staking预体验:据官方消息,BitMax交易所已于北京时间2020年7月2日22:00开启Insolar(XNS)Staking预体验。BitMax用户可提前体验XNS代币的Staking存币生息。BitMax Staking业务的主要特点包括支持快速解质押、质押资产参与杠杆交易等。更多详情请至BTMX官网查询。[2020/7/3]

我们从更准确一点的定义来看DFA是什么的话,它其实是一个五元组:一个非空的有限状态集合、输入字母表、状态转移函数、开始的状态、接受状态的集合。

我们用这种定义反思一下链上的VM,当我们谈论链上的智能合约的时候,我们需要的是一个什么东西?我们要的其实是一个公开的可验证的确定性的状态,以及确定性的状态转移函数。比如说,我们想要某种代币或合约时,我们真正关心的其实不是程序如何运行,而是要的功能能够确定性地实现,并且可验证,任何人无法篡改。

在这个过程中,合约或链规定了初始状态、接受状态以及状态集合,用户提供了输入并且被记录,状态转移函数则设置在共识里。从而产生确定性的状态。从以太坊发源的一系列智能合约的区块链,都是这么干的。

然而,把状态转移函数定义在共识里,存在几个严重的问题。

以太坊方式智能合约的问题

第一个问题是货币模型限制了业务模型。尽管图灵完备意味着可以做任何程序,但是,要将业务场景匹配到货币模型上,始终是一件很困难的事情。

许多业务模型不但不是货币模型,甚至难以用货币模型表达,这导致了传统业务很难在智能合约上开发,因为将其他业务模型翻译为货币模型是难度非常高的工作。以至于相对成功的智能合约往往局限于代币或数字资产这种天然适合货币模型的场景。而大众乃至开发者们对智能合约的理解也往往局限在代币和数字资产上。

第二个问题是链上定义的VM限制了开发,若为了区块链能够运行和扩容,共识中的状态转移函数就必须越简单越好,然而这样的话,开发就变得复杂了。虽然技术方面会有很多牛人写编译器,但是依然,很难复用各种语言生态中的组件。

这极大地提高了智能合约的技术门槛,再加上模型的翻译,门槛就更高了,这使得开发难以大规模进行。作为一个喜欢用JS的伪全栈工程师,用JS写前端,用JS写后端,用JS访问数据库,为何就不能用用ChromeV8引擎跑链上VM呢。做不到,因为VM已经被定义好了,无法自己选择。

第三个问题是复杂度的问题。状态转移的计算在共识层中,这带来了严重的性能问题,网络拥有大量算力,然而整个链的处理能力却比不过一台古老的家用计算机。能否完整地承载一个通常的程序都困难。

许多商业服务里单个高性能服务器都不能满足业务需要了,更别说链上合约了,高吞吐量?基本不可能。这些问题根本的原因是,状态转移函数定义在共识中,所有的节点都必须计算状态转移来进行验证,要不然无法保证状态的确定性。

状态的确定性并不需要计算

有以下计算式:(1087357389+87890345434)*28+897733^21388233-73004832%3

它的结果是什么?不计算不知道。但是我问你,它的结果是确定的吗?是不是不管谁来计算,结果唯一且不会发生变化?实际上,我们并不需要进行任何的计算就知道结果是确定的。因为我们知道这几个运算都是确定的,用来计算的数字也是已经确定的了。

足够聪明的话,你大概已经明白我要表达的意思了。对于一个DFA,只要它的定义是确定的,状态转移函数是确定的,输入流也是确定的,那么,你并不需要执行状态转移函数,就可以知道执行后的状态是确定的。

这种状态的确定性,是不需要计算的就可以获得的。必须要去计算的,只是想知道具体结果的人,即对当前状态感兴趣的人。所以,要达到智能合约的目的,只需要确定性地定义DFA,以及其状态转移函数,并且产生一个确定性的输入流。

一旦这些都确定了,链上计算,其实是不需要的,因为不论是链上计算还是链下计算,在哪里计算并不会影响结果的确定性。就像那个计算式,你在家里计算和在公园里计算并不会给结果带来任何差别。

BSV扩容产生的本质改变,也就正在于此处了,确定性,而且是PoW保证的确定性。

BSV带来的全新的智能合约可能

那么如何去做呢?原理实际上很简单,其实就是使用BSV存储的确定性,来确定性地定义DFA,你就得到了不可篡改、公开可验证的DFA。通过在BSV链上公开定义状态集合、状态转移函数、开始状态和结束状态,以及,得到确定性的TX输入流的排序方法,一个接受链上输入的链上智能合约就产生了。

在这个里面,能不能自己定义一些复杂的状态对象呢?完全可以。将TX定义为输入时,能不能采用自定义的数据结构呢?完全可以。定义状态转移函数时,能不能用自己习惯的语言呢?完全可以,只要代码和VM都是确定性的。

灯泡的演示就算是用JS编写的简单链上DFA,实际上这些定义大部分就是JS代码。

讲解到这里,聪明的人已经懂得如何在BSV上实现这种智能合约了,实际上这就是Tokenized上智能合约的思路之一,也是unwriter为什么称Planaria为InfiniteStateMachine的原因。

以太坊的分片扩容方案思路,本质上也是放弃链上计算,只让感兴趣的人或分片进行计算。然而可惜的是,以太坊以及其模仿者,终究无法通过这种思路扩容。

为什么以太坊必须进行链上计算

简单来讲,是攻击成本问题。如果以太坊不进行链上计算来验证输入是否有效,那么它就无法阻止攻击者用大量无效输入堵塞状态机,无止境地消耗计算资源。攻击成本为零会让状态计算在计算成本上不可行。

目前的以太坊尽管以太坊有Gas机制来处理无效输入,但是Gas机制也依赖于状态计算,除非以太坊有不依赖EVM状态计算的外部Gas机制。而比特币数据存储的手续费价格,正好从攻击成本上解决了这个问题。即便是无效输入,也需要付出数据上链成本,实际上就构成了不依赖合约状态的智能合约的Gas。

其实,构建在比特币二层,使用比特币作为Gas的EVM会是更理想的智能合约引擎。每想及此处,作为一个比特币原教旨主义者,都不免感慨,BTC本应成为智能合约的底层区块链,可惜被各种强加在共识上的限制捆住了手脚。如今这一切的应用开发,其实早在四五年前就应当繁荣发展了,而不是看着Github上一堆在四五年前停止维护的比特币应用项目感叹前人智慧。

幸好我们有了BSV。

标签:LIU区块链ASS数字资产MSDliutongl区块链dapp开发Recycle Impact World Association数字资产什么意思

ADA热门资讯
比特币:比特币跌破9000,该买,还是抛?小白入币市,需要注意这些_USD

今天下午5点左右,比特币跌破9000美元,好像即使区块链火热劲正足时,也避免不了“逢会必跌”的怪象,在面对今天的乌镇世界区块链大会,圈内人多的还是嘲弄,老老实实,不要开会了,韭菜生存不易啊.

比特币:谷歌的“量子霸权”对区块链行业的未来意味着什么?_gusd币最新消息

就这样,量子计算机取代传统计算机的预示离现实又近了一步。 图片来源:visualhunt根据英国《金融时报》最近的一篇报道,科技巨头谷歌声称已经实现了“量子霸权”,这意味着它已经建造了一台量子计.

:人生的三道门丨接纳自己、接纳别人、接纳世界_

01 用你的笑容改变这个世界 而不是让这个世界改变了你的笑容世间最好和最美的东西是看不到、甚至摸不着的:必须用心去感受她们。有爱心的人住在爱心的世界,有戒心的人住在戒心的世界.

BSV:最独特的民国银币,你知道贵州汽车币有哪“八奇”吗?_比特币交易软件

银币,又称“银圆”或“大洋”,是民国时代最常见的货币之一。我国最早的银币是乾隆五十八年在西藏发行的“清乾隆宝藏”,正面铸“乾隆通宝”四字,背面铸“宝藏”二字,皆用藏文.

数字货币:区块链迎最强风口 可当钱用的数字货币还有多远?_如何做区块链

中新网客户端北京10月30日电(谢艺观)受利好刺激,近日区块链概念股强势上涨,成A股市场最亮眼的“明星”,与区块链关联的数字货币概念股更是掀集体涨停潮.

STO:李国庆的区块链要做全套 做一个交易所发两个币_SDTK

财经网·链上财经作者:LornaQ今年2月,当当创始人李国庆宣布离开当当,并表示进军区块链领域.