分類:AMIS

同態加密 (Part 2:Paillier cryptosystem)

在目前的實務上,最常使用的同態加密是 Paillier cryptosystem。是一種非對稱式加密:會有一組公鑰用來加密,一組私鑰用來解密。並且在這情況使用的是 RSA 模組。更具體的說就是公鑰有兩個參數決定

同態加密

同態加密 (Part 1:簡介)

在這篇短文,我們簡介同態加密( homomorphic encryption) 的基本概念,以及應該具有的密碼學性質。
之後會在系列文章給予兩個例子 (asymmetric algorithm):Paillier 和 C.L. homomorphic encryption。並且在例子 Paillier 解釋為何滿足同態加密的特性。在 C.L. homomorphic encryption 我們點出在應用上為何它比 Paillier 更優越之處。

A Hierarchical Threshold Signature

A Hierarchical Threshold Signature

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.

LibraBridge

LibraBridge: 連接 Libra 與 Ethereum

在前面的文章中,我們介紹過 LibraSwap,但實際上透過 Libra SPV,我們可用於搭建 Libra 與 Ethereum 之間的橋樑,稱做 LibraBridge。利用 SPV validation 實作跨鏈的代幣交換不是新的創舉,過去有許多項目利用這個方法來橋接兩個不同的鏈上資產,如下。SPV 是一種用於輕節點驗證交易的方法,透過智能合約的協助,我們可以在合約上驗證來自 Libra 的交易。

LibraBridge

LibraBridge: Connect Libra with Ethereum

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.

Merkle Tree

Verify a Libra Transaction

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.

AWS Cloud

AWS IRSA For Self-Hosted Kubernetes

Finally, AWS made changes in the AWS identity APIs to recognize Kubernetes pods, so each K8S Pod can have specific IAM Role to acquire proper permission to access AWS cloud resource (This feature called IRSA). For the AWS Hosted K8S (A.K.A. EKS), official provided detail document and blog post to demonstrate how to achieve it, but there is still not many online resource to talk about how to enable it for Self-Hosted K8S in AWS, hence, I write this post to go through how to enable IRSA in Self-Hosted K8S.

Libra Swap Process Flow

LibraSwap introduction

In this article, we will introduce LibraSwap, an experimental project to bridge Libra with Ethereum. It aims to implement a minimum viable prototype to fulfill token swap between Libra and Ethereum. There are two reasons why we choose this fun project. On the one hand, we want to learn more on how Libra works. On the other hand, we are familiar with Ethereum blockchain. However, due to the limitation of Libra testnet, we can not deploy and interact with Libra smart contract. We implement a unilateral Libra swap instead of the standard atomic swap.

LibraSwap 流程圖

LibraSwap 介紹

本文我們將介紹 LibraSwap,這是個實驗性質的專案,旨在實作 MVP 來實現 Libra 與 ETH 之間的 Swap 互換。挑選這個專案的原因,一方面是為了學習 Libra 區塊鏈,另一方面是我們對於以太坊區塊鏈較為熟悉,但是考量目前 Libra 測試鏈上僅能收送交易,尚無法部署合約交易功能,所以這個專案我們將會實作單方向的 Swap 互換。

Libra

An Introduction To Libra

On June 18, Facebook unveiled its blockchain project, called Libra. The goal of Libra is to build a new financial infrastructure that empowers billions of people to access financial service efficiently and cheaply. According to the white paper, Libra is expected to launch in 2020. However, the emergence of Libra makes the US Congress ask Facebook to pause its development because the new global currency it brings would harm existing financial system. Libra published the white paper, open sourced the projects, and release the Testnet. Thus, developers can play around with the Libra and contribute to Libra Core. Currently, the Libra project is under ongoing development and the discussion forum is active too.