作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
michael Mikolajczyk的头像

米甲Mikolajczyk

Toptal Warsaw的区块链物联网初创公司创始人/首席执行官和社区领导者, Michal拥有广泛的全栈经验.

分享

去中心化的汽车租赁激发了开源 区块链物联网项目在美国,多功能币Motoro由此诞生. 在可预见的将来, 下面描述的公共智能合约将通过分布式应用程序(Đ应用)接口访问. 启动 维京车库 已经在欧洲和东南亚提供了更好的摩托车租赁服务. 在那里见证的故事推动了通过区块链技术进行点对点机动机器租赁的开放协议的研究和开发.


技术会议总是一场智力盛宴. 大量的能量集中在改善人类. 花在想象更美好未来上的创造力永远不会让人失望. 但也有人对技术出错提出了警告, 比如斯蒂芬·霍金最近警告说,人工智能可能会成为我们的末日. 这种对比无疑为乘车过程中有趣的讨论铺平了道路.

另一面是光明的. 我们现在有技术可以让我们快速塑造我们的世界. 我们在昨天的技术上创造了新的抽象层次,并以许多现有机器的创造者无法想象的方式利用它们. 在深入了解两种最热门的当代技术之后-区块链物联网-产生具有重大社会和经济影响潜力的想法. 这种影响将创造一百万个就业机会. 但是,在运输行业中,有哪些实际的区块链物联网用例可以实现这一目标呢?

以太坊智能合约区块链, 物联网, 和机动化在新的实用货币“Motoro”中汇合."

有时,在这种情况下,解决方案出奇地简单.

在维京车库,我们帮助摩托车车主通过出租他们的自行车赚钱. 换句话说, 我们建立了摩托车共享经济, 颠覆个人交通运输业. 现在我们要介绍的是实用硬币Motoro. 但是让我们后退一步,这样你就能明白我们为什么需要它.

利用现有机器改善生活

全球运输行业的一个重要方面是,新机器和车辆通常都很昂贵. 相比之下,使用现有硬件要便宜得多,而且质量通常也差不多. 一些企业只是通过出租机器来经营, 它们本身通常是由金融机构出租的. (这种情况与当前的软件状态大不相同.)

特别是, 建筑工地使用的车辆, 在农业农场, 在运输, 即使在零售领域,一次性项目也太贵了. 这包括个人交通, 这就是我们有像Taxify这样的拼车服务的原因.

超级黑, 奢侈品, 在世界上最大的城市也是一种很棒的体验,而且花费很少. 这就是共享的全部意义:获得高质量的商品变得容易和经济. 只有当我们真正需要从一个地方移动到另一个地方时,我们才真正需要特斯拉汽车:所有权可以被认为是可用性的产物. 谁想要担心电池随着时间的推移会退化,或者更糟的是,侠盗车? 我会选择北极星1号,它将在4月份上市, 它甚至不可能“永久购买”它.”

所有权可以被认为是可用性的产物.

从所有权转向更实用的方法的趋势对所有机器所有者来说都是一个很好的机会. 在我写这篇文章的时候, 我想到了优秀的机械, 骑手, 以及我在印尼三个月期间遇到的摩托车车主. 通常,摩托车是他们的主要(有时是唯一)财富.

仅在那个国家,每年就售出700万辆新摩托车. 不过, 在这种情况下,租用特定的自行车几乎是不可能的, 中型摩托车, 直到我转向私人业主. 当与私人业主打交道时, 获得那种型号摩托车的途径大大改善了, 价格下降到大企业要求的一小部分. 这个人拥有一台机器,他们当时不需要,我想付钱使用它. 结果很好.

这很简单. 为什么不扩大规模呢??

麻烦来了!

实际上,创建可扩展的业务并提供高质量的服务并不简单. 即使第一笔交易进行得很顺利,也主要是运气. 我认为自己是一个现实主义者:我相信这一点, 如果出了什么差错, 在10万次交易的过程中, 它可能会多次出现.

机器很危险. 摩托车事故尤其致命. 当事故发生时, 那么根据法律, 为了保险起见, 一定会找到原因的——但这将把马主和骑手放在哪里呢?

作为工程师,我们理解人为错误的普遍性. 在维京车库,我们想让人们骑和业主赚钱出租机器. 我们承认可能的责任,并打算将风险降到最低. 我们希望交易保持在业主和租户之间,因为我们想提供一个开放的, 透明的, 和安全的手段,人们租用车辆和乘坐.

那么,什么地方可能出错呢? 一开始,甚至很难租到摩托车. 假设我们能挺过去, 有一台机器可用, 那么业主问的问题是, “要是有人偷了怎么办??“这是个大问题! 相反,骑自行车的人会问:“如果我把自行车弄坏了怎么办??“这个问题可能会通过保险和正式的租赁协议来解决. 车手经常问的另一个问题是,“如果我出了事故,是谁的错??“很明显, 这里有交通规则, 但是我们需要考虑到机器的机械状态,因为机器可能会出故障. 再加上业主和承租人之间的正式信任问题, 以及他们和当地政府之间的关系.

上面列出了五个重要问题: 访问物流, Theft, 负责任的使用和责任, 机器状态, 信任. 我们似乎只有三种传统的解决方案:租赁协议, 保险, 还有交通规则. 这些解决办法在许多场合都失败了. 为了租一台机器,我们需要考虑所有这些吗? 在维京车库的案例中, 我们希望人们在全球范围内互相租用机器, 注意安全, 答案是:是的! 让我们考虑一下新技术如何帮助我们.

区块链物联网?

好消息是, 我们现在拥有解决上述问题和/或改进现有解决方案的技术. 为了清楚起见,让我们再次列出这些问题:

  1. 访问机器
  2. Theft
  3. 负责使用和损坏责任
  4. 机器状态和服务质量
  5. 正式的信任

初始解决方案, 我们将在此基础上继续发展, 是代表机器和租赁交易上的去中心化吗, 公共网络. 一些分布式账本或区块链似乎是一个天然的选择. 特别是, 我们的注意力被以太坊区块链的日益普及和接近图灵完备性所吸引.

允许处理事务, 两种类型的智能合约就足够了:(a)一种代表所有者和乘客/租房者,(b)另一种代表机器. 还有另一个要求:一个协议,以尽量减少欺诈和误解的可能性, 没有任何第三方参与. 在大多数协议中,很可能需要一套租赁的实物证明. 开发这种算法可能很棘手, 但本质上, 只需要几个智能合约, 区块链可以作为共享经济的基础平台. 它是如此方便,因为区块链的原生功能是促进分布式共识和安全交易.

这是 早期的草图 机器表示为以太坊智能合约,用Solidity编写. 该合同已经为简单租赁提供了一个接口,包括一个托管系统. 代码可以正确编译,并用于概述解决方案的简单和有效程度.

编译指示可靠^​0.4​.​18​; 
 
进口'../ node_modules / zeppelin-solidity /合同/令牌/ ERC20Basic.索尔的; 
进口'../ node_modules / zeppelin-solidity /合同/令牌/ SafeERC20.索尔的; 
 
/** 
* @title可拥有 
Ownable合约有一个所有者地址,并提供基本的授权控制 
* functions; this simplifies the implementation of "user permissions." 
*/ 
合同MachineRepresentation{ 
  使用SafeERC20 ERC20Basic; 
 
地址公共 老板; 
地址公共 pendingRenter; 
地址公共 房东; 
  字符串公共 模型; 
  字符串公共 使; 
  字符串公共; 
uint256公共 rentalPrice; 
uint256公共 rentalCount; 
// ERC20基本代币合约被持有 
ERC20Basic公共 令牌; 
 
  事件MachineRental(​地址索引_machine,​ 地址索引_老板,​ 地址索引_renter,​ uint256开始时间, uint256 endTime,​ uint256 _rentalPrice); 
  事件RentalClaimed(​地址索引_machine,​ 地址索引_renter,​ uint256 claimedTime); 
  事件MachineReturned(​地址索引_machine,​ 地址索引_renter,​ uint256 returnTime); 
  事件ReturnConfirmed(​地址索引_machine,​ 地址索引_老板,​ uint256 claimedTime); 
 
  /** 
MachineRepresentation构造函数将合约的原始“所有者”设置为发送方 
*账户. 它还设置了机器的型号,品牌和VIN. 
*/ 
  函数MachineRepresentation(​字符串 _model,​字符串 _make,​字符串 _vin)​公共{ 
老板=​ 味精.​发送方; 
模型=​ _model; 
使=​ _make; 
=​ _vin; 
rentalCount=​0​; 
  } 
 
  /** 
如果被所有者以外的任何帐户调用,则抛出@dev. 
*/ 
修饰符onlyOwner()​{ 
需要(​味精.​发送方==​ 老板); 
_​; 
  } 
 
  /** 
* @dev如果被租户以外的任何帐户调用则抛出. 
*/ 
修饰符onlyRenter()​{ 
需要(​味精.​发送方==​ 房东); 
_​; 
  } 
 
  /** 
@dev如果被任何帐户调用,除了挂起的租户(临时角色). 
*/ 
修饰符onlyPendingRenter()​{ 
需要(​味精.​发送方==​ pendingRenter); 
_​; 
  } 
 
  /** 
* @dev允许所有者将机器出租给租户,并指定开始和结束时间 
还有租金 
*/ 
  函数 rentMachine(​地址_pendingRenter,​ uint256开始时间,​ uint256 endTime,​ uint256价格)​公共 onlyOwner{ 
需要(​_pendingRenter!=​ 地址(​0​)); 
rentalPrice=​ 价格; 
MachineRental(​,​ 老板,​ _pendingRenter,​ 开始时间,​ endTime,​ 价格); 
pendingRenter=​ _pendingRenter; 
  } 
 
  /** 
* @dev允许pendingRenter地址完成转账并提供代币合约, 有足够的现金 
*/ 
  函数 claimRental(​ERC20Basic _token)​ onlyPendingRenter公共{ 
需要(​rentalPrice<=​ _token.​balanceOf(​)); 
令牌=​ _token; 
房东=​ pendingRenter; 
pendingRenter=​ 地址(​0​); 
RentalClaimed(​,​ 房东,​ 现在); 
  } 
 
  /** 
允许租户地址返回机器, 从持有的合同中转移现金, 对着机器 
老板 
*/ 
  函数 returnMachine()​ onlyRenter公共{ 
uint256数量=​ 令牌.​balanceOf(​); 
需要(​rentalPrice<=​); 
令牌.​safeTransfer(​老板,​); 
MachineReturned(​,​ 房东,​ 现在); 
  } 
 
  /** 
* @dev允许所有者地址确认机器返回 
*/ 
  函数 confirmReturn()​ onlyOwner公共{ 
房东=​ 地址(​0​); 
rentalPrice=​0​; 
rentalCount++; 
ReturnConfirmed(​,​ 老板,​ 现在); 
  } 
}

