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
Addresses of 32 bytes length proposed in ADR are now available from SDK v0.43.x. If 32 byte is used, it has higher security for birthday attacks as mentioned in #3685, ADR, and 32byte addresses are adopted on this module because large funds are preserved in one reserve account due to the characteristics of the module.
Currently, this module uses below 32-bytes addresses as Reserve Account
As a drawback of 32-bytes, functionality as a module account of 32-bytes in cosmos-sdk is not yet supported, so it cannot be registered as a module account.
The advantage of registering as the module account is that
The action can be performed by allocating the necessary permission.
It is possible to prevent the send to the corresponding module account.
In the case of 1, it is okay because the module does not require permission, and in the case of 2, there will be no problem other than the residue remaining in the account when sent. In this part, an additional test code will be created to further confirm that there is no problem that causes unexpected logic flow.
Therefore, unless using 32 bytes address causes fatal errors in cosmos-sdk dependency, front-end, or third-party apps, keeping current use of 32-bytes, but if any problem It can be changed to 20 bytes address which is relatively vulnerable to birthday attacks.
Test scenario
Is there any problem when the address of 32-byte is set to the address of DelegatorWithdrawAddr? SetDelegatorWithdrawAddr, SetWithdrawAddr
Other external modules that can set address or change the balance accordingly test the case.
So far, no problem with the 32bytes address has been found, so the ReserveAddressType was set as AddressType32Bytes. If we find a problem in the future, we can change it to AddressType20Bytes and apply it immediately.
Addresses of 32 bytes length proposed in ADR are now available from SDK v0.43.x. If 32 byte is used, it has higher security for birthday attacks as mentioned in #3685, ADR, and 32byte addresses are adopted on this module because large funds are preserved in one reserve account due to the characteristics of the module.
Currently, this module uses below 32-bytes addresses as Reserve Account
farming/x/farming/types/params.go
Line 23 in 8ff894d
farming/x/farming/types/params.go
Lines 26 to 27 in 8ff894d
As a drawback of 32-bytes, functionality as a module account of 32-bytes in cosmos-sdk is not yet supported, so it cannot be registered as a module account.
The advantage of registering as the module account is that
In the case of 1, it is okay because the module does not require permission, and in the case of 2, there will be no problem other than the residue remaining in the account when sent. In this part, an additional test code will be created to further confirm that there is no problem that causes unexpected logic flow.
Therefore, unless using 32 bytes address causes fatal errors in cosmos-sdk dependency, front-end, or third-party apps, keeping current use of 32-bytes, but if any problem It can be changed to 20 bytes address which is relatively vulnerable to birthday attacks.
Test scenario
DelegatorWithdrawAddr
?SetDelegatorWithdrawAddr
,SetWithdrawAddr
References
For Admin Use
The text was updated successfully, but these errors were encountered: