2016最新安阳信用卡中介介如何做到异地办卡技术详解

&&& 我就告诉大家木马如何做到免杀!大家只要记好下面的四句免杀秘诀,按照下面的步骤来处理木马程序,我相信大家也能打造无敌的免杀木马!
1--去头加花改入口
2--修改特征过杀软
3--加区建表重载入
4--加密加壳终极法
简单解释一下:&
1--去头加花改入口
其实这句话的目的无非就是修改程序的入口点,打乱程序的结构,使杀毒软件无从查杀!很多小黑朋友们也听说过一句“入口点+1”的免杀方法,我个人并不推崇这这种免杀方法,因为这种方法即使过了杀软,也可能导致木马无法运行!我觉得这句话的精髓在于---加花―2字,加花才是真正的目的!现在流行的花指令很多,网上有的是,例如:
push 入口地址
由于只加一个花指令很难躲过杀软的查杀,大家可以尝试一下再加一个花指令,也就是所谓的---“二次加花”!大家如果不会用OD加花的话可以用个加花器来自动加花,有的手动加花后记得要修改程序的入口点可以用PEditor来修改文件的入口点。
2―修改特征过杀软
这种做法是过杀软的最稳健最根本的方法!现在的杀软也变聪明了,它们喜欢定位复合特征码,使得修改特征码多少增加了些难度。推荐大家使用CCL、MYCCL手动定位特征码来修改下,有不会的朋友建议大家恶补一下。
3―加区建表重载入
个人觉得这种方法有点类似加花改入口。还是那句话,不会用OD的朋友去恶补一下,如果不想理解原理,那么给大家一款好工具---MaskPE2.0,这个软件能自动加区段,重新建表,达到免杀处理的目的。
4―加密加壳终极法
这种方法也是最简单,免杀速度最快的一种方法,推荐大家在加壳的时候不要加那些常见的壳,如:ASPACK、NSPACK等等,建议大家加新壳、强壳!最好是看雪论坛上那些强度很大的壳或者刚刚出来的壳,杀毒软件一般还杀不掉。
最后总结一下:将上面的几种方法结合起来是木马免杀的最好的方法,先加花再加强壳或者先加区建表再加强壳,这样做隐蔽性良好,杀毒软件一般不认。最后在网上还流行一种二次加壳的方法,就是先加一个壳之后,用资源释放工具将资源释放,再加一个壳,这样做也能过部分的杀软,但并不是所有的木马程序都能二次加壳,在此还要大家注意下。还有上面的方法都是在木马没有加壳的前提下做的,如果大家用PEID检测发现加了壳了还得先脱壳之后才能进行以下步骤!最后呢,大家最好还是找些旧的木马来做,因为杀软枪打出头鸟,总是盯的最新的木马不放,还有给大家一个忠告:希望大家能会用CCL、MYCCL手动定位特征码,这才是木马免杀技术的正确方向!
楼主邀你扫码
参与上面帖子讨论
发表于:09-11-07 13:16
1--去头加花改入口
心有多大&&舞台就有多大
发表于:09-11-07 13:20
3―加区建表重载入
心有多大&&舞台就有多大
发表于:09-11-07 17:51
2--修改特征过杀软
你尚未登录或可能已退出账号:(请先或者异地办卡远程办卡的技术详解【借鉴】--盛捷财富
请选择语言
金融一体服务平台
常用工具下载
您的每次访问都是我们前进的动力
24小时客服
异地办卡远程办卡的技术详解【借鉴】
异地办卡远程办卡的技术详解【借鉴】
异地办卡远程办卡的技术详解【借鉴】
有好多想的卡友,却苦闷自己或客户所在的城市没有发卡行网点,怎么办理信用卡?
1、下载安装51信用卡管家&
2、注册并绑定信用卡和储蓄卡
3、登陆导入邮箱帐单
现在武器有了下面是实战方法
1、&搜索并确定你要挂靠的城市(亲戚朋友所在的城市有&平安银行网点更好)
2、需要你的51信用卡管家在城市的挂靠单位地址登录,有亲戚朋友的让他们登陆没有的去一趟。
3、登录后点击财富在&在线一栏显示目前位置是&挂靠单位的城市。现在下拉手机屏幕关闭你的手机位置,让位置停留在当前位置就不再自动更新位置了。(这一步可以让你朋友去操作省去你去一趟的费用。可以不同手&机登录)
4、以上操作完成,先关闭你用来的手机位置定位,登录办理平安信用卡(秒批)
下面介绍资料注意事项
1、挂靠单位可以自己编造,平安银行单位审核不严格,曾经用无证的编造单位下过十几张卡。单位电话弄个挂靠城市的小灵通,网上能买到。
2、住宅选挂靠单位城市的郊区自置无按揭,学历大专
3、&有车申请车主卡,有保险申请保险卡,没有就申请标准卡,申请完成不要马上查询进度,优质客户无回访三五天就接到投递员电话取件,你可以让投递员改寄到你手中或直接拿卡,去平安银行网点柜台开通。选客户要选优质客户,有车贷房贷有卡三个月无平安申请记录,别整垃圾客户降低下卡率影响自己的声誉。下卡额度基本2万,白户3-5千。每家银行都根据自己喜好选择合作商,所以各家银行的通道不同,
下载京东app,申请京东小白卡
下载返利网app申请返利卡
电脑广发信用卡中心申请,一定要补充材料,假的也可以
51网站、微信
找个优质客户推荐
微信申请女士无卡购,不要去买外面的链接了,自己关注浦发银行信用卡中心用心找找吧。
申请最便宜的产品,反正下卡率很低。
上一篇:下一篇:独家内部系统(安卓版)本软件为安卓版本 对接银行内部调额通道 对接银行内部快卡通道 对接内部银行所有功能 打开软件输入信息直接调额,打...&
信用卡实战之用卡经验分享 94:13分钟)本视频教程课件为卡乐富版权所有...&
信用卡全套技术88个网贷技术方案电子版百度云下载地址:链接:/s/1boODcab密码XXXXXXXX...&
支付宝技术
芝麻分620秒批额度最高2w3分钟拿钱操作攻略【中介广告】大放水,赶上上人啦!!!芝麻分620以上,征信没问题的自觉来排...&
白条额度口子
京东白条提高额度方法手机下载京东金融APP,登录进去后,手指向上轻滑,下面有活动页面找到打脸提额APP专享那个图点开游戏,按提示玩游戏,...&
平安易贷技术
平安易贷3.2不更新版注册机平安易贷一体机安卓版有两种,一种是在手机上安装008神器另外一种就是一体机,下面就是一体机软件和注册机...&
工商信用卡
农行信用卡
中国信用卡
建设信用卡
建行多卡操作提额教程方法,&
交通信用卡
最近有在疯传的交行好享贷技术,操作方法:开通...&
招商信用卡
不同银行的提额技巧也有所不同,玩转信用卡小编今天就重点给招商银行的卡友们讲讲在信用良好,没有逾期记录的前提下如何提额。亲测有效噢!...&
广发信用卡
中信信用卡
民生信用卡
平安信用卡
平安银行经营、消费贷款一网打尽平安银行最近推出不少信用贷款项目,大家可以按需申请。平安银行的前身本身就是贷款出身,他们还是比较热衷...&
光大信用卡
阐述升级光大白金卡的方法教程这里讲的主要是升级为商旅白金卡,这种卡片比较好升级。具体方法如下:一,最简单的就是网申光大商旅金卡。直...&
兴业信用卡
兴业双币卡强制提额技术主要针对兴业双币种卡操作,如果卡额度一直提升不了,但是用卡情况还差不多,那么就要操作外币账户消费了。基本操作...&
浦发信用卡
其他信用卡
上海银行信用卡申请之中介篇进入上海银行官网--点击信用卡进入--点击信用卡申请点击申请上海精致白金卡点击立刻申请此卡输入手机号码输入姓...&
所谓最新黑白通吃秒下款口子某些人的广告词:最新黑白通吃秒下款必须用手机打开网址/UKsLUJJ ,点即可体验然后填写个人资...&
信用贷款口子
类似万达贷资料简单随借随还最高30万【中介广告】最新口子,大型上市公司旗下,类似万达贷,随借随还,最高额度30万元!【操...&
P2P贷款技术
分享盛融在线P2P贷款申请链接:http://www./这个P2P贷款是一个朋友亲测可操作的,第一次的额度跟拍拍贷的额度差不多,需要的朋友...&
  随着金融社会的发展,信用卡普及率越来越高,最新调查显示,中国目前已经达到一户家庭就拥有一张信用卡的状况。而随着信用卡普及率使用...&
绝对安全无损信用卡TX新法基于新的火车票退票规定:自日起,对开车前15天以上退票的,不收取退票费。详情参见:中国铁路总公司...&
通道:15家银行网申信用卡大全中国银行:各种网申渠道,各显神通!网申的卡友尽情把握!更多申卡技巧,请参考【申卡攻略】:&
  日,人民银行印发《关于做好个人征信业务准备工作的通知》,要求芝麻信用管理有限公司、腾讯征信有限公司等8家机构做好个人...&
