I see there's at least some overlap with the SMF Stop Spammer addon, which I probably intend to port over to Elk sometime (with permission). It's probably the most relevant ready-made overview of Elk/SMF hooks pertaining to the kinds of things you're doing.
Here's a (possibly working, didn't test) quick conversion of the DB creation script, but otherwise I haven't had a real look at it yet. The main effort in porting Stop Spammer would be in converting the source mods into more Elk hooks as much as possible.
<?php
// Stop Spammer
// This file will create all the necessary columns in your database, if they do not exist already.
$db = database();
$db_table = db_table();
$db_table->db_add_column(
'{db_prefix}members',
array (
'name' => 'is_spammer',
'type' => 'TINYINT',
'size' => '3',
'null' => '', // NOT NULL
'default' => '0',
'auto' => ''
),
'',
''
);
$db->insert('ignore',
'{db_prefix}settings',
array('variable' => 'string','value' => 'string'),
array(
array ('stopspammer_count' ,'0'),
array ('stopspammer_enable','0'),
array ('stopspammer_show01','1'),
array ('stopspammer_faildb','2'),
array ('stopspammer_api_key',''),
array ('stopspammer_check_name','0'),
array ('stopspammer_check_mail','1'),
array ('stopspammer_check_ip','1')
),
array()
);