我应该指出的是,要涵盖所有可能的租赁交易类型,需要的不仅仅是几个有限的智能合约. 我们看到需要一个具有可重用性的模块化库, 最小智能合约, 考虑到灵活性,专注于车辆租赁. 这将允许其他工程师为他们的用例构建最终合同. 接力业务,提供 Đ应用 契约的接口, 可能仅仅通过成为特定智能合约类型的网关就能实现增长吗.

那么,以太坊区块链究竟增加了什么价值呢?

首先,租赁合同将是透明的. 公共区块链上的所有信息都是公开的. 可以引用在另一个地方保密和安全的数据, 但这一提及仍将公开. 本质上, 每份租赁协议, 还有双方同意的细节, 将是公开的.

其次, 这些信息是安全的, 因为它的副本将分布在整个分散的分类账(区块链)上。. 痕迹将永远存在, 或者至少在硬分叉明确修改用于促进交易的区块之前——但这种可能性接近于零.

第三, 信息也将是安全的, 因为以太坊区块链上的每笔交易都必须经过验证, i.e.,必须达成共识.

使用区块链的第四个原因是合约是自动执行的. 一旦签署了, no further user action is required to assess if the conditions listed in the contract were met; that is, 除非双方同意增加这些要求. 但是请注意,契约不能直接从外部世界访问信息. 原因是, Ethereum需要 它的所有状态都可以随时被任何人验证.

因此,需要可信的权威机构来验证来自区块链外部的传入信息并为其提供数据. 这个角色被称为神谕的服务所填补,其中最受欢迎的是 Oraclize. 一些去中心化可以通过引用oracle组来实现,就像Oraclize一样. 但目前的技术状况让人想要更好的解决方案. 例如,如果租用的机器本身可以取代预言机呢?

第五个原因:智能合约是自我执行的. 这意味着, 签约后, 当设定的条件满足时, 智能合约能够采取行动来解决协议. 合同中的所有内容都是清晰的和自动的, 从签署文件到敲定协议. 既定的条件和结果是不可改变的. 这样的合同对双方都是安全的,不会有任何意外.

当比较这五个点时(原生支持快速进化), 广泛使用的区块链技术)的替代方案(必须建立支持安全可靠的交易和合同, 从头开始),最初的问题改变了. 我们为什么要 想要使用区块链技术?

事实上,有几个理由不这么做. 所有区块链交易都需要gas来执行,这意味着它们必须被支付. 的 当前平均成本 以太坊区块链上的一次标准转账是1美元. 第二个原因是区块链相当慢. 第三个原因是所有的信息都是公开的. 这太危险了, 而且往往是非法的, 保持脆弱, 每个人都可以访问的数据存储中的个人数据, 不可能更改或删除这些记录.

