Py学习  »  区块链

IoTeX:区块链如何赋能物联网

蓝狐笔记 • 5 年前 • 445 次点击  

前言:物联网设备数量每年都在快速增加,预计2022年可以达到180亿台,物联网前景很大,但也存在用户隐私、扩展性、互通性等问题。物联网要走向主流人群,面临不少困难。区块链作为分布式账本的技术,它具有不可篡改、保护隐私等诸多优点,但在性能上也有短板。区块链和物联网之间会有化学反应么?区块链能给物联网赋能么?蓝狐笔记邀请到IoTeX的创始人Raullen分享IoTeX是如何理解区块链与物联网的。Raullen曾担任Uber加密研究与开发部门负责人,曾在Google担任技术负责人。滑铁卢大学加密学博士学位与研究科学家。

 

蓝狐笔记:IoTeX要成为物联网的赋能者,那么,既然要赋能,哪些是物联网走向主流采用最需要的方面?IoTeX能够给物联网带来哪些不一样的东西?

 

Raullen:总的来说,IoTeX要解决的是物与物、人与物、乃至于人与人之前大规模交互的问题。目前看到的物联网主要存在的问题是寡头垄断形成的信息孤岛阻碍了物与物之间的交互,进一步阻止了设备和数据产生更大的经济消息。


另一个问题就是安全和隐私。举个例子,我家里用了Amazon一套智能家居解决设备(知己知彼,百战不殆),Amazon对我的起居饮食喜好等无一不知,也会按照这些喜好给我推送商票,虽然方便但是想起来很可怕,目前它是不会作恶的,但是不代表它一直不会作恶。

 

因此我们的愿景是如果物联网要大规模普及,那么必然要考虑数据垄断的问题,要解决安全和隐私的问题。这其实不只是涉及到区块链,也涉及到我们研发的可信硬件等技术。

 

蓝狐笔记:传统的中心化机构可以收集物联网设备的数据,且无需用户的许可。IoTeX对隐私非常重视,那么,从技术上来说,如何实现隐私保护的落地?

 

Raullen:这是个很宽泛的问题。首先得看看如何定义隐私,通常来说隐私可以看做是数据的保密性(data confidentiality)。常规的实现办法是访问控制和加密解密。前者是让不该访问数据的人碰不到数据,后者是即使碰到了数据不能访问的人也搞不出来明文。实际系统中这两个办法通常都会采用,比如之前在uber做了很多保护用户数据隐私的产品,都是这个思路,IoTeX的顶层设计思路也是遵循这两个方法。

 

从访问控制来说IoTeX采用主从链结构,而且子链可以是私链、联盟链,从而保证子链中的数据可以被很好的保护起来,甚至被删掉,我们有一个对GDPR很在乎的客户,正是采用我们的这种解决方案。

 

加密解密是另一个方法。此处难点有二 :一是如何管理加密解密的密钥;二是如何保持对加密数据的计算。密码学里面有一些方法,主要是安全多方计算MPC、全同态加密FHE和零知识证明ZKP。但是在现实中的性能都非常差。工程商用比较多的是TEE或enclave这样的一种硬件沙箱。我们的做法是把MPC和TEE做一个混合,从而实现前面提到的密钥管理和计算。

 

蓝狐笔记:除了隐私保护,IoTeX要解决物联网的扩展性问题。物联网由异构设备组成,算力、存储及功耗差距很大。另外,需求也不一样,例如,智能家居设备更注重隐私保护,工业物联网节点协同注重可扩展性等。具体来说,IoTeX是如何解决这个问题的?

 

Raullen:从两个维度来解决:提高单链容量和做主从结构。提高单链容量,俗称高TPS,估计大家听得耳朵都起茧了,就不过多赘述了。总的来说,IoTeX采用的是Roll-DPoS 的机制,TPS可以轻松达到3000左右。

 

很有意思的是,我们的工程师们在实现的过程中发现,在达到3000TPS后,基本上就遇到瓶颈了。主要在存储和网络。所以我们做了一些在高tps环境下如何减小存储的研究。它的中心思想是给链上数据设置TTL过期的数据可以被删掉,链上只留下一个证明。另一个瓶颈是网络,对PoS来说,基本上3000TPS以后,互联网环境中已经没法再提高了。有些很有意思的公司跑来和我们合作,用他们的private network来继续提升TPS,但我们认为意义不大。

 

主从结构很早就有人提出来了。比如pegged subchain,比如plasma。IoTeX现在的设计是做2层主从结构, 根链主要求稳,不一定很快,但是因为承担着治理的重任,以不出问题为主要考量。subchain以业务为主,比如有的业务主要是数据存储、设备追踪,那么我们可以优化它的状态层的结构。有的业务要求安全和隐私 那么我们就会用刚才提到的那些技术来做隐私和安全;这也是我们今年三月主网上线后主要着手实现的第一条侧链。

 

听众eos小不点:这个链需要类似于eos那种超级节点吧?

 

Raullen:说起来,我们的节点计划正在开展,大家可以详细看看。大概来说,我们会有36个BP,每个周期会分布式随机到其中的24个来做打包,其他的12个闲置,下一个周期重新分布式随机其他24个节点。

 

更有意思的一个设计是,我们的这些节点是同时负责主链和侧链的。主链的这36个节点可以自主选择侧链来做打包并争取获得侧链上的奖励。

 

这个设计背后的逻辑是,我们希望IoTeX网络有一个统一的network+consensus 层,然后在上面做不同的状态层(state layer)和执行层(execution layer)。因为我们的认识是,不同的业务逻辑或者说不同链的不同特性主要是因为不同的状态层和执行层。举个例子,bitcoin和grin,它们的network和consensus layers基本上一模一样,但是状态层不同造就了grin的隐私属性。

 

蓝狐笔记:刚才提到tps还有节点,我们知道IoTeX采用的是Roll-DPoS的共识机制,如何来理解它,为什么采用Roll-DPoS共识机制?

 

Raullen:Roll-DPoS = 随机版DPoS。如果有个坐标轴,坐标的一个极端是比较集中化的DPoS,另一端是比较分布式的PoS 那么Roll-DPoS处在两者中间。DPoS是非常集中的。但是PoS的问题也不少,性能和稳定性都存在问题,因此我们选择了一个有弹性的方案。


Roll-DPoS刚开始会从36个节点开始,其中每个周期会随机选出24个节点承担bp任务。随着生态系统的慢慢成长,我们会增大bp这个池子,比如是24/36 => 24/48 => 36/56 => 36/72 => ….当然怎么增加,要看到时候的治理和投票等。也就是说,我们会从一个偏中心化的配置开始,然后慢慢走向去中心化,这个我相信是需要一定时间的。

 

蓝狐笔记:IOTX是IoTeX的通证,它是怎么获取,又是怎么消耗的?为什么它是必须的?

 

Raullen:IOTX是协议对节点的馈赠,具体来讲,成为节点后协议会在完成一个周期后对所有的节点进行奖励,奖励分两部分:区块奖励+周期奖励。前者主要用于覆盖打包节点的软硬件运维成本,后者奖励是根据获得的投票比例来分的。


IOTX在系统中的用处有三个:


1. 税收。在这个系统中的所有交易都会收取一定的税,类似于gas,但是注意这个不是BP收走了 而是协议收走了;

2.治理。类似于民主的选票,用来进行民主化的链上治理;

3这是IoTeX比较有特色的一个地方。如要运行侧链,则需要stake/支付一部分IOTX ,可以类比的一个情形就是在云端买机器,你需要给服务商支付法币。而如果需要在IoTeX运行侧链,则需要向协议+BP支付IOTX。


这里的协议收入,进入奖池。奖池的输入是

1.税收

2.预留的区块挖矿奖励

3.捐赠


而奖池的输出是给节点的奖励 。看图好理解,这个是整个节点设计的总指导方针。

 

 

蓝狐笔记:之前关于共享单车退押金的问题引起了大家的关注。IoTeX能解决这个问题吗?IoTeX在未来的物联网生态中是否有机会成为底层的基础设施?

 

Raullen:说起来我们还和GSE有过一些合作。GSE是一个分布式单车共享的app。之前和GSE做的事情和共享单车退押金的关系还真是不小。GSE希望使用IOTEX + 智能锁来实现他们想做的事情,具体的思路是用户把代币打到智能合约,然后IOTEX来打开智能锁,用户把车骑走。因为押金存放在智能合约中,所以用户是完全有机会要回来的。这一套东西的POC我们已经做出来了并交付,看看下一步如何和他们一起推广起来。希望区块链能帮大家保护好押金 。

 

蓝狐笔记:如果用一句话来描述IoTeX的独特之处,它会是什么?

 

Raullen:灵气,我们在做的IoTeX是一条有灵魂的区块链。每一个设计的细节和每一行实现的代码都沉浸着我们每一个IoTeX人的心血,也希望我们所学所知,所努力的方向能够帮助到这个产业,哪怕只是一点点。

 

观众迈克:您预计啥时候会有具体落地与落地形式?

 

Raullen:看小落地还是大落地了,小落地我们现在就有。我们在今天年CES上展示IoT+blockchain的具体应用 (点击链接)。大落地是整个行业肩上的重任。所有从业者都在积极的寻找这一项屠龙技的最大最恰当用途。上面展示的这个小落地成果已经在和智能锁、共享经济的公司一起合作推广。

 

很多公链现在都把游戏当做方向,我个人反而觉得这个落地的方向是错误的。扪心自问为什么游戏需要区块链?难道你玩游戏的筹码已经达到了不能相信BAT了吗?显然不是。


------

风险警示:蓝狐笔记所有文章都不构成投资推荐投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

通往区块链的新世界:关注“蓝狐笔记”区块链公众号:lanhubiji 

或加入蓝狐笔记的知识星球:https://t.zsxq.com/iaQNnIq


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/XkuEfg87IO
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/28866
 
445 次点击