Go-Ethereum

納稅智能合約的最佳實踐是什麼?

  • April 18, 2022

我剛剛被介紹到乙太坊智能合約,並且我有一個與教師相關的項目,暗示了它們的使用。

這個想法是創建一個 DApp,允許客戶(個人)向公共機構納稅(在乙太坊中)。

我的問題是我無法決定哪個高級版本的智能合約遵循最佳實踐:

  1. 全球智能合約
  • 機構創建它
  • 機構向其添加客戶
  • 有機構地址
  • 有一個客戶列表(唯一標識符)
  • 檢查付款條件(例如支付的金額==稅款,付款人在客戶列表中,收款人是機構)
  1. 每個客戶的智能合約
  • 機構根據客戶資訊創建
  • 持有機構地址
  • 持有一個客戶(唯一標識符)
  • 檢查付款條件(例如支付的金額 == 稅款,付款人是客戶,收款人是機構)
  1. 通用智能合約
  • 機構創建它
  • 檢查付款條件(例如支付的金額==稅)

上述想法在乙太坊 - 智能合約環境中是否可行?

如果是,哪一個是正確的?

如果不是,根據我的想法,正確的智能合約應該是什麼樣子?

很難知道您需要多麼徹底的方法。但是,讓我為您提供一種選擇:

  • 機構創建契約
  • 機構將人員對象列表添加到契約中
  • 一個對象包含以下數據:

1)乙太坊地址(每個人都必須有一個與他個人綁定的乙太坊地址)

2)需要支付的稅額(以乙太幣計)

之後,契約確保人們以某種方式繳納稅款。在日期 X 之後,機構向契約發出交易,以makeSureTaxesArePaid確保所有稅款都已支付。如果沒有,就會發生一些事情。支付給契約的所有稅款可以稍後由其所有者(創建者)從契約中提取。

所以這非常接近你最初的想法。

從我的角度來看,我毫不懷疑:第一個解決方案是最佳實踐。

它確保所有需要的行動,除了納稅之外,都由機構負責,這將受益於金錢,即不向誰支付額外工作或額外支出的稅款;此外,它是自然協調的(相反,第二種需要機構和所有納稅人之間的協調);此外,不需要僅為客戶端地址複製 N 個不同的合約。請記住,您為每個部署的單個合約和區塊鏈中佔用的任何字節支付 gas:解決方案 2 中的重複次數過多!

第三種解決方案確實很差,而且並不便宜。

如果任何客戶需要支付不同數量的稅款,Lauri 提出的解決方案可能會很有用,但您的問題並未向我們提供有關此事的資訊。

簡而言之:使用第一個解決方案!

希望這可以幫助!

引用自:https://ethereum.stackexchange.com/questions/61865