
Introduction to Hierarchical Threshold Signature(revised version)
In honour of opening sour
In honour of opening sour
這次介紹的 Gas Station Network 算是 Meta Transactions 的進階版,更複雜但也解決了上述的問題。
GSN 也不是新概念,2018 年底以色列公司 TabooKey 提案 EIP-1613 Gas Stations Network,同樣是透過 Relayer 來代替使用者支付 Gas。
最近 Meta Transactions 一詞開始在中文區塊鏈圈流行,但其實這並不是新名詞,早在 2018 年中就由 Alex Van de Sande 提出的 EIP-1077 帶起討論,而 Austin Thomas Griffith 也緊接著提出他的解決方案 bouncer-proxy ,成了目前許多實作的參考。
那什麼是 Meta Transactions 呢?
BIP141 就提議,在 block 裡面創造一個新的資料結構叫 witness program 來存放 transaction 的 input script。如此一來會把簽名的部分分離 (segregate) 出 transaction 了,所以才叫做 segregated witness,簡稱 segwit。
在目前的實務上,最常使用的同態加密是 Paillier cryptosystem。是一種非對稱式加密:會有一組公鑰用來加密,一組私鑰用來解密。並且在這情況使用的是 RSA 模組。更具體的說就是公鑰有兩個參數決定
在這篇短文,我們簡介同態加密( homomorphic encryption) 的基本概念,以及應該具有的密碼學性質。
之後會在系列文章給予兩個例子 (asymmetric algorithm):Paillier 和 C.L. homomorphic encryption。並且在例子 Paillier 解釋為何滿足同態加密的特性。在 C.L. homomorphic encryption 我們點出在應用上為何它比 Paillier 更優越之處。
Key management plays a significant role in blockchain technology regarding digital assets protection. Practically speaking, losing private keys leads to great losses. Improper key management and poor system implementation may increase the risk of asset being transferred maliciously. Take an extreme case that happened before as an example, a principal died suddenly and no one was able to recover keys so that the whole asset was frozen. To solve these problems, experts therefore propose threshold cryptography to reduce the risk of key management.
在前面的文章中,我們介紹過 LibraSwap,但實際上透過 Libra SPV,我們可用於搭建 Libra 與 Ethereum 之間的橋樑,稱做 LibraBridge。利用 SPV validation 實作跨鏈的代幣交換不是新的創舉,過去有許多項目利用這個方法來橋接兩個不同的鏈上資產,如下。SPV 是一種用於輕節點驗證交易的方法,透過智能合約的協助,我們可以在合約上驗證來自 Libra 的交易。
In the previous article, we explain the concept of the LibraSwap. Next, we will introduce LibraBridge, which can be used to connect Libra with Ethereum by Libra SPV method. The idea to leverage SPV validation to implement cross-chain transfer is not new. It’s already done by several projects listed below. SPV proof is a way for light client to verify if interested transaction happened on the blockchain. With the help of smart contract, Libra SPV proof can be implemented on Ethereum. Namely, we can verify a Libra transaction through smart contract, along with some external information.
Generally, you need to have a client when connecting to the blockchain network. There are different types of nodes: full node, light node, mining node and relay node. In this article, we will focus on how a light client node works because not everyone can run a validator node (full node) in Libra since it is a permissioned blockchain. Instead of fully verifying all transactions and blocks, light clients only need to download block headers and verify if interested transactions are included in the block. Light clients are run by devices that do not have huge computation power and bandwidth.