みなさんこんにちは。私はコジマツミヤです。私はソフトウェアエンジニアのデートチェーンです。このセッションに参加します。ハイパーレチュア・ラブズ・ユイについてお話しします。このセッションについてお話しします。このセッションの主要点は、ハイパーレチュア・ラブズ・ユイについてお話しします。まずは、ハイパーレチュア・ラブズ・ユイについてお話しします。ハイパーレチュア・ラブズ・ユイはスターチャル、多くのヘイでヘイのビルチェーン、スッキーブログチェーン、スペラル・モジュール・トゥー、何か特別に重要な材料のIBCのモジュールやレイヤーについて説明することができます。その後、Ui has a cross framework for more complex to execute distributed transactions.We have already released cross frameworks on GitHub,but we have not yet integrated into the UI.So, I'll skip the details of the cross framework.There are several important aspects of UI.I have picked out three there.First, UI doesn't require additional trust by on-chain verification.In short, it means that even when using UI,you can only rely on the security model or the blockchain you are connecting to.Next, UI supports arbitrary data transfer and computation.This means that UI can execute arbitrary smart contracts with each other.Third, UI provides abstract communication methods.Developers just need to design applications that do not depend on the counterparty blockchain.Therefore, UI allows us to develop chain independent.If you need more details,we publish a document named UIDocs and hyper richer robots on GitHub.So, let's move on to the next.IBC is an implementation of the inter-blockchain communication protocolcalled ICS by Interchain Foundation.IBC is a layered protocol as shown in this figure.In IBC, we implement modules for each roleand combine them to achieve interoperability.For example, the routing module is required to link the application to the IBC.The client module behaves as a right clientto verify block headers on the other side.The connection module provides the abilityto safely establish a connection between two blockchains.And so on. Besides, I show the dependencies between each module in this figure,but this doesn't matter in this session.The next slide is just an example of sending a datagram by UI.UI enables interoperabilitywith the IBC-based light client method.Light clients are core componentsto trace and verify counterpart states at local.In order to communicate with new chains,we need a new light client for new chains.One more important component is layer.The layer has a role in the physical connection of IBC.Layer detects and transmits packets from one to the other.And the layer has two important properties,permissionless and trustless.The layer works off-chainand any third-party can operate it.In spite of this,the layer remains trustlessbecause of using the light client.Even if layer sends a false information,the blockchain to which a packet is sent from the layercan detect the correctness by the light client.Now,I'll show you a sequence of sending a packetbetween two blockchains.I assume to connect Cosmos and Hyperledger fabric as an example.I want to go into details of Cosmos.One key point is that Cosmos has a tendermintfor its consensus algorithm.Tendermint light client is included in IBC Go repository.Hyperledger fabric,as many of you know,is a permission-distributed ledger.We call this light client to the fabric client.Fabric client is included in UiFabric IBC repository.And it provides a layer as a UiLayer.Now,let me explain the sequencethe Cosmos sends a packet to Hyperledger fabric.In step one,a sender creates a packetto be sent to fabric in Cosmos.Next,until step five,the UiLayer detectsthe packet and gets the latest header from Cosmosand submits it before sending a packet to Fabric.Because Fabric site needs to know the latest states of Cosmosto verify a packet.And then UiLayer sends a packet to Fabricand Fabric verifies it by tendermint client.If a packet is verified,Fabric calls a function according to your packet.This is a part of the sequence for sending packet using UiLayer.Originally,more steps are required,but some are needed for simplicity.There are various methods to achieve interoperability.But let me jump to the conclusion due to lack of time.The light client method is more secure,but it has low extensibility and high verification cost.This is a time to show you a demonstration of UiLayer.This demo is a token transfer using ICS-20between Fabric and Cosmos.The ICS-20 is a standard used for the token transfer,but let me skip the details.You can try this demo by accessing the Fabric CosmosIBC demo repository.The main components are UiLayer,UiFabric IBC and IBC Go.So,I'll describe a demo scenario.It's assumed that token will be sent from Cosmos to Fabric.At first,the sender initiates the token transferon Cosmos side.And then,the existing token is locked.Next,the UiLayerPacket to the Fabric side.I skip updating the light client at this time for simplicity.If a receiver receives a packet on the Fabric side,new token is minted equivalent to a locked one.Finally,a receiver responds to the acknowledgement packetand the sender accepts it on the Cosmos side.There is a directory structure for Fabric Cosmos IBC demo.The chain code and contract directoryinclude an IBC application that referencestransfer module for Fabric and Cosmos.The networks includes environment for both chains.The layer directory refers to UiLayer.The test directory has scripts and utility for the scenario.So,next,let me skip this slide.I'm also skipping this slide.So far,I've explained an overview of the demonstration.Now,let's begin.In the first step,we have to build the projectby running mac build.The mac file in the routeand this refers to sub-directories.These built IBC applications for Cosmos and Fabric.And the mac file in the layerbuilds a CLI for the layer.And so,all the artifacts show in the lower right.Next,we have to launch networksand initialize by mac setup.So,the setup script kicks inand three more scripts.The startFabric,startCosmos,and the prepare.The startFabric and startCosmosrun each network as a docker container.And the prepareinitialize both networks,create both right grantswith initial statesand initiate opening handshakedescribed by IBC.Each blockchainchecksif initial states are correct.After we run setup script,the following scripts,following results are obtained.We establish channelsand connectionsand we'll see that containers are running.So,this is the final step.We'll run a demo using the mac transfer.The mac transfer kicks a testTX scriptwhich has a demo scenario.Like I said,in this scenario,we transfer the token transferfrom Cosmos to Fabric.This script will print current stateand then run a layerTX transfer commandwith arguments,IBC01,IBC0,IBC1 amount of tokenand recipient address.After execution,the token is lockedon the Cosmos side.Next,this script executesthe layerTX relay commandsto transmit a packetfrom Cosmos to Fabric.And we get the tokenon the Fabric side.Then,the script executesthe layerTX acts commandto reply to Cosmos.As a result,we'll seethat demonstration was successful.So,finally,I'll quickly show youonly current work.Now,we're developing the LCPwith stand forLight Client Proxy.LCP serves the issues of theLight Client method such aslow extensibility and highverification cost.LCP using the TE.TE is a trusted execution environment.TE is a secure area of mainprocessor such as inter-sdxand arm trust zone.More information is availableon GitHub and ourmedium post.So,that's all my presentation.Thank you for listening.