You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Identity Manager (#21)을 User Delegate와 Account Proxy로 쪼갠다.
Purpose
Provider의 견제: 현재 Provider는 API를 통해 DAuth를 맘대로 수행해버릴 수 있다. 이를 방지하기 위해, 사용자 활동을 감시하고 필터링하는 User Delegate라는 노드를 중간에 하나 더 두고 Provider의 활동에 대해 사용자에게 알림으로서 Provider를 견제할 수 있다.
My Data Ownership: 자신의 데이터에 대한 모든 통제권을 갖고 싶으면, User Delegate 노드를 직접 돌리면 된다.
Private-key-less한 Airbloc 사용을 하려면, 중간에 Proxy로서 콜을 대신 수행해주는 노드가 필요하다. (Account Proxy와 역할이 겹침)
Consideration
User Delegate의 예방적 신뢰 장치: User Delegate는 (자신이 Delegate하는 User들에 한해서) 임의로 설정을 조작할 수 있다. 물론 유저는 얼마든지 Notify할 수 있기 때문에, 유저는 자신의 설정이 바뀌면 Delegate를 바꾸는 방식으로 대응할 수 있지만 이는 후행적인 처리이며 Delegate는 사실상 어떠한 패널티도 입지 않는다. 따라서 예방적 신뢰를 보장할 수 있는 프로토콜을 설계하거나, 챌린지 프로토콜 등의 도입을 통해 확실한 패널티를 부여해야 한다.
Fallback User Delegate의 설정 : 현재 DAuthSignup시 User Delegate가 없으면 Fallback User Delegate인 Airbloc Tracker가 설정되도록 하드코딩되어있다. 물론 일단 Airbloc Tracker를 Delegate로서 SignUp한 이후에 setDelegate를 통해 Delegate 권한을 임의로 옮겨올 수 있지만, 궁극적으론 UX단에서 DAuthSignup시 User Delegate (a.k.a "Tracker Service")를 사용자가 직접 지정할 수 있게 해야 한다.
Requirement
CLI에 userdelegate로서 돌아갈 수 있는 옵션을 추가
server API와 userdelegate API 분리
Accounts에서 Delegate 지정
Delegate를 새로 지정하려면 직접 트랜잭션을 날려야 한다.
DAuth에서 이제 Provider는 직접 블록체인 콜을 하는게 아니라, 단순히 User Delegate에게 P2P로 요청을 수행하고 User Delegate가 직접 블록체인 인터렉션을 하게 됨.
이미 DAuth로 바꾼 설정은 Delegate가 오버라이딩하지 못한다.
Delegate가 DAuth 설정을 변경했을 때 별도의 event를 emit한다.
The text was updated successfully, but these errors were encountered:
Identity Manager (#21)을 User Delegate와 Account Proxy로 쪼갠다.
Purpose
Consideration
User Delegate의 예방적 신뢰 장치: User Delegate는 (자신이 Delegate하는 User들에 한해서) 임의로 설정을 조작할 수 있다. 물론 유저는 얼마든지 Notify할 수 있기 때문에, 유저는 자신의 설정이 바뀌면 Delegate를 바꾸는 방식으로 대응할 수 있지만 이는 후행적인 처리이며 Delegate는 사실상 어떠한 패널티도 입지 않는다. 따라서 예방적 신뢰를 보장할 수 있는 프로토콜을 설계하거나, 챌린지 프로토콜 등의 도입을 통해 확실한 패널티를 부여해야 한다.
Fallback User Delegate의 설정 : 현재 DAuthSignup시 User Delegate가 없으면 Fallback User Delegate인 Airbloc Tracker가 설정되도록 하드코딩되어있다. 물론 일단 Airbloc Tracker를 Delegate로서 SignUp한 이후에 setDelegate를 통해 Delegate 권한을 임의로 옮겨올 수 있지만, 궁극적으론 UX단에서 DAuthSignup시 User Delegate (a.k.a "Tracker Service")를 사용자가 직접 지정할 수 있게 해야 한다.
Requirement
userdelegate
로서 돌아갈 수 있는 옵션을 추가server
API와userdelegate
API 분리Accounts
에서 Delegate 지정event
를 emit한다.The text was updated successfully, but these errors were encountered: