Rustスマートコントラクト栽培日記(7) 契約セキュリティの計算精度
本文はRustスマートコントラクトにおける権限管理について2つの側面から紹介します:
- コントラクトメソッドのアクセス/呼び出しの可視性
- 特権関数のアクセス制御/権限と責任の分担
1. コントラクト関数の可視性
コントラクト関数の可視性を設定することで、関数の呼び出し権限を制御し、重要な部分への無断アクセスを防ぐことができます。Bancor Network取引所の例では、2020年6月に重要な関数の可視性設定ミスにより資産の安全事件が発生しました。
Rustスマートコントラクトにおいて、関数の可視性は次の方法で制御されます:
- pub fn: 公開関数, コントラクトの外部から呼び出すことができます
- fn: 内部関数、契約内部でのみ呼び出すことができる
-