我必须指出,不同区块链之间的交易成本和速度差异很大. 以太坊区块链现在非常受欢迎,但随着中继链的兴起,比如 Polkadot项目,很快就会出现更多合适的平台. 去中心化是最重要的特征, 这对于任何分布式账本技术来说都是给定的.

至于隐私, 最终,通过正式协议存储在区块链上的数据应该是最少的. 用户将通过他们钱包的地址被引用,这些地址是 有点匿名的,或假名的.

Motoro:建立一个网络物理社区

让我们回过头来看看列出的共享机器的五个问题. 我们现在可以清楚地描述全栈网络物理系统, 由区块链连接Đ应用s组成, 与off-chain结合 SaaS 硬件和软件的物联网模块,可以解决上述问题:

1. 使用机器

用于代表机器的智能合约将存储在公共区块链上. 这些代表将独立于任何中央业务,并可能出现在若干Đ应用s中, 根据意愿和可用性进行重用.

2. Theft

当绑定在软件端(区块链)和硬件端(嵌入式物联网系统)上表达时,机器的识别效果最强。. 信息物理网络将包括 微控制器,连接到机器的模块,如机载诊断(e.g.(OBD-II)连接器,或发动机控制单元(ecu). 这些微控制器将为智能合约提供数据, 用于识别机器. 因此,他们将成为硬件预言者.

取决于电子连接的类型, 网络连接, 最后是从句, 双方在智能租赁合同中约定了哪些内容, 合约的自我执行属性可以扩展到物理机器.

有两种类型的交互:从机器中读取和向机器中写入. 这种交互的简单例子是,在机器没有被归还的情况下开启GPS跟踪, 甚至关闭点火或燃油喷射, 或者更改燃料映射到机器不再运行的点.

在处理可以写入和更改机器状态的设备时,需要非常小心. 的 对人体安全危害明显,指向需要 负责应用程序,表示 这种物联网系统下的巨大力量.

3. 责任和负责任地使用机器

这方面的改进是透明度的直接效果, self-execution, 智能合约的自我执行, 是用来做租赁协议的. 这些文件可以包括双方决定的所有条款.

其他类型的文件, 比如照片或视频, 指示机器租用前后的状态, 能否在发生冲突时作为证据存储在区块链上.

智能合约还可以绑定有担保的存款合约,就像上面的例子一样. 事务的每个步骤及其解决方案, 连同所有的资产, 在任何时候都是透明和可预测的吗.

4. 机器状态和服务质量

机器在照片上看起来真的很不错, 甚至在启动时看起来运行良好, 但许多缺点一开始可能是隐藏的. 轴承磨损等问题, 过热, 而其他许多人可能需要特定的知识才能注意到, 也许对机械师来说很常见,但对一般人来说不是.

这些缺点很可能会出现, 然而, 还毁了租客的体验, 可能会造成更多的问题. 想象一下,在一个热的发动机上汽油泄漏——这是你在两辆不同的摩托车上亲身体验的两倍!

这个问题可以由社区来解决. 奖励用户在评论中描述他们的体验, 并提供一个评分系统, 会立即改善情况吗. 将对机器的评价和分数与给予机器所有者的评价和分数区分开来,将进一步有助于评估机械状态、服务和通信质量. 此外,这些信息可以跨越共享经济.

5. 正式的信任

最后一个问题和前面两个问题一起解决了. 智能合约的性质决定了协议的透明度, 而社区将迅速评估用户是否有恶意行为.

个人Đ应用s也许可以增加一个打印合同版本的选项, 应用于租赁协议模式, 典型的地区和地方当局, 通用的解决方案出现了!

显示维京车库基于区块链和物联网的Motoro系统的移动部件的流程图.

本节概述的解决方案允许我们, 在我们看来, 大大改善个人交通租赁的现状. 失败的选项被最小化,并且可以在基本集合的基础上构建进一步的解决方案. 困难的, 通过引入网络物理系统和社区,租赁机器的风险过程变得不那么困难,更容易管理.

摩托罗拉,缺失的一块(显然!)

重要的是要强调Motoro可以与其他类型的车辆一起使用, 比如建筑和农业机械.

Motoro是ERC20代币, 这意味着它符合标准, 可以在以太坊公共区块链上使用吗, 并且可以交换以太坊和 其他ERC20令牌. 它具有破坏性是因为:

  1. 它是摩托车租赁的全球通用货币.
  2. 它有内置文档, 比如摩托车租赁, 零售, 或者服务协议, 可部署到公共以太坊区块链.
  3. 它是开源的, 最初的专用服务——现有的分散式摩托车租赁初创公司VIKING garage——和一个开放的API.
  4. 它允许直接交换摩托车租赁, 服务, 和产品, 大多数货币也是如此.
  5. 它为世界各地的个人交通提供了快速通道, 利用现有的基础设施和全球摩托车的可用性, 也适用于那些持有普通汽车驾照的人.
  6. 它通过为发表评论和分数的社区成员分发新币来奖励他们的活动.

我们一直在谈论摩托车,因为这些是我们在维京车库处理的机器. 与其他类型的机器相比,它们也非常有用,而且不太贵. 此外,它们发出很酷的声音,而且只要拧一下油门就能跑得很快. 它是, 然而, 重要的是要强调Motoro可以与其他类型的车辆一起使用, 比如建筑和农业机械.

前面的路

我们预计摩托罗拉的初步全球影响如下:

  • 新的工作岗位: 成千上万的摩托车车主,从现有的摩托车中赚取新的利润. (我们已经在维京车库观察到了这一点.)
  • 市场的变化: 私人摩托车租赁和摩托车的普遍使用在世界范围内上升, 摩托车销量下降.
  • 改善电单车车主及车手的生活质素: 影响最大的将是东南亚, 由于世界范围内价格的统一,由于公分母, Motoro.
  • 扩展到其他领域: 摩托车被用于其他机器共享经济,并与物联网技术相结合.
  • 可投资的盈利资产: Motoro是一种标准的实用币,专为直接租车而设计. 它也可以用于支付租金通过维京车库, 以及其他汽车共享经济的到来, 世界各地. 越多人依赖这种去中心化的汽车租赁货币,这种货币就越有价值.

如果你有兴趣参与这个全球运动, 包括物联网和区块链, 有很多方法可以立即做到这一点. 你可以为 我们在GitHub的开源项目. 另一种方法是开始使用维京车库,作为一个骑手或机器所有者. 最后, 欢迎您参加我们在波兰华沙校区(谷歌空间)举行的Toptal社区活动之一-区块链物联网研讨会, 讨论和规划摩托罗拉的进一步发展. 为此,只需搜索Toptal on 他们的活动页面. 欢迎所有技能水平的人,因为我们共同学习并创建开源区块链驱动的物联网解决方案!

引用:

了解基本知识

  • 什么是以太坊?

    以太坊是一个公共区块链和虚拟机. 它是人们进行直接交易的网络. 以太坊的去中心化算法促进了共识, 所有的交易都存储在不可变块中.

  • 区块链到底是什么?

    用户机器上的数据库, 网络上所有交易的分类账, 存储在不可更改的块中, 可以称之为“区块链”吗, 在特定的语境中. 像以太坊或比特币这样的去中心化区块链将技术扩展到网络. 每个用户都保留一份副本.

  • 区块链是如何工作的?

    区块链将交易存储在称为块的顺序链接数据集中, 在每个用户的本地机器上. 用户通过网络连接, 并在不依赖第三方的情况下就单一交易历史达成共识, 而是在社区, 使用无信任分布式算法.

  • 什么是以太币?

    以太是以太坊区块链的第一种货币. 它是由系统本地处理的, 和“以太币”不同于当前标准的ERC-20“以太坊币”.“一般来说,代币代表资产.g. 加密货币、服务或连接的物理对象. 换句话说,它们代表价值.

  • 什么是智能合约?

    智能合约是由区块链虚拟机执行的程序. 他们接收一个网络地址,就像其他用户一样. 它们被用来处理和记录任意的协议和交易. 智能合约构成了去中心化应用的区块链端.

  • 什么是DApps方法?

    去中心化应用程序是连接到区块链的应用程序. 它们可以有各种前端接口,例如.g.,网页或本地. 通过接口,用户可以与DApp中使用的智能合约进行交互. 您可以将智能合约视为dapp的后端,区块链是数据存储.

  • 简单来说,什么是物联网?

    物联网(物联网)是一个术语,指的是可以通过互联网识别和通信的物理设备, 但它们还有另一个主要作用, e.g.智能家居系统、联网机器和车辆. 物联网还包括用于管理设备的软件系统.

就这一主题咨询作者或专家.
预约电话
michael Mikolajczyk的头像
米甲Mikolajczyk

位于 华沙,波兰

成员自 2014年9月17日

作者简介

Toptal Warsaw的区块链物联网初创公司创始人/首席执行官和社区领导者, Michal拥有广泛的全栈经验.

Toptal作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

工作经验

8

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.