Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.034USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.629SP
└── Incoming Deleg
+4.372SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.629SP
Delegated Out
0.000SP
Delegation In
4.372SP
Effective Power
5.001SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1024.612111 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7119.047695 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namebirdgang
id544120
rank445,081
reputation25422238
created2017-12-31T13:53:03
recovery_accountsteem
proxyNone
post_count3
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-05-23T05:59:21
last_root_post2018-05-07T07:16:36
last_vote_time2018-05-23T05:59:39
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1024.612111 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7119.047695 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-05-05T06:26:36
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 544120,
  "name": "birdgang",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6SZWMZG5imtV75cCtMwth8uL4AqEt2DiGsNZ6FtCcmy5zAYGPB",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7FQQTnt4BzscayVWpSm7JShhmY7R3jDkarp6knagrAzgRuEpWi",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "busy.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq",
        1
      ]
    ]
  },
  "memo_key": "STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8",
  "json_metadata": "{\"profile\":{\"cover_image\":\"https://img.esteem.ws/wtey9oxqyt.jpg\",\"profile_image\":\"https://img.esteem.ws/v6whef9zam.jpg\"}}",
  "posting_json_metadata": "{\"profile\":{\"cover_image\":\"https://img.esteem.ws/wtey9oxqyt.jpg\",\"profile_image\":\"https://img.esteem.ws/v6whef9zam.jpg\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-05-05T06:26:36",
  "created": "2017-12-31T13:53:03",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 3,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779055572
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779055572
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "1024.612111 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7119.047695 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-05-23T05:59:21",
  "last_root_post": "2018-05-07T07:16:36",
  "last_vote_time": "2018-05-23T05:59:39",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 25422238,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 445081
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.372 SP to @birdgang
2026/05/17 22:06:12
delegatorsteem
delegateebirdgang
vesting shares7119.047695 VESTS
Transaction InfoBlock #106140879/Trx 22f6f96fa4fe2f8e55e3b28660796a33fecc99e1
View Raw JSON Data
{
  "trx_id": "22f6f96fa4fe2f8e55e3b28660796a33fecc99e1",
  "block": 106140879,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-17T22:06:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "7119.047695 VESTS"
    }
  ]
}
steemdelegated 2.706 SP to @birdgang
2026/05/11 19:33:33
delegatorsteem
delegateebirdgang
vesting shares4406.837290 VESTS
Transaction InfoBlock #105965802/Trx a51f9d66b9cf34c86c573115bd94cc1d9c036a56
View Raw JSON Data
{
  "trx_id": "a51f9d66b9cf34c86c573115bd94cc1d9c036a56",
  "block": 105965802,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-11T19:33:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "4406.837290 VESTS"
    }
  ]
}
steemdelegated 4.379 SP to @birdgang
2026/04/25 21:30:27
delegatorsteem
delegateebirdgang
vesting shares7131.563451 VESTS
Transaction InfoBlock #105508593/Trx b5b5d17ba55bc99ef1cac730841f90dad83181a8
View Raw JSON Data
{
  "trx_id": "b5b5d17ba55bc99ef1cac730841f90dad83181a8",
  "block": 105508593,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-25T21:30:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "7131.563451 VESTS"
    }
  ]
}
steemdelegated 2.732 SP to @birdgang
2026/01/23 02:08:57
delegatorsteem
delegateebirdgang
vesting shares4448.384109 VESTS
Transaction InfoBlock #102845046/Trx 506c08d96831c00ddd7f771f72743d5e85c76d52
View Raw JSON Data
{
  "trx_id": "506c08d96831c00ddd7f771f72743d5e85c76d52",
  "block": 102845046,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T02:08:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "4448.384109 VESTS"
    }
  ]
}
steemdelegated 2.833 SP to @birdgang
2024/12/16 21:28:39
delegatorsteem
delegateebirdgang
vesting shares4612.603306 VESTS
Transaction InfoBlock #91291459/Trx 14c5beb308e1afbbc9a2e8c0e71166ef7b1f0fcd
View Raw JSON Data
{
  "trx_id": "14c5beb308e1afbbc9a2e8c0e71166ef7b1f0fcd",
  "block": 91291459,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-16T21:28:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "4612.603306 VESTS"
    }
  ]
}
steemdelegated 2.936 SP to @birdgang
2023/11/13 13:13:57
delegatorsteem
delegateebirdgang
vesting shares4781.736838 VESTS
Transaction InfoBlock #79845727/Trx 80bc46505e86046738fe5b778b913be2558343bd
View Raw JSON Data
{
  "trx_id": "80bc46505e86046738fe5b778b913be2558343bd",
  "block": 79845727,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-13T13:13:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "4781.736838 VESTS"
    }
  ]
}
steemdelegated 4.740 SP to @birdgang
2023/09/21 19:20:24
delegatorsteem
delegateebirdgang
vesting shares7719.015624 VESTS
Transaction InfoBlock #78344854/Trx dae631343a2c1d0152f6bd6506eaef8121614634
View Raw JSON Data
{
  "trx_id": "dae631343a2c1d0152f6bd6506eaef8121614634",
  "block": 78344854,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T19:20:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "7719.015624 VESTS"
    }
  ]
}
steemdelegated 4.876 SP to @birdgang
2022/11/03 09:24:30
delegatorsteem
delegateebirdgang
vesting shares7940.697062 VESTS
Transaction InfoBlock #69110519/Trx 04fdbf627ff3d7ed40a56fbca85c25985af5fe96
View Raw JSON Data
{
  "trx_id": "04fdbf627ff3d7ed40a56fbca85c25985af5fe96",
  "block": 69110519,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T09:24:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "7940.697062 VESTS"
    }
  ]
}
steemdelegated 5.012 SP to @birdgang
2022/01/17 08:51:36
delegatorsteem
delegateebirdgang
vesting shares8161.230293 VESTS
Transaction InfoBlock #60806917/Trx 5c887c0f2dbb3918aed844229077187d8091a7a9
View Raw JSON Data
{
  "trx_id": "5c887c0f2dbb3918aed844229077187d8091a7a9",
  "block": 60806917,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T08:51:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "8161.230293 VESTS"
    }
  ]
}
steemdelegated 5.125 SP to @birdgang
2021/06/13 22:51:48
delegatorsteem
delegateebirdgang
vesting shares8344.998951 VESTS
Transaction InfoBlock #54605401/Trx d28916bd8d01cdb4be379d5b39f00e5cf0890e78
View Raw JSON Data
{
  "trx_id": "d28916bd8d01cdb4be379d5b39f00e5cf0890e78",
  "block": 54605401,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-13T22:51:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "8344.998951 VESTS"
    }
  ]
}
steemdelegated 5.240 SP to @birdgang
2020/12/11 09:13:27
delegatorsteem
delegateebirdgang
vesting shares8532.420925 VESTS
Transaction InfoBlock #49352938/Trx 124490b645d315557ca107bfc243b18111fd7bd7
View Raw JSON Data
{
  "trx_id": "124490b645d315557ca107bfc243b18111fd7bd7",
  "block": 49352938,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T09:13:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "8532.420925 VESTS"
    }
  ]
}
steemdelegated 1.174 SP to @birdgang
2020/12/06 02:50:51
delegatorsteem
delegateebirdgang
vesting shares1912.543513 VESTS
Transaction InfoBlock #49204508/Trx d7c0640590e1ec4a163e34363d874d7f5cf7762c
View Raw JSON Data
{
  "trx_id": "d7c0640590e1ec4a163e34363d874d7f5cf7762c",
  "block": 49204508,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T02:50:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.244 SP to @birdgang
2020/12/05 10:47:51
delegatorsteem
delegateebirdgang
vesting shares8538.787564 VESTS
Transaction InfoBlock #49185613/Trx 198851279d2842eefec1322cb68e0a430af1e23d
View Raw JSON Data
{
  "trx_id": "198851279d2842eefec1322cb68e0a430af1e23d",
  "block": 49185613,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T10:47:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "8538.787564 VESTS"
    }
  ]
}
steemdelegated 1.179 SP to @birdgang
2020/11/02 11:27:00
delegatorsteem
delegateebirdgang
vesting shares1920.017158 VESTS
Transaction InfoBlock #48252872/Trx 958ad88f539287891513be146156670ca16382ae
View Raw JSON Data
{
  "trx_id": "958ad88f539287891513be146156670ca16382ae",
  "block": 48252872,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T11:27:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.368 SP to @birdgang
2020/05/09 03:46:00
delegatorsteem
delegateebirdgang
vesting shares8741.434138 VESTS
Transaction InfoBlock #43214723/Trx 81e9e164681cf7caf65715f9853f48105b8a1409
View Raw JSON Data
{
  "trx_id": "81e9e164681cf7caf65715f9853f48105b8a1409",
  "block": 43214723,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T03:46:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "8741.434138 VESTS"
    }
  ]
}
steemdelegated 1.200 SP to @birdgang
2020/05/08 07:04:39
delegatorsteem
delegateebirdgang
vesting shares1953.311140 VESTS
Transaction InfoBlock #43190479/Trx f197f4130df3dc6a6c944a794956de9cc1a2e2c8
View Raw JSON Data
{
  "trx_id": "f197f4130df3dc6a6c944a794956de9cc1a2e2c8",
  "block": 43190479,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T07:04:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
2019/12/31 14:32:48
parent authorbirdgang
parent permlink2018-9
authorsteemitboard
permlinksteemitboard-notify-birdgang-20191231t143247000z
title
bodyCongratulations @birdgang! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@birdgang/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@birdgang) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=birdgang)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #39520995/Trx 4382f2421b91724d5add24818589d9dd3ea1ea1a
View Raw JSON Data
{
  "trx_id": "4382f2421b91724d5add24818589d9dd3ea1ea1a",
  "block": 39520995,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-12-31T14:32:48",
  "op": [
    "comment",
    {
      "parent_author": "birdgang",
      "parent_permlink": "2018-9",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-birdgang-20191231t143247000z",
      "title": "",
      "body": "Congratulations @birdgang! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@birdgang/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@birdgang) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=birdgang)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.465 SP to @birdgang
2019/08/07 09:00:30
delegatorsteem
delegateebirdgang
vesting shares8899.008361 VESTS
Transaction InfoBlock #35339635/Trx b9efdb7a362b3031dcd75ca965dcc4a241b9a0ad
View Raw JSON Data
{
  "trx_id": "b9efdb7a362b3031dcd75ca965dcc4a241b9a0ad",
  "block": 35339635,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-08-07T09:00:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "8899.008361 VESTS"
    }
  ]
}
2018/12/31 15:19:18
parent authorbirdgang
parent permlink2018-9
authorsteemitboard
permlinksteemitboard-notify-birdgang-20181231t151918000z
title
bodyCongratulations @birdgang! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@birdgang/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@birdgang)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png"></a></td><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues">Christmas Challenge - The party continues</a></td></tr></table> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #29048787/Trx cfa3ed2c5db32bb7f1c6782274ce6bfe153432d8
View Raw JSON Data
{
  "trx_id": "cfa3ed2c5db32bb7f1c6782274ce6bfe153432d8",
  "block": 29048787,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-31T15:19:18",
  "op": [
    "comment",
    {
      "parent_author": "birdgang",
      "parent_permlink": "2018-9",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-birdgang-20181231t151918000z",
      "title": "",
      "body": "Congratulations @birdgang! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@birdgang/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@birdgang)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png\"></a></td><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues\">Christmas Challenge - The party continues</a></td></tr></table>\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
2018/11/19 17:12:51
required auths[]
required posting auths["birdgang"]
idfollow
json["follow",{"follower":"birdgang","following":"seungjae1012","what":["blog"]}]
Transaction InfoBlock #27842100/Trx a134135b51f9fb84b5db00d3771ab2888d21854b
View Raw JSON Data
{
  "trx_id": "a134135b51f9fb84b5db00d3771ab2888d21854b",
  "block": 27842100,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-19T17:12:51",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "birdgang"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"birdgang\",\"following\":\"seungjae1012\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/11/15 10:19:30
required auths[]
required posting auths["birdgang"]
idfollow
json["follow",{"follower":"birdgang","following":"donekim","what":["blog"]}]
Transaction InfoBlock #27718704/Trx 1887687a8b14b6f69e89b646d748bc1f284f9984
View Raw JSON Data
{
  "trx_id": "1887687a8b14b6f69e89b646d748bc1f284f9984",
  "block": 27718704,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-15T10:19:30",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "birdgang"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"birdgang\",\"following\":\"donekim\",\"what\":[\"blog\"]}]"
    }
  ]
}
smitopblockchain operation: transfer from savings
2018/08/29 23:09:42
fromsmitop
request id18368
tobirdgang
amount3.333 SBD
memoHi, it looks like you're not voting for any witnesses. Witnesses help secure the Steem network. You should vote for some, at https://steemit.com/~witnesses, or by pressing 'Vote for witnesses' in the Steemit sidebar (top right corner). I'm a bot.
Transaction InfoBlock #25504919/Trx c545165fe2af079657a1bd786308b88b4470e735
View Raw JSON Data
{
  "trx_id": "c545165fe2af079657a1bd786308b88b4470e735",
  "block": 25504919,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-08-29T23:09:42",
  "op": [
    "transfer_from_savings",
    {
      "from": "smitop",
      "request_id": 18368,
      "to": "birdgang",
      "amount": "3.333 SBD",
      "memo": "Hi, it looks like you're not voting for any witnesses. Witnesses help secure the Steem network. You should vote for some, at https://steemit.com/~witnesses, or by pressing 'Vote for witnesses' in the Steemit sidebar (top right corner). I'm a bot."
    }
  ]
}
steemdelegated 5.587 SP to @birdgang
2018/08/22 07:40:45
delegatorsteem
delegateebirdgang
vesting shares9097.499325 VESTS
Transaction InfoBlock #25284865/Trx a4f8e59bbae1539f07852f657896bbfef7a975b4
View Raw JSON Data
{
  "trx_id": "a4f8e59bbae1539f07852f657896bbfef7a975b4",
  "block": 25284865,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-08-22T07:40:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "9097.499325 VESTS"
    }
  ]
}
2018/05/23 11:58:06
parent authorbirdgang
parent permlink2018-9
authorsteemitboard
permlinksteemitboard-notify-birdgang-20180523t115805000z
title
bodyCongratulations @birdgang! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstcomment.png)](http://steemitboard.com/@birdgang) You made your First Comment Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > Do you like **SteemitBoard**'s project? **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #22681417/Trx e2e3ebb04326e73da235383f36442b8d46d6def5
View Raw JSON Data
{
  "trx_id": "e2e3ebb04326e73da235383f36442b8d46d6def5",
  "block": 22681417,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-23T11:58:06",
  "op": [
    "comment",
    {
      "parent_author": "birdgang",
      "parent_permlink": "2018-9",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-birdgang-20180523t115805000z",
      "title": "",
      "body": "Congratulations @birdgang! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstcomment.png)](http://steemitboard.com/@birdgang) You made your First Comment\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> Do you like **SteemitBoard**'s project? **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
2018/05/23 06:59:03
parent authorbirdgang
parent permlinkre-ssin-top5-2018-05-23-20180523t055914746z
authorssin
permlinkre-birdgang-re-ssin-top5-2018-05-23-20180523t065900908z
title
body들러주셔서 감사합니다! 자주뵈어요!ㅎㅎ
json metadata{"tags":["busy"],"app":"steemit/0.1"}
Transaction InfoBlock #22675447/Trx c256b6cb7f0e29d8143306502fad9b8250449dee
View Raw JSON Data
{
  "trx_id": "c256b6cb7f0e29d8143306502fad9b8250449dee",
  "block": 22675447,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-23T06:59:03",
  "op": [
    "comment",
    {
      "parent_author": "birdgang",
      "parent_permlink": "re-ssin-top5-2018-05-23-20180523t055914746z",
      "author": "ssin",
      "permlink": "re-birdgang-re-ssin-top5-2018-05-23-20180523t065900908z",
      "title": "",
      "body": "들러주셔서 감사합니다!\n자주뵈어요!ㅎㅎ",
      "json_metadata": "{\"tags\":[\"busy\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
birdgangupvoted (100.00%) @ssin / top5-2018-05-23
2018/05/23 05:59:39
voterbirdgang
authorssin
permlinktop5-2018-05-23
weight10000 (100.00%)
Transaction InfoBlock #22674261/Trx c3ff0693860c7e2b25ef2273f68f82b4996d5a3e
View Raw JSON Data
{
  "trx_id": "c3ff0693860c7e2b25ef2273f68f82b4996d5a3e",
  "block": 22674261,
  "trx_in_block": 138,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-23T05:59:39",
  "op": [
    "vote",
    {
      "voter": "birdgang",
      "author": "ssin",
      "permlink": "top5-2018-05-23",
      "weight": 10000
    }
  ]
}
2018/05/23 05:59:21
parent authorssin
parent permlinktop5-2018-05-23
authorbirdgang
permlinkre-ssin-top5-2018-05-23-20180523t055914746z
title
body관련 소식 잘 보고 갑니다. ^^
json metadata{"tags":["busy"],"app":"steemit/0.1"}
Transaction InfoBlock #22674255/Trx aabf0a25e95c945d9ea7fb392b5ed8317b6b178c
View Raw JSON Data
{
  "trx_id": "aabf0a25e95c945d9ea7fb392b5ed8317b6b178c",
  "block": 22674255,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-23T05:59:21",
  "op": [
    "comment",
    {
      "parent_author": "ssin",
      "parent_permlink": "top5-2018-05-23",
      "author": "birdgang",
      "permlink": "re-ssin-top5-2018-05-23-20180523t055914746z",
      "title": "",
      "body": "관련 소식 잘 보고 갑니다. ^^",
      "json_metadata": "{\"tags\":[\"busy\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
birdgangfollowed @ssin
2018/05/23 05:58:12
required auths[]
required posting auths["birdgang"]
idfollow
json["follow",{"follower":"birdgang","following":"ssin","what":["blog"]}]
Transaction InfoBlock #22674232/Trx d8fb8a703ab5a526aed58cbb456fb7a32cf1386a
View Raw JSON Data
{
  "trx_id": "d8fb8a703ab5a526aed58cbb456fb7a32cf1386a",
  "block": 22674232,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-23T05:58:12",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "birdgang"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"birdgang\",\"following\":\"ssin\",\"what\":[\"blog\"]}]"
    }
  ]
}
steemdelegated 18.113 SP to @birdgang
2018/05/18 18:50:48
delegatorsteem
delegateebirdgang
vesting shares29494.907814 VESTS
Transaction InfoBlock #22545708/Trx 6b46f66da7203588bc58e9352c84ef6b62500819
View Raw JSON Data
{
  "trx_id": "6b46f66da7203588bc58e9352c84ef6b62500819",
  "block": 22545708,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-18T18:50:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "29494.907814 VESTS"
    }
  ]
}
bartuculhaupvoted (100.00%) @birdgang / 2018-9
2018/05/07 07:48:42
voterbartuculha
authorbirdgang
permlink2018-9
weight10000 (100.00%)
Transaction InfoBlock #22215709/Trx d1f4b6af3099cd41cad1c0182b6cf21153eaec64
View Raw JSON Data
{
  "trx_id": "d1f4b6af3099cd41cad1c0182b6cf21153eaec64",
  "block": 22215709,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-07T07:48:42",
  "op": [
    "vote",
    {
      "voter": "bartuculha",
      "author": "birdgang",
      "permlink": "2018-9",
      "weight": 10000
    }
  ]
}
birdgangupvoted (100.00%) @birdgang / 2018-9
2018/05/07 07:16:36
voterbirdgang
authorbirdgang
permlink2018-9
weight10000 (100.00%)
Transaction InfoBlock #22215067/Trx 4a11ee372f941e447391344fa8cfff8a2c7082e7
View Raw JSON Data
{
  "trx_id": "4a11ee372f941e447391344fa8cfff8a2c7082e7",
  "block": 22215067,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-07T07:16:36",
  "op": [
    "vote",
    {
      "voter": "birdgang",
      "author": "birdgang",
      "permlink": "2018-9",
      "weight": 10000
    }
  ]
}
birdgangpublished a new post: 2018-9
2018/05/07 07:16:36
parent author
parent permlinksmart-contract
authorbirdgang
permlink2018-9
title2018년 주의해야 하는 스마트 컨트렉트의 취약점 9가지
body [Decentralized Application Security Project (DASP)] (http://www.dasp.co/index.html) # 1. Reentrancy (recursive call vulnerability call to the unknown) ~~~ function withdraw(uint _amount) { require(balances[msg.sender] >= _amount); msg.sender.call.value(_amount)(); balances[msg.sender] -= _amount; } ~~~ * msg.sender 가 smart contract 였을때 해당 smart contract가 실행이 되는데 이때 Fallback 함수에서 다시 withdraw 를 실행하게 되면 무한으로 계속 인출 되게 된다. (다오 사건) ----- # 2. Access Control ~~~ function initContract() public { owner = msg.sender; } ~~~ * public으로 외부에서 아무나 접근할 수 있어서 문제가 발생. ---- ~~~ function () payable { if (msg.value > 0) Deposit(msg.sender, msg.value); else if (msg.data.length > 0) _walletLibary.delegatecall(msg.data); } contract WalletLibary is WalletEvents { function initMultiOwned(address[] _owners, uint _required) { } function initWallet(address[] _owners, uint _required, uint _daylimit) { initMultiOwned(_owners, _required); } } ~~~ * delegate call 을 통해서 라이브러리에 있는 함수를 호출해서 문제 발생. (Parity Multi-sig Wallet) ----- # 3. Arithmetic Issues ~~~ function withdraw(uint _amount) { require(balances[msg.sender] - _amount > 0); msg.sender.transfer(_amount); balances[msg.sender] -= _amount; } ~~~ * 위코드는 실제로 내 잔고 보다 _amount 양이 많다면 결과는 마이너스 값을 가지게 된다. 하지만 _amount 타입이 unsigned integer 이므로 마이너스 를 표현하기 위해서 어마무시한 큰 숫자로 변하게 된다. * openzeppelin safeMath lib 사용 하여 방지. (https://github.com/OpenZeppelin/openzeppelin-solidity) ----- # 4. Unchecked Return Values For Low Level Calls ~~~ function withdraw(uint256 _amount) public { require(balances[msg.sender] >= _amount); balances[msg.sender] -= _amount; etherLeft -= _amount; msg.sender.send(_amount); } ~~~ * msg.sender.send()를 할때 문제가 발생할때에 대한 예외가 필요하다. * msg.sender.transfer 를 사용하거나 msg.sender.send 의 반환값을 확인하여 성공 유무에 따라서 별도의 예외처리가 필요하다. ---- # 5. Denial of Service ~~~ function becomePresident() payable { require(msg.value >= price); // must pay the price to become president president.transfer(price); // we pay the previous president president = msg.sender; // we crown the new president price = price * 2; // we double the price to become president } function selectNextWinners(uint256 _largestWinner) { for (uint256 i = 0; i < largestWinner, i++) { // heavy code } largestWinner = _largestWinner; } ~~~ * Gas Limit에 도달했거나 예상치 못한 throw 를 실행시켰을 때 사용할 수 없는 계약이 되어버리는 취약점. * 악성 사용자가 Gas를 소모하게 되는 트랜잭션에 특정 조건을 증가시키게 되면 필요한 Gas 양이 Gas Limit 에 초과가 되면며 실행이 되지 못한게된다. ---- # 6. Bad Randomness ~~~ uint256 private seed; function play() public payable { require(msg.value >= 1 ether); iteration++; uint randomNumber = uint(keccak256(seed + iteration)); if (randomNumber % 2 == 0) { msg.sender.transfer(this.balance); } } function play() public payable { require(msg.value >= 1 ether); if (block.blockhash(blockNumber) % 2 == 0) { msg.sender.transfer(this.balance); } } ~~~ * Contract 내 생성된 랜던값은 모든 노드들이 같은 결과물을 실행해야 하기 때문에 의 랜덤의 결과값이 같아야 하므로 하드웨어적인 랜던값을 사용하지 못하고 TimeStamp, Seed, Block을 기준으로 랜던값을 생성해 내게 된다. * 위 코드는 짝수일 경우 Ethereum 을 보내게 되는데 악의적인 Smart Contract가 짝수일때만 요청을 보내게 되면 항상 이기게 된다. ---- # 7. Front-Running ~~~ 1. Alice는 일정량의 가스를 포함한 트랜잭션을 수행한다.(해결책 포함) 2. 네트워크에있는 누군가는 Alice의 트랜잭션(해결책 포함)을 보고 더 높은 가스 가격으로 제출하고 최종 마이닝 되기를 기다린다. 3. 마이너들은 더 높은 수수료를 받기위해서 두번째 트랜잭션을 채택하게 되고, 결국 공격자의 트랜잭션이 선택되어 지게된다. ~~~ * 이더리움 마이너 들은 외부 소유 주소 (EOA)를 대신하여 코드 실행에 대한 가스 요금을 통해 항상 보상을받으며, 사용자는 거래를보다 신속하게 채굴 할 수 있도록 더 높은 수수료를 지정할 수 있다. Ethereum 블록 체인은 공개되어 있으므로 누구나 다른 사람들의 보류중인 거래 내용을 볼 수 있다. 즉, 특정 사용자가 퍼즐이나 다른 중요한 비밀에 대한 솔루션을 공개하는 경우 악의적 인 사용자가 솔루션을 훔쳐 원래 거래를 선점하기 위해 더 높은 수수료로 거래를 복사 할 수 있게된다. ---- # 8. Time manipulation ~~~ function play() public { require(now > 1521763200 && neverPlayed == true); neverPlayed = false; msg.sender.transfer(1500 ether); } ~~~ * 특정시간에 선착순 한명한테 보상을 준다고 하였을때 시간을 조작해서 우선순위를 조작할 수 있다. ---- # 9 Short Address Attack * Ethereum Address 는 20byte로 인자값 32byte는 아래와 같이 채워지게 된다. > (함수의해쉬값[4byte], Zero-padding[12byte] + Address[29byte] , 함수의 인자2 [32byte] ) 문제는 Address 주소가 19byte 뿐이라면 데이타구조가 (함수의해쉬값 [4byte], Zero-padding[12byte] + Address[19byte] , 함수의 인자2 [33byte] ) 가 되게되므로 amount 양이 8bit왼쪽으로 이동하게되어 원래 보내려고 하던 양보다 256배 큰수가 된다. 따라서 web3 library 에서 check address 로 주소가 20byte 인지 확인을 해서 개발을 해야한다. https://web3js.readthedocs.io/en/1.0/web3-utils.html ----
json metadata{"community":"busy","app":"busy/2.4.0","format":"markdown","links":["http://www.dasp.co/index.html","https://github.com/OpenZeppelin/openzeppelin-solidity","https://web3js.readthedocs.io/en/1.0/web3-utils.html"],"tags":["smart-contract","dasp","weakness","contract"]}
Transaction InfoBlock #22215067/Trx 4a11ee372f941e447391344fa8cfff8a2c7082e7
View Raw JSON Data
{
  "trx_id": "4a11ee372f941e447391344fa8cfff8a2c7082e7",
  "block": 22215067,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-07T07:16:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "smart-contract",
      "author": "birdgang",
      "permlink": "2018-9",
      "title": "2018년 주의해야 하는 스마트 컨트렉트의 취약점 9가지",
      "body": "\n[Decentralized Application Security Project (DASP)] (http://www.dasp.co/index.html)\n\n# 1. Reentrancy (recursive call vulnerability call to the unknown)  \n\n~~~\nfunction withdraw(uint _amount) {\n\trequire(balances[msg.sender] >= _amount);\n\tmsg.sender.call.value(_amount)();\n\tbalances[msg.sender] -= _amount;\n}\n~~~\n\n* msg.sender 가 smart contract 였을때 해당 smart contract가 실행이 되는데 이때 Fallback 함수에서 다시 withdraw 를 실행하게 되면 무한으로 계속 인출 되게 된다.  (다오 사건)\n\n-----\n# 2. Access Control \n\n~~~\nfunction initContract() public {\n\towner = msg.sender;\n}\n~~~\n* public으로 외부에서 아무나 접근할 수 있어서 문제가 발생.\n \n----\n\n~~~\nfunction () payable {\n   if (msg.value > 0)\n\tDeposit(msg.sender, msg.value);\n   else if (msg.data.length > 0)\n\t_walletLibary.delegatecall(msg.data);\n}\ncontract WalletLibary is WalletEvents {\n\tfunction initMultiOwned(address[] _owners, uint _required) {\n\t}\n\tfunction initWallet(address[] _owners, uint _required, uint _daylimit) {\n\t\tinitMultiOwned(_owners, _required);\n\t}\n}\n~~~\n* delegate call 을 통해서 라이브러리에 있는 함수를 호출해서 문제 발생. (Parity Multi-sig Wallet)\n\n-----\n\n# 3. Arithmetic Issues\n\n~~~\nfunction withdraw(uint _amount) {\n\trequire(balances[msg.sender] - _amount > 0);\n\tmsg.sender.transfer(_amount);\n\tbalances[msg.sender] -= _amount;\n}\n~~~\n\n* 위코드는 실제로 내 잔고 보다 _amount 양이 많다면 결과는 마이너스 값을 가지게 된다.  하지만 _amount 타입이 unsigned integer 이므로  마이너스 를 표현하기 위해서 어마무시한 큰 숫자로 변하게 된다. \n* openzeppelin safeMath lib 사용 하여 방지. (https://github.com/OpenZeppelin/openzeppelin-solidity)\n\n-----\n\n# 4. Unchecked Return Values For Low Level Calls\n\n~~~\nfunction withdraw(uint256 _amount) public {\n\trequire(balances[msg.sender] >= _amount);\n\tbalances[msg.sender] -= _amount;\n\tetherLeft -= _amount;\n\tmsg.sender.send(_amount);\n}\n~~~\n\n* msg.sender.send()를 할때 문제가 발생할때에 대한 예외가 필요하다.\n* msg.sender.transfer 를 사용하거나 msg.sender.send 의 반환값을 확인하여 성공 유무에 따라서 별도의 예외처리가 필요하다.\n\n\n----\n# 5. Denial of Service\n\n~~~\nfunction becomePresident() payable {\n    require(msg.value >= price); // must pay the price to become president\n    president.transfer(price);   // we pay the previous president\n    president = msg.sender;      // we crown the new president\n    price = price * 2;           // we double the price to become president\n}\nfunction selectNextWinners(uint256 _largestWinner) {\n\tfor (uint256 i = 0; i < largestWinner, i++) {\n\t\t// heavy code\n\t}\n\tlargestWinner = _largestWinner;\n}\n~~~\n\n* Gas Limit에 도달했거나 예상치 못한 throw 를 실행시켰을 때 사용할 수 없는 계약이 되어버리는 취약점.\n* 악성 사용자가 Gas를 소모하게 되는 트랜잭션에 특정 조건을 증가시키게 되면 필요한 Gas 양이 Gas Limit 에 초과가 되면며 실행이 되지 못한게된다.\n\n----\n\n# 6. Bad Randomness\n\n~~~\nuint256 private seed;\nfunction play() public payable {\n\trequire(msg.value >= 1 ether);\n\titeration++;\n\tuint randomNumber = uint(keccak256(seed + iteration));\n\tif (randomNumber % 2 == 0) {\n\t\tmsg.sender.transfer(this.balance);\n\t}\n}\nfunction play() public payable {\n\trequire(msg.value >= 1 ether);\n\tif (block.blockhash(blockNumber) % 2 == 0) {\n\t\tmsg.sender.transfer(this.balance);\n\t}\n}\n\n~~~\n\n* Contract 내 생성된 랜던값은 모든 노드들이 같은 결과물을 실행해야 하기 때문에 의 랜덤의 결과값이 같아야 하므로 하드웨어적인 랜던값을 사용하지 못하고 TimeStamp, Seed, Block을 기준으로 랜던값을 생성해 내게 된다.\n* 위 코드는 짝수일 경우 Ethereum 을 보내게 되는데 악의적인 Smart Contract가 짝수일때만 요청을 보내게 되면 항상 이기게 된다.\n\n\n----\n\n# 7. Front-Running\n\n~~~\n1. Alice는 일정량의 가스를 포함한 트랜잭션을 수행한다.(해결책 포함)\n2. 네트워크에있는 누군가는 Alice의 트랜잭션(해결책 포함)을 보고 더 높은 가스 가격으로 제출하고 최종 마이닝 되기를 기다린다.\n3. 마이너들은 더 높은 수수료를 받기위해서 두번째 트랜잭션을 채택하게 되고, 결국 공격자의 트랜잭션이 선택되어 지게된다.\n~~~\n\n* 이더리움 마이너 들은 외부 소유 주소 (EOA)를 대신하여 코드 실행에 대한 가스 요금을 통해 항상 보상을받으며, 사용자는 거래를보다 신속하게 채굴 할 수 있도록 더 높은 수수료를 지정할 수 있다. \nEthereum 블록 체인은 공개되어 있으므로 누구나 다른 사람들의 보류중인 거래 내용을 볼 수 있다. 즉, 특정 사용자가 퍼즐이나 다른 중요한 비밀에 대한 솔루션을 공개하는 경우 악의적 인 사용자가 솔루션을 훔쳐 원래 거래를 선점하기 위해 더 높은 수수료로 거래를 복사 할 수 있게된다.\n\n----\n\n# 8. Time manipulation\n~~~\nfunction play() public {\n\trequire(now > 1521763200 && neverPlayed == true);\n\tneverPlayed = false;\n\tmsg.sender.transfer(1500 ether);\n}\n~~~\n\n* 특정시간에 선착순 한명한테 보상을 준다고 하였을때 시간을 조작해서 우선순위를 조작할 수 있다.\n\n----\n\n# 9 Short Address Attack\n\n* Ethereum Address 는 20byte로 인자값 32byte는 아래와 같이 채워지게 된다.\n> (함수의해쉬값[4byte], Zero-padding[12byte] + Address[29byte] , 함수의 인자2 [32byte] ) \n\n문제는 Address 주소가 19byte 뿐이라면 데이타구조가 (함수의해쉬값 [4byte], Zero-padding[12byte] + Address[19byte] , 함수의 인자2 [33byte] ) 가 되게되므로 amount 양이 8bit왼쪽으로 이동하게되어 원래 보내려고 하던 양보다 256배 큰수가 된다. 따라서 web3 library 에서 check address 로 주소가 20byte 인지 확인을 해서 개발을 해야한다. https://web3js.readthedocs.io/en/1.0/web3-utils.html\n\n----\n",
      "json_metadata": "{\"community\":\"busy\",\"app\":\"busy/2.4.0\",\"format\":\"markdown\",\"links\":[\"http://www.dasp.co/index.html\",\"https://github.com/OpenZeppelin/openzeppelin-solidity\",\"https://web3js.readthedocs.io/en/1.0/web3-utils.html\"],\"tags\":[\"smart-contract\",\"dasp\",\"weakness\",\"contract\"]}"
    }
  ]
}
birdgangupdated their account properties
2018/05/05 06:26:36
accountbirdgang
posting{"weight_threshold":1,"account_auths":[["busy.app",1]],"key_auths":[["STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq",1]]}
memo keySTM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8
json metadata{"profile":{"cover_image":"https://img.esteem.ws/wtey9oxqyt.jpg","profile_image":"https://img.esteem.ws/v6whef9zam.jpg"}}
Transaction InfoBlock #22156496/Trx 063bde47800cfd20b477d6b774e70513f1e65c24
View Raw JSON Data
{
  "trx_id": "063bde47800cfd20b477d6b774e70513f1e65c24",
  "block": 22156496,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-05T06:26:36",
  "op": [
    "account_update",
    {
      "account": "birdgang",
      "posting": {
        "weight_threshold": 1,
        "account_auths": [
          [
            "busy.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq",
            1
          ]
        ]
      },
      "memo_key": "STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8",
      "json_metadata": "{\"profile\":{\"cover_image\":\"https://img.esteem.ws/wtey9oxqyt.jpg\",\"profile_image\":\"https://img.esteem.ws/v6whef9zam.jpg\"}}"
    }
  ]
}
fardousupvoted (100.00%) @birdgang / substratum
2018/04/20 14:52:54
voterfardous
authorbirdgang
permlinksubstratum
weight10000 (100.00%)
Transaction InfoBlock #21735354/Trx a05c94ef08fc22fa7c88907039f581e4268fc3ed
View Raw JSON Data
{
  "trx_id": "a05c94ef08fc22fa7c88907039f581e4268fc3ed",
  "block": 21735354,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-20T14:52:54",
  "op": [
    "vote",
    {
      "voter": "fardous",
      "author": "birdgang",
      "permlink": "substratum",
      "weight": 10000
    }
  ]
}
birdgangpublished a new post: substratum
2018/04/20 14:51:51
parent author
parent permlinksubstratum
authorbirdgang
permlinksubstratum
titleSubstratum
bodyWhite Paper Link https://substratum.net/wp-content/uploads/2017/11/Substratum_Korean_Whitepaper.pdf 개념 Decentralized Web Hosting (분산형 웹 호스팅)
json metadata{"tags":["substratum","decentralized","web","hosting"],"links":["https://substratum.net/wp-content/uploads/2017/11/Substratum_Korean_Whitepaper.pdf"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #21735333/Trx d3098e2cbc14bf9eb6443fbac6d3c4a9f6ddc597
View Raw JSON Data
{
  "trx_id": "d3098e2cbc14bf9eb6443fbac6d3c4a9f6ddc597",
  "block": 21735333,
  "trx_in_block": 66,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-20T14:51:51",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "substratum",
      "author": "birdgang",
      "permlink": "substratum",
      "title": "Substratum",
      "body": "White Paper Link\n\nhttps://substratum.net/wp-content/uploads/2017/11/Substratum_Korean_Whitepaper.pdf\n\n개념 \n\nDecentralized Web Hosting (분산형 웹 호스팅)",
      "json_metadata": "{\"tags\":[\"substratum\",\"decentralized\",\"web\",\"hosting\"],\"links\":[\"https://substratum.net/wp-content/uploads/2017/11/Substratum_Korean_Whitepaper.pdf\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
birdgangupdated their account properties
2018/04/20 14:16:57
accountbirdgang
memo keySTM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8
json metadata{"profile":{"cover_image":"https://img.esteem.ws/wtey9oxqyt.jpg","profile_image":"https://img.esteem.ws/v6whef9zam.jpg"}}
Transaction InfoBlock #21734635/Trx f7c9dcd1ca4cc534b32433607cbfc4a2be62b116
View Raw JSON Data
{
  "trx_id": "f7c9dcd1ca4cc534b32433607cbfc4a2be62b116",
  "block": 21734635,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-20T14:16:57",
  "op": [
    "account_update",
    {
      "account": "birdgang",
      "memo_key": "STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8",
      "json_metadata": "{\"profile\":{\"cover_image\":\"https://img.esteem.ws/wtey9oxqyt.jpg\",\"profile_image\":\"https://img.esteem.ws/v6whef9zam.jpg\"}}"
    }
  ]
}
birdgangupdated their account properties
2018/04/20 14:15:54
accountbirdgang
memo keySTM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8
json metadata{"profile":{"cover_image":"https://img.esteem.ws/wtey9oxqyt.jpg","profile_image":""}}
Transaction InfoBlock #21734614/Trx 9664ff8366f2dfa64a17c0ce93ab3c2126f57f27
View Raw JSON Data
{
  "trx_id": "9664ff8366f2dfa64a17c0ce93ab3c2126f57f27",
  "block": 21734614,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-04-20T14:15:54",
  "op": [
    "account_update",
    {
      "account": "birdgang",
      "memo_key": "STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8",
      "json_metadata": "{\"profile\":{\"cover_image\":\"https://img.esteem.ws/wtey9oxqyt.jpg\",\"profile_image\":\"\"}}"
    }
  ]
}
steemdelegated 18.239 SP to @birdgang
2018/01/08 19:34:21
delegatorsteem
delegateebirdgang
vesting shares29700.387889 VESTS
Transaction InfoBlock #18806308/Trx dc498098f346686a3b31b266d9012a0175ad36cb
View Raw JSON Data
{
  "trx_id": "dc498098f346686a3b31b266d9012a0175ad36cb",
  "block": 18806308,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T19:34:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "birdgang",
      "vesting_shares": "29700.387889 VESTS"
    }
  ]
}
2018/01/01 03:07:39
required auths[]
required posting auths["birdgang"]
idfollow
json["follow",{"follower":"birdgang","following":"kim066","what":["blog"]}]
Transaction InfoBlock #18585337/Trx 1fa422370059370d967575eb36908be5c812833d
View Raw JSON Data
{
  "trx_id": "1fa422370059370d967575eb36908be5c812833d",
  "block": 18585337,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T03:07:39",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "birdgang"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"birdgang\",\"following\":\"kim066\",\"what\":[\"blog\"]}]"
    }
  ]
}
steemcreated a new account: @birdgang
2017/12/31 13:53:03
fee0.500 STEEM
delegation57000.000000 VESTS
creatorsteem
new account namebirdgang
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM6SZWMZG5imtV75cCtMwth8uL4AqEt2DiGsNZ6FtCcmy5zAYGPB",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7FQQTnt4BzscayVWpSm7JShhmY7R3jDkarp6knagrAzgRuEpWi",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq",1]]}
memo keySTM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8
json metadata
extensions[]
Transaction InfoBlock #18569446/Trx 788126a68030f06f7336adbde89f6f69bab26e7a
View Raw JSON Data
{
  "trx_id": "788126a68030f06f7336adbde89f6f69bab26e7a",
  "block": 18569446,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-31T13:53:03",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.500 STEEM",
      "delegation": "57000.000000 VESTS",
      "creator": "steem",
      "new_account_name": "birdgang",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM6SZWMZG5imtV75cCtMwth8uL4AqEt2DiGsNZ6FtCcmy5zAYGPB",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7FQQTnt4BzscayVWpSm7JShhmY7R3jDkarp6knagrAzgRuEpWi",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq",
            1
          ]
        ]
      },
      "memo_key": "STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8",
      "json_metadata": "",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"cover_image":"https://img.esteem.ws/wtey9oxqyt.jpg","profile_image":"https://img.esteem.ws/v6whef9zam.jpg"}
JSON METADATA
profile{"cover_image":"https://img.esteem.ws/wtey9oxqyt.jpg","profile_image":"https://img.esteem.ws/v6whef9zam.jpg"}
{
  "posting_json_metadata": {
    "profile": {
      "cover_image": "https://img.esteem.ws/wtey9oxqyt.jpg",
      "profile_image": "https://img.esteem.ws/v6whef9zam.jpg"
    }
  },
  "json_metadata": {
    "profile": {
      "cover_image": "https://img.esteem.ws/wtey9oxqyt.jpg",
      "profile_image": "https://img.esteem.ws/v6whef9zam.jpg"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM6SZWMZG5imtV75cCtMwth8uL4AqEt2DiGsNZ6FtCcmy5zAYGPB1/1
Active
Single Signature
Public Keys
STM7FQQTnt4BzscayVWpSm7JShhmY7R3jDkarp6knagrAzgRuEpWi1/1
Posting
Single Signature
Public Keys
STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq1/1
App Permissions
Memo
STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6SZWMZG5imtV75cCtMwth8uL4AqEt2DiGsNZ6FtCcmy5zAYGPB",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7FQQTnt4BzscayVWpSm7JShhmY7R3jDkarp6knagrAzgRuEpWi",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "busy.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM5SZNvds7ELXV9qMBFzXNzKS19qBoAg1BAYxCFoxkZwTxpfNLpq",
        1
      ]
    ]
  },
  "memo": "STM5fX7YSkBd9kBLcuYT3gXduz4LEx7URPevu6ywnhWXf6P6nJLA8"
}

Witness Votes

0 / 30
No active witness votes.
[]