大学生贷款吧
大学生分期白条、0首付之乐花一个以打造丰富、便捷、安全的小额消费金融服务为主。平台服务范围涵盖与大学生息息相关的多个领域,包括3C数...&
所谓最新黑白通吃秒下款口子某些人的广告词:最新黑白通吃秒下款必须用手机打开网址/UKsLUJJ ,点即可体验然后填写个人资...&
信用卡推荐区
中信信用卡最快一天拿卡 每家银行的走马圈地,依然疯狂,而三、四月份的办卡高峰期也将是下卡的最好时机。 中信官方高调宣传的,24小时在线...&
安卓版微信多开包6.3.8版本注册机-所有功能与官方同步稳定不闪退【安卓最新6.38主题版】:支持所有安卓系统所有功能与...&
4.如何寻找一手货源&
国内POS技术
S58+8210换芯片视频教学+8210解密流程图链接:/s/1qXwvKIw密码:...&
国外POS技术
美国Pos消费技术(无需卡头)不需要卡头 直接刷卡消费 不支持6开头的人名币信用卡 操作教程下载地址:链接:/s/1i3FBZ...&
&-&&-&&-&&-&&-&&-&&-&&-&&-&不可不知新产品|LOFTER(乐乎) - 让兴趣,更有趣
LOFTER for ipad —— 让兴趣,更有趣
下载移动端
关注最新消息
&nbsp&nbsp被喜欢
&nbsp&nbsp被喜欢
{list posts as post}
{if post.type==1 || post.type == 5}
{if !!post.title}${post.title|escape}{/if}
{if !!post.digest}${post.digest}{/if}
{if post.type==2}
{if post.type == 3}
{if !!post.image}
{if post.type == 4}
{if !!post.image}
{if !!photo.labels && photo.labels.length>0}
{var wrapwidth = photo.ow < 500?photo.ow:500}
{list photo.labels as labs}
{var lbtxtwidth = Math.floor(wrapwidth*(labs.ort==1?labs.x:(100-labs.x))/100)-62}
{if lbtxtwidth>12}
{if !!labs.icon}
{list photos as photo}
{if photo_index==0}{break}{/if}
品牌${make||'-'}
型号${model||'-'}
焦距${focalLength||'-'}
光圈${apertureValue||'-'}
快门速度${exposureTime||'-'}
ISO${isoSpeedRatings||'-'}
曝光补偿${exposureBiasValue||'-'}
镜头${lens||'-'}
{if data.msgRank == 1}{/if}
{if data.askSetting == 1}{/if}
{if defined('posts')&&posts.length>0}
{list posts as post}
{if post_index < 3}
{if post.type == 1 || post.type == 5}
{if !!post.title}${post.title|escape}{/if}
{if !!post.digest}${post.digest}{/if}
{if post.type == 2}
{if post.type == 3}
{if post.type == 4}
{if post.type == 6}
{if drlist.length>0}
更多相似达人:
{list drlist as dr}{if drlist.length === 3 && dr_index === 0}、{/if}{if drlist.length === 3 && dr_index === 1}、{/if}{if drlist.length === 2 && dr_index === 0}、{/if}{/list}
暂无相似达人,
{if defined('posts')&&posts.length>0}
{list posts as post}
{if post.type == 2}
{if post.type == 3}
{if post.type == 4}
{if post.type == 6}
this.p={ currentPage:1,pageNewMode:true,isgooglead3:false,ishotrecompost:false,visitorId:0, first:'',tag:'不可不知新产品',recommType:'new',recommenderRole:0,offset:20,type:0,isUserEditor:0,};&p&一开始,我们公司招聘了两个数据挖掘岗,其中一个满嘴名词乱飞,spark,storm,什么的,整天对业务指手画脚,大家也对他充满误解,整天让他拉数据,试图证明自己的各种歪曲观点。另一个很闷,真的整天只会搞搞算法,做些无足轻重的研究。这两个人这么耗了9个月,可是说基本产出为0。&/p&&p&后来,老板感受到了大数据的故事性,以及背后切实的价值,下大决心要组建大数据团队,委托我招聘,一期他给了20个数据挖掘岗的指标。而我是后台开发工程师。我硬着头皮开始招聘。&/p&&p&招过毕业生,也有有工作经验的。从去年12月,到今年2月,有四个加一个实习入职了。基本上按照常规模式在那里工作,直到3月,我被认命背负业务指标,指导大数据从事生产,他们向我汇报。&/p&&p&我按照自己想法,给了最基本的拟合类训练任务,要一个最最简单的分类器。并且限期完成,发动大量工程师帮助他们处理数据,理解业务。&/p&&p&到四月开始产出,我把结果直接投入生产。这让他们感到了工作的意义。&/p&&p&在这个过程中,我发现,真正的困难不在学术层面。工程才是最大的问题。于是开始着手解决大数据的工程问题。在我建议下,老板答应花高价聘用了一位大数据工程师,背景主要在大互联网团队从事大数据基础架构开发和运维。&/p&&p&然后,用比较便宜的价格,组建了etl团队。&/p&&p&至此,整个大数据事业基本纳入正轨。&/p&&p&故事讲完了,后面是一点感想。&/p&&p&1 工程问题是很大的问题,要最少3人建制团队解决基础架构和运维事宜。最少10台的中高配置云服务器。&/p&&p&2 科研型数据挖掘岗不必人很多,可以找纯学术的,也可以找纯商业的,比如偏运营,偏画像一类的。个人认为最多4个就够。贵精不贵多。也不必很贵,多数业务不用大牛。各类算法都很成熟了,愿意悉心研究业务,下沉心态,这样的人很难得,要珍惜。&/p&&p&3 etl蛮重要的,反倒不怎么贵,一开始要有2到4个。&/p&&p&整体感觉下来,一开工,就是10个人力的投入,对一般小公司来说,就是很大的开销了,非要有点决心才能狠下心来做。这个规模,已经可以做不少事情了。&/p&&p&现在,我的团队初具规模,已经可以有不少价值了,我要为他们头疼的是,怎么不断找到增长点,因为我知道,很多东西,很快会到瓶颈点,那时候的后路必须准备好。&/p&&p&--Update:&/p&&p&貌似不小心得罪了ETL工程师,很抱歉。每个工种都有高级,中级,初级的区别,目前我们按照比较初级的要求招聘的ETL工程师,感觉也够用了。可能后面会出现瓶颈也说不定,不是说这个工种就全部便宜,实在抱歉。其实,后台也好,前端也好,测试也好,都有贵有便宜,主要看岗位需求。&/p&&p&以上只是一种经历而已,并不一定就是正确的方案,写出来跟大家交流一下。而且事态也在发展,后续也可能会渐渐变化。欢迎大家把所有的不同意见给表达出来,希望大家不吝赐教。谢谢!&/p&&p&在魔都希望来看看机会的,很感激大家的信任,简历私信Twitter帐号 &b&&a href=&///?target=https%3A///alan1980s& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&alan1980s&i class=&icon-external&&&/i&&/a&&/b&&/p&
一开始,我们公司招聘了两个数据挖掘岗,其中一个满嘴名词乱飞,spark,storm,什么的,整天对业务指手画脚,大家也对他充满误解,整天让他拉数据,试图证明自己的各种歪曲观点。另一个很闷,真的整天只会搞搞算法,做些无足轻重的研究。这两个人这么耗了9…
&img src=&/v2-df63da0c1a57a3ef235de8_b.jpg& data-rawwidth=&960& data-rawheight=&640& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/v2-df63da0c1a57a3ef235de8_r.jpg&&&p&本周在读完赤羽雄二的《零秒思考》之后,接着读了姊妹篇《零秒工作》。作者结合自己在麦肯锡 14 年的工作经验,写就了这本书。&/p&&p&正所谓天下武功唯快不破,工作也是这样。 书名「零秒工作」固然是个噱头,但是本书围绕着如何提升工作效率,还是给出了很多值得我们学习的方法。&/p&&h2&为什么你的工作效率低?&/h2&&p&外部原因&/p&&ul&&li&众多管理层和部门领导人无法自己作决定和推荐工作 &/li&&li&部门内外协调后的再次协调 &/li&&li&随之而来的庞杂冗繁的资料制作&/li&&/ul&&p&自身原因&/p&&ul&&li&无法迅速开始工作&/li&&li&无法专注于应该完成的工作&/li&&li&工作缺乏计划、不断滞后&/li&&li&优柔寡断、犹豫不决&/li&&li&制作文件和资料的速度慢&/li&&li&在Email上花费大量的时间&/li&&li&会议又多又长&/li&&li&大量的退回与重做&/li&&/ul&&h2&提升工作效率的正确原则&/h2&&h3&首先形成整体印象&/h3&&p&所谓整体印象,主要是指:&/p&&blockquote&&ul&&li&最终的成果是什么?&/li&&li&为了取得最终成果需要考虑怎样的要素?&/li&&li&需要按照怎样的步骤和顺序?&/li&&li&从什么地方着手才最有效?&/li&&/ul&&/blockquote&&p&一旦有了整体印象,就能清楚判断哪个部分是最重要的。这样一来,注入过分细致的工作、一开始便在不那么重要的本应暂缓的工作上浪费过多时间等情况就可以避免,同时还能在全面分析风险因素的基础上,致力于提升工作速度。&/p&&h3&工作不要过于细致&/h3&&p&细致本身时间好事,但为了推进工作,重要的是「不要过于细致」。从结果上来看,一旦超过截止时间,那么不管之前工作得多么细致都于事无补。&/p&&h3&掌握工作的要领&/h3&&p&把握完成工作所必需的要点,在减少时间浪费的同时推进工作。掌握要点,可以使我们在工作时心情相对放松,同时,因为把精力主要放在应该重视的部分上,能确保最终的成果质量。&/p&&h3&对改善方法本身做改善&/h3&&p&为了提升工作速度而尝试各种改善方法者大有人在,但是如果能更进一步,寻找改善方法本书的改进空间,那么工作效率自然能更进一步提升。&/p&&h3&凡事提前&/h3&&p&即便是计划中的工作,只要是在能够完成的范围之内,都尽量提前一些完成。提前完成会让人更加轻松,时间是也更加充裕,让人冷静地以更加全面的视角来推荐工作。心中感到轻松的同时,大脑也会变得更加灵活。&/p&&h2&提升工作效率的利器&/h2&&h3&PDCA管理循环&/h3&&p&PCDA 是指 Plan(计划)、Do(执行)、Check(检查)、Act(改进),是一种循环管理工具。&br&以制作文件为例:&/p&&blockquote&&p&Plan(计划):讨论文件的整体构成、页面分配以及每一页的内容、是否有遗漏等。&br&Do(执行):完成所有页面的制作。&br&Check(检查):确认最初的目标是否全部达成。&br&Act(改进):重新编写不足的部分和不恰当的部分。&br&Plan(计划):重新讨论文件的整体构成、页面分配以及每一页的内容、是否有遗漏等。&br&Do(执行):全面修改。&br&Check(检查):确认最初的目标是否全部达成。&br&Act(改进):重新编写不足的部分和不恰当的部分。&/p&&/blockquote&&p&一次、两次甚至多次运用该循环工具后,工作的成果便能日臻完善。&/p&&h3&运用「 A4 笔记术」帮助思考&/h3&&p&在《零秒思考》中,作者详细介绍了「 A4 笔记术」。A4笔记术的方法掌握起来并不难,规则大致是以下五条:&/p&&blockquote&&ol&&li&将A4纸横放在面前;&/li&&li&左上角写上笔记的主题,右上角写上日期;&/li&&li&正文写 4 到 6 行,每行 20 至 30 字;&/li&&li&正文书写时不必在意顺序,要一股脑写下去;&/li&&li&标题、日期、正文,要在 1 分钟内写完。&/li&&/ol&&/blockquote&&p&每天按照这样的方式书写 10 页笔记,几个月下来,自己思考问题的能力和表达的能力都会有很大提升。&/p&&h2&如何高效制作文件?&/h2&&ul&&li&&p&对于想要制作的文件,先利用「 A4 笔记术」写出 30~50 页笔记;&/p&&/li&&li&&p&将写好的笔记全部摊开在桌面上,将内容相关的笔记摆在一起;&/p&&/li&&/ul&&p&可以按照&b&「面对的问题」-「解决的方针」-「具体的对策」&/b&的结构排列自己的笔记。&/p&&ul&&li&针对摆放好的笔记统一制作目录,将笔记整理好再重新用「 A4 笔记术」书写笔记;&/li&&/ul&&p&这一次只需要根据确定的目录来重新书写笔记。每页上除了原有的 4~6 行文字外,还可以加入一些图标和采访评论的内容,在已知的范围内尽量多写,更有利于推动今后的工作。&/p&&ul&&li&全部写好后输入到 Word 或 PPT 中&/li&&li&不要逃避盲打&/li&&li&多掌握快捷键&/li&&li&将能够反复使用的文件保存在「范本文件夹」里&/li&&/ul&&h2&如何高效举行会议?&/h2&&ul&&li&将所有的会议时间减少一半&/li&&li&将会议的次数和出席人数减少到一半&/li&&li&迅速高效地推进会议中的讨论&/li&&/ul&&blockquote&&ul&&li&让参会人员逐一发表自己的看法&/li&&li&对持有不同观点的人的发言要特别强调和引到&/li&&li&不要认为发言人的声音越大就越好,要从内容上判断&/li&&li&尊重他人的发言&/li&&li&如果意见有冲突,确认相同点,整理不同点&/li&&li&如果讨论的主题发生了偏移,引导大家回到同一个范围内讨论。&/li&&/ul&&/blockquote&&ul&&li&灵活使用白板,提升会议效率&/li&&/ul&&blockquote&&ul&&li&由会议主持人在白板上书写&/li&&li&不要自行归纳,尽量将发言如实记录下来&/li&&li&不明白的时候坦率地和发言人确认,然后记录&/li&&li&归纳要点,补充完善&/li&&li&用手指着记录下来的内容,向本人确认&/li&&li&整理议题和将要采取的行动&/li&&li&关于论点上的偏差,要当场通过图示的方式说明相同点和不同点&/li&&li&将板书拍照作为会议纪要&/li&&/ul&&/blockquote&&h2&如何高效书写邮件?&/h2&&ul&&li&收到邮件后立刻回信&/li&&li&对于难以开口的内容,也要迅速回复&/li&&li&对于复杂的内容,应当直接沟通&/li&&li&将 200~300 个常用词汇在输入法中设置为缩写&/li&&li&将邮件按照类型和日期先后顺序统一保存 &/li&&li&区别使用邮件和社交软件&/li&&/ul&&h2&如何高效进行沟通?&/h2&&ul&&li&认真倾听他人的发言,能够更快速地推进工作&/li&&li&将想要传达的信息归纳成 3~4 个重点&/li&&li&应该传达的信息,要直接传达&/li&&li&通过书面形式共享意见一致的内容&/li&&li&「居高临下」的态度是万恶的根源&/li&&li&积极地反馈,不吝惜表扬与感谢&/li&&/ul&&p&&b&欢迎关注我的微信公众号「章鱼读书」,回复「书单」,给你看我的精选书单,回复「读书」,给你看我的读书方法论。 &/b&&/p&
本周在读完赤羽雄二的《零秒思考》之后,接着读了姊妹篇《零秒工作》。作者结合自己在麦肯锡 14 年的工作经验,写就了这本书。正所谓天下武功唯快不破,工作也是这样。 书名「零秒工作」固然是个噱头,但是本书围绕着如何提升工作效率,还是给出了很多值得…
&p&好吧,由我来终结这个话题。。。&/p&&p&先来一个小额信贷管理系统业务架构图&/p&&img src=&/v2-7a473691fbb4282163cba5bd3f649819_b.png& data-rawwidth=&838& data-rawheight=&659& class=&origin_image zh-lightbox-thumb& width=&838& data-original=&/v2-7a473691fbb4282163cba5bd3f649819_r.png&&&p&再来一个小额信贷管理系统功能模块图&/p&&img src=&/v2-e3fdb3ab2a61eea_b.png& data-rawwidth=&1023& data-rawheight=&673& class=&origin_image zh-lightbox-thumb& width=&1023& data-original=&/v2-e3fdb3ab2a61eea_r.png&&&p&最后来一个从贷款申请到最终放款的详细流程图&/p&&img src=&/v2-586d6badd259c_b.png& data-rawwidth=&984& data-rawheight=&1547& class=&origin_image zh-lightbox-thumb& width=&984& data-original=&/v2-586d6badd259c_r.png&&&p&流程说明:借款业务的总体流程分为五个部分:咨询、申请、信审、合同签订、放款。&/p&&p&咨询阶段属于营销与客户关系管理的一部分,信贷管理系统支持对多渠道客户来源的支持,包括互联网、移动端、客户关系管理系统等。&/p&&p&申请阶段主要涉及对客户资料的收集、信息的录入、与客户面审的记录等,抵押类和租赁类产品在这一阶段还涉及对押品或租赁物价值的评估,也包括租赁类产品对合作商家资质的审核。对于“信贷工厂模式的”的产品来说,申请与初步审核分别由不同的角色来完成,“信贷员模式”将这两个阶段合并,都是客户经理角色操作。&/p&&p&审核阶段是对客户、押品、租赁物授信定价的环节,审核用户根据审核结果给出授信额度、还款方案等决策;出于对风控的考虑,对于批复额度超过限定额度的申请需要经过更高级的审批。业务申请方对审批结果有异议时可以提起复议。复议的审批也属于审核阶段。&/p&&p&对于审核通过的申请,自动流转到等待签约的环节,签约环节中仍有提起风险、提起复议或者拒绝的设置。&/p&&p&签约完成之后,协议生效,自动流转到等待放款的环节,已经通过放款审核的申请需支付平台可以进行放款操作;该环节也可以拒绝放款或者提起风险事件。&/p&&p&风险控制(信用报告、黑名单、反欺诈、征信调查、三方调查等)贯穿整个业务生命周期。&/p&&p&为方便理解,补充一个小额信贷数据概念模型图&/p&&img src=&/v2-ffdcc4ad4236_b.png& data-rawwidth=&1077& data-rawheight=&740& class=&origin_image zh-lightbox-thumb& width=&1077& data-original=&/v2-ffdcc4ad4236_r.png&&&p&-结束-&/p&
好吧,由我来终结这个话题。。。先来一个小额信贷管理系统业务架构图再来一个小额信贷管理系统功能模块图最后来一个从贷款申请到最终放款的详细流程图流程说明:借款业务的总体流程分为五个部分:咨询、申请、信审、合同签订、放款。咨询阶段属于营销与客户…
要回答这个问题,得先弄清楚几个概念,什么是第三方支付方式以及银行接口类型,下面我将用一万字讲解线上线下收单业务,一起来看:&br&———————————————————————————————————————————&br&&b&&禁止转载。如需转载请联系作者,谢谢合作&&/b&&br&&b&———————————————————————————————————————————&br&&/b&&h2&2.1
第三方支付是具备一定实力和信誉保障的独立机构,采用与各大银行签约的方式,提&/p&
&p&供与银行支付结算系统接口的交易支持平台的网络支付方式。&/p&
第三方支付平台是指平台提供商通过通信、计算机和信息安全技术,在商家和银行之&/p&
&p&间建立连接,从而实现消费者、金融机构以及商家之间货币支付、现金流转、资金清算、&/p&
&p&查询统计的一个平台。&/p&
&p&第三方支付是一种支付方式,或者说是一种支付渠道。第三方支付平台是第三方支付这种支付方式得以实现所必需的媒介,或者说,第三方支付平台是看得见的第三方支付形式。&/p&
支付环节&/h2&
&p&一个完整的支付过程包括&b&代收、清结算和代付&/b&三个环节。&/p&
&p&代收指第三方支付平台把资金从买方的银行卡转移到第三方支付平台银行账户(或卖方银行账户)的过程。&/p&
&p&清结算是支付完成后第三方支付公司与银行、卖方之间处理债权债务关系(如果涉及跨行支付,还涉及银行与银行之间的清结算)&/p&
&p&代付可以理解为第三方支付公司在完成清结算之后,结清交易当事人之间的债权债务关系,并最终完成资金转移的过程。&/p&
&p&(&b&严格来说&/b&,&b&清结算已经包括处理债权债务关系、账簿记录并完成最终货币资金的转移。但这里我们为了把支付的各个环节剖析清楚,把货币资金的转移过程划入代付环节。)&/b&&/p&
&p&对于第三方支付平台来说,在支付环节中,其扮演的角色可能是不同的。根据第三方支付平台在交易过程中所扮演角色以及参与程度的不同,可以将第三方支付方式分为两种支付方式,即&b&支付网关模式&/b&和&b&账户支付模式&/b&。&/p&
&h3&2.3.1支付网关模式&/h3&
&p&1)支付网关定义&/p&
在一个完整的交易过程中,银行内部网需要与Internet网进行交互,为了保证银行系统和支付活动的安全性,需要在银行内部网(金融专用网)与Internet网之间建立一道安全屏障,以隔离银行网和Internet网,通常我们将其称为支付网关。&/p&
&p&2)支付网关的作用&/p&
&p&解密从Internet传过来的通信协议,并按银行专网的协议标准重新打包数据,再传给银行专网,这样银行主机就不用作任何修改;&/p&
&p&将从银行专网传过来的通信协议,并按Internet的协议标准重新打包数据,加密之后,再在Internet网中传输。&/p&
&p&3)支付网关模式&/p&
&p&支付平台只作为支付通道将买方发出的支付指令传递给银行,银行完成转账后再将信息传递给支付平台,支付平台将此信息通知卖方并与卖方进行结算。支付网关位于Internet 和传统的银行专网之间,其主要作用是安全连接Internet 和专网,起到隔离和保护银行专网的作用。在支付网关模式下,第三方支付平台扮演着“通道”的角色,并没有实际涉及银行的支付和清算,只是传递了支付指令。典型的是首信易支付。&/p&
&p&支付流程为:&/p&&img src=&/v2-dd3baf8f8b66e540e425_b.png& data-rawwidth=&751& data-rawheight=&257& class=&origin_image zh-lightbox-thumb& width=&751& data-original=&/v2-dd3baf8f8b66e540e425_r.png&&&p&卖方平台确认订单——&首信易支付平台选择付款银行(这里选中行)——&跳转至中行界面选择支付方式(可选网银和中银快付,这里选中银快付)——&按“银行”要求完成付款。&/p&&img src=&/v2-d2d42bf342cb6_b.png& data-rawwidth=&883& data-rawheight=&510& class=&origin_image zh-lightbox-thumb& width=&883& data-original=&/v2-d2d42bf342cb6_r.png&&&img src=&/v2-21e878f1f4fef8c859daa2f7f07b39fb_b.png& data-rawwidth=&822& data-rawheight=&626& class=&origin_image zh-lightbox-thumb& width=&822& data-original=&/v2-21e878f1f4fef8c859daa2f7f07b39fb_r.png&&&img src=&/v2-a9487bcbf7b3fd9dcfa8d67_b.png& data-rawwidth=&865& data-rawheight=&260& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-a9487bcbf7b3fd9dcfa8d67_r.png&&&img src=&/v2-ec7dafd1c1f8a0cab265_b.png& data-rawwidth=&887& data-rawheight=&483& class=&origin_image zh-lightbox-thumb& width=&887& data-original=&/v2-ec7dafd1c1f8a0cab265_r.png&&&img src=&/v2-cf79b09b19abf6e6eca6_b.png& data-rawwidth=&865& data-rawheight=&466& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-cf79b09b19abf6e6eca6_r.png&&&img src=&/v2-dd61983cafdf53b125536fae004c126e_b.png& data-rawwidth=&865& data-rawheight=&484& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-dd61983cafdf53b125536fae004c126e_r.png&&&img src=&/v2-b98d9cf5a9bbf9e132a4_b.png& data-rawwidth=&865& data-rawheight=&469& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-b98d9cf5a9bbf9e132a4_r.png&&&p&4)说明&/p&&p&从上面的流程可以知道,网关支付最大的特色就是第三方支付机构只作为银行的网关,相当于银行的看门人,控制谁可以进出银行,至于完成最终的付款操作,用户需要在银行的网站界面上按银行的要求完成付款,&b&注意不同的银行可能要求不一样&/b&。&/p&&p&支付网关模式是发展的比较成熟的一种模式了,其核心价值在于集成了各大银行的网关,卖方只需要和一家第三方支付平台的接口相连,用户便可使用绝大部分银行进行付款,大大为商户节省了一家一家接入银行网关的成本。&/p&&h3&2.3.2
账户支付模式&/h3&&p&1)支付流程&/p&&p&
账户支付指买卖双方必须先到第三方支付平台注册成为第三方支付平台的会员,用户通过网银或其它方式先往虚拟账户中充值(资金流:钱从用户的银行卡划转到第三方支付公司银行账户 ),用户消费付款时,从虚拟账户直接扣除(这里并不涉及实际的资金划转,只是数据层面上数字的减少),典型的如Paypal。&/p&
&p&支付流程为:&/p&
&p&&img src=&/v2-81ee5a61ecb0_b.png& data-rawwidth=&751& data-rawheight=&100& class=&origin_image zh-lightbox-thumb& width=&751& data-original=&/v2-81ee5a61ecb0_r.png&& 还是以上面的首信易支付为例。在第二步的首信易支付界面选择账户支付,然后登陆首信易支付账户(首先得注册成为首信易的会员),然后按照首信易的支付要求完成付款(如输入支付密码,手机验证码等,如果账户余额不足,得先充值)。&/p&
&p&&img src=&/v2-c02480ccdab674e2c3fb_b.png& data-rawwidth=&865& data-rawheight=&473& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-c02480ccdab674e2c3fb_r.png&&
2)说明&br&&/p&
&p&账户支付的优势在于有较强的用户黏性,可以追踪收集用户的消费习惯。但是账户支付得先充值,用户体验不好,同时涉及到资金池,有较大的政策风险。&/p&
&h2&————————————————————————————————————————&/h2&&br&内容超过限制,下面再贴出来。。&br&&br&——————————————————————————————————————————&br&&h2&2.4 银行接口&/h2&&p&任何一家支付机构后台都要接入一堆银行,来完成代收的操作。目前银行开放给第三方机构(包括第三方支付平台)的接口大概有四类:POS收单接口,网银接口,快捷支付接口和代扣接口。这四类接口的作用就是把资金从用户的银行卡划转出来。我们经常所说的网银支付,快捷支付其实是针对银行接口来说的,并不是第三方支付方式,只不过第三方支付平台要完成扣款的操作,必须要接入这些银行接口。用户在第三方支付平台选择网银进行支付时,此时的第三方支付平台其实也是充当了银行网关的作用。 但是并不能说网关支付就是网银支付,这是两个不同的概念,网关支付是针对第三方支付平台来说的,网银是针对银行来说的,只不过因为使用银行网银进行支付时,第三方支付平台充当了一个网关的角色,所以经常有人把这两个概念混淆。下面就第三方支付平台接入的以上四类不同接口进行说明。&/p&&h3&2.4.1 第三方支付平台+网银接口&/h3&&p&第三方支付平台接了银行网银接口后,从银行的角度讲,其只是对外开放了一个网银接。对于第三方支付平台来说,这种支付模式其实就是上面讨论的支付网关模式。经常有人把网银与网关混为一谈,其实这是两个不同的概念,二者是针对不同的主体来说的,所起的作用也不一样。但是因为第三方支付平台连接网银接口,进行支付跳转时,第三方支付平台充当了一个网关的角色,或者充当了银行的代理,所以经常有人弄混。从普通用户的感知来讲,这就是平时经常所说的第三方支付平台的网银支付。但是注意网银与网关不是一码事。下面以积木盒子充值流程为例进行说明。&/p&&p&流程如下: &/p&&img src=&/v2-3fbbb57da6b4fc5f229df4_b.png& data-rawwidth=&758& data-rawheight=&627& class=&origin_image zh-lightbox-thumb& width=&758& data-original=&/v2-3fbbb57da6b4fc5f229df4_r.png&&&img src=&/v2-e6ce47ca1bdc212ffd9039cccfa30328_b.png& data-rawwidth=&795& data-rawheight=&425& class=&origin_image zh-lightbox-thumb& width=&795& data-original=&/v2-e6ce47ca1bdc212ffd9039cccfa30328_r.png&&&img src=&/v2-90cb840cbb0bf97ee89aa718a18a2d76_b.png& data-rawwidth=&865& data-rawheight=&432& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-90cb840cbb0bf97ee89aa718a18a2d76_r.png&&&p&如果在工行界面选择的是快捷支付,则第三步的界面如下:&/p&&img src=&/v2-58e1af7a7f9cd8dc79d0a6dc4efffc27_b.png& data-rawwidth=&865& data-rawheight=&470& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-58e1af7a7f9cd8dc79d0a6dc4efffc27_r.png&&&p&
注意:在工行界面上展示的快捷支付并不是我们上面说的银行开放给第三方支付平台的快捷支付接口,实际上在这里,快钱只是接了银行的网银接口,至于在工行的界面上嵌入了工行自己的所谓的“快捷支付”,这是工行自己的事情,与快钱无关。&br&&/p&&h3&2.4.2 第三方支付平台+快捷支付接口&/h3&从银行角度讲,这是其对外开放的快捷支付接口,而对于普通用户的感知来说,也是我们经常所说的快捷支付。进行快捷支付时,第三方支付平台往往会要求用户先在第三方支付平台注册成为会员,然后进行四要素绑卡(姓名、身份证、卡号、银行预留手机),最后才能完成付款。&b&注&/b&:有些商户平台(如P2P)与第三方支付平台深度合作,用户只需要在商户平台界面上完成绑卡即可,整个绑卡流程下来都不会出现第三方支付平台的界面,这是由于用户在商户平台填写的信息都在后台传给了第三方支付平台,然后第三方支付平台为用户隐式注册了第三方平台账户,这么做只是为了让用户的绑卡流程不会被打断,让用户体验好一点而已,原理还是与用户在第三方支付平台显式注册一样。&br&&br&&p&从第三方支付平台来讲,一般能接上银行快捷支付接口的平台是需要有一定实力的,对于安全性的要求非常高。银行的接口也不是想接就能接的。&/p&&p&从用户体验角度讲,使用快捷支付比使用网银支付的体验好,一方面快捷支付不需要开通网银,而且一次绑卡之后,第二次就可以直接支付了,方便快捷。&/p&&p&下面就第三方支付平台与商户平台合作的两种模式分别讲解。&/p&&p&1)用户显式注册第三方支付平台账户并绑卡&/p&&p&
以信而富p2p平台采用富友支付为例讲解:&/p&&img src=&/v2-1f72eadccace91fc71a81_b.png& data-rawwidth=&865& data-rawheight=&464& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-1f72eadccace91fc71a81_r.png&&&img src=&/v2-8ec45dba0ddd6b3a2d5457_b.png& data-rawwidth=&844& data-rawheight=&552& class=&origin_image zh-lightbox-thumb& width=&844& data-original=&/v2-8ec45dba0ddd6b3a2d5457_r.png&&&img src=&/v2-fbc6cecb40c_b.png& data-rawwidth=&865& data-rawheight=&652& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-fbc6cecb40c_r.png&&&p&提交注册,已注册并绑卡成功。&/p&&p&2)平台替用户隐式注册第三方支付平台账户并绑卡&/p&&img src=&/v2-8cfce3b588_b.png& data-rawwidth=&406& data-rawheight=&687& class=&content_image& width=&406&&&img src=&/v2-d2f38ac5b92d4259aaeb495adacb53ba_b.png& data-rawwidth=&373& data-rawheight=&685& class=&content_image& width=&373&&&img src=&/v2-3c96c375653cfbbc130b673_b.png& data-rawwidth=&409& data-rawheight=&715& class=&content_image& width=&409&&&img src=&/v2-973f08668dcbffdac5d1b651a1d0e8c6_b.png& data-rawwidth=&414& data-rawheight=&716& class=&content_image& width=&414&&&img src=&/v2-6c1bffdace4d_b.png& data-rawwidth=&415& data-rawheight=&681& class=&content_image& width=&415&&&img src=&/v2-ada1ca410e981d_b.png& data-rawwidth=&382& data-rawheight=&682& class=&content_image& width=&382&&&img src=&/v2-9dcf1ddef8fd_b.png& data-rawwidth=&378& data-rawheight=&638& class=&content_image& width=&378&&&br&第七步,绑卡成功。&br&&p&这里需要注意两点:&/p&
&p&1)在上面的第四步中,点击“立即开通”按纽后跳到第五步时,手机会接收到一条由工商银行(上面绑定是工行的卡)发过来验证码短信,
注意工行是发卡行,发过来的信息中开通的是通联支付的快捷支付,说明该p2p平台连接的是通联支付,而通联支付连接了工行的快捷支付接口。&/p&
&p&2)可以看到上面的整个绑卡操作环节并没有出现通联支付的界面,所有的操作都是在p2p界面上完成的,然后在后台把数据传给第三方支付平台通联支付,用户绑卡成功后,会成为通联支付的隐式会员,同时通联会为用户创建一个虚拟账户,用于存放用户的银行卡等信息。换句话说,虽然用户并没有在通联支付界面上操作,也没有一个类似于支付宝账号的通联支付账号可以用于登陆通联支付客户端,但是在通联支付看来,绑卡成功的用户依然成为了通联支付的会员。&/p&
代扣接口&/h3&
&p&1)定义&/p&
&p&银行代扣接口是银行开放给第三方机构的接口,用户只要一次性签约,第三方机构就可以将资金从用户的签约银行账户里划走,对于接银行代扣接口的第三方机构的资质要求是非常高的,必须具备非常高的信用。一般这种接口会开放给水电公司,用于用户缴纳每个月的水费,电费,家庭网费等&/p&
&p&2)与快捷支付接口的区别与联系&/p&
&p&代扣接口是一直都存在的,也是一种非常传统的银行支付接口,为了便民生活。而快捷支付接口是互联网出来并发展到一定阶段后,银行专门开放给第三方支付公司的接口,其实这两种接口对于银行来说,并无本质区别,因为二者都是在用户在完成签约之后,就可以通过第三方机构把资金从用户的签约银行账户中划走。但是银行为方便管理,于是给第三方支付公司专门开了一套与代扣接口功能一样的快捷支付接口给第三方支付公司。&/p&
&p&这两种接口都需要三方签约,即用户,第三方机构以及银行三方签约。&/p&
&p&从用户体验上讲,对于代扣,用户只需要与第三方机构一次性签约,以后资金就会到点被第三方机构划走,而无需用户再输入密码或其它验证手段,最典型的就是每个月月底,水电公司会把水电费从用户的签约卡上划走。对于快捷支付,用户第一次签约完成后,以后付款时只需要输入第三方支付平台的支付密码或第三方支付平台要求的其它验证手段(如支付宝的动态密码),这里要注意的是,第三方支付平台的支付密码是支付平台为了保证用户的支付安全,而要求用户设置的,与银行无关。如果支付公司对用户以及自己的系统安全性绝对的信任,是完全可以不要求用户设置支付密码的,但是目前几乎没有支付公司这么玩,因为风险太大。
POS接口&/h3&
POS接口是银行开放给第三方支付机构用于线下收单业务的,主要用于pos机刷卡支付。&/p&
&p&这个在第三章中会详细阐述。&/p&&p&———————————————————————————————————————————&/p&&p&接着上面的更新第三章。。&/p&&p&———————————————————————————————————————————&/p&&p&在第二章中,我们讲到了第三方支付以及银行接口类型,接下来我们继续第三章的更新,一起来聊一聊支付平台与银行之间的系统交互是怎么玩的。&/p&&h2&3.1
概述&/h2&&p&银行卡收单业务,指收单机构为特约商户提供银行卡交易处理及资金结算等金融服务,获取手续费收入的业务。&/p&&h2&3.2
行为主体&/h2&&p&银行卡收单业务的行为主体主要包括持卡人,发卡行,特约商户,收单机构,银行卡组织等。&/p&&p&1)发卡行&/p&&p&发卡行是向持卡人(即用户或消费者)发行各种银行卡,并通过提供各类相关的银行卡服务收取服务费,是银行卡市场的发起者和组织者,是银行卡市场的卖方。&/p&&p&2)收单机构(银行也是收单机构,收单机构为银行时,叫收单行)&/p&&p&负责特约商户的开拓与管理、授权请求、账单结算等活动,其利益主要来源于特约商户交易手续费的分成、服务费。&/p&&p&3)收单行&/p&&p&
负责对分发请款指令,同时存管用户备付金的银行。即用户付款后,需要有一个银行账户来存放用户所支付的资金,该备付金存管银行就是收单行。&/p&&p&4)银行卡组织&/p&&p&建立、维护和扩大跨行信息交换网络,通过建立公共信息网络和统一的操作平台,向成员机构提供信息交换、清算和结算、统一授权、品牌营销、协助成员机构进行风险控制及反欺诈等服务,如银联电子等。&/p&&p&5)特约商户&/p&&p&与收单机构签有商户协议,受理银行卡的零售商、个人、公司或其他组织。&/p&&h2&3.3
业务流程&/h2&&p&基于银行卡收单业务,根据持卡人支付载体不同分为线上收单及线下收单。&/p&&p&线下收单------为商户提供的具备银行卡信息读入装置生成银行卡交易指令&/p&&p&要素的各类支付终端,包括POS终端、自助终端等类型,持卡人通过刷卡完成交易。&/p&&p&线上收单-------第三方支付机构(包括银联)已建成的无卡支付交易处理平&/p&&p&台。持卡人通过互联网、移动互联网等介质,输入银行卡相关信息从而完成交&/p&&p&易。也就是我们常说的线上第三方支付。&/p&&p&
基于银行卡支付大致流程如下图所示:&/p&&p&&img src=&/v2-d051b2b6eca7bc8aa0f7fca_b.png& data-rawwidth=&769& data-rawheight=&476& class=&origin_image zh-lightbox-thumb& width=&769& data-original=&/v2-d051b2b6eca7bc8aa0f7fca_r.png&&
(此图来自于网络)&br&&/p&&br&&h2&3.4
线下收单&/h2&&p&POS收单业务是指收单机构向签约商户提供的本外币资金结算服务。POS刷卡用得最多,我们下面以POS线下收单为例进行说明。&/p&&p&POS收单业务主要有三种收单机构来共分这块蛋糕,即商业银行、银联商务和第三方支付公司(如拉卡拉、快钱等)&/p&&h3&3.4.1
商业银行&/h3&&p&商业银行的主要业务范围包括吸收公众、企业及机构的存款、发放贷款、票据贴现及收单业务等。在线下收单业务中,商业银行即是发卡行,又是收单行,同时还是收单机构。首先,商户在银行(收单行)开立账户,银行为商户安装POS机,持卡人在商户进行购物消费时通过刷卡方式支付款项,收单行负责将扣减一定手续费后的消费资金记入商户账户。&/p&&p&当持卡人持银行卡(发卡行A)在POS机上跨行消费的时候,扣款指令先从POS终端机传到收单行B的主机系统,,再转到银联进行跨行转接,再通过银联电子进行行间转接给发卡行B,最后发卡行负责划扣资金。业务流程如下图所示:&/p&&img src=&/v2-f59d4ebc37599fdc12b4fcc8dd94f7d4_b.png& data-rawwidth=&1271& data-rawheight=&750& class=&origin_image zh-lightbox-thumb& width=&1271& data-original=&/v2-f59d4ebc37599fdc12b4fcc8dd94f7d4_r.png&&&p&如果发卡行与收单行是同一家银行,则不需要银联电子转接,只需进行行内数据处理及清结算即可。&/p&&p&以信用卡刷卡为例。第一阶段:假设海底捞与工行合作,在店内布放了一台工行的POS机(工行是收单行,也是收单机构),用户消费时,用农行的信用卡(农行为发卡行)刷卡消费,用户在刷卡小票上签字后交给海底捞,就完成了交易。第二阶段:在银联的清算时间,会对该笔交易进行银行间清结算,工行就会通过银联向农行要该笔资金,并向发卡行农行支付交换费,银联在这个过程中收取手续费分成。第三阶段:海底捞把小票交给收单行工行,工行与海底捞对该笔交易进行结算,扣完手续费后,把资金结算给海底捞。&/p&&p&一般以上三方的手续费分成为,发卡行(农行):收单行(工行):银联电子=7:2:1 。如果发卡行与收单行是同一家银行,则上面工行向海底捞收取的手续费中的九成归工行,另一成支付给银联电子。&/p&&h3&3.4.2
银联商务&/h3&&p&中国银联于2002年成立于上海,旗下有银联商务(主营线下POS收单业务)、 银联电子(主营互联网支付业务以及解决银行卡联网通用的问题,即集成各大银行的网关接口,实现银行之间的互联互通,解决跨行交易和清结算的问题)、银联数据服务有限公司(为金融机构提供银行卡数据处理服务)、银行卡检测中心、中国金融认证中心(即CFCA,通过为发放数字证书,为网上银行、电子商务、电子政务提供安全认证服务)等子公司。&/p&&p&
当银联商务作为收单机构时,由银联商务与商户进行签约,收单主体是银联商务。&/p&&p&
以下是银联商务作为收单机构时的业务流程图:&/p&&img src=&/v2-5c9d7abd3_b.png& data-rawwidth=&1281& data-rawheight=&632& class=&origin_image zh-lightbox-thumb& width=&1281& data-original=&/v2-5c9d7abd3_r.png&&&p&银联电子的存在就是为了解决跨行交易的问题,所以当银联商务作为收单机构时,指令直接传到银联电子,再传给发卡行扣款。在银联商务的清算日,银联商务会与发卡行、收单行就该笔交易进行清结算。当然,这个过程中,在把资金打给收单行之前,会扣除商户的手续费,发卡行,银联商务、银联电子,收单行会对手续费进行分成。&/p&&h3&3.4.3
第三方支付收单机构&/h3&&p&在线下银行卡收单市场中,第三方收单机构在全国范围类极速发展。&/p&&p&第三方支付机构首先需要获得央行颁发的收单牌照,然后通过与商户签约,线下布放POS机,替商户收单,第三方支付机构一般会找一家或多家银行合作,在合作银行开立备付金存管账户,用于与银行进行资金清结算,我们暂且将合作银行称为第三方支付机构合作行。对于合作行自己的持卡人交易,合作银行自己处理;对于他行的交易,由合作银行转接到银联,再由银联转接到其它发卡行处理。 &/p&&p&在第在第三方POS机收单的结算流程上,一般会有发卡行,商户,第三方收单机构,收单行,以及银联电子参与。注意:这里的用于接收用户支付款项的银行账户是第三方收单机构在收单行开立的,一般把该银行账户称这备付金存管账户,收单行与第三方收单机构是合作关系。而在上面银行和银联作为收单机构中,用于接收用户支付款项的银行账户是商户在收单行开立的。在这里,第三方支付机构实际是形成了资金池,最后在第三方收单机构与商户结算时,第三方收单机构才会把资金打到商户在签约时指定的银行账户上,一般称之为商户的结算账户,是商户在任何一家普通银行开立的。在上面银联和银行收单时,收单行与商户的结算行是同一家,而且开户的主体都是商户。但在第三方收单机构中,收单行的开户主体是第三方收单机构,结算行的主体还是商户,但是结算行不在第三方收单机构的收单流程中,所以在这里不必管它。只要记住,收单行一方面需要处理请款指令,收到请款指令后,如果发现是异行的卡,就会把指令传给银联,通过银联进行跨行转接;另一方面在清结算时负责直接接收消费者支付的款项。&/p&&p&1)发卡行与第三方机构的开户行属于同行&/p&&p&业务流程如下:&/p&&img src=&/v2-10f023a0e0db2b500cc3db_b.png& data-rawwidth=&1232& data-rawheight=&886& class=&origin_image zh-lightbox-thumb& width=&1232& data-original=&/v2-10f023a0e0db2b500cc3db_r.png&&&p&需要注意的是,代付与清结算并不是同时发生的,一般第三方收单机构与商户签约时,会有一个结算账期,在第三方收单机构会与合作行清结算完成后,第三方收单机构才会与商户进行结算。第三方收单机构与合作行清结算时,合作行会收取第三方收单机构一定手续费,第三方收单机构与商户结算时,会收取商户一定手续费。&/p&&p&2)发卡行与第三方收单机构开户行属于异行&/p&&p&流程如下:&/p&&img src=&/v2-6bcd402d12ba1ee8a8bb434_b.png& data-rawwidth=&1281& data-rawheight=&630& class=&origin_image zh-lightbox-thumb& width=&1281& data-original=&/v2-6bcd402d12ba1ee8a8bb434_r.png&&&p&以上涉及到发卡行,第三方收单机构,收单行,银联电子四方进行手续费分成。&/p&&h2&3.5
线上收单&/h2&&p&了解了线下收单业务中各机构之间的关系后,线上收单业务就很容易理解了,线上收单业务如今主要被第三方支付机构占据。在线下收单业务中,第三方支付机构在线下连接的是银行开放出去的POS接口,而在线上,连接的则是网银接口和快捷支付接口。下面我们将重点讨论第三方支付平台以及银联电子的线上收单业务(或者叫互联网收单业务)。&/p&&h3&3.5.1
第三方支付平台线上收单&/h3&&p&第三方支付平台线上收单业务与线下收单业务有很大不同,主要表现在:1)线下收单时,因为无法得知用户使用哪家银行的银行卡支付,第三方收单机构收到来自商户的请款请求后,会交给与之合作的开户行(收单行)进行处理,收单行会对请款请求进行处理,一旦发现是异行的卡,马上会把指令传给银联电子(因为银联电子集成了各大银行的网关,这是银联电子成立的初衷),再由银联电子进行行间转接。所以第三方支付机构需要找其开户行合作,由开户行识别是同行还是异行。而在线上时,第三方支付机构与哪些银行有合作,在用户界面上是可以知道的,用户选择的发卡行肯定是第三方支付平台合作支持的;2)线下收单时,刚刚说过,第三方收单机构需要借助其开户行(收单行)的力量识别是同行还是异行的卡消费,而在线上时,第三方支付平台集成了各大银行的网关,本身既是收单机构,又是收单行,因为它已经可以不用再像线下收单时,需要借助开户行(收单行)的力量,利用银联电子进行行间转接了,第三方支付平台集成了各大银行的网关之后,第三方支付平台本身相当于一个路由器,对用户所选的发卡行进行识别后,把请款请求分发给对应的发卡行,这样就可以取代收单行和银联电子进行行间转接了。这就是银联电子最担心的地方。银行也担心,因为当第三方支付平台取代银行自己成为收单行之后,银行已经无法深入知道整个支付细节了。线下收单时作为收单行的银行,会处理来自第三方收单机构的请款请求,还可以接收用户的支付款项,但是线上时,已经没有收单行这个概念,或者说第三方支付机构本身就是收单行了,银行已经无法得知这笔交易的来龙去脉,仅仅只能作为第三方支付机构的开户行存放用户的支付款项,或者作为发卡行,主动(网银支付)或被动(快捷支付)执行扣款指令。当银行无法得知支付的中间细节时,洗钱就会趁虚而入了。这也就是为什么央行一直要出台相关在线第三方支付政策来反洗钱的原因。&/p&&p&1)第三方支付平台+网银接口&/p&&p&在第二章中,我们提到过,第三方支付平台连接网银接口,用户在支付时,实际上第三方支付平台仅仅充当了支付网关的作用,可以理解成是银行的代理,所以并不存在线上收单业务中的发卡行与第三方支付平台的开户行是同行还是异行的问题。使用网银支付,用户得先确保已经开通了网银。&/p&&img src=&/v2-d76ab668daad913f1fc651_b.png& data-rawwidth=&1047& data-rawheight=&832& class=&origin_image zh-lightbox-thumb& width=&1047& data-original=&/v2-d76ab668daad913f1fc651_r.png&&&br&&p&2)第三方支付平台+快捷支付接口&/p&&p&用户使用快捷支付之前,得先在第三方支付平台完成绑卡操作,不需要开通网银。快捷支付接口开放给第三方支付平台之后,用户只需要在第三方支付平台完成身份校验,第三方支付机构就可以将用户银行卡里的资金划扣出来,而无需再输入银行卡密码(现在也有一些第三方支付平台会要求用户绑卡时输入银行卡密码,这个得看支付平台与银行的合作方式,不同银行标准不一样,但是主流支付平台不要求,这里只讨论大多数),换句话说,用户使用快捷支付时,本来应该由银行完成的校验用户身份以及发起扣款指令的工作,现在由第三方支付平台代替银行来完成,用户在第三方平台身份校验成功后,扣款指令会传递给发卡行,然后银行只是被动的执行这个扣款指令,把用户的资金划扣,这就是快捷支付接口与网银接口的本质区别。连接了快捷支付接口,相当于第三方支付平台可以随时划扣用户的资金,如果支付平台想做违法乱纪之事,是可以轻而易举在用户不知情的情况下把用户资金从银行卡中划走的,。所以一般银行只对资质非常高,信誉非常好的第三方支付平台开放这类接口。而且第三方支付平台接快捷支付接口的成本也非常高,据不完全统计,用户每完成一次认证绑卡,支付平台的运营成本在100元左右,所以对支付平台的的实力也是一种考验。&/p&&img src=&/v2-39d8c09ad2df3bbc472d_b.png& data-rawwidth=&1070& data-rawheight=&965& class=&origin_image zh-lightbox-thumb& width=&1070& data-original=&/v2-39d8c09ad2df3bbc472d_r.png&&&p&从用户体验上来说,快捷支付比网银支付环节更少,方便快捷,体验上占优。从第三方支付平台来说,用户支付时,第三方支付平台已经深入了整个支付环节,包括交易数据获取,用户信息积累,代付时收取手续费等等,对支付平台来说,这些都是大块肥肉。&/p&&h3&3.5.2
银联电子线上收单业务&/h3&&p&银联电子是中国银联旗下子公司,专门用于在线收单业务拓展的线上支付平台,与第三方支付机构无本质区别,主要的区别在于代付环节,银联电子不设资金池,所以不存在代付这个环节,在银联的清算时间,完成之后,用户支付的款项就直接打给商户的结算账户里面去了。&/p&&p&———————————————————————————————————————————&/p&&p&以上关于线上线下收单业务相关的业务知识已经告一段落,后面会更新其它与互联网金融相关的东西,欢迎各位交流。/握拳&/p&
要回答这个问题,得先弄清楚几个概念,什么是第三方支付方式以及银行接口类型,下面我将用一万字讲解线上线下收单业务,一起来看: ——————————————————————————————————————————— &禁止转载。如需转载请联系作…
&img src=&/v2-71fe9af227_b.jpg& data-rawwidth=&488& data-rawheight=&577& class=&origin_image zh-lightbox-thumb& width=&488& data-original=&/v2-71fe9af227_r.jpg&&&p&给大家推荐一些统计、分析、挖掘书籍,推荐语包括购买地址后面慢慢在补充。大家有好的书籍也可以推荐,持续连载中。。封面这个本书也非常给力,31位作者合力写的,到时候也给大家推荐下。&/p&&h2&统计学&/h2&&p&《看穿一切的统计学》&/p&&p&《统计学》&/p&&p&《概率论与数理统计》&/p&&p&《商务与经济统计》&/p&&p&《数学模型》&/p&&p&《深入浅出统计学》&/p&&p&《白话大数据与机器学习》&/p&&h2&数据分析&/h2&&p&《游戏数据分析的艺术》&/p&&p&《谁说菜鸟不会数据分析(入门篇)》&/p&&p&《谁说菜鸟不会数据分析(工具篇)》&/p&&p&《数据分析企业的贤内助》&/p&&p&《网站数据分析》&/p&&h2&Excel&br&&/h2&&p&疑难千寻千解套装&/p&&p&《Excel2010操作与技巧》&/p&&p&《Excel2010函数与公式》&/p&&p&《Excel2010数据透视表大全》&/p&&h2&SPSS&/h2&&p&《SPSS其实很简单》&/p&&p&《SPSS统计分析基础教程》&/p&&p&Clementine&/p&&p&《基于Clementine的数据挖掘》(pdf)&/p&&p&SQL&/p&&p&《数据库系统概论》&/p&&p&《三级教程——数据库技术》&/p&&p&《SQL必知必会》(pdf)&/p&&h2&R&/h2&&p&《R语言实战》&/p&&p&《数据挖掘与R语言》&/p&&p&《统计建模与R软件》(pdf)&/p&&p&《机器学习与R语言实战》&/p&&p&《R语言数据分析与挖掘实战》(pdf)&/p&&p&《时间序列分析及应用:R语言》&br&&/p&&h2&Python&/h2&&p&《利用Python进行数据分析》&/p&&p&《Python数据挖掘入门与实践》&/p&&p&《贝叶斯思维:统计建模的Python学习法》&/p&&p&《Python语言程序设计》&/p&&h2&Matlab&/h2&&p&《Matlab数据分析与挖掘实战》&/p&&h2&Hadoop&/h2&&p&《Hadoop应用开发技术详解》&/p&&h2&其它&/h2&&p&《数据挖掘概念与技术》&/p&&p&《机器学习》&/p&&p&《一本书读懂大数据》&br&&/p&&p&《数据之巅》&br&&/p&&p&《数据之美》&/p&
给大家推荐一些统计、分析、挖掘书籍,推荐语包括购买地址后面慢慢在补充。大家有好的书籍也可以推荐,持续连载中。。封面这个本书也非常给力,31位作者合力写的,到时候也给大家推荐下。统计学《看穿一切的统计学》《统计学》《概率论与数理统计》《商务与…
&img src=&/v2-541d4a4baab754d86eb50e_b.jpg& data-rawwidth=&750& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/v2-541d4a4baab754d86eb50e_r.jpg&&&img src=&/v2-541d4a4baab754d86eb50e_b.jpg& data-rawwidth=&750& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/v2-541d4a4baab754d86eb50e_r.jpg&&&p&上篇讲&a href=&/p/& class=&internal&&算法演进&/a&,本篇讲挖矿演进,挖矿是作算法运算的过程,从计算机和代码的角度来说,是反复执行Hash函数并检测执行结果的具体过程。与讨论算法一样,挖矿也是在采用POW共识机制前提下讨论。&/p&&p&大家已经非常清楚挖矿是由最开始的CPU挖矿,过度到GPU挖矿,最终演化到当前的ASIC(专业矿机)挖矿时代,本篇解析其中的逻辑设计和技术实现。挖矿的演进是硬件的演进过程,同时也是软件的演进过程,尤其是软硬件对接协议的改进过程,因此本文直接将与挖矿有关的几个核心协议作为小标题,一步步深入讨论。&/p&&p&在复查文章时我发现“矿工”一词用的比较模糊,这种情况在英文文献也差不多,日常交流中一般指拥有挖矿机器的人,本篇着眼于区块链,挖矿的程序或者机器都统称矿工(Miner)。&/p&&br&&h2&&b&MINING&/b&&/h2&&p&本小节讨论挖矿原理,首先解析比特币区块头(Blockheader)结构,我们说挖矿本质是执行Hash函数的过程,而Hash函数是一个单输入单输出函数,输入数据就是这个区块头。比特币区块头共6个字段:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&int32_t nV
//版本号,4字节
uint256 hashPrevB
//前一个区块的区块头hash值,32字节
uint256 hashMerkleR //包含进本区块的所有交易构造的Merkle树根,32字节
uint32_t nT
//Unix时间戳,4字节
uint32_t nB
//记录本区块难度,4字节
uint32_t nN
//随机数,4字节
&/code&&/pre&&/div&&p&如上,比特币每一次挖矿就是对这80个字节连续进行两次SHA256运算(SHA256D),运算结果是固定的32字节(二进制256位)。&/p&&p&以上6个字段情况又各不相同:&/p&&p&&i&nVersion&/i&,区块版本号,只有在升级时候才会改变。&/p&&p&&i&hashPrevBlock&/i&,由前一个区块决定。&/p&&p&&i&nBits&/i&,由全网决定,每2016个区块重新调整,调整算法固定。&/p&&p&因此以上3个字段可以理解为是固定的,对于每个矿工来说都一样。矿工可以自由调整的地方是剩下的3个字段。&/p&&p&&i&nNonce&/i&,提供2^32种可能取值。&/p&&p&&i&nTime&/i&,其实本字段能提供的值空间非常有限,因为合理的区块时间有一个范围,这个范围是根据前一个区块时间来定,比前一个区块时间太早或者太超前都会被其他节点拒绝。值得一提的是,后一个区块的区块时间略早于前一个区块时间,这是允许的。一般来说,矿工会直接使用机器当前时间戳。&/p&&p&&i&hashMerkleRoot&/i&,理论上提供2^256种可能,本字段的变化来自于对包含进区块的交易进行增删,或改变顺序,或者修改Coinbase交易的输入字段。&/p&&p&根据Hash函数特性,这3个字段中哪怕其中任意1个位的变化,都会导致Hash运行结果巨大变化。在CPU挖矿时代,搜索空间主要由nNonce提供,进入矿机时代,nNonce提供的4个字节已经远远不够,搜索空间转向hashMerkleRoot。&/p&&img src=&/v2-7acaa70fb8c_b.png& data-rawwidth=&660& data-rawheight=&774& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&/v2-7acaa70fb8c_r.png&&&p&比特币挖矿的逻辑过程如下:&/p&&ol&&li&打包交易,检索待确认交易内存池,选择包含进区块的交易。矿工可以任意选择,甚至可以不选择(挖空块),因为每一个区块有容量限制(当前是1M),所以矿工也不能无限选择。对于矿工来说,最合理的策略是首先根据手续费对待确认交易集进行排序,然后由高到低尽量纳入最多的交易。&br&&/li&&li&构造Coinbase,确定了包含进区块的交易集后,就可以统计本区块手续费总额,结合产出规则,矿工可以计算自己本区块的收益。&br&&/li&&li&构造hashMerkleRoot,对所有交易构造Merkle数。&br&&/li&&li&填充其他字段,获得完整区块头。&br&&/li&&li&Hash运算,对区块头进行SHA256D运算。&br&&/li&&li&验证结果,如果符合难度,则广播到全网,挖下一个块;不符合难度则根据一定策略改变以上某个字段后再进行Hash运算并验证。&/li&&/ol&&p&合格的区块条件如下:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&SHA256D(Blockherder) & F(nBits)
&/code&&/pre&&/div&&p&其中,&i&SHA256D(Blockherder)&/i&就是挖矿结果,&i&F(nBits)&/i&是难度对应的目标值,两者都是256位,都当成大整数处理,直接对比大小以判断是否符合难度要求。&/p&&p&为了节约区块链存储空间,将256位的目标值通过一定变换无损压缩保存在32位的nBits字段里。具体变换方法为拆分利用nBits的4个字节,第1个字节代表右移的位数,用V1表示,后3个字节记录值,用V3表示,则有:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&F(nBits)=V_3 * 2^(8*(V_1-3) )
&/code&&/pre&&/div&&p&此外难度有最低限制,也就是说
有个最大值,比特币最低难度取值nBits=0x1d00ffff,对应的最大目标值为:0xFFFF0000&/p&&p&因此挖矿可以形象的类比抛硬币,好比有256枚硬币,给定编号1,2,3……256,每进行一次Hash运算,就像抛一次硬币,256枚硬币同时抛出,落地后要求编号前n的所有硬币全部正面向上。&/p&&br&&h2&&b&SETGENERATE&/b&&/h2&&p&Setgenerate协议接口代表了CPU挖矿时代。&/p&&p&中本聪在论文里描述了“1 CPU 1 Vote”的理想数字民主理念,在最初版本客户端就附带了挖矿功能,客户端挖矿非常简单,当然,需要同步数据结束才可以挖矿。现在有很多算力很低的山寨币还是直接使用客户端挖矿,有两种方式可以启动挖矿:&/p&&ol&&li&在配置文件设置gen=1,然后启动客户端,节点将自行启动挖矿。&br&&/li&&li&客户端启动后,利用RPC接口setgenerate控制挖矿。&/li&&/ol&&p&如果使用经典QT客户端,点击“帮助”菜单,打开“调试窗口”,在“控制台”输入如下命令:setgenerate true 2,然后回车,客户端就开始挖矿,后面的数字代表挖矿线程数,如果想关闭挖矿,在控制台使用如下命令:setgenerate false,可以使用getmininginfo命令查看挖矿情况。&/p&&p&节点挖矿过程也非常简单:&/p&&p&构造区块,初始化区块头各个字段,计算Hash并验证区块,不合格则nNonce自增,再计算并验证,如此往复。在CPU挖矿时代,nNonce提供的4字节搜索空间完全够用(4字节即4G种可能,单核CPU运算SHA256D算力一般是2M左右),其实nNonce只遍历完两个字节就返回去重构块。&/p&&br&&h2&&b&GETWORK&/b&&/h2&&p&getwork协议代表了GPU挖矿时代,需求主要源于挖矿程序与节点客户端分离,区块链数据与挖矿部件分离。&/p&&p&使用客户端节点直接挖矿,需要同步完整区块链,数据和程序紧密结合,也就是说,如果有多台电脑进行挖矿,需要每台电脑都单独同步一份区块链数据。这其实没有必要,对于矿工来说,最少只需要一个完整节点就可以。而以此同时,GPU挖矿时代的到来,也需要一个协议与客户端节点交互。&/p&&img src=&/v2-bd41f45fa09d_b.png& data-rawwidth=&590& data-rawheight=&674& class=&origin_image zh-lightbox-thumb& width=&590& data-original=&/v2-bd41f45fa09d_r.png&&&p&getwork核心设计思路是:&/p&&p&由节点客户端构造区块,然后将区块头数据交给外部挖矿程序,挖矿程序遍历nNonce进行挖矿,验证合格后交付回给节点客户端,节点客户端验证合格后广播到全网。&/p&&p&如前所述,区块头共80个字节,由于没有区块链数据和待确认交易池,nVersion,hashPrevBlock,nBits和hashMerkleRoot这4个字段共72个字节必须由节点客户端提供。挖矿程序主要是递增遍历nNonce,必要时候可以微调nTime字段。&/p&&p&对于显卡GPU来说,其实不用担心nNonce的4字节搜索空间不足,而且挖矿程序从节点客户端那里拿到一份数据后,不应该埋头工作太久,不然很有可能这个块已经被其他人挖到,继续挖只能做无用功,对于比特币来说,虽然设计为每10分钟一个区块,良好的策略也应该在秒级内重新向节点申请新的挖矿数据。对于显卡来说,运行SHA256D算力一般介于200M~1G,nNonce提供4G搜索空间,也就是说再好的显卡也能支撑4秒左右,调整一次nTime,又可以再挖4秒,这个时间绰绰有余。&/p&&p&节点提供RPC接口getwork,该接口有一个可选参数,如果不带参数,就是申请挖矿数据,如果带一个参数,就是提交挖到的块数据。&/p&&p&不带参数调用getwork,返回数据如下:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&{
&midstate& : &b77f61d49fd5ffdf828c6b5c78c606a8e49d4ad8bd6&,
&data& :&7bac28ee28a949da0ab740acfd739d7bcf67ca31cad2ca54d92c8c1cdeddf2b07d9f10fa1a6cf3db7e949bedb12d&,
&hash1& :&&,
&target& : &75d0&
&/code&&/pre&&/div&&p&&b&Data字段&/b&&/p&&p&共128字节(80区块头字节 + 48补全字节),因为SHA256将输入数据切分成固定长度的分片处理,每个切片64字节,输入总长度必须是64字节的整数倍,输入长度一般不符合要求,则根据一定规则在元数据末端补全数据。其实对于挖矿来说,补全数据是固定不变的,这里没必要提供,外部挖矿软件可以自行补齐。甚至连nNonce字段都不需要提供,data最少只需要提供前面的76字节就够了。nTime字段也是必不可少的,外部挖矿程序需要参照节点提供的区块时间来调节nTime。&/p&&p&&b&Target字段&/b&&/p&&p&即当前区块难度目标值,采用小头字节序,需要翻转才能使用。&/p&&p&其实对于外部挖矿程序来说,有data 和 target这两个字段就可以正常挖矿了,不过getwork协议充分考虑各种情况,尽量帮助外部挖矿程序做力所能及的事,提供了两个额外字段,data字段返回完整补全数据也是出于此理念。&/p&&p&&b&Midstate字段&/b&&/p&&p&如上所述,SHA256对输入数据分片处理,矿工拿到data数据后,第一个分片(头64字节)是固定不变的,midstate就是第一个分片的计算结果,节点帮忙计算出来了。&/p&&p&因此,在midstate字段辅助下,外部挖矿程序甚至只需要44字节数据就可以正常挖矿:32字节midstate
+ 第一个切片余下的12(76-64)字节数据。&/p&&p&&b&Hash1字段&/b&&/p&&p&比特币挖矿每次都需要连续执行两次SHA256,第一次执行结果32字节,需要再补充32字节数据凑足64字节作为第二次执行SHA256的输入。hash1就是补全数据,同理,hash1也是固定不变的。&/p&&p&外部挖矿程序挖到合格区块后再次调用getwork接口将修改过的data字段提交给节点客户端。节点客户端要求返回的数据也必须是128字节。&/p&&p&每次有外部无参调用一次getwork时,节点客户端构造一个新区块,在返回数据前,都要把新区块完整保存在内存,并用hashMerkleRoot作为唯一标识符,节点使用一个Map来存放所有构造的区块,当下一个块已经被其他人挖到时,立即清空Map。&/p&&p&getwork收到一个参数后,首先从参数提取hashMerkleRoot,在Map中找出之前保存的区块,接着从参数中提取nNonce和nTime填充到区块的对应字段,就可以验证区块了,如果难度符合要求,说明挖到了一个块,节点将其广播到全网。&/p&&p&getwork协议是最早版本挖矿协议,实现了节点和挖矿分离,经典的GPU挖矿驱动cgminer和sgminer,以及cpuminer都是使用getwork协议进行挖矿。getwork + cgminer一直是非常经典的配合,曾经很多新算法推出时,都快速被移植到cgminer。即便现在,除了BTC和LTC,其他众多竞争币都还在使用getwork协议进行挖矿。矿机出现之后,挖矿速度得到极大提高,当前比特币矿机算力已经达到10T/秒级别。而getwork只给外部挖矿程序提供32字节共4G的搜索空间,如果继续使用getwork协议,矿机需要频繁调用RPC接口,这显然不可行。如今BTC和LTC节点都已经禁用getwork协议,转向更新更高效的getblocktemplate协议。&/p&&br&&h2&&b&GETBLOCKTEMPLATE&/b&&/h2&&p&getblocktemplate协议诞生于2012年中叶,此时矿池已经出现。矿池采用getblocktemplate协议与节点客户端交互,采用stratum协议与矿工交互,这是最典型的矿池搭建模式。&/p&&p&与getwork相比,getblocktemplate协议最大的不同点是:getblocktemplate协议让矿工自行构造区块。如此一来,节点和挖矿完全分离。对于getwork来说,区块链是黑暗的,getwork对区块链一无所知,他只知道修改data字段的4个字节。对于getblocktemplate来说,整个区块链是透明的,getblocktemplate掌握区块链上与挖矿有关的所有信息,包括待确认交易池,getblocktemplate可以自己选择包含进区块的交易。&/p&&p&getblocktemplate 在被开发出来后并非一成不变,在随后发行的各个版本客户端都有所升级改动,主要是增添一些字段,不过核心理念和核心字段不变。目前比特币客户端返回数据如下,考虑到篇幅限制,交易字段(transactions)只保留了一笔交易数据,其实根据当前实际情况,待确认交易池实时有上万笔交易,目前区块基本都是塞满的(1M容量限制),加上额外信息,因此每次调用getblocktemplate基本都有1.5M左右返回数据,相对于getwork的几百个字节而言,不可同日而语。&/p&&img src=&/v2-cdd60c1f6e40a80bc765d3_b.png& data-rawwidth=&866& data-rawheight=&442& class=&origin_image zh-lightbox-thumb& width=&866& data-original=&/v2-cdd60c1f6e40a80bc765d3_r.png&&&br&&p&来简单分析一下其中几个核心字段,&/p&&p&&i&Version,Previousblockhash,Bits&/i&这三个字段分别指区块版本号,前一个区块Hash,难度,矿工可以直接将数值填充区块头对应字段。&/p&&p&&i&Transactions&/i&,交易集合,不但给了每一笔交易的16进制数据,同时给了hash,交易费等信息。&/p&&p&&i&Coinbaseaux&/i&,如果有想要写入区块链的信息,放在这个字段,类似中本聪的创世块宣言。&/p&&p&&i&Coinbasevalue&/i&,挖下一个块的最大收益值,包括发行新币和交易手续费,如果矿工包含Transactions字段的所有交易,可以直接使用该值作为coinbase输出。&/p&&p&&i&Target&/i&,区块难度目标值。&/p&&p&&i&Mintime&/i&,指下一个区块时间戳最小值,Curtime指当前时间,这两个时间作为矿工调节nTime字段参考。&/p&&p&&i&Height&/i&,下一个区块难度,目前协议规定要将这个值写入coinbase的指定位置。&/p&&br&&p&矿工拿到这些数据之后,挖矿步骤如下:&/p&&ol&&li&构建coinbase交易,涉及到字段包括Coinbaseaux,Coinbasevalue,Transactions,Height等,当然最重要的是要指定一个收益地址。&br&&/li&&li&构建hashMerkleRoot,将coinbase放在transactions字段包含的交易列表之前,然后对相邻交易两两进行SHA256D运算,最终可以构造交易的Merkle树。由于coinbase有很多字节可供矿工随意发挥,此外交易列表也可随意调换顺序或者增删,因而hashMerkleRoot值空间几乎可以认为是无限的。其实getblocktemplate协议设计的主要目标就是让矿工获得这个巨大的搜索空间。&br&&/li&&li&构建区块头,利用Version,Previousblockhash,Bits以及Curtime分别填充区块头对应字段,nNonce字段可默认置0。&br&&/li&&li&挖矿,矿工可在由nNonce,nTime,hashMerkleRoot提供的搜索空间里设计自己的挖矿策略。&br&&/li&&li&上交数据,当矿工挖到一个块后当立即使用submitblock接口将区块完整数据提交给节点客户端,由节点客户端验证并广播。&/li&&/ol&&p&需要注意的是,与上文提到的GPU采用getwork挖矿一样,虽然getblocktemplate给矿工提供了巨大搜索空间,但矿工不应对一份请求数据挖矿太久,而应循环适时向节点索要最新区块和最新交易信息,以提高挖矿收益。&/p&&br&&h2&&b&POOL&/b&&/h2&&p&挖矿有两种方式,一种叫SOLO挖矿,另一种是去矿池挖矿。前文所述的在节点客户端直接启动CPU挖矿,以及依靠getwork+cgminer驱动显卡直接连接节点客户端挖矿,都是SOLO挖矿,SOLO好比自己独资买彩票,不轻易中奖,中奖则收益全部归自己所有。去矿池挖矿好比合买彩票,大家一起出钱,能买一堆彩票,中奖后按出资比率分配收益。理论上,矿机可以借助getblocktemplate协议链接节点客户端SOLO挖矿,但其实早已没有矿工会那么做,在写这篇文章时,比特币全网算力1600P+,而当前最先进的矿机算力10T左右,如此算来,单台矿机SOLO挖到一个块的概率不到16万分之一,矿工(人)投入真金白银购买矿机、交付电费,不会做风险那么高的投资,显然投入矿池抱团挖矿以降低风险,获得稳定收益更加适合。因此矿池的出现是必然,也不可消除,无论是否破坏系统的去中心化原则。&/p&&p&矿池的核心工作是给矿工分配任务,统计工作量并分发收益。矿池将区块难度分成很多难度更小的任务下发给矿工计算,矿工完成一个任务后将工作量提交给矿池,叫提交一个share。假如全网区块难度要求Hash运算结果的前70个比特位都是0,那么矿池给矿工分配的任务可能只要求前30位是0(根据矿工算力调节),矿工完成指定难度任务后上交share,矿池再检测在满足前30位为0的基础上,看看是否碰巧前70位都是0。&/p&&p&矿池会根据每个矿工的算力情况分配不同难度的任务,矿池是如何判断矿工算力大小以分配合适的任务难度呢?调节思路和比特币区块难度一样,矿池需要借助矿工的share率,矿池希望给每个矿工分配的任务都足够让矿工运算一定时间,比如说1秒,如果矿工在一秒之内完成了几次任务,说明矿池当前给到的难度低了,需要调高,反之。如此下来,经过一段时间调节,矿池能给矿工分配合理难度,并计算出矿工的算力。&/p&&img src=&/v2-acc46715cabeff1011c6ec_b.png& data-rawwidth=&602& data-rawheight=&419& class=&origin_image zh-lightbox-thumb& width=&602& data-original=&/v2-acc46715cabeff1011c6ec_r.png&&&p&矿池一直都是一个矛盾的存在,毫无疑问,矿池是中心化的,如上图所示,全网算力集中在几个矿池手里,网络虽然几千个节点同时在线,但只有矿池链接的几个点击拥有投票权,其他节点都只能行使监督权。矿池再一次将矿工至于“黑暗”之中,矿工对于区块链再次变得一无所知,他们只知道完成矿池分配的任务。&/p&&p&关于矿池,还有一个小插曲,在矿池刚出现时,反对声特别强烈,很多人悲观的认为矿池最终会导致算力集中,危及系统安全,甚至置比特币于死地。于是有人设计并实现了P2P矿池,力图将“抱团挖矿”去中心化,代码也都是开源的,但由于效率远不如中心化的矿池没能吸引太多算力,所谓理想很丰满,现实很骨感。&/p&&p&推荐几个比较成熟的开源矿池项目,有兴趣的读者可自行研究:&/p&&ul&&li&PHP-MPOS,早期非常经典的矿池,很稳定,被使用最多,尤其山寨币矿池,后端使用Stratum Ming协议,源码地址&a href=&/?target=https%3A///MPOS/php-mpos& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MPOS/php-mpos&i class=&icon-external&&&/i&&/a&&br&&/li&&li&node-open-mining-portal,支持多币种挖矿,源码地址&a href=&/?target=https%3A///zone117x/node-open-mining-portal& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zone117x/node-open-mining-portal&i class=&icon-external&&&/i&&/a&&br&&/li&&li&Powerpool,支持混合挖矿,源码地址&a href=&/?target=https%3A///sigwo/powerpool& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&sigwo/powerpool&i class=&icon-external&&&/i&&/a&&br&&/li&&/ul&&br&&p&运行一个矿池需要考虑的问题很多,比如为了得到最及时的全网信息,矿池一般对接几个网络节点,而且最好分布在地球的几大洲。另外提高出块率,降低孤块率,降低空块率等都是矿池的核心技术问题,本文不能一一展开讨论,接下来只详细讨论一个问题,即矿池与矿工的具体配合工作方式——stratum协议。&/p&&br&&h2&&b&STRATUM&/b&&/h2&&p&矿池通过getblocktemplate协议与网络节点交互,以获得区块链的最新信息,通过stratum协议与矿工交互。此外,为了让之前用getwork协议挖矿的软件也可以连接到矿池挖矿,矿池一般也支持getwork协议,通过阶层挖矿代理机制实现(Stratum mining proxy)。须知在矿池刚出现时,显卡挖矿还是主力,getwork用起来非常方便,另外早期的FPGA矿机有些是用getwork实现的,stratum与矿池采用TCP方式通信,数据使用JSON封装格式。&/p&&img src=&/v2-ebcc93d461eedc910cb91e6f_b.png& data-rawwidth=&612& data-rawheight=&547& class=&origin_image zh-lightbox-thumb& width=&612& data-original=&/v2-ebcc93d461eedc910cb91e6f_r.png&&&p&先来说一下getblocktemplate遗留下来的几个问题:&/p&&p&矿工驱动:在getblocktemplate协议里,依然是由矿工主动通过HTTP方式调用RPC接口向节点申请挖矿数据,这就意味着,网络最新区块的变动无法及时告知矿工,造成算力损失。&/p&&p&数据负载:如上所述,如今正常的一次getblocktemplate调用节点都会反馈回1.5M左右的数据,其中主要数据是交易列表,矿工与矿池需频繁交互数据,显然不能每次分配工作都要给矿工附带那么多信息。再者巨大的内存需求将大大影响矿机性能,增加成本。&/p&&p&Stratum协议彻底解决了以上问题。&/p&&p&Stratum协议采用主动分配任务的方式,也就是说,矿池任何时候都可以给矿工指派新任务,对于矿工来说,如果收到矿池指派的新任务,应立即无条件转向新任务;矿工也可以主动跟矿池申请新任务。&/p&&p&现在最核心的问题是如何让矿工获得更大的搜索空间,如果参照getwork协议,仅仅给矿工可以改变nNonce和nTime字段,则交互的数据量很少,但这点搜索空间肯定是不够的。想增加搜索空间,只能在hashMerkleroot下功夫,如果让矿工自己构造coinbase,那么搜索空间的问题将迎刃而解,但代价是必要要把区块包含的所有交易都交给矿工,矿工才能构造交易列表的Merkleroot,这对于矿工来说压力更大,对于矿池带宽要求也更高。&/p&&p&Stratum协议巧妙解决了这个问题,成功实现既可以给矿工增加足够的搜索空间,又只需要交互很少的数据量,这也是Stratum协议最具创新的地方。&/p&&img src=&/v2-41f3eeb6a3e100baae92fd6_b.png& data-rawwidth=&673& data-rawheight=&419& class=&origin_image zh-lightbox-thumb& width=&673& data-original=&/v2-41f3eeb6a3e100baae92fd6_r.png&&&p&再来回顾一下区块头的6个字段80字节,这个很关键,nVersion,nBits,hashPrevBlock这3个字段是固定的,nNonce,nTime这两个字段是矿工现在就可以改变的。增加搜索空间只能从hashMerkleroot下手,这个绕不过去。Stratum协议让矿工自己构造coinbase交易,coinbase的scriptSig字段有很多字节可以让矿工自由填充,而coinbase的改动意味着hashMerkleroot的改变。从coinbase构造hashMerkleroot无需全部交易,如上图所示,假如区块将包含13笔交易,矿池先对这13笔交易进行处理,最后只要把图中的4个黑点(Hash值)交付给矿工,同时将构造coinbase需要的信息交付给矿工,矿工就可以自己构造hashMerkleroot(图中的绿点都是矿工自行计算获得,两两合并Hash时,规定下一个黑点代表的hash值总是放在右边)。按照这种方式,假如区块包含N笔交易,矿池可以浓缩成log2(N)个hash值交付给矿工,这大大降低了矿池和矿工交互的数据量。&/p&&p&Stratum协议严格规定了矿工和矿池交互的接口数据结构和交互逻辑,具体如下:&/p&&p&&b&1. 矿工订阅任务&/b&&/p&&p&启动挖矿机器,使用mining.subscribe方法链接矿池&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&{&id&: 1, &method&: &mining.subscribe&, &params&: []}\n //申请链接
&/code&&/pre&&/div&&div c

我要回帖

更多关于 中介办信用卡会判刑吗 的文章

 

随机推荐