LKRC Stablecoin — スリランカルピー連動のERC20トークン

Security

概要

LKRC-Stablecoin は「Sri Lankan Rupee Stablecoin」を目標とした、Ethereum上のERC20トークン実装です。OpenZeppelinのバトルテスト済みライブラリ(ERC20、Ownable、Pausable 等)を利用し、中央管理者(オーナー)がミントやバーン、取引停止、特定アドレスのブラックリスト登録を行えるように設計されています。オンチェーンでの単なるトークン供給制御を提供する一方で、実際の法定通貨裏付け(担保)や価格維持メカニズムはオフチェーンで管理する想定の、典型的な管理型ステーブルコイン実装です。

GitHub

リポジトリの統計情報

  • スター数: 14
  • フォーク数: 1
  • ウォッチャー数: 14
  • コミット数: 2
  • ファイル数: 5
  • メインの言語: Solidity

主な特徴

  • OpenZeppelinベースのERC20準拠トークン(標準機能を継承)
  • ブラックリスト機能で特定アドレスを凍結可能
  • Pausable による一時的なトランザクション停止
  • オーナー管理によるミント/バーン(供給調整)機能

技術的なポイント

LKRCコントラクトは OpenZeppelin の標準実装を継承することで、既知の脆弱性を回避しつつ開発コストを下げています。ERC20 の transfer/approve/transferFrom といった基本インターフェースはそのまま利用でき、Ownable によって管理者権限(onlyOwner)を実装し、重要操作(ミント、バーン、ブラックリスト登録、Pausableのトグルなど)を限定しています。ブラックリストは一般的に mapping(address => bool) で管理され、トークン移転時に該当アドレスを拒否する修飾子でチェックする形が取られます。Pausableは緊急停止(circuit breaker)として全送金を停止する手段を提供し、不正検出時やアップグレード作業時に有用です。

ミント/バーン機構は中央管理型ステーブルコインにおいて必須の供給調整手段であり、オーナーが外部の法定通貨準備と整合させてオンチェーン供給を増減します。ただし、READMEの記述から判断するとガバナンスや多署名、タイムロックといった追加の管理ガードは含まれておらず、管理者キーの保護がセキュリティ上の中心課題になります。package.json と package-lock.json が含まれていることから、デプロイやスクリプト類(Hardhat/Truffle等)の使用を想定したフロント/開発ツールが整備されている可能性がありますが、テストやCIに関するファイルは存在しないため、実運用前の監査・テスト整備が望まれます。

また、LKRC はあくまで ERC20 トークンであり、価格ペッグ(担保比率、オラクル連携、自動清算など)に関するオンチェーンロジックは見当たりません。これにより、オフチェーンの準備金管理・監査やクラシックな法的整備が必要になる点に注意が必要です。運用面では、権限集中リスクの軽減(AccessControl や multisig、 timelock の導入)、最小限の権限原則に基づくロール分割、総供給上限やミントレート制限の追加を推奨します。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • LKRC.sol: file
  • README.md: file
  • package-lock.json: file
  • package.json: file

まとめ

実用的だが管理者集中のリスクとオンチェーン担保不在に要注意。

リポジトリ情報:

READMEの抜粋:

LKRC Stablecoin Token

A fully-featured ERC20 stablecoin token built on Ethereum with comprehensive security features including blacklisting, pausability, and controlled minting/burning mechanisms.

🏗️ Architecture

LKRC is built using OpenZeppelin’s battle-tested smart contract libraries, ensuring maximum security and gas efficiency:

  • ERC20: Standard token functionality
  • Ownable: Access control for administrative functions
  • Pausable: Emergency stop mechanism for all transf…