Bitcoin has emerged as a revolutionary payment system with its decentralized ledger concept however it has significant problems such as high transaction fees and long confirmation times. Lightning Network (LN), which was introduced much later, solves most of these problems with an innovative concept called off-chain payments. With this advancement, Bitcoin has become an attractive venue to perform micro-payments which can also be adopted in many IoT applications (e.g. toll payments). Nevertheless, it is not feasible to host LN and Bitcoin on IoT devices due to the storage, memory, and processing requirements. Therefore, in this paper, we propose an efficient and secure protocol that enables an IoT device to use LN through an untrusted gateway node. The gateway hosts LN and Bitcoin nodes and can open & close LN channels, send LN payments on behalf of the IoT device. This delegation approach is powered by a (2,2)-threshold scheme that requires the IoT device and the LN gateway to jointly perform all LN operations which in turn secures both parties' funds. Specifically, we propose to thresholdize LN's Bitcoin public and private keys as well as its commitment points. With these and several other protocol level changes, IoT device is protected against revoked state broadcast, collusion, and ransom attacks. We implemented the proposed protocol by changing LN's source code and thoroughly evaluated its performance using a Raspberry Pi. Our evaluation results show that computational and communication delays associated with the protocol are negligible. To the best of our knowledge, this is the first work that implemented threshold cryptography in LN.
翻译:Bitcoin已经成为一个革命性的支付系统,其分类账概念已经下放,但它有重大问题,如交易费高和确认时间长等。 Lightning Network(LN), 远较晚才推出的Lightning Network (LN), 以所谓的离链支付的创新概念解决了大部分这些问题。有了这个进步, Bitcoin 已经成为一个有吸引力的微型支付场所, 也可以在许多IoT 应用程序(例如支付费用)中采用。 然而,由于存储、记忆和处理要求, 将LN 和Bitcoin 安装在 IoT 设备上, 这是不可行的。 因此,我们提出一个高效而安全的协议, 使得Iot 设备能够通过一个不受信任的网关节点使用LN 。 网关是LN, 并且我们提议用一个最彻底的LN 协议机制, 来保护所有LN 运行所有LN 的操作, 从而保护双方使用不值得信任的网络 。 具体地说, 我们提出, 将L IM 协议 和 协议 运行 的L 系统 运行 运行 运行, 运行 运行 运行 运行 运行 运行 。