
블록체인 프로그래밍을 안전하게 위한 오브시디안 타입스테이트와 자산
블록체인 플랫폼은 상호 신뢰를 구축하지 않은 참여자들 사이에서 중요한 거래를 처리하는 데 널리 사용되고 있습니다. 많은 블록체인은 스마트 컨트랙트를 지원하는 프로그램 가능성을 가지고 있으며, 이들은 지속 가능한 상태를 유지하고 상태를 변화시키는 트랜잭션을 지원합니다. 불행히도, 수많은 스마트 컨트랙트의 버그가 해커에 의해 악용되었습니다. Obsidian은 현재 스마트 컨트랙트에서 일반적으로 발생하는 버그를 정적 분석으로 탐지할 수 있는 새로운 프로그래밍 언어입니다. Obsidian은 Silica라는 핵심 계산을 기반으로 하며, 우리는 이를 통해 유형의 안전성을 증명했습니다. Obsidian은 유현재상(typestate)을 사용하여 부적절한 상태 조작을 탐지하고 선형 유형(linear types)을 사용하여 자산의 악용을 탐지합니다. 우리는 파라메트릭 보험과 공급망 관리 분야에서 Obsidian의 적용성을 평가하는 두 가지 사례 연구를 제시하며, Obsidian의 유형 시스템이 고수준 상태와 리소스 소유권에 대한 추론을 용이하게 한다는 것을 발견했습니다. 우리는 Obsidian 구현과 Solidity 구현을 비교하여, Solidity 구현은 많은 보일러플레이트 체킹 및 상태 추적을 요구하는 반면, Obsidian은 이를 정적으로 처리한다는 것을 관찰했습니